PowerScale: La conversión de InfiniBand a Ethernet puede dar lugar a una configuración incorrecta de agregación de enlaces
Summary: En este artículo, se describe cómo resolver un problema que se observa durante la conversión de InfiniBand a Ethernet de backend de un clúster para la versión de OneFS anterior a 9.1.0.0. ...
Symptoms
Las versiones de OneFS anteriores a 9.1 y la conversión de un clúster de InfiniBand a back-end Ethernet pueden generar puertos agregados configurados incorrectamente. Reiniciar el nodo crearía el agregado incorrecto y provocaría una división del nodo.
Las interfaces de proveedor de Mellanox (mlxen) que están configuradas erróneamente para la agregación y que probablemente pueden provocar que el nodo no se vuelva a unir al clúster. La revisión de ifconfig desde un nodo muestra las interfaces ISIINTERNAL asignadas a lagg0.
Isilon-18# ifconfig bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE> ether 00:60:16:cc:bb:aa inet 192.168.60.10 netmask 0xffffff80 broadcast 192.168.60.127 zone 1 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex,master>) status: active mlxen0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,ISIINTERNAL> metric 0 mtu 1500 options=ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> ether 98:03:9b:cc:bb:aa inet 128.221.252.18 netmask 0xffffff00 broadcast 128.221.252.255 zone 1 inet 128.221.254.18 netmask 0xffffff00 broadcast 128.221.254.255 zone 1 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect (40Gbase-CR4 <full-duplex,rxpause,txpause>) status: active mlxen1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,ISIINTERNAL> metric 0 mtu 1500 options=ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> ether 98:03:9b:cc:bb:aa inet 128.221.253.18 netmask 0xffffff00 broadcast 128.221.253.255 zone 1 inet 128.221.254.18 netmask 0xffffff00 broadcast 128.221.254.255 zone 1 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect (40Gbase-CR4 <full-duplex,rxpause,txpause>) status: active mlxen2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> ether 98:03:9b:cc:bb:fa nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (10Gbase-CX4 <full-duplex,rxpause,txpause>) status: active mlxen3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> ether 98:03:9b:cc:bb:fb nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (10Gbase-CX4 <full-duplex,rxpause,txpause>) status: active lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> ether 98:03:9b:cc:bb:aa nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active groups: lagg laggproto lacp lagghash l2,l3,l4 laggport: mlxen0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: mlxen1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> vlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=303<RXCSUM,TXCSUM,TSO4,TSO6> ether 98:03:9b:cc:bb:aa inet 10.10.20.11 netmask 0xffffff00 broadcast 10.10.20.255 zone 18 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 100 vlanpcp: 0 parent interface: lagg0 groups: vlan
Cause
La conversión de Infiniband a Ethernet cambia los nombres de interfaz de ib0 a mlxen0 (int-a) e ib1 a mlxen1 (int-b). El creador del retraso hace referencia a "mlxen0" y "mlxen1" como puertos de interfaz de red externa. Si se produce el problema (lo que significa que no se tomaron medidas preventivas), se necesitan pasos para corregir la asignación dentro de Flexnet (el demonio de administración de redes).
Resolution
Antes de la migración:
Este problema se corrigió para OneFS 9.1 y versiones posteriores. Si está en una versión afectada, realice lo siguiente antes de migrar de InfiniBand a Ethernet.
- Quite todas las interfaces agregadas de todos los pools de redes.
- Complete la migración.
- Vuelva a agregar todas las interfaces agregadas a todos los pools de red necesarios.
Después de la migración:
Si se produjo el problema y se dividió un nodo, realice uno de los siguientes pasos (automático o manual) para solucionar el problema.
Resolución automática (solución alternativa)
========================================================
-
Cree un respaldo del archivo "lni":
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
Quite la interfaz de nodo afectada del pool de redes.
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
Ejecute el siguiente comando para reconstruir el archivo de lni.xml del nodo:
isi_create_lni_xml
-
Reinicie el nodo.
-
Verifique que la interfaz sea correcta.
-
Continúe con el paso final de la configuración de la MTU 9000. Después de esto, vuelva a agregar la interfaz del nodo afectado al pool.
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
Resolución manual (solución alternativa)
========================================================
Para resolver este problema, el laggports Se debe eliminar manualmente mediante las siguientes acciones.
-
Utilice una conexión en serie en el nodo afectado.
-
Deshabilite "mcp" en el nodo afectado.
killall -9 isi_mcp
-
Deshabilite "isi_flexnet_d" en el nodo afectado.
killall -9 isi_flexnet_d
-
Cree un respaldo de ambos archivos "flx_config.xml" en el directorio local.
-
mv /etc/ifs/flexnet/flx_config.xml /etc/ifs/flexnet/flx_config.xml.bak
-
mv /etc/ifs/flexnet/flx_config.xml~ /etc/ifs/flexnet/flx_config.xml~.bak
-
-
Si hay alguna "VLAN" asociada con el puerto agregado, desactívela.
ifconfig <vlan interface> down
EJEMPLO
ifconfig vlan0 down
-
Quite los "laggports" de la interfaz de retraso.
ifconfig <lag interface> -laggport <mlx iface>
EJEMPLOS
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
Reduzca la interfaz de retraso.
ifconfig <lag iface> down
EJEMPLO
ifconfig lagg0 down
-
Ahora que la interfaz de back-end está desasociada del puerto de retraso, pruebe el ping a cualquier otro nodo a través de "int-a" E "int-b".
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
Verifique que el nodo ya no esté inactivo.
isi status -q
-
Para actualizar todos los procesos, reinicie el nodo.