PowerScale: A conversão de InfiniBand para Ethernet pode resultar em configuração incorreta de agregação de links
Summary: Este artigo descreve como resolver um problema observado durante a conversão InfiniBand para Ethernet de back-end de um cluster para a versão do OneFS anterior à 9.1.0.0.
Symptoms
As versões do OneFS anteriores à 9.1 e a conversão de um cluster de InfiniBand em back-end Ethernet podem resultar em portas agregadas configuradas incorretamente. A reinicialização do nó criaria o agregado inválido e causaria uma divisão do nó.
Interfaces de fornecedor Mellanox (mlxen) que estão configuradas incorretamente para agregação e que podem resultar na falha do nó ao reingressar no cluster. A análise de ifconfig de um nó mostra as interfaces ISIINTERNAL mapeadas para 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
A conversão de Infiniband para Ethernet altera os nomes de interface de ib0 para mlxen0 (int-a) e ib1 para mlxen1 (int-b). O criador do lag está fazendo referência a "mlxen0" e "mlxen1" como as portas de interface de rede externas. Se o problema ocorrer (o que significa que medidas preventivas não foram tomadas), serão necessárias etapas para corrigir o mapeamento no Flexnet (o daemon de gerenciamento de rede).
Resolution
Antes da migração:
Esse problema foi corrigido para o OneFS 9.1 e versões posteriores. Se você estiver em uma versão afetada, faça o seguinte antes de migrar do InfiniBand para a Ethernet.
- Remova todas as interfaces agregadas de todos os pools de rede.
- Conclua a migração.
- Adicione novamente todas as interfaces agregadas a todos os pools de rede necessários.
Após a migração:
Se o problema tiver ocorrido e houver uma divisão de nó, execute uma das etapas a seguir (automática ou manual) para solucionar o problema.
Resolução automática (solução temporária)
========================================================
-
Crie um backup do arquivo "lni":
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
Remova a interface do nó afetado do pool de rede.
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
Execute o seguinte comando para reconstruir o arquivo lni.xml do nó:
isi_create_lni_xml
-
Reinicialize o nó.
-
Verifique se a interface está correta.
-
Prossiga com a etapa final de configuração da MTU 9000. Depois que isso for feito, adicione a interface do nó afetado de volta ao pool.
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
Resolução manual (solução temporária)
========================================================
Para resolver esse problema, o laggports deve ser removido manualmente executando as ações a seguir.
-
Use uma conexão serial com o nó afetado.
-
Desative "mcp" no nó afetado.
killall -9 isi_mcp
-
Desative "isi_flexnet_d" no nó afetado.
killall -9 isi_flexnet_d
-
Crie um backup dos dois arquivos "flx_config.xml" no diretório 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
-
-
Se houver "VLANs" associadas à porta agregada, desative-as.
ifconfig <vlan interface> down
EXEMPLO
ifconfig vlan0 down
-
Remova os "laggports" da interface de atraso.
ifconfig <lag interface> -laggport <mlx iface>
EXEMPLOS
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
Desative a interface de atraso.
ifconfig <lag iface> down
EXEMPLO
ifconfig lagg0 down
-
Agora que a interface de back-end está desassociada da porta lag, teste o ping em qualquer outro nó por meio de "int-a" E "int-b".
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
Verifique se o nó não está mais inativo.
isi status -q
-
Para atualizar todos os processos, reinicialize o nó.