¿Cómo comparte la banda lateral de IPMI el puerto Ethernet con el host?

23

Tenemos varias máquinas Supermicro con características IPMI / BMC. Algunas de estas máquinas usan un BMC integrado, mientras que otras usan una tarjeta adicional .

Estamos considerando el uso de banda lateral debido a sus costos reducidos y requisitos de cableado. Sin embargo, algunos detalles de la banda lateral no tienen mucho sentido.

La banda lateral requiere un cable de ethernet que está conectado a un puerto de ethernet en la placa base. Este puerto de red se comparte entre el sistema IPMI y el sistema operativo. Por lo que leí en este manual de Supermicro , "Use la misma dirección MAC que está usando para LAN1 para la tarjeta SIMSO IPMI". Sin embargo, la IPMI debe tener una dirección IP diferente que el sistema operativo.

¿Cómo es posible tener dos dispositivos (el sistema operativo y el IPMI) que puedan escuchar y transmitir en este mismo puerto de red física? Cuando llega un paquete a la interfaz, ¿cómo determina el sistema si este paquete está destinado al sistema operativo o al sistema IPMI?

¿Estos paquetes son manejados por la CPU, utilizando interrupciones de la CPU? ¿El sistema operativo puede ver los paquetes a la interfaz IPMI?

Stefan Lasiewski
fuente

Respuestas:

39

Administro muchos servidores SuperMicro usando el IPMI integrado. Tengo una relación de amor / odio con el ethernet compartido (también conocido como banda lateral). En general, la forma en que funcionan estas cosas es que LAN1 parece tener 2 direcciones MAC (diferentes): una es para la interfaz IPMI, la otra es su NIC Broadcom estándar. El tráfico a la interfaz IPMI (capa 2, basada en la dirección MAC) se intercepta mágicamente por debajo del nivel del sistema operativo y nunca lo ve el sistema operativo que se esté ejecutando.

Ya has llegado a un buen punto para ellos: menos cableado. Ahora déjenme cubrir algunos de los inconvenientes:

  • Es particularmente difícil dividir la interfaz IPMI en una subred separada de manera segura. Como todo el tráfico pasa por el mismo cable, (casi) siempre debe tener la interfaz IPMI y la interfaz LAN1 en la misma subred IP. En las últimas placas base, las tarjetas IPMI ahora admiten la asignación de una VLAN a la NIC de IPMI, por lo que puede obtener cierta apariencia de separación, pero el sistema operativo subyacente siempre puede detectar el tráfico de esa VLAN. Los controladores BMC más antiguos no permiten cambiar la VLAN en absoluto, aunque herramientas como ipmitool o ipmicfg aparentemente le permitirán cambiarlo, simplemente no funciona.
  • Estás centralizando tus puntos de falla en el sistema. ¿Hacer la configuración en un interruptor y lograr cortarse de alguna manera? Felicitaciones, ahora ha cortado la conexión de red principal a su servidor Y la copia de seguridad a través de IPMI. ¿Falla el hardware de la NIC? Felicidades, mismo problema.
  • Los primeros BMC SuperMicro IPMI eran conocidos por hacer cosas extrañas con la interfaz de red. Si usar el puerto IPMI integrado frente al dedicado a menudo se determinaba al encender (no reiniciar), y no cambiaría desde allí. Si tuvo un corte de energía y su conmutador no proporcionó energía lo suficientemente rápido, podría terminar con la falla de funcionamiento de IPMI porque detectó automáticamente la configuración incorrecta.
  • Personalmente, he tenido muchos problemas de conectividad extraños e inexplicables para que el IPMI de banda lateral funcione de manera confiable. A veces simplemente no pude hacer ping a la interfaz IP durante unos minutos. A veces recibía una tormenta de paquetes en la VLAN asignada, pero todo el tráfico parecía haberse caído.

Si bien esto no tiene nada que ver con sideband-vs.-dedicated, también notaré que las herramientas para acceder a los sistemas host están muy mal escritas. Las tarjetas IPMI más antiguas no admiten nada más que la autenticación local, lo que hace que la rotación de contraseñas sea una molestia total. Si está utilizando la funcionalidad KVM-over-IP, está atascado con un applet de Java caducado o firmado incorrectamente o una aplicación de escritorio Java extraña que solo funciona en Windows y requiere elevación de UAC para ejecutarse. He descubierto que la entrada del teclado es irregular en el mejor de los casos, a veces obteniendo "teclas atascadas", de modo que es imposible escribir una contraseña para iniciar sesión sin intentarlo 10 veces.

Eventualmente logré hacer funcionar más de 40 sistemas con este arreglo. Tengo sistemas más nuevos en su mayoría, podría VLAN las interfaces IPMI en una subred separada, y uso principalmente la consola en serie a través de ipmitool, que funciona muy bien. Para la próxima generación de servidores, estoy viendo la tecnología AMT de Intel con soporte KVM ; como esto lo hace en el espacio del servidor, puedo ver el reemplazo de IPMI con esto.

natacado
fuente
Gracias por la explicación muy detallada. ¿Tiene más información sobre cómo el tráfico "se intercepta mágicamente por debajo del nivel del sistema operativo y nunca lo ve el sistema operativo que se está ejecutando"? Estamos tratando de entender cómo funciona eso.
Stefan Lasiewski
Un simple puente de hardware hará el truco.
Antoine Benkemoun
gran respuesta y sí, el tráfico está puenteado
Jim B
2
Stephan - Antoine y Jim lo explicaron en los comentarios - es probable que sea un puente de hardware. Piense en ello como un pequeño interruptor implementado en silicio, que conecta la interfaz física de la NIC a 2 NIC virtuales, una para IPMI y otra para la computadora principal.
natacado
Gracias por esa explicación Así es exactamente como pensé que funcionaría, pero cuando hablo de esto con otras personas (administradores de red, administradores de sistemas) me desagrada mucho.
Stefan Lasiewski
4

No he usado esas tarjetas en particular antes, las que he usado tienen un MAC diferente para el tráfico de IPMI o el puerto está dedicado solo al tráfico de IPMI. Sin embargo, es posible que IPMI comparta la NIC, incluida la MAC.

IPMI tendrá una IP diferente del sistema operativo, por lo que los paquetes se dirigirán correctamente en función de eso. El tráfico de IPMI nunca llega a la CPU, todo se maneja en los circuitos integrados de administración de banda lateral.

Chris S
fuente
Veo. Algunas tarjetas IPMI en algunos sistemas "compartirán la dirección MAC" (Parece que Supermicro y Dell hacen esto), mientras que otras usan diferentes direcciones MAC (IBM hace esto).
Stefan Lasiewski
3
En mis servidores Dell, la interfaz IPMI tiene una MAC diferente, aunque es el mismo puerto de red física.
sciurus
2

Quería agregar al consejo general que usar banda lateral significa que no puede hablar desde el servidor al BMC. El tráfico parece estar filtrado. He intentado esto en el kit IBM / Dell / HP.

Ed Sykes
fuente
para elaborar sobre esto, ya que también me golpeó. ESXI y ninguna máquina virtual pueden acceder a BMC (pero los hosts externos pueden), ¿POR QUÉ? Debido a que el tráfico saliente en el puerto NSCI (IPMI compartido), tendría que presionar un conmutador y volver al mismo puerto. Los interruptores AF2 típicos de L2 no.
kevinf
1

Respaldaré el punto final de los natacados en su respuesta inicial, sus sesiones de IPMI se agotarán al azar (uso IPMIView de supermicro para mirar la consola en mis cajas). Cosas como las actualizaciones de firmware y los ciclos de energía parecen fallar de manera inexplicable y aleatoria.

Gran respuesta natacado, increíblemente minucioso.

Ben Lutgens
fuente
1
¡Asegúrese de que su firmware de IPMI esté actualizado! Si hay una desconexión lo suficientemente grande entre la versión de firmware de IPMI y la versión de software IPMIView, obtendrá un "error de conexión" genérico y críptico cuando intente iniciar una sesión KVM. La actualización al último firmware de IPMI (esto se puede hacer desde el menú principal de la utilidad IPMIView en Archivo) lo arregló. : p
Jeff Atwood