PowerScale: InfiniBand에서 이더넷으로의 변환으로 인해 링크 집선 구성이 잘못될 수 있음
Summary: 이 문서에서는 9.1.0.0 이전 버전의 OneFS에서 클러스터 백엔드 InfiniBand를 이더넷으로 변환하는 동안 발생하는 문제를 해결하는 방법에 대해 설명합니다.
Symptoms
OneFS 9.1 이전 버전에서 클러스터를 InfiniBand에서 이더넷 백엔드로 변환하면 통합 포트가 잘못 구성될 수 있습니다. 노드를 재부팅하면 잘못된 애그리게이트가 생성되어 노드 분할이 발생합니다.
Mellanox 공급업체 인터페이스(mlxen)가 집계에 대해 잘못 구성되어 노드가 클러스터에 다시 연결되지 않을 수 있습니다. 노드에서 ifconfig를 검토하면 lagg0에 매핑된 ISIINTERNAL 인터페이스가 표시됩니다.
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에서 이더넷으로 변환하면 인터페이스 이름이 ib0에서 mlxen0(int-a)으로, ib1에서 mlxen1(int-b)로 변경됩니다. LAG 생성자가 외부 네트워크 인터페이스 포트로 "mlxen0" 및 "mlxen1"을 참조합니다. 문제가 발생하는 경우(예방 조치가 취해지지 않았음을 의미) Flexnet(네트워킹 관리 데몬) 내에서 매핑을 수정하기 위한 단계가 필요합니다.
Resolution
마이그레이션 전:
이 문제는 OneFS 9.1 이상에서 수정되었습니다. 영향을 받는 버전에 있는 경우 InfiniBand에서 이더넷으로 마이그레이션하기 전에 다음을 수행합니다.
- 모든 네트워크 풀에서 모든 집계 인터페이스를 제거합니다.
- 마이그레이션을 완료합니다.
- 필요한 모든 네트워크 풀에 모든 통합 인터페이스를 다시 추가합니다.
마이그레이션 후:
문제가 발생하여 노드가 분할된 경우 다음 단계(자동 또는 수동) 중 하나를 수행하여 문제를 해결합니다.
자동 해결(해결 방법)
========================================================
-
"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"이 있는 경우 해당 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
-
이제 백엔드 인터페이스가 지연 포트에서 연결 해제되었으므로 "int-a" 및 "int-b"를 통해 다른 노드에 대한 ping을 테스트합니다.
ping <back-end IP [int-a]>
ping <back-end IP [int-b]>
-
노드가 더 이상 다운되지 않았는지 확인합니다.
isi status -q
-
모든 프로세스를 새로 고치려면 노드를 재부팅합니다.