MDS , Nexus5000 の FC で Zone merge failure が発生した場合の recovery 方法を紹介します。
FC SW 間を ISL 接続すると VSAN 毎に active Zoneset の merge が行なわれますが、以下の条件で Zone merge failure が発生します。
- 両方の FC SW に同一 VSAN があり、active な Zoneset に同じ名前の Zone がある
- この同じ名前の Zone に属する member が異なる
例えば、以下の様な Zoneset が SW1、SW2 の VSAN 101 で active となっている場合に、SW1、SW2 間を ISL で VSAN 101 を接続すると、 Zone merge failure が発生します。
SW1# sh zoneset active vsan 101 zoneset name zs101 vsan 101 zone name host1-p1 vsan 101 fcid 0x010000 fcid 0x010001
zone name host2-p1 vsan 101 fcid 0x010002 fcid 0x010003
SW2# sh zoneset active vsan 101 zoneset name zs101 vsan 101 zone name host1-p1 vsan 101 fcid 0x020000 fcid 0x020001 |
zone merge failure が発生すると両方の SW のコンソールに以下の様なメッセージが表示されます。 また、"show interface" コマンドでも確認することが出来ます。
2010 Sep 30 04:09:11 SW1 %ZONE-2-ZS_MERGE_FAILED: %$VSAN 101%$ Zone merge failure, isolating interface fcip1 received reason: Member mismatch Received rjt from adjacent switch:[reason:0]
SW1# show interface fcip 1 fcip1 is trunking (Not all VSANs UP on the trunk) Hardware is GigabitEthernet Port WWN is 20:14:00:0d:ec:6c:37:80 Peer port WWN is 20:54:00:0d:ec:0e:ec:00 Admin port mode is auto, trunk mode is on snmp link state traps are enabled Port mode is TE Port vsan is 1 Speed is 1 Gbps Trunk vsans (admin allowed and active) (101-102) Trunk vsans (up) (102) Trunk vsans (isolated) (101) Trunk vsans (initializing) () Interface last changed at Thu Sep 30 04:08:56 2010 ... |
zone merge failure からの recovery は、以下の様な方法で行なうことができます。
- 一旦 SW 間の ISL を link down させ、active Zoneset を修正し、SW間を再接続する。( ISL に他の VSAN も通している場合は、link down で影響を受けるのでお勧めしません)
- 1. の link down の代わりに ISL の allowed vsan から isolate されている VSAN を除き、active Zoneset 修正後、再度 allowed vsan に追加する
- "zoneset import"、"zoneset export" コマンドを使い、一方の active Zonesset で他方の active Zoneset を上書きする
1,2 の方法は、通常の Zone の設定方法とほぼ変らないので、3 の方法を紹介します。
"zoneset import" は、対向の SW の active Zoneset で自 SW の active Zoneset を上書きします。
"zoneset export" は、逆に自 SW の active Zoneset で対向の SW の active Zoneset を上書きします。
これらのコマンドは、SW 間を接続する interface と isolate されている VSAN を指定します。 また isolate の状態でなければ実行できません。
上の例で、isolate された状態から、SW1 で "zoneset import" を行なった例です。
SW1# zoneset import ? interface Interface name
SW1# zoneset import interface fcip 1 ? vsan Imports zone server database of a VSAN on the interface
SW1# zoneset import interface fcip 1 vsan 101
--- コマンド実行後、initilizing となります SW1# show int fcip1 fcip1 is trunking (Not all VSANs UP on the trunk) Hardware is GigabitEthernet Port WWN is 20:14:00:0d:ec:6c:37:80 Peer port WWN is 20:54:00:0d:ec:0e:ec:00 Admin port mode is auto, trunk mode is on snmp link state traps are enabled Port mode is TE Port vsan is 1 Speed is 1 Gbps Trunk vsans (admin allowed and active) (101-102) Trunk vsans (up) (102) Trunk vsans (isolated) () Trunk vsans (initializing) (101) Interface last changed at Thu Sep 30 04:08:56 2010 ...
--- 暫くすると up となり、isolate から回復します SW1# sh int fcip1 fcip1 is trunking Hardware is GigabitEthernet Port WWN is 20:14:00:0d:ec:6c:37:80 Peer port WWN is 20:54:00:0d:ec:0e:ec:00 Admin port mode is auto, trunk mode is on snmp link state traps are enabled Port mode is TE Port vsan is 1 Speed is 1 Gbps Trunk vsans (admin allowed and active) (101-102) Trunk vsans (up) (101-102) Trunk vsans (isolated) () Trunk vsans (initializing) () Interface last changed at Thu Sep 30 04:08:56 2010 ...
--- Zoneset が SW2 の active Zoneset で上書きされるので、host2-p1 という zone も無くなります SW1# show zoneset active vsan 101 zoneset name zs101 vsan 101 zone name host1-p1 vsan 101 fcid 0x020000 fcid 0x020001 |