PowerScale:InfiniBandからEthernetへの変換により、リンク アグリゲーション構成が正しくない可能性がある
Summary: この記事では、OneFSバージョン9.1.0.0より前のクラスターのバックエンドInfiniBandからEthernetへの変換中に発生する問題を解決する方法について説明します。
Symptoms
OneFS 9.1より前のバージョンで、クラスターをInfiniBandからEthernetバックエンドに変換すると、アグリゲート ポートが正しく構成されないことがあります。ノードを再起動すると、不良アグリゲートが作成され、ノード分割が発生します。
Mellanoxベンダー インターフェイス(mlxen)がアグリゲーション用に誤って構成されているため、ノードがクラスターへの再参加に失敗する可能性があります。ノードからifconfigを確認すると、lagg0にマップされたISI内部インターフェイスが表示されます。
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
InfinibandからEthernetへの変換では、インターフェイス名がib0からmlxen0(int-a)に、ib1からmlxen1(int-b)に変更されます。LAG作成者は、外部ネットワーク インターフェイス ポートとして「mlxen0」および「mlxen1」を参照しています。問題が発生した場合(つまり、予防措置が講じられなかった場合)、Flexnet(ネットワーク管理デーモン)内のマッピングを修正する手順が必要です。
Resolution
移行前:
この問題は、OneFS 9.1以降で修正済みです。影響を受けるバージョンを使用している場合は、InfiniBandからEthernetに移行する前に、次の手順を実行します。
- すべてのネットワーク プールからすべての集約インターフェイスを削除します。
- 移行を完了します。
- 必要なすべてのネットワーク プールにすべての集約インターフェイスを再度追加します。
移行後:
問題が発生し、ノードが分割された場合は、次のいずれかの手順(自動または手動)を実行して問題を回避します。
自動解決(回避策)
========================================================
-
「lni」ファイルのバックアップを作成します。
mv /etc/mcp/sys/lni.xml /etc/mcp/sys/lni.xml.bak
-
影響を受けるノード インターフェイスをネットワーク プールから削除します。
isi network pools modify <groupnet.subnet.pool> --remove-ifaces=<interface example: 2:40gige-agg-1>
-
次のコマンドを実行して、ノードのlni.xml ファイルを再構築します。
isi_create_lni_xml
-
ノードを再起動します。
-
インターフェイスが正しいことを確認します。
-
MTU 9000を構成する最後のステップに進みます。これを実行した後、影響を受けるノード インターフェイスをプールに追加し直します。
isi network pools modify <groupnet.subnet.pool> --add-ifaces=<interface example: 2:40gige-agg-1>
手動解決(回避策)
========================================================
この問題を解決するために、 laggports 次のアクションを実行して、手動で削除する必要があります。
-
影響を受けるノードへのシリアル接続を使用します。
-
影響を受けるノードで「mcp」を無効にします。
killall -9 isi_mcp
-
影響を受けるノードで「isi_flexnet_d」を無効にします。
killall -9 isi_flexnet_d
-
ローカル ディレクトリーに両方の「flx_config.xml」ファイルのバックアップを作成します。
-
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
-
-
アグリゲート ポートに関連づけられている「VLAN」がある場合は、それらを停止させます。
ifconfig <vlan interface> down
例
ifconfig vlan0 down
-
LAGインターフェイスから「laggports」を削除します。
ifconfig <lag interface> -laggport <mlx iface>
例
ifconfig lagg0 -laggport mlxen0
ifconfig lagg0 -laggport mlxen1
-
LAGインターフェイスを停止します。
ifconfig <lag iface> down
例
ifconfig lagg0 down
-
バックエンド インターフェイスとlagポートの関連付けが解除されたので、「int-a」と「int-b」を使用して他のノードへのpingをテストします。
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
ノードがダウンしていないことを確認します。
isi status -q
-
すべてのプロセスを更新するには、ノードを再起動します。