PowerScale: Die InfiniBand-zu-Ethernet-Konvertierung kann zu einer falschen Konfiguration der Linkzusammenfassung führen
Summary: In diesem Artikel wird beschrieben, wie Sie ein Problem beheben, das während der Back-end-InfiniBand-zu-Ethernet-Konvertierung eines Clusters für OneFS-Versionen vor 9.1.0.0 auftritt.
Symptoms
OneFS-Versionen vor 9.1 und die Konvertierung eines Clusters von InfiniBand zum Ethernet-Back-end können zu falsch konfigurierten Aggregatports führen. Ein Neustart des Node würde das fehlerhafte Aggregat erstellen und zu einer Node-Aufteilung führen.
Mellanox Vendor Interfaces (mlxen), die für die Aggregation falsch konfiguriert sind und wahrscheinlich dazu führen können, dass der Node dem Cluster nicht erneut beitreten kann. Wenn Sie ifconfig von einem Node aus überprüfen, werden ISI-interne Schnittstellen angezeigt, die lagg0 zugeordnet sind.
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
Bei der Konvertierung von Infiniband auf Ethernet werden die Schnittstellennamen von ib0 in mlxen0 (int-a) und ib1 in mlxen1 (int-b) geändert. Der LAG-Ersteller verweist auf "mlxen0" und "mlxen1" als die externen Netzwerkschnittstellenports. Sollte das Problem auftreten (d. h. es wurden keine vorbeugenden Maßnahmen ergriffen), sind Schritte erforderlich, um die Zuordnung in Flexnet (dem Netzwerkmanagement-Daemon) zu korrigieren.
Resolution
Vor der Migration:
Dieses Problem wurde für OneFS 9.1 und höher behoben. Wenn Sie eine betroffene Version verwenden, führen Sie die folgenden Schritte aus, bevor Sie von InfiniBand zu Ethernet migrieren.
- Entfernen Sie alle aggregierten Schnittstellen aus allen Netzwerkpools.
- Schließen Sie die Migration ab.
- Fügen Sie alle aggregierten Schnittstellen zu allen erforderlichen Netzwerkpools hinzu.
Nach der Migration:
Wenn das Problem aufgetreten ist und ein Node geteilt wurde, führen Sie einen der folgenden Schritte (automatisch oder manuell) aus, um das Problem zu umgehen.
Automatische Auflösung (Workaround)
========================================================
-
Erstellen Sie ein Backup der lni-Datei:
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
Entfernen Sie die betroffene Node-Schnittstelle aus dem Netzwerkpool.
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
Führen Sie den folgenden Befehl aus, um die lni.xml Datei des Node neu zu erstellen:
isi_create_lni_xml
-
Starten Sie den Node neu.
-
Überprüfen Sie, ob die Schnittstelle korrekt ist.
-
Fahren Sie mit dem letzten Schritt der Konfiguration von MTU 9000 fort. Nachdem dies abgeschlossen ist, fügen Sie die betroffene Node-Schnittstelle wieder zum Pool hinzu.
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
Manuelle Lösung (Workaround)
========================================================
Um dieses Problem zu beheben, wird der laggports muss manuell entfernt werden, indem Sie die folgenden Aktionen ausführen.
-
Verwenden Sie eine serielle Verbindung zum betroffenen Node.
-
Deaktivieren Sie "mcp" auf dem betroffenen Node.
killall -9 isi_mcp
-
Deaktivieren Sie "isi_flexnet_d" auf dem betroffenen Node.
killall -9 isi_flexnet_d
-
Erstellen Sie ein Backup beider "flx_config.xml"-Dateien im lokalen Verzeichnis.
-
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
-
-
Wenn dem Aggregatport VLANs zugeordnet sind, fahren Sie diese herunter.
ifconfig <vlan interface> down
BEISPIEL
ifconfig vlan0 down
-
Entfernen Sie die "laggports" von der lag-Schnittstelle.
ifconfig <lag interface> -laggport <mlx iface>
BEISPIELE
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
Fahren Sie die Lag-Schnittstelle herunter.
ifconfig <lag iface> down
BEISPIEL
ifconfig lagg0 down
-
Nachdem die Back-end-Schnittstelle vom LAG-Port getrennt wurde, testen Sie den Ping-Test zu einem beliebigen anderen Node über "int-a" UND "int-b".
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
Stellen Sie sicher, dass der Node nicht mehr ausgefallen ist.
isi status -q
-
Um alle Prozesse zu aktualisieren, starten Sie den Node neu.