【VMWare ESXi】図解 ファイバーチャネル SAN (FC-SAN)の概要

SAN(Storage Area Network)は、サーバとストレージを接続する、ストレージ専用のネットワークです。SAN には主に、IP ネットワーク上で iSCSI などを使って接続する IP-SAN と、ファイバーチャネル(FC)で接続する FC-SAN の2種類があります。

この記事では、ファイバーチャネルの SAN(FC-SAN)について、構成、WWN、LUN、ゾーニング、LUN マスキングを図で整理します。

この記事でわかること
  1. FC-SAN の基本構成(HBA、FC スイッチ、ストレージプロセッサ)
  2. WWN とポートの種類、LUN のしくみ
  3. ゾーニングと LUN マスキングによるアクセス制限

FC-SANの基本構成

ホストとストレージの間には、ファイバーチャネルスイッチ(FC スイッチ)があり、光ケーブルで接続します。ホスト側で FC スイッチにつなぐインタフェースを HBA(Host Bus Adapter)といいます。

ストレージには複数のディスクが搭載されていて、RAID によって1つのディスクのように構成されています。ストレージ側でホストからの要求を受けるのがストレージプロセッサ(SP、RAID コントローラ)で、光ケーブルで FC スイッチに接続します。

ホストとストレージの間では、SCSI コマンドをファイバーチャネルのフレームに入れてやり取りします。このときのプロトコルが FCP(Fibre Channel Protocol)です。仮想マシン(VM)の仮想 SCSI コントローラ(vSCSI)への読み書きは、ESXi が HBA を通じてストレージへの読み書きに変えて送ります。

ESXiホストVMvSCSIESXiHBAFCスイッチストレージRAIDSP光ケーブル光ケーブルFCP:SCSI コマンドを FC のフレームで運ぶ
図1 FC-SAN の基本構成

ファイバーチャネルの通信は、8Gbps や 16Gbps などの高速転送ができます。

現在の状況

この記事を書いた時点では 8Gbps・16Gbps が主流でした。現在は 32Gbps や 64Gbps の規格(32GFC、64GFC)もあり、業界団体(FCIA)のロードマップには 128GFC も示されています。

RAID 構成については、次の記事を参照してください。

>> 参考記事:【初心者・わかりやすく】RAIDシステムの種類

WWN (World Wide Name)

ファイバーチャネルでは、ネットワーク上のノードやポートに 8 バイトの WWN(World Wide Name)が割り当てられ、これで識別します。イーサネットの MAC アドレスによく似ています。ノード(HBA のカードやストレージ装置)全体を表すものを WWNN(World Wide Node Name)、ポートごとのものを WWPN(World Wide Port Name)と呼びます。

ESXiホストVMvSCSIESXiHBAFCスイッチストレージRAIDSPWWPN の例20:00:00:c0:dd:00:ab:01WWPN の例20:00:00:a0:98:00:cd:02
図2 HBA とストレージのポートに割り当てられた WWN の例

よく見る「2」で始まる形式(NAA 2)の WWN は、次の構成です。

位置中身
先頭2バイト最初の4ビットが形式(NAA)を表す。残りの12ビットはベンダが自由に使う値で、ポート番号などを入れる製品もある
真ん中3バイトOUI。IEEE があらかじめベンダに割り当てた番号
後ろ3バイトベンダが割り当てる番号(シリアル番号など)
200000c0dd00ab01先頭2バイト形式(NAA)+ベンダ固有OUI(3バイト)IEEE がベンダに割り当て後ろ3バイトベンダが割り当てる番号
図3 WWN(NAA 2 形式)の構成

また、各ポートにも名前があります。ノード(ホストの HBA やストレージ)のポートを N ポート、FC スイッチのノード側のポートを F ポート、FC スイッチどうしをつなぐポートを E ポートと呼びます。

ホストHBAFCスイッチFCスイッチストレージSPNポートFポートFポートNポートEポートEポート
図4 N ポート、F ポート、E ポート

LUN(論理ユニット番号)

ストレージは、RAID を構成したディスクの領域を論理的に分けて、ホストに提供します。この論理的な単位を論理ユニットと呼び、その番号が LUN(Logical Unit Number)です。

LUN を使うことで、ディスクの物理的な構成を隠し、ホスト(OS)に使えるボリュームとして見せられます。

たとえば、RAID を構成したディスクに3つの LUN(LUN#1、LUN#2、LUN#3)があるとします。FC の場合、ホストの HBA(イニシエータ)からストレージ(ターゲット)に接続し、LUN の情報を取得します。

ESXiホストVMvSCSIESXiHBAFCスイッチストレージLUN#1LUN#2LUN#3SPイニシエータターゲットLUN の情報を取得
図5 イニシエータ(HBA)からターゲット(ストレージ)の LUN の情報を取得する

SANゾーニング

FC スイッチを論理的に分けることで、ノード(ホスト、ストレージ)の間のアクセスを制限できます。これを SAN ゾーニングといい、どの HBA がどのストレージプロセッサにつながれるかを決めます。イーサネットスイッチの VLAN によく似ています。ゾーンのメンバーは、WWN で指定する方法と、スイッチのポートで指定する方法があります。

たとえば、営業部と技術部でストレージが分かれていて、互いにアクセスできないようにしたい場合は、ゾーン A とゾーン B に分け、それぞれのゾーンに入れるホストとストレージを決めます。

ホストHBA営業部SPストレージ(営業部)ホストHBA技術部SPストレージ(技術部)FCスイッチゾーンAゾーンB通信できる通信できない
図6 ゾーンを分けて、ほかのゾーンのストレージにはアクセスできないようにする

LUNマスキング

何も設定しなければ、ホスト(イニシエータ)はストレージ(ターゲット)からすべての LUN の情報を取得します。

セキュリティの観点から、ホストが特定の LUN の情報だけを取得できるようにすることもできます。これを LUN マスキングといい、ストレージ側(ストレージプロセッサ)で設定します。ストレージ側で、イニシエータの WWN と、そのイニシエータに見せる LUN を結び付けます。

次の例では、ESXi ホスト1からは LUN#1 だけが、ESXi ホスト2からは LUN#2 だけが見えます。

ESXiホスト1HBAESXiホスト2HBAFCスイッチストレージLUN#1LUN#2SPWWN-120:00:00:c0:dd:00:ab:01WWN-220:00:00:c0:dd:00:ab:02LUN#1 は WWN-1 だけに見せるLUN#2 は WWN-2 だけに見せる
図7 LUN マスキングで、ホストごとに見せる LUN を分ける
しくみ設定する場所制限するもの
ゾーニングFC スイッチどの HBA がどのストレージのポートにつながれるか
LUN マスキングストレージどのホスト(WWN)にどの LUN を見せるか

ESXi ホストは LUN の情報を取得すると、その LUN を VMFS でフォーマットしてデータストアを作成します。概要は次の記事を参照してください。

>> 参考記事:【VMware ESXi】図解 仮想ストレージ(仮想ディスク、データストア)の概要

まとめ

用語ポイント
HBAホストを FC スイッチにつなぐインタフェース(イニシエータ)
SPストレージ側でホストからの要求を受けるストレージプロセッサ(ターゲット)
FCPSCSI コマンドをファイバーチャネルのフレームで運ぶプロトコル
WWNノードやポートを識別する 8 バイトの名前(WWNN/WWPN)
LUNストレージがホストに見せる論理ユニットの番号
ゾーニングFC スイッチで、つながる HBA とストレージを制限する
LUN マスキングストレージで、ホストに見せる LUN を制限する

コメント