PowerScale : La conversion InfiniBand vers Ethernet peut entraîner une configuration incorrecte de l’agrégation de liens
Summary: Cet article explique comment résoudre un problème qui se produit lors de la conversion back-end InfiniBand vers Ethernet d’un cluster pour OneFS version antérieure à la version 9.1.0.0. ...
Symptoms
Les versions OneFS antérieures à la version 9.1 et la conversion d’un cluster InfiniBand en back-end Ethernet peuvent entraîner une configuration incorrecte des ports agrégés. Le redémarrage du nœud créerait l’agrégat défectueux et provoquerait une division du nœud.
Interfaces du fournisseur Mellanox (mlxen) qui sont mal configurées pour l’agrégation et risquent d’empêcher le nœud de rejoindre à nouveau le cluster. La vérification de ifconfig à partir d’un nœud affiche les interfaces internes ISI mappées à 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 conversion d’Infiniband en Ethernet modifie les noms d’interface de ib0 à mlxen0 (int-a) et ib1 à mlxen1 (int-b). Le créateur du décalage fait référence à « mlxen0 » et « mlxen1 » en tant que ports d’interface réseau externe. Si le problème se produit (ce qui signifie que des mesures préventives n’ont pas été prises), des mesures sont nécessaires pour corriger le mappage dans Flexnet (le démon de gestion de réseau).
Resolution
Avant la migration :
Ce problème a été corrigé pour OneFS 9.1 et les versions ultérieures. Si vous utilisez une version concernée, procédez comme suit avant de migrer d’InfiniBand vers Ethernet.
- Supprimez toutes les interfaces agrégées de tous les pools réseau.
- Terminez la migration.
- Ajoutez à nouveau toutes les interfaces agrégées à tous les pools réseau nécessaires.
Après la migration :
Si le problème s’est produit et qu’un nœud s’est divisé, effectuez l’une des étapes suivantes (automatique ou manuelle) pour contourner le problème.
Résolution automatique (solution de contournement)
========================================================
-
Créez une sauvegarde du fichier « lni » :
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
Supprimez l’interface de nœud concernée du pool réseau.
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
Exécutez la commande suivante pour reconstruire le fichier lni.xml du nœud :
isi_create_lni_xml
-
Redémarrez le nœud.
-
Vérifiez que l’interface est correcte.
-
Passez à l’étape finale de configuration du MTU 9000. Une fois cette opération effectuée, ajoutez à nouveau l’interface de nœud concernée au pool.
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
Résolution manuelle (contournement)
========================================================
Afin de résoudre ce problème, le laggports doit être supprimé manuellement en effectuant les actions suivantes.
-
Utilisez une connexion série dans le nœud concerné.
-
Désactivez « mcp » sur le nœud concerné.
killall -9 isi_mcp
-
Désactivez « isi_flexnet_d » sur le nœud concerné.
killall -9 isi_flexnet_d
-
Créez une sauvegarde des deux fichiers « flx_config.xml » sur le répertoire 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
-
-
S’il existe des « VLAN » associés au port d’agrégation, supprimez-les.
ifconfig <vlan interface> down
EXEMPLE
ifconfig vlan0 down
-
Supprimez les « laggports » de l’interface de décalage.
ifconfig <lag interface> -laggport <mlx iface>
EXEMPLES
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
Réduisez l’interface de décalage.
ifconfig <lag iface> down
EXEMPLE
ifconfig lagg0 down
-
Maintenant que l’interface back-end est dissociée du port lag, testez le ping sur n’importe quel autre nœud via « int-a » ET « int-b ».
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
Vérifiez que le nœud n’est plus arrêté.
isi status -q
-
Pour actualiser tous les processus, redémarrez le nœud.