Como a banda lateral do IPMI compartilha a porta Ethernet com o host?

23

Temos um número de máquinas Supermicro com recursos IPMI / BMC. Algumas dessas máquinas usam um BMC a bordo, enquanto outras usam uma placa de expansão .

Estamos pensando em usar a banda lateral devido aos custos reduzidos e aos requisitos de cabeamento. No entanto, alguns detalhes da banda lateral não fazem muito sentido.

A banda lateral requer um cabo Ethernet conectado a uma porta Ethernet na placa-mãe. Essa porta de rede é então compartilhada entre o sistema IPMI e o sistema operacional. Pelo que li neste manual da Supermicro , "Use o mesmo endereço MAC que você está usando para LAN1 para o cartão SIMSO IPMI". No entanto, o IPMI deve ter um endereço IP diferente do sistema operacional.

Como é possível ter dois dispositivos (o sistema operacional e o IPMI) que podem ouvir e transmitir nessa mesma porta de rede física? Quando um pacote chega à interface, como o sistema determina se esse pacote é destinado ao sistema operacional ou ao sistema IPMI?

Esses pacotes são manipulados pela CPU, usando interrupções da CPU? Os pacotes para a interface IPMI podem ser visualizados pelo sistema operacional?

Stefan Lasiewski
fonte

Respostas:

39

Eu gerencio muitos servidores SuperMicro usando o IPMI integrado. Tenho uma relação de amor / ódio com a Ethernet compartilhada (também conhecida como banda lateral). Em geral, a maneira como essas coisas funcionam é que a LAN1 parece ter 2 endereços MAC (diferentes) - um é para a interface IPMI, o outro é o NIC Broadcom padrão. O tráfego para a interface IPMI (camada 2, com base no endereço MAC) é interceptado magicamente abaixo do nível do sistema operacional e nunca é visto pelo sistema operacional em execução.

Você já atingiu o ponto positivo para eles: menos cabeamento. Agora, deixe-me cobrir algumas das desvantagens:

  • É particularmente difícil particionar a interface IPMI em uma sub-rede separada de maneira segura. Como todo o tráfego passa pelo mesmo cabo, você (quase) sempre precisa ter a interface IPMI e a interface LAN1 na mesma sub-rede IP. Nas placas-mãe mais recentes, as placas IPMI agora suportam a atribuição de uma VLAN à NIC IPMI, para que você possa ter alguma aparência de separação - mas o sistema operacional subjacente sempre pode detectar o tráfego dessa VLAN. Controladores BMC mais antigos não permitem alterar a VLAN, apesar de ferramentas como ipmitool ou ipmicfg permitirem que você os mude ostensivamente, mas simplesmente não funciona.
  • Você está centralizando seus pontos de falha no sistema. Está configurando um switch e consegue se desligar de alguma forma? Parabéns, agora você cortou a conexão de rede principal com o servidor E o backup via IPMI. O hardware da NIC falhou? Parabéns, mesmo problema.
  • Os BMCs IPMI SuperMicro anteriores eram notórios por fazer coisas estranhas com a interface de rede. A utilização da porta IPMI integrada versus a porta IPMI dedicada era frequentemente determinada na inicialização (não na reinicialização) e não alternava a partir daí. Se você teve uma queda de energia e seu comutador não forneceu energia com rapidez suficiente, você poderia acabar com o IPMI que não funcionava porque detectou automaticamente a configuração errada.
  • Pessoalmente, tive muitos problemas estranhos e inexplicáveis ​​de conectividade, fazendo com que o IPMI da banda lateral funcionasse de maneira confiável. Às vezes, simplesmente não conseguia executar ping no IP da interface por alguns minutos. Às vezes, recebia uma tempestade de pacotes na VLAN atribuída, mas todo o tráfego parecia ter caído.

Embora isso não tenha nada a ver com banda lateral vs. dedicada, também observarei que as ferramentas para acessar sistemas host são muito mal escritas. Os cartões IPMI mais antigos não suportam nada além de autenticação local, tornando a rotação de senhas uma dor total. Se você estiver usando a funcionalidade KVM-over-IP, ficará preso usando um applet Java expirado, incorretamente assinado, ou um aplicativo de desktop Java estranho que só funciona no Windows e requer que a elevação do UAC seja executada. Eu achei a entrada do teclado irregular, na melhor das hipóteses, às vezes obtendo "teclas presas", de modo que é impossível digitar uma senha para fazer login sem tentar 10 vezes.

Acabei conseguindo colocar mais de 40 sistemas trabalhando com esse arranjo. Na maioria dos casos, tenho sistemas mais novos que poderiam conectar as interfaces IPMI à VLAN em uma sub-rede separada e uso principalmente o console serial via ipmitool, que funciona muito bem. Para a próxima geração de servidores, estou analisando a tecnologia AMT da Intel com suporte KVM ; como isso entra no espaço do servidor, posso ver a substituição do IPMI por isso.

natacado
fonte
Obrigado pela explicação muito detalhada. Você tem mais informações sobre como o tráfego 'é interceptado magicamente abaixo do nível do sistema operacional e nunca é visto pelo sistema operacional em execução'? Estamos tentando entender como isso funciona.
Stefan Lasiewski
Uma simples ponte de hardware fará o truque.
Antoine Benkemoun
ótima resposta e sim, o tráfego é feito uma ponte sobre
Jim B
2
Stephan - Antoine e Jim explicaram nos comentários - provavelmente é uma ponte de hardware. Pense nisso como um pequeno switch implementado em silício, conectando a interface da NIC física a 2 NICs virtuais - uma para IPMI e outra para o computador principal.
Natacado
Obrigado por essa explicação. Foi exatamente assim que pensei que funcionaria, mas quando discuto isso com outras pessoas (administradores de rede, administradores de sistemas), recebo muitas divergências.
precisa saber é o seguinte
4

Eu nunca usei esses cartões específicos antes, os que usei têm um MAC diferente para o tráfego IPMI ou a porta é dedicada apenas ao tráfego IPMI. Pode ser possível que o IPMI compartilhe a NIC, incluindo o MAC.

O IPMI terá um IP diferente do SO, portanto, os pacotes serão direcionados corretamente com base nisso. O tráfego IPMI nunca atinge a CPU, tudo é tratado nos ICs de gerenciamento de banda lateral.

Chris S
fonte
Entendo. Alguns cartões IPMI em alguns sistemas "compartilham o endereço MAC" (parece que Supermicro e Dell fazem isso), enquanto outros usam endereços MAC diferentes (a IBM faz isso).
Stefan Lasiewski
3
Nos meus servidores Dell, a interface IPMI possui um MAC diferente, mesmo que seja a mesma porta de rede física.
sciurus
2

Queria adicionar ao conselho geral que o uso da banda lateral significa que você não pode falar do servidor para o BMC. O tráfego parece estar filtrado. Eu tentei isso no kit IBM / Dell / HP.

Ed Sykes
fonte
para elaborar sobre isso, pois também me atingiu. ESXI e nenhuma VM pode acessar o BMC (mas os hosts ext podem), POR QUÊ? Porque o tráfego de saída na porta NSCI (IPMI compartilhada) precisaria pressionar um switch e recuperar novamente para a mesma porta. Os switches L2 típicos AFAIK não.
Kevinf 17/08/2017
1

Vou fazer o backup do ponto final dos natacados em sua resposta inicial; suas sessões de IPMI expirarão aleatoriamente (eu uso o IPMIView da supermicro para olhar o console em minhas caixas). Coisas como atualizações de firmware e motos parecem falhar inexplicavelmente e aleatoriamente.

Ótima resposta natacado, incrivelmente minucioso.

Ben Lutgens
fonte
1
Verifique se o seu firmware IPMI está atualizado! Se houver uma desconexão grande o suficiente entre a versão do firmware IPMI e a versão do software IPMIView, você receberá um "erro de conexão" genérico e enigmático ao tentar iniciar uma sessão KVM! A atualização para o firmware IPMI mais recente (isso pode ser feito no menu principal do utilitário IPMIView em Arquivo) foi corrigido. : p
Jeff Atwood