ESXi は、ホストから共有ストレージにデータ トラフィックを転送するために SAN が使用するストレージ プロトコルである、ファイバ チャネル (FC) をサポートしています。このセクションでは、ESXi をファイバ チャネル SAN と併用する方法の概要について説明します。詳細については、ベンダーのドキュメントを参照してください。

ファイバ チャネル SAN の概念

vSphere 管理者として、SAN と連携するようにホストを設定しようとする場合は、SAN の概念について実用的な知識が必要です。SAN に関する情報は、印刷物またはインターネットで入手できます。この業界は常に変化しているので、これらの関連資料を頻繁にチェックしてください。
ストレージ エリア ネットワーク (SAN)
SAN(ストレージ エリア ネットワーク)は、ホスト サーバを高性能なストレージ サブシステムに接続するための専用の高速ネットワークです。SAN コンポーネントには、ホスト サーバ内のホスト バス アダプタ (HBA)、ストレージ トラフィックのルーティングを支援するスイッチのほか、ケーブル、ストレージ プロセッサ (SP)、ストレージ ディスク アレイなどが含まれます。
SAN ファブリック
ネットワークに 1 つ以上のスイッチを持つ SAN トポロジは、SAN ファブリックを形成します。
Fibre Channel (FC) プロトコル
トラフィックをホスト サーバから共有ストレージに転送するために、SAN は、SCSI または NVMe コマンドを FC(ファイバ チャネル)フレームにパッケージ化する FC プロトコルを使用します。
ゾーニング
サーバに割り当てられていないストレージ アレイへのサーバ アクセスを制限するために、SAN はゾーニングを使用します。通常、ストレージ デバイスおよび LUN の共有グループにアクセスするサーバ グループごとにゾーンを作成します。ゾーンは、どの HBA がどの SP に接続できるかを定義します。ゾーン外のデバイスは、ゾーン内のデバイスから参照できません。

ゾーニングには次の効果があります。

  • ホストに提供されるターゲットと LUN の数が減ります。
  • ファブリック内のパスを制御し隔離します。
  • ESXi 以外のシステムが特定のストレージ システムにアクセスしないようにし、また VMFS データの破壊を予防できます。
  • 異なる環境の分離に使用できます (テスト環境と本番環境など)。

ESXi ホストでは、1 イニシエータ ゾーニングまたは 1 ターゲット 1 イニシエータ ゾーニングを使用します。後者のゾーニングを推奨します。制約が多いゾーニングを使用すると、SAN で発生する可能性がある問題や構成エラーを防止できます。

詳細な手順およびゾーニングのベスト プラクティスについては、ストレージ アレイまたはスイッチのベンダーにお問い合わせください。

LUN マスキング
ゾーニングは、アクセス権の管理に広く使用されている LUN マスキングに似ています。LUN マスキングは、LUN をあるホストからは使用できるようにして、別のホストからは使用できないようにする処理です。
マルチパス
ホスト サーバとストレージの間でデータを転送するとき、SAN はマルチパスとよばれる手法を使用します。マルチパスによって、 ESXi ホストからストレージ システム上の LUN への複数の物理パスを確保できます。
パスのフェイルオーバー
一般的に、ホストから LUN への 1 つのパスは、HBA、スイッチ ポート、接続用ケーブル、およびストレージ コントローラ ポートから構成されます。パスのコンポーネントで障害が発生した場合、ホストは I/O に使用可能な別のパスを選択します。障害が発生したパスを検出し、別のパスに切り替えるプロセスは、パスのフェイルオーバーと呼ばれます。

ファイバ チャネル SAN のポート

このドキュメントでは、ポートとはデバイスから SAN への接続を指します。SAN の各ノード、たとえばホスト、ストレージ デバイス、またはファブリック コンポーネントには、それぞれを SAN に接続する 1 つ以上のポートがあります。ポートは、いくつかの方法で識別できます。

WWPN (World Wide Port Name)
グローバルで一意なポート ID であり、特定のアプリケーションがポートにアクセスできるようにします。FC スイッチは、デバイスまたはホストの WWPN を検出し、ポート アドレスをデバイスに割り当てます。
Port_ID (またはポート アドレス)
SAN では各ポートに一意のポート ID があり、ポートの FC アドレスとして機能します。この一意の ID によって、SAN 経由でそのポートにデータをルーティングできます。デバイスがファブリックにログインしたときに、FC スイッチはポート ID を割り当てます。ポート ID は、デバイスがログインしている間だけ有効です。

NPIV (N-Port ID Virtualization) を使用する場合、いくつかの WWPN を使用して 1 つの FC HBA ポート (N-port) をファブリックに登録できます。この方法により、N-port は複数のファブリック アドレスの獲得が可能で、それぞれのアドレスは固有のエンティティとして認識されます。ESXi ホストが SAN を使用している場合、これらの複数の一意の ID によって、構成の一環として各仮想マシンに WWN を割り当てることができます。

ファイバ チャネル ストレージ アレイのタイプ

ESXi では、さまざまなストレージ システムとアレイをサポートしています。これらは、次のカテゴリに分類されます。

アクティブ-アクティブのストレージ システム
大幅にパフォーマンスを低下させることなく、使用可能なすべてのストレージ ポートを通じて同時に LUN へのアクセスをサポートします。パスが機能しない場合を除き、すべてのパスはアクティブです。
アクティブ-パッシブのストレージ システム
1 つのストレージ プロセッサが特定の LUN にアクティブにアクセスを提供しているシステム。その他のプロセッサは、その LUN のバックアップとして機能し、ほかの LUN I/O にアクティブにアクセスを提供します。I/O は、特定の LUN のアクティブなポートにのみ送信できます。アクティブなストレージ ポートを経由したアクセスで障害が発生した場合、パッシブ ストレージ プロセッサの 1 つが、そこにアクセスしているサーバによってアクティブになります。
非対称ストレージ システム
非対称論理ユニット アクセス (ALUA) をサポートします。ALUA 準拠のストレージ システムは、ポートごとに異なるアクセス レベルを設定できます。ALUA を使用すると、ホストはターゲット ポートの状態を判別し、パスに優先順位を付けることができます。ホストはプライマリとしてアクティブ パスのいくつかを使用し、その他をセカンダリとして使用します。

仮想マシンからファイバ チャネル SAN 上のデータへのアクセス方法

ESXi は、SAN ストレージ デバイスにある VMFS データストア内に、仮想マシンのディスク ファイルを格納します。仮想マシンのゲスト OS が仮想ディスクに SCSI または NVMe コマンドを送信すると、SCSI または NVMe 仮想化レイヤーがこれらのコマンドを VMFS ファイル処理に変換します。

仮想マシンが SAN 上の仮想ディスクと通信するとき、次の処理が実行されます。

  1. 仮想マシンのゲスト OS が SCSI または NVMe ディスクの読み取りまたは書き込みを行うとき、仮想ディスクに対して SCSI または NVMe コマンドが送信されます。
  2. 仮想マシンのオペレーティング システムのデバイス ドライバが仮想 SCSI コントローラまたは仮想 NVMe コントローラと通信します。
  3. 仮想 SCSI コントローラまたは仮想 NVMe コントローラは、コマンドを VMkernel に転送します。
  4. VMkernel は次の処理を実行します。
    1. VMFS ボリュームで適切な仮想ディスク ファイルを特定します。
    2. 仮想ディスクに対するブロックの要求を、適切な物理デバイスのブロックにマッピングします。
    3. 変更した I/O 要求を VMkernel のデバイス ドライバから物理 HBA に送信します。
  5. 物理 HBA は次の処理を実行します。
    1. FC プロトコルのルールに基いて、I/O 要求をパッケージ化します。
    2. 要求を SAN に転送します。
  6. HBA がファブリックへの接続に使用するポートに応じて、SAN スイッチのいずれかが要求を受信します。その要求が、スイッチによって適切なストレージ デバイスにルーティングされます。