PowerScale: Konwersja InfiniBand na Ethernet może spowodować nieprawidłową konfigurację agregacji łączy
Summary: W tym artykule opisano sposób rozwiązania problemu występującego podczas konwersji InfiniBand zaplecza klastra na Ethernet w przypadku OneFS w wersji wcześniejszej niż 9.1.0.0.
Symptoms
OneFS w wersji starszej niż 9.1 i konwersja klastra z InfiniBand na zaplecze Ethernet może spowodować nieprawidłowe skonfigurowanie portów agregacji. Ponowne uruchomienie węzła spowodowałoby utworzenie nieprawidłowej agregacji i podział węzła.
Interfejsy dostawców Mellanox (mlxen), które są nieprawidłowo skonfigurowane do agregacji i mogą prawdopodobnie uniemożliwić ponowne dołączenie węzła do klastra. Przeglądanie ifconfig z węzła pokazuje interfejsy ISIINTERNAL mapowane na 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
Konwersja z Infiniband na Ethernet zmienia nazwy interfejsów z ib0 na mlxen0 (int-a) i ib1 na mlxen1 (int-b). Twórca opóźnienia odwołuje się do "mlxen0" i "mlxen1" jako zewnętrznych portów interfejsu sieciowego. Jeśli problem wystąpi (co oznacza, że nie podjęto środków zapobiegawczych), konieczne są kroki w celu skorygowania mapowania w Flexnet (demon zarządzania siecią).
Resolution
Przed migracją:
Ten problem został rozwiązany w systemie OneFS 9.1 i nowszych wersjach. Jeśli korzystasz z wersji, której dotyczy problem, wykonaj następujące czynności przed migracją z sieci InfiniBand do sieci Ethernet.
- Usuń wszystkie zagregowane interfejsy ze wszystkich pul sieciowych.
- Dokończ migrację.
- Dodaj ponownie wszystkie zagregowane interfejsy do wszystkich niezbędnych pul sieciowych.
Po migracji:
Jeśli wystąpił problem i węzeł został podzielony, wykonaj jedną z następujących czynności (automatyczną lub ręczną), aby obejść problem.
Automatyczne rozwiązywanie problemów (Obejście problemu)
========================================================
-
Utwórz kopię zapasową pliku "lni":
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
Usuń z puli sieciowej interfejs węzła, którego dotyczy problem.
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
Uruchom następujące polecenie, aby odbudować plik lni.xml węzła:
isi_create_lni_xml
-
Uruchom ponownie węzeł.
-
Sprawdź, czy interfejs jest poprawny.
-
Przejdź do ostatniego etapu konfiguracji MTU 9000. Po wykonaniu tej czynności ponownie dodaj do puli interfejs węzła, którego dotyczy problem.
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
Ręczne rozwiązywanie problemów (Obejście problemu)
========================================================
Aby rozwiązać ten problem, laggports należy usunąć ręcznie, wykonując następujące czynności.
-
Użyj połączenia szeregowego z węzłem, którego dotyczy problem.
-
Wyłącz "mcp" w węźle, którego dotyczy problem.
killall -9 isi_mcp
-
Wyłącz "isi_flexnet_d" w węźle, którego dotyczy problem.
killall -9 isi_flexnet_d
-
Utwórz kopię zapasową obu plików "flx_config.xml" w katalogu lokalnym.
-
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
-
-
Jeśli istnieją jakiekolwiek sieci VLAN powiązane z portem zagregowanym, wyłącz je.
ifconfig <vlan interface> down
PRZYKŁAD
ifconfig vlan0 down
-
Usuń "laggports" z interfejsu lag.
ifconfig <lag interface> -laggport <mlx iface>
PRZYKŁADY
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
Obniż interfejs lag.
ifconfig <lag iface> down
PRZYKŁAD
ifconfig lagg0 down
-
Teraz, gdy interfejs zaplecza jest odłączony od portu opóźnienia, przetestuj polecenie ping do dowolnego innego węzła za pomocą "int-a" ORAZ "int-b".
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
Sprawdź, czy węzeł nie jest już wyłączony.
isi status -q
-
Aby odświeżyć wszystkie procesy, uruchom ponownie węzeł.