PowerScale: La conversione da InfiniBand a Ethernet può comportare una configurazione errata dell'aggregazione dei collegamenti
Summary: Questo articolo descrive come risolvere un problema riscontrato durante la conversione da InfiniBand a Ethernet back-end di un cluster per la versione di OneFS precedente alla 9.1.0.0.
Symptoms
Le versioni di OneFS precedenti alla 9.1 e la conversione di un cluster da InfiniBand a back-end Ethernet possono comportare porte aggregate configurate in modo errato. Il riavvio del nodo creerebbe un'aggregazione danneggiata e causerebbe una divisione del nodo.
Interfacce del vendor Mellanox (mlxen) configurate in modo errato per l'aggregazione e che potrebbero causare il re-join del nodo al cluster. La revisione di ifconfig da un nodo mostra le interfacce ISIINTERNE mappate 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 conversione da InfiniBand a Ethernet modifica i nomi delle interfacce da ib0 a mlxen0 (int-a) e da ib1 a mlxen1 (int-b). L'autore del ritardo fa riferimento a "mlxen0" e "mlxen1" come porte dell'interfaccia di rete esterna. Se si verifica il problema (il che significa che non sono state adottate misure preventive), sono necessari i passaggi per correggere il mapping all'interno di Flexnet (il daemon di gestione della rete).
Resolution
Prima della migrazione:
Questo problema è stato corretto per OneFS 9.1 e versioni successive. Se si utilizza una versione interessata, effettuare le seguenti operazioni prima di eseguire la migrazione da InfiniBand a Ethernet.
- Rimuovere tutte le interfacce aggregate da tutti i pool di rete.
- Completare la migrazione.
- Aggiungere nuovamente tutte le interfacce aggregate a tutti i pool di rete necessari.
Dopo la migrazione:
Se il problema si è verificato e si è verificata una divisione del nodo, eseguire una delle seguenti operazioni (automatica o manuale) per risolvere il problema.
Risoluzione automatica (soluzione alternativa)
========================================================
-
Creare un backup del file "lni":
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
Rimuovere l'interfaccia del nodo interessato dal pool di rete.
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
Eseguire il seguente comando per ricostruire il file di lni.xml del nodo:
isi_create_lni_xml
-
Riavviare il nodo.
-
Verificare che l'interfaccia sia corretta.
-
Procedere con il passaggio finale della configurazione di MTU 9000. Al termine dell'operazione, aggiungere nuovamente l'interfaccia del nodo interessato al pool.
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
Risoluzione manuale (soluzione alternativa)
========================================================
Al fine di risolvere questo problema, il laggports deve essere rimosso manualmente effettuando le seguenti azioni.
-
Utilizzare una connessione seriale nel nodo interessato.
-
Disabilitare "mcp" sul nodo interessato.
killall -9 isi_mcp
-
Disabilitare "isi_flexnet_d" sul nodo interessato.
killall -9 isi_flexnet_d
-
Creare un backup di entrambi i file "flx_config.xml" nella directory locale.
-
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
-
-
Se sono presenti delle "VLAN" associate alla porta di aggregazione, arrestarle.
ifconfig <vlan interface> down
ESEMPIO
ifconfig vlan0 down
-
Rimuovere i "laggports" dall'interfaccia lag.
ifconfig <lag interface> -laggport <mlx iface>
ESEMPI
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
Disattivare l'interfaccia di ritardo.
ifconfig <lag iface> down
ESEMPIO
ifconfig lagg0 down
-
Ora che l'interfaccia back-end è stata dissociata dalla porta lag, testare il ping su qualsiasi altro nodo tramite "int-a" E "int-b".
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
Verificare che il nodo non sia più inattivo.
isi status -q
-
Per aggiornare tutti i processi, riavviare il nodo.