SAN(Storage Area Network)は、サーバとストレージを接続する、ストレージ専用のネットワークです。SAN には主に、IP ネットワーク上で iSCSI などを使って接続する IP-SAN と、ファイバーチャネル(FC)で接続する FC-SAN の2種類があります。
この記事では、ファイバーチャネルの SAN(FC-SAN)について、構成、WWN、LUN、ゾーニング、LUN マスキングを図で整理します。
- FC-SAN の基本構成(HBA、FC スイッチ、ストレージプロセッサ)
- WWN とポートの種類、LUN のしくみ
- ゾーニングと LUN マスキングによるアクセス制限
FC-SANの基本構成
ホストとストレージの間には、ファイバーチャネルスイッチ(FC スイッチ)があり、光ケーブルで接続します。ホスト側で FC スイッチにつなぐインタフェースを HBA(Host Bus Adapter)といいます。
ストレージには複数のディスクが搭載されていて、RAID によって1つのディスクのように構成されています。ストレージ側でホストからの要求を受けるのがストレージプロセッサ(SP、RAID コントローラ)で、光ケーブルで FC スイッチに接続します。
ホストとストレージの間では、SCSI コマンドをファイバーチャネルのフレームに入れてやり取りします。このときのプロトコルが FCP(Fibre Channel Protocol)です。仮想マシン(VM)の仮想 SCSI コントローラ(vSCSI)への読み書きは、ESXi が HBA を通じてストレージへの読み書きに変えて送ります。
ファイバーチャネルの通信は、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)と呼びます。
よく見る「2」で始まる形式(NAA 2)の WWN は、次の構成です。
| 位置 | 中身 |
|---|---|
| 先頭2バイト | 最初の4ビットが形式(NAA)を表す。残りの12ビットはベンダが自由に使う値で、ポート番号などを入れる製品もある |
| 真ん中3バイト | OUI。IEEE があらかじめベンダに割り当てた番号 |
| 後ろ3バイト | ベンダが割り当てる番号(シリアル番号など) |
また、各ポートにも名前があります。ノード(ホストの HBA やストレージ)のポートを N ポート、FC スイッチのノード側のポートを F ポート、FC スイッチどうしをつなぐポートを E ポートと呼びます。
LUN(論理ユニット番号)
ストレージは、RAID を構成したディスクの領域を論理的に分けて、ホストに提供します。この論理的な単位を論理ユニットと呼び、その番号が LUN(Logical Unit Number)です。
LUN を使うことで、ディスクの物理的な構成を隠し、ホスト(OS)に使えるボリュームとして見せられます。
たとえば、RAID を構成したディスクに3つの LUN(LUN#1、LUN#2、LUN#3)があるとします。FC の場合、ホストの HBA(イニシエータ)からストレージ(ターゲット)に接続し、LUN の情報を取得します。
SANゾーニング
FC スイッチを論理的に分けることで、ノード(ホスト、ストレージ)の間のアクセスを制限できます。これを SAN ゾーニングといい、どの HBA がどのストレージプロセッサにつながれるかを決めます。イーサネットスイッチの VLAN によく似ています。ゾーンのメンバーは、WWN で指定する方法と、スイッチのポートで指定する方法があります。
たとえば、営業部と技術部でストレージが分かれていて、互いにアクセスできないようにしたい場合は、ゾーン A とゾーン B に分け、それぞれのゾーンに入れるホストとストレージを決めます。
LUNマスキング
何も設定しなければ、ホスト(イニシエータ)はストレージ(ターゲット)からすべての LUN の情報を取得します。
セキュリティの観点から、ホストが特定の LUN の情報だけを取得できるようにすることもできます。これを LUN マスキングといい、ストレージ側(ストレージプロセッサ)で設定します。ストレージ側で、イニシエータの WWN と、そのイニシエータに見せる LUN を結び付けます。
次の例では、ESXi ホスト1からは LUN#1 だけが、ESXi ホスト2からは LUN#2 だけが見えます。
| しくみ | 設定する場所 | 制限するもの |
|---|---|---|
| ゾーニング | FC スイッチ | どの HBA がどのストレージのポートにつながれるか |
| LUN マスキング | ストレージ | どのホスト(WWN)にどの LUN を見せるか |
ESXi ホストは LUN の情報を取得すると、その LUN を VMFS でフォーマットしてデータストアを作成します。概要は次の記事を参照してください。
>> 参考記事:【VMware ESXi】図解 仮想ストレージ(仮想ディスク、データストア)の概要
まとめ
| 用語 | ポイント |
|---|---|
| HBA | ホストを FC スイッチにつなぐインタフェース(イニシエータ) |
| SP | ストレージ側でホストからの要求を受けるストレージプロセッサ(ターゲット) |
| FCP | SCSI コマンドをファイバーチャネルのフレームで運ぶプロトコル |
| WWN | ノードやポートを識別する 8 バイトの名前(WWNN/WWPN) |
| LUN | ストレージがホストに見せる論理ユニットの番号 |
| ゾーニング | FC スイッチで、つながる HBA とストレージを制限する |
| LUN マスキング | ストレージで、ホストに見せる LUN を制限する |
コメント