O hardware de rede deve ser configurado para velocidades de “autonegociação” ou velocidades fixas?

88

Nós tivemos recentemente um pequeno problema com redes em que vários servidores perderiam intermitentemente a conectividade de rede de uma forma bastante dolorosa para resolver (reinicialização exigida). Isso vem acontecendo há cerca de duas semanas, aparentemente ao acaso, em servidores diferentes. Nenhum padrão particular que possamos discernir para ele.

Depois de algumas investigações, vimos que o switch estava reportando 100 Mbps para a porta do problema:

IssoseparecemuitocomoqueaconteceunoartigodeJoelSpolsky Five Whys

Michael spent some time doing a post-mortem, and discovered that the problem was a simple configuration problem on the switch. There are several possible speeds that a switch can use to communicate (10, 100, or 1000 megabits/second). You can either set the speed manually, or you can let the switch automatically negotiate the highest speed that both sides can work with. The switch that failed had been set to autonegotiate. This usually works, but not always, and on the morning of January 10th, it didn’t.

Agora, desativamos a negociação automática em nosso hardware de rede e a definimos em uma taxa fixa de 1000 Mbps (gigabit).

Minhas perguntas para aqueles com mais experiência em rede de hardware de servidor:

  1. Quão comuns são os problemas de negociação automática com hardware de rede moderno?
  2. Considera-se uma prática de rede padrão boa desabilitar a negociação automática e definir velocidades fixas ao configurar a rede?
por Jeff Atwood 25.01.2010 / 18:57

17 respostas

101
  1. Eu ainda estou vendo um problema com a negociação automática de velocidades de rede que não é causada por (a) uma incompatibilidade de manual em uma extremidade do link e automática na outra ou (b) uma componente com falha do link (cabo, porta, etc).

  2. Isso depende do administrador, mas minha experiência me mostrou que, se você especificar manualmente as velocidades de link e as configurações de frente e verso, então você está fadado a incorrer em incompatibilidades de velocidade. Por quê? Porque é quase impossível documentar as várias conexões entre switches e servidores e, em seguida, seguir essa documentação ao fazer alterações. A maioria das falhas que eu vi são por causa do 1 (a) e você só entra nessa situação quando inicia a configuração manual de velocidade / duplex.

Como mencionado na documentação da Cisco :

If you disable autonegotiation, it hides link drops and other physical layer problems. Only disable autonegotiation to end-devices, such as older Gigabit NICs that do not support Gigabit autonegotiation. Do not disable autonegotiation between switches unless absolutely required, as physical layer problems can go undetected and result in spanning tree loops.

A menos que você esteja preparado para configurar um sistema de gerenciamento de mudanças para rede que exija a verificação de velocidade / duplex (e não esqueça de controle de fluxo) ou esteja disposto a lidar com inconsistências ocasionais que resultem da especificação manual dessas configurações dispositivos de rede, em seguida, ficar com a configuração padrão de auto / auto.

No futuro, considere monitorar os erros nas portas do switch com o MRTG para que você possa identificar esses problemas antes de ter um problema.

Editar: vejo muitas pessoas referenciando falhas de negociação em equipamentos antigos. Sim, isso foi um problema há muito tempo, quando os padrões estavam sendo criados e nem todos os dispositivos os seguiam. Suas NICs e switches têm menos de 10 anos de idade? Em caso afirmativo, isso não será um problema.

    
por 25.01.2010 / 19:15
23
  1. Muito comum, tive vários problemas ao longo dos anos com vários tipos de hardware.

  2. Na minha opinião, se a configuração é estática (ou seja, um rack de servidor) e você não acha que haverá alterações, é uma boa idéia configurar as velocidades e os duplexes manualmente. Contanto que esteja bem documentado para que futuros problemas possam ser evitados.

EDITAR:

Só para esclarecer, eu não estou defendendo o uso de velocidades manuais em toda a sua rede, eu diria que 95% do tempo auto / auto é o caminho a percorrer. Estou apenas dizendo que tive problemas com duplex / velocidade e há pequenas partes da minha rede (ou seja, um dos nossos racks de servidor) que têm configurações principalmente manuais. Nós operamos uma LAN muito rigidamente controlada, com portas não utilizadas sendo desligadas e filtros MAC na maioria das portas, portanto, manter o controle das velocidades não é muito difícil.

    
por 25.01.2010 / 19:03
15

Acredito que se a negociação estava funcionando por uma hora por dia ou um mês e, por algum motivo, "algo acontece" que definir o link para a velocidade fixa "consertar" existe um problema que não está sendo resolvido, mas sim contornado. Acho que vejo a configuração do link como uma solução temporária até que o problema real seja corrigido.

    
por 25.01.2010 / 19:47
15

Portanto, as etapas de solução de problemas (suponha que você pare após cada uma delas e espere o problema reaparecer):

  1. Verifique os registros no switch para ver se ele explica por que está usando 100 milhões.
  2. Se você ainda está rodando, desligue essa besteira extremamente maliciosa de "balanceamento de carga do Windows" que Joel está empurrando o tempo todo - a maneira como funciona é quebrando o cache do switch, forçando o software a processar cada pacote. Seu switch foi projetado para encaminhar pacotes em hardware e tem apenas a CPU necessária para descobrir qual caminho físico um fluxo de tráfego desconhecido deve tomar (em - > asic - > out) e programar o hardware para fazer isso (leia : uma calculadora tem uma CPU melhor que o seu switch, não faça coisas estúpidas que fazem a CPU do seu switch funcionar mais). O balanceamento de carga do Windows funciona fazendo com que o seu switch tome essa decisão e reinstale o cache de hardware para cada pacote. Isso pode não resolver este problema em particular, mas me incomoda nos podcasts ... desculpe.
  3. Verifique se a configuração corresponde aos dois lados - parece que você fez isso
  4. Google para erros de autoneg no seu switch - a menos que você tenha criado você mesmo, você não é o único que está tentando executar o autoneg em qualquer coisa que esteja usando
  5. Substitua o cabo, com a classificação Cat5e ou melhor - idealmente, um cabo que você conhece funciona, como o da sua estação de trabalho. Não tente usar o Cat5, ou alguma porcaria que alguém tenha feito, use um que tenha extremidades moldadas reais em um pacote.
  6. Mover a porta - Coloque o servidor em uma porta diferente no mesmo switch
  7. Alterar a NIC - use um lote diferente solicitado em um horário diferente

Neste ponto, você eliminou a configuração, as portas físicas nas quais você está conectado, o cabeamento entre elas. Se ainda acontecer, algumas outras causas podem ser:

  1. Roteamento de cabos - tome cuidado com a interferência eletromagnética dos seus cabos de energia CA, encaminhe-os para baixo pelos lados diferentes do rack.
  2. Resfriamento - Certifique-se de que sua temperatura ambiental não seja de 90 graus e que suas placas NIC não estejam entrando em algum tipo de modo "querido deus, deixe-me apenas encaminhar este pacote por favor". Ouvi dizer, mas não vi que os roteadores Cisco param de fazer comutação rápida e encaminham pacotes via CPU quando estão superaquecendo, por exemplo.
  3. Substitua o comutador por algo que não suga - verifique a quantidade de largura de banda que seus hosts estão conversando por segundo e, em seguida, observe a capacidade nominal do backplane do seu switch. 7 hosts fora do potencial de 48 todos transmitindo 1.0G é o suficiente para parar um Cisco 3750, por exemplo. Seja também muito cuidadoso com os fornecedores de rede cheapo-ran: D-Link, Linksys, Dell, Intel e HP. Ninguém que trata redes seriamente usa esses caras, e não porque "ninguém jamais foi demitido por usar Cisco", mas porque "as pessoas lembram que o switch da Intel tinha 20/48 portas falhando em 2 anos" ou "eu costumava usar exclusivamente o ProCurve e Sobre como a Cisco era maléfica, até que eu realmente usei a Cisco, quando parei de comprar qualquer coisa menos ". A Cisco é considerada um fornecedor de rede mid-range , então o que isso diz sobre os caras abaixo da Cisco ...? : -)

Antecedentes / por que minha resposta é a mais impressionante: Eu trabalho como engenheiro de redes / sistemas na indústria financeira, e aqui está minha experiência com nossa pequena rede global (15 filiais, 8 datacenters):

Todas as nossas portas LAN são autoneg, porque controlamos o equipamento em ambas as extremidades e temos algum tipo de acesso a ambos os lados - o que pode ser tão simples quanto colocar o telefone em alguém e fazer com que ele verifique as configurações. Em três anos, eu só tive uma das nossas portas internas falhar devido a falha de autoneg, e isso foi por causa de um cabo ruim - ele foi embora depois de substituir o cabo.

Tivemos muito mais problemas quando os predecessores codificaram 100 / full em suas NICs e não documentaram esse fato. Redefina tudo para auto / auto na próxima janela de manutenção e não teve nenhum problema com eles desde então.

Nos lugares onde temos entrega de cobre de uma operadora para nossa WAN? Você deve esperar uma conexão WAN / Internet de cobre, o tempo todo - em parte porque você não tem ideia do que está do outro lado. Algum antigo switch Extreme que, por acaso, possui firmware com bugs para o autoneg, mas faz tagging MPLS? Algum conversor de mídia de US $ 5, porque o dispositivo de borda Ciena de US $ 200.000 do ISP é simplesmente incrível demais para fornecer Ethernet sobre par trançado? Decida com antecedência como isso vai ser tratado e cumpra-o, então espere que algum twit dentro da operadora mude para as 10 da noite de sábado porque a configuração acordada nunca foi documentada e eles têm alguma política a seguir.

Sério, no entanto, consiga uma transferência de fibra do seu ISP.

    
por 26.01.2010 / 12:37
14

A rede pela qual sou responsável (juntamente com alguns outros caras) é composta de ~ 40 servidores, mais de 1000 estações de trabalho (espalhadas por um campus bastante grande) e ~ 1000 WAPs espalhadas por uma grande área com diferentes tipos e idades de equipamentos de rede.

Como dimitri.p disse, quando algo de repente não consegue parar de autonegociar, geralmente é uma indicação de outro problema. Definir a porta manualmente é como colocar um bandaid em alguém que foi esfaqueado no intestino - pode parar o sangramento, mas com certeza haverá dano por baixo.

Minha lista de verificação habitual:

  • alguma coisa mudou na máquina? drivers? Configurações no nível do BIOS ou do sistema operacional? Talvez o autoneg tenha sido desativado no SO?
  • você trocou os cabos de patch, e verificou o cabo é executado (se é um logner executado em vez de um rack?)
  • você testou para ver se a porta do switch está com defeito ou está falhando?
  • a NIC poderia estar indo mal?

Nós, como regra, nunca desabilitamos o autoneg em servidores (ou qualquer outra coisa no data center) a menos que seja uma situação em que todas as outras causas possíveis tenham sido eliminadas, movemos portas de switch, trocamos cabos , testou o NIC, etc. e não há outra escolha. Nesse caso, é documentado até a morte. Isso acontece muito raramente e, geralmente, com dispositivos que não podemos acessar para verificar as configurações do BIOS e do sistema operacional.

As estações de trabalho e APs, por outro lado, são uma história diferente. O autoneg falhado é um sinal clássico de um mau funcionamento do cabo, e muitas vezes temos que configurar manualmente a velocidade e o duplex até que a temporada de verão em funcionamento - novos cabos na parede chegue ao redor.

    
por 25.01.2010 / 20:08
10

Este é o mito da rede. Nossos caras da rede juram por esse absurdo, porque em 1998 Bay switches não negociariam com a Cisco ou algo assim. Portanto, em vez de usar o padrão para 99,999% dos equipamentos na Terra, temos esse ridículo gerenciamento de configuração e um ótimo bode expiatório para os momentos em que a atualização do driver da NIC redefine as configurações para negociação automática e qualquer coisa acontece.

É mais divertido porque muitos de nossos servidores usam recursos duvidosos, como agrupamento de NICs, que impedem que você perca o acesso à rede no evento improvável de uma falha de switch, expondo você a uma falha muito mais provável no software. (Os motoristas sempre são péssimos)

Em defesa dos caras da rede, muitos servidores estão rodando com drivers de NIC padrão do Windows, que normalmente são ruins. Se você tiver problemas com a negociação automática e o seu equipamento não for compatível com a administração Clinton, atualize os drivers da NIC.

    
por 26.01.2010 / 04:16
10

Você deve negociar automaticamente. Se você tiver um switch que não negocie automaticamente de forma confiável, compre um switch melhor.

O gigabit é supostamente para auto-negociar, e isso inclui a detecção de cruzamento automático (MDI-X).

100baseT é garantido para falhar se uma extremidade for definida como automática e a outra definida como manual, e isso for conforme as especificações. Se você forçar uma extremidade para 100 / cheia, a outra extremidade irá negociar automaticamente para 100 / metade, dando a você uma incompatibilidade de duplex.

    
por 26.01.2010 / 10:12
9

Normalmente eu configuro servidores para serem consertados, já que vi equipamentos de rede negociar para 10 / half em vez de 1000 / full.

Além disso, alguns CoLos configuram seus switches para não negociar, mas apenas para fazer o link em 1000 / full.

    
por 25.01.2010 / 19:06
7

Desabilitar a negociação automática em uma configuração inicial não testada é semelhante à programação de vudu - você está mudando algo sem um bom motivo. Se, depois de ter testado, você perceber que há uma incompatibilidade de duplex ou velocidade ou se houver erros excessivos na porta, participe de outra solução de problemas e, por fim, corrija a configuração, se necessário.

Quando você atualiza um driver ou substitui o hardware, não há garantias de que suas configurações serão mantidas no lado do servidor.

Defina ambos os lados do link para negociar ou corrija os dois lados. Quando você corrige as configurações de velocidade e duplex em alguns dispositivos, eles não anunciam mais seus recursos aos seus pares. Eu não sei o que o padrão Ethernet diz sobre o que fazer quando um lado anuncia capacidades e o outro não, e isso provavelmente significa que muitos implementadores também não sabem. Alguns escolherão o menor denominador comum, que é 10 e metade, e outros irão supor que está tudo bem e escolher a velocidade mais rápida possível.

Existem algumas peças contemporâneas de hardware que não suportam a negociação automática em Ethernet de cobre gigabit, como (pelo menos alguns) switches Cisco com SFPs de cobre.

    
por 25.01.2010 / 20:43
6

Muitos anos atrás, passei algum tempo trabalhando para a 3com fazendo suporte técnico para praticamente todos os equipamentos de rede. É incrível a frequência com que esse problema surgiu e era um procedimento padrão para configurar tudo manualmente.

    
por 25.01.2010 / 19:12
4

Eu tive muitos problemas com a negociação automática. Muitos, claro, significam um a cada poucos meses, mas esse é um problema em excesso no meu livro.

Problemas de negociação automática são difíceis de encontrar, especialmente quando as pessoas que lidam com redes, servidores, aplicativos e bancos de dados são quatro equipes diferentes. Normalmente, os dois últimos passam muito tempo indo e voltando, acusando uns aos outros de má performance e mentindo sobre medições, e às vezes chutam para o servidor pessoas, que irão olhar devidamente para a saída do "topo" e dizer que tudo está bem com o servidor.

Isso continua até que o assunto seja escalado até o ponto em que um "especialista" (na verdade, alguém que é generalista e assim entender redes, hardware, sistemas operacionais, bancos de dados, frameworks e aplicativos) seja atribuído ao problema e encontra o problema dentro de cinco ou dez minutos.

Assim, minha regra geral, sempre que tenho a capacidade de fazer algo sobre isso, é sempre definir velocidades fixas em servidores de produção, comutadores e roteadores. Os servidores que não são de produção também, se forem segregados o suficiente para as pessoas que o usam, não terão acesso root nele.

Os switches que lidam com o acesso à área de trabalho / notebook podem ser deixados para negociação automática e há exceções à regra. Apenas para mencionar um, se houver muitas mudanças acontecendo na rede, é melhor deixá-lo em automático e ficar de olho nas coisas.

Outro ponto que pode ser útil, qualquer escolha que você faça em relação à negociação automática , é monitorar a coisa. Basta configurar o Nagios ou o que você precisa para ficar de olho no estado de qualquer porta importante. Você já está monitorando esse equipamento de rede, não é?

    
por 25.01.2010 / 19:22
4

Um áspero Eu vi NICs de 3Mb de 100Mb que não conectariam em nada acima de 10Mb se você forçasse a velocidade ou o duplex. Você só pode obter velocidade máxima permitindo que eles negociem automaticamente, mesmo que o driver tenha configurações de 100Mb Full e 100Mb Half.

Muitos drivers da NIC não permitem especificar 1000Mb. As únicas opções são 10, 100, Auto. Mais uma vez, forçá-lo a fazer Auto se você quiser velocidade máxima. por exemplo, o driver Broadcom netXtreme 57xx Gigabit se comporta dessa maneira.

Você pode facilmente forçar o Gigabit no switch, mas acho que será forçado a deixar a maioria das NICs negociar automaticamente.

    
por 25.01.2010 / 19:12
3
  1. Na minha experiência (principalmente de equipamentos 3Com e HP, não muito da Cisco), a negociação automática não causa muitos problemas.

  2. Similarmente ao mrdenny, eu normalmente configuro os servidores para a velocidade mais rápida (ainda temos alguns em 100), full duplex, e, em seguida, deixo o switch em automático. temos uma mistura de velocidades em ambos os servidores e estações de trabalho, eu prefiro muito mais deixar os switches em automático e deixá-los se adaptar ao endpoint.

por 25.01.2010 / 19:10
3

Eu tive alguns problemas com a autonegociação em uma configuração doméstica e o problema era a fiação, em particular os cabos de rede enrolados em um circuito com um diâmetro muito pequeno ou colocando-o muito próximo dos cabos de energia.

Mas eu acho que essas sugestões são um pouco triviais para a sua configuração. ;)

    
por 26.01.2010 / 10:00
2

Eu li recentemente sobre isso em Network Warrior por Gary Donahue. Com base neste livro para negociação automática funcionar corretamente, o switch e a NIC devem estar configurados para negociação automática. Definir a NIC para uma velocidade específica e modo duplex e deixar o servidor na negociação automática não funcionará corretamente - a negociação automática é um protocolo e os dois lados precisam estar falando para que as configurações funcionem corretamente.

Se você quiser definir explicitamente a velocidade e o modo duplex, é necessário executá-lo nas duas extremidades da conexão.

    
por 04.02.2010 / 19:54
2

A Cisco discute alguns casos em que você pode querer configurar manualmente a velocidade da porta e o duplex em vez de usar o autonegotiate ao usar dispositivos de segurança PIX / ASA: link

    
por 08.07.2010 / 22:22
1

Minha regra geral é usar negociação automática para tudo, exceto links de roteador, a menos que você tenha um problema específico (como cartões Broadcom recentes ... BAH!)

Se você tiver dois roteadores vinculados via Ethernet, por exemplo, defina manualmente a velocidade nas duas extremidades.

    
por 26.01.2010 / 02:51