NPIV とは?
NPIV は N-Port ID Virtualization の略称で、N-Port は、ファイバーチャネル SAN において、サーバー FC-HBA などのデバイスが繋がっているポートを意味します。NPIV とは、ファイバーチャネル SAN において N-Port デバイスを仮想化するための、標準化された手法です。
通常は、VMware などのハイパーバイザーホスト側の FC-HBA を、実質的に各仮想マシンが共有しますが、NPIV を用いることで、仮想マシンごとに独自の WWN を持つことができます。これにより、LUN マスキングを用いて特定の LU(ストレージ上のボリューム)を個別の仮想マシンが排他的に利用することが可能になります。
FlashArray コントローラにおける NPIV
ピュア・ストレージでは、FlashArray のコントローラファームウェア(Purity)のアップグレード時に NPIV を用いて仮想 WWN をコントローラ間で引き継ぐことにより、FlashArray に接続されているホストから見たときに FC パス縮退を極小化する機能を Purity//FA 5.0 において実装しました。
NPIV 利用の条件
NPIV は「WWN を仮想化」する機能です。そのため、ファイバーチャネルのゾーニング設定は物理ポートをゾーニングのメンバーに加えたポートゾーニング(ハードウェアゾーニング)ではなく、WWN をゾーニングのメンバーとする WWN ゾーニング(ソフトウェアゾーニング)で設定することが必須条件となります。
ゾーニング設定の例
NPIV はファイバーチャネル SAN における機能であるため、利用するにはファイバーチャネルスイッチが必要です。
この設定例では、ブロードコム社の「Brocade 6510」スイッチを利用しました。ゾーニング設定にあたり、ゾーニングのメンバーとする WWN は下記のとおりです。
機器のポート | エイリアス | WWN |
ESXi FC-HBA #2 | vmhba2 | 21:00:00:24:ff:52:2f:ec |
ESXi FC-HBA #3 | vmhba3 | 21:00:00:24:ff:52:2f:ed |
FlashArray CT0 FC port 4 | CT0FC4 | 52:4A:93:74:99:93:C6:04 |
FlashArray CT2 FC port 4 | CT1FC4 | 52:4a:93:74:99:93:c6:14 |
ゾーニングでは、WWN(FC のポート)にエイリアス(わかりやすい名前)をつけ、そのエイリアスを使ってゾーニングのメンバーを管理するという方法が一般的です。今回もその方法で設定します。
この例での設定手順は下記のとおりです。
1.エイリアスの作成
各 WWN に対してエイリアスを作成します。エイリアスにはわかりやすい名前をつけてください。
1 2 3 4 5 6 |
alicreate “vmhba2”, “21:00:00:24:ff:52:2f:ec” alicreate “vmhba3”, “21:00:00:24:ff:52:2f:ed” alicreate “CT0FC4”, “52:4A:93:74:99:93:C6:04” alicreate “CT1FC4”, “52:4a:93:74:99:93:c6:14” |
2.ゾーン定義の作成
エイリアス(メンバー)をまとめたゾーン定義を作成します。
1 2 3 4 |
zonecreate “Zone_hba2_m20”,“vmhba2;CT0FC4, CT1FC4” zonecreate “Zone_hba3_m20”,“vmhba3;CT0FC4, CT1FC4” |
3.設定の有効化
ゾーン定義をコンフィグレーションに含めて設定を有効化します。
1 2 3 4 |
cfgcreate “cfg_NPIV”,“Zone_hba2_m20;Zone_hba3_m20” cfgenable cfg_NPIV |
NPIV の動作確認
実際に NPIV が動作しているか確認してみましょう。FlashArray の NPIV が正しく動作した場合、ゾーニングに設定されている WWN が稼働しているコントローラに引き継がれる、すなわち、FlashArray の FC ポートは落ちていない状態になるため、ホスト上では何も起こっていないように見えます。よって今回は、ファイバーチャネルスイッチ上で WWN がどのポート上に見えているかにより、動作を確認します。
1.通常状態のファイバーチャネルスイッチ上の表示
1 2 3 4 5 6 7 8 9 10 |
6510–10:FID128:admin> switchshow 〜〜〜〜省略〜〜〜〜 Index Port Address Media Speed State Proto ============================================== 0 0 010000 id N8 Online FC F–Port 52:4a:93:74:99:93:c6:04 (m20, ct0, p4) 1 1 010100 id N8 Online FC F–Port 52:4a:93:74:99:93:c6:14 (m20, ct1, p4) 〜〜〜〜省略〜〜〜〜 |
ファイバーチャネルスイッチのポート 0 に FlashArray CT0 の FC ポート番号 4 が、ポート 1 に FlashArray CT1 の FC ポート番号 4 が、それぞれ繋がっています。
2.FlashArray コントローラ CT1 を停止した、片系(CT0)動作時のファイバーチャネルスイッチ上の表示を確認
1 2 3 4 5 6 7 8 9 10 |
6510–10:FID128:admin> switchshow 〜〜〜〜省略〜〜〜〜 Index Port Address Media Speed State Proto ============================================== 0 0 010000 id N8 Online FC F–Port 1 N Port + 1 NPIV public 1 1 010100 id N16 No_Light 〜〜〜〜省略〜〜〜〜 |
ファイバーチャネルスイッチのポート 1 がダウン(”No_Light”)、ポート 0 の表示が「1 つの N-Port と 1 つの NPIV」という表示になりました。
3.ファイバーチャネルスイッチのポート 0 番に接続されている機器のポート(N-Port)の WWN を確認
1 2 3 4 5 6 7 8 9 10 |
B6510–10:FID128:admin> nsshow 〜〜〜〜省略〜〜〜〜 N 010000; 3;52:4a:93:74:99:93:c6:04;52:4a:93:74:99:93:c6:04; na (m20, ct0, p4) FC4s: FCP [PURE FlashArray 100 ] 〜〜〜〜省略〜〜〜〜 N 010001; 3;52:4a:93:74:99:93:c6:14;<u>52:4a:93:74:99:93:c6:14</u>; na (m20, ct1, p4のWWN) FC4s: FCP 〜〜〜〜省略〜〜〜〜 |
ファイバーチャネルスイッチのポート 0 に N-Port が 2 つ認識されており、FlashArray CT1 の FC ポート番号 4 の WWN が 2 つ目の N-Port として表示されています。上記により、ファイバーチャネルスイッチ上で停止したコントローラの WWN が引き継がれていることが確認できます。ホスト側 OS からはパスが切れていない状態となるため、FC マルチパスが縮退していない状態での動作となります。
なお、停止していたコントローラが正常に起動した段階で、自動的に元の状態に戻ります。
ストレージコントローラ側での NPIV の実装により、ホスト側への影響を必要最小限に抑えることができます。ピュア・ストレージは安定したシステム運用に貢献しています。