Convenções de Nomenclatura [duplicado]

11

Como você decide sobre um novo nome de host?

    
por 4 revs, 2 users 69%unknown 13.04.2017 / 14:14

19 respostas

10

Depende muito do ambiente em que você trabalha.

Antes de mais nada - deixe de lado qualquer referência à cultura pop, fique com o significado de & nomes descritivos.

Você pode saber que "zeus" é o servidor proxy, porque você o instalou. Mas qualquer futuro colega gostaria muito de se referir ao servidor pelo o que faz , não pelo nome .

Se você aceitar isso, sugiro que faça uma sessão de brainstorming e anote quais tipos diferentes de entidades em rede ("hosts") você tem, como elas podem ser agrupadas e quais informações são importantes o suficiente para serem codificadas. o nome do host. Sua convenção de nomenclatura deve ser capaz de nomear inequivocamente todos os dispositivos existentes e dar ao usuário uma ideia aproximada do que o host faz. Certifique-se de deixar espaço suficiente para o crescimento se adaptar aos desenvolvimentos futuros, para que você não precise lançar sua convenção de nomenclatura em alguns meses.

Documente sua convenção de nomenclatura (não apenas como, mas por quê), certifique-se de que todos que precisam trabalhar com ela regularmente entendam como ela é exposta, estejam abertos a comentários / sugestões e não a apliquem como um Santo Graal, adaptá-lo quando necessário.

Exemplo

Como alimento para pensar, aqui está o esquema que usamos em um dos meus ex-empregadores:

Provedor de serviços da Web, fazendo desenvolvimento e operações para projetos da web. Principalmente LAMP-stuff, embora em escala maior (tamanho dos projetos, não quantidade).

Para dispositivos físicos:

< SITE < - <; < RACK < - < DEVICE >. < DOMAIN >. < TLD > <

  • O SITE era um identificador de site exclusivo, principalmente três letras
  • O RACK era um identificador atribuído por nós ou assumido a partir da instalação de hospedagem, deve ser capaz de identificar exclusivamente o rack em SITE
  • DEVICE era uma "classe de dispositivo" com um contador após, por exemplo vnodeXX para nós OpenVZ, swge para switches Gigabit, etc.
  • DOMAIN / TLD era o domínio do proprietário dos dispositivos fornecidos.

Para entidades lógicas:

Entidades lógicas podem ser qualquer coisa que tenha um endereço IP que não esteja strongmente acoplado a um determinado dispositivo / local físico. Isso foi principalmente endereços IP do sistema operacional convidado (OpenVZ ou ESX no nosso caso).

- -

  • PROJECT era um identificador de projeto, que agrupava os vários serviços de um projeto juntos.
  • MEIO AMBIENTE pode ser produção, encenação ou desenvolvimento, abreviação de 4 letras
  • O SERVICE era relativamente de forma livre, embora os casos comuns fossem padronizados, como web, db, mailout, etc.
  • DOMAIN era o domínio principal do projeto em questão.

Para endereços IP:

Todos os nossos serviços eram acessíveis somente a partir de uma rede privada, tínhamos NAT e / ou balanceadores de carga com "endereços IP de serviço", que eram usados por hosts da Internet para acessar nossos serviços. Para aqueles que usamos algo assim:

- -vip-> IDENTIFIER> DOMAIN <. < TLD >

  • IDENTIFIER foi algo que identificou exclusivamente o uso do endereço IP, por exemplo, um endereço que foi usado exclusivamente como o Web VirtualHost para o domínio alemão do projeto pode ser chamado de "wwwde".

Resumindo

A convenção de nomenclatura funcionou bem para nós, alguns (como nossos desenvolvedores;) podem chamá-la de exagerada. Lembre-se de que é completamente exagerado se você mantiver apenas um site e tiver servidores atribuídos a um único projeto. Mas para nós, cumprimos algumas coisas muito importantes.

Ao lidar com um nome de host de uma entidade lógica, sempre soubemos:

  • Qual projeto estava envolvido:
    Os vários projetos foram de importância variável com diferentes equipes de desenvolvimento responsáveis. Uma rápida olhada no nome do host lhe disse como você precisa priorizar tarefas e quem você precisa perguntar no lado de gerenciamento / desenvolvimento
  • Em que ambiente o host estava:
    Problemas em ambientes de desenvolvimento causam lentidão para os desenvolvedores. Problemas em ambientes de teste causam problemas aos testadores e podem comprometer as apresentações do produto. E se algo é afetado na produção, a empresa perde dinheiro.
  • Qual subsistema é afetado:
    Os spoolers de e-mail, os batch workers, etc. não eram tão importantes, mas se os servidores web ou de banco de dados estiverem em baixo, as coisas ficam sujas rapidamente.

E para dispositivos físicos, a localização exata sempre foi dedutível do nome do host.

O fraco acoplamento entre dispositivos físicos e servidores lógicos pode ser um desligamento para algumas pessoas (por exemplo, como eu sei quais projetos serão afetados quando eu puxar o plug do switch x / server y), mas isso foi uma obrigação em nosso ambiente, já que nossos projetos tinham uma alta taxa de retorno e, na maioria das vezes, nem sabíamos quais projetos seriam hospedados em hardware novo que acabamos de provisionar.

    
por 02.06.2009 / 01:55
9

Para servidores, gosto do padrão usado atualmente no meu escritório < código de localização de 3 letras > - < número de incremento de 2 dígitos para evitar nomes duplicados >

Um exemplo seria: PHOU-DMOSQL01

  • Física
  • Houstonm
  • Ambiente de demonstração
  • SQL Server
  • 01

Para desktops / laptops Eu geralmente uso um designador de tipo e o nome do usuário (supondo que máquinas sejam atribuídas a um usuário específico) (LT | DT) - por exemplo, meu laptop é LT-KCOLBY

    
por 02.06.2009 / 00:05
6
por 02.06.2009 / 00:46
5

A verdadeira resposta é que não há resposta.

Eu tentei várias convenções para nomes de servidor e de computador. Minha conclusão é que o próprio nome não tem sentido, contanto que você tenha um campo de descrição prontamente disponível, fácil e não modificável.

Portanto, minha opinião sobre isso é - enlouquecer. Heróis de fantasia, ícones StarWars, mitologia - o que mais lhe agrada e tem espaço suficiente para incluir todos os seus hosts e expansões existentes. (e não marca o senso de humor de sua gerência, muitas vezes falta, os chefes podem ser exigentes sobre um servidor chamado "pointyhaireddimwit" :)).

    
por 02.06.2009 / 00:15
5

Eu uso nomes exclusivos para descrever máquinas exclusivas. Por exemplo, no meu projeto atual, mais de 200 servidores, usei a lista de nomes de estrelas da Wikipedia. O raciocínio é que os nomes reais têm mais redundância do que os índices super compactos, como o srv-05-92. É importante para uma coisa: ela oferece uma pequena taxa de erro ao transcrever, digitar ou falar pelo telefone em uma sala de servidores barulhenta.

As informações descritivas são armazenadas em campos TXT no DNS, assim como os endereços Mac e assim por diante. Você também pode solicitar o nome com base no endereço mac:

$ host 00-12-34-56-78.mac.fr.dom
00-12-34-56-78.mac.fr.dom is an alias for arcturus.eqx.vl304.fr.dom
arcturus.eqx.vl304.fr.its has address 10.21.4.30

Uma coisa que você absolutamente quer evitar é nomear as máquinas de acordo com sua função. Isso vai te morder na bunda, mais cedo ou mais tarde. Apenas use aliases (registros CNAME ou adicionais A) para essa finalidade.

Nota: Tudo isso é gerado com um XSLT de um arquivo XML personalizado:

<?xml version="1.0" standalone="yes"?>
<domain suffix="dom" xmlns:h="http://www.w3.org/1999/xhtml">
  <vlans>
     <vlan name="vl304" value="4" />
  </vlans>
  <country code="fr" prefix="10.21">
     <datacenter name="eqx" desc="Equinix">
        <host name="arcturus" lso="30">
          <vlan name="vl300" if="eth0" mac="00:12:34:56:78" />
          <txt type="loc">rack 5</txt>
          <txt type="sn">99A0632</txt>
          <txt type="model">xSeries x3350</txt>
          <doc>Load balancer</doc>
          <rsa ip="192.168.101.30" />
          <role type="loadbalancer1" />
        </host>
     </datacenter>
   </country>
</domain>

Vários aliases são gerados:

  • arcturus.eqx.vl306.fr.dom (nome canônico)
  • arcturus.vl306.fr.dom
  • arcturus.fr.dom
  • 00-12-34-56-78.mac.fr.dom
  • arcturus-rsa.fr.dom
  • loadbalancer1.eqx.vl306.fr.dom
  • loadbalancer1.vl306.fr.dom
  • loadbalancer1.fr.dom

... bem como vários registros TXT

    
por 02.06.2009 / 15:23
3

Deve-se notar provavelmente que a RFC 1178 é dedicada a este tópico: link

(mesmo que eu discorde de muito, e muita coisa está desatualizada).

    
por 02.06.2009 / 01:11
2

Lovecraftian Grandes Antigos e Deuses Exteriores .

    
por 02.06.2009 / 00:08
2

Nomear servidores com base na localização e / ou função pode levar a problemas de segurança. Se você publicar seu DNS externamente, estará dando aos malfeitores um mapa de onde estão todas as coisas boas. A segurança através da obscuridade não é algo em que confiar, mas eu não facilitaria para as crianças do script.

Além disso, você não precisa descrever todos os detalhes do dispositivo no nome do host. Em vez disso, use o nome do host como uma chave em seu banco de dados de gerenciamento de configuração. (Você pode comprar um CMDB, usar soluções de código aberto ou consultar uma planilha do Excel).

Pessoalmente, gosto de nomes de dispositivos:

  1. Curto
  2. Fácil de soletrar
  3. Engraçado

Exemplo: costumávamos chamar um de nossos servidores de backup - preguiça.

Infelizmente, isso funciona apenas para sites menores. Se você gerencia instalações maiores, vai querer a convenção de nomenclatura mais clara possível, para que toda a sua equipe possa identificar rápida e facilmente o que todos esses hosts fazem. Neste caso, provavelmente, desejará implementar o DNS dividido para que você não esteja anunciando todos esses nomes de host em estado selvagem.

Se a convenção interna de nomenclatura é privada, não importa que tipo de esquema de nomenclatura hipopresente você use. Mas aqui está uma ideia. Obtenha os leads técnicos de sua equipe de suporte e pergunte se eles têm alguma sugestão. Isso fará com que eles se sintam importantes.

    
por 02.06.2009 / 20:14
1

Meu amigo usa nomes de deuses celtas. Minha empresa usa nomes de animais silvestres para terminais e nomes de medicamentos para servidores. Eu uso nomes de Tolkiens Silmarillion.

    
por 02.06.2009 / 00:06
1

Atualmente, usamos uma mistura de um esquema de nomeação frívola (estações de metrô de Londres) e nomes funcionais. O último aconteceu quando começou a ficar complicado lembrar quais 11 servidores estavam no cluster do servidor web. Lembrando victoria, euston, paddington, oval, cockfosters, anjo, banco etc é um pouco mais difícil do que w000, w001, w002 etc

    
por 02.06.2009 / 00:42
1

Nós tentamos duas convenções de nomenclatura de servidor para nossa intidade de tamanho médio:

  • "Localização" - "Tipo de servidor" - "Número":
    • "Main-DB-01"
    • "Main-FW-01"
    • "Wing2-FS-01"
    • "Wing2-FS-02", etc.

AND

  • Nomes da cidade:
    • "NewYork"
    • "Miami"
    • "Portland"
    • "Seattle", etc.

Fora dessas duas convenções, 80% dos técnicos (inclusive eu) gostam mais da convenção de nomes da cidade do que da "Loc-Serv- #".

    
por 02.06.2009 / 01:00
1

No meu trabalho anterior, eu nomeei todas as estações de trabalho / servidores em uma nova construção após planetas / luas de Star Wars - Tatooine, Hoth, Endor, Dantooine etc. No meu trabalho atual, os servidores locais / estações de trabalho receberam o nome de Star Guerras personagens, mas estão sendo gradualmente eliminados para nomes mais genéricos. Em nosso ambiente de produção, os servidores recebem nomes de personagens da mitologia grega.

Em casa, todos os meus servidores físicos / virtuais são nomeados após o uso deles - fileserver, mailserver, ftpserver, webserver, mssqlserver etc. No entanto, isso agora está se mostrando difícil, pois estou construindo servidores web adicionais. Estou pensando em passar para a convenção de nomenclatura do meu trabalho anterior, por motivos nostálgicos.

    
por 02.06.2009 / 22:13
1

Eu uso atores. Quanto mais importante a caixa, mais legal o ator ... Eu tentei agrupá-los por filmes que eles estavam juntos, mas que logo não deu certo mais quando os servidores mudaram e foram reutilizados. Meu servidor RHEL Satellite é spacey, meus servidores syslog são brando e dean. Siebel corre em pitt e jolie e assim por diante.

    
por 22.12.2010 / 07:35
0

Temos um sistema semelhante ao colby.

  1. Código do aeroporto ou outra abreviação exclusiva de três letras
  2. vm se for virtual
  3. cl se for um cluster
  4. função
  5. número único
  6. e, opcionalmente, um -n1,2, ... se for um memeber de cluster

então PHLVMCLDEV01 seria o primeiro cluster de desenvolvimento na Filadélfia e seus nós são virais

consistiria de PHLVMDEV01-N1 e PHLVMDEV01-N2, etc

    
por 02.06.2009 / 00:13
0

Houve um excelente tópico do Slashdot sobre isso há algum tempo: link

    
por 02.06.2009 / 01:06
0

Não há uma resposta "boa" para esta pergunta:

  • No meu trabalho atual, gerencio um pequeno conjunto de servidores (10/15), mas tenho muitos appliances localizados em nossos clientes. Usamos nomes de ilha para nossos servidores offshore, nomes de províncias canadenses para nossos servidores internos e nome das cidades canadenses para as estações de trabalho (sim, meu chefe é do Canadá). Os appliances têm um nome genérico que inclui o número do cliente.
  • Eu costumava trabalhar para uma empresa internacional maior com muitos servidores (cerca de 3k). Cada servidor foi dedicado à sua tarefa e estava em um cluster. O nome do host incluía o país (Uk, Be, NL), a função de servidor (DC, SQL), o Datacenter no qual o servidor estava armazenado e a classificação no cluster. Também incluímos o ambiente (Produção, Desenvolvimento, Teste) porque todos os ambientes estavam fechados e não podiam interagir uns com os outros.
  • No meu trabalho anterior, eu estava trabalhando em um banco com algo como 100 mil servidores. O nome do host incluía a cidade onde o servidor estava localizado, o nome, a versão e o editor do sistema operacional, a plataforma de hardware (i386, ..) e o número do servidor em 5 dígitos.

Se os servidores estiverem em cluster, talvez seja necessário identificar os outros membros do cluster para poder ativá-los. Se o seu servidor é multi-função, não há como você ter suas funções como parte do nome ... Na verdade, seus nomes de host devem conter informações valiosas para você e para as pessoas que trabalharão em um computador.

    
por 02.06.2009 / 18:15
0

Eu não acredito que vocês tenham todos esses nomes longos e complicados. Você escreve o tempo todo? Você sabe quanta informação está vazando (incluindo a localização dos servidores físicos ???).

A abordagem que usamos é dar nomes simples aos servidores com base em desenhos animados, filmes, etc. Internamente, mantemos um banco de dados ligando os nomes engraçados aos seus locais, propósitos, etc.

* Com todos esses nomes de hosts, é fácil lembrar os ips:

    
por 02.06.2009 / 20:42
0

Basta usar essa convenção (ainda um pouco vinculada aos limites antigos de 8 caracteres)

Código de país de 2 letras - código de cidade de três letras - nome da máquina

nomes de máquinas são geralmente baseados no objetivo real (mssql para um servidor MSSQL) ou tipo se multi-serviços são executados (rhel001 como uma máquina de red hat).

Você acaba com nomes como us-dco-rac01 (primeiro nó Oracle RAC).

    
por 10.02.2011 / 17:49

Tags