Virtual Volumes を使用すると、抽象ストレージ コンテナは、NVMe 名前空間、LUN、または NFS 共有に基づいて従来のストレージ ボリュームを置き換えます。vCenter Server では、ストレージ コンテナは Virtual Volumes データストアによって表されます。Virtual Volumes データストアには、仮想マシン ファイルをカプセル化したオブジェクトである Virtual Volumes が保存されます。

Virtual Volumes 機能の各種コンポーネントの詳細については、ビデオをご覧ください。

Virtual Volumes オブジェクト

Virtual Volumes は、仮想マシンのファイル、仮想ディスク、およびその派生物をカプセル化したものです。

Virtual Volumes は、イーサネットまたは SAN を介して ESXi ホストに接続されているストレージ システムの内部にネイティブに格納されます。準拠ストレージ システムによってオブジェクトとしてエクスポートされ、ストレージ側のハードウェアによって全体的に管理されます。通常、Virtual Volumes は一意の GUID によって識別されます。Virtual Volumes は事前にプロビジョニングされませんが、仮想マシンの管理操作を実行するときに自動的に作成されます。これらの操作には、VM 作成、クローン作成、およびスナップショットの作成などがあります。ESXi および vCenter Server は、1 つ以上の Virtual Volumes を 1 つの仮想マシンに関連付けます。

Virtual Volumes のタイプ

システムは、仮想マシンを構成するコア要素として、次のタイプの Virtual Volumes を作成します。
data-vVol
各仮想ディスクの .vmdk ファイルに直接対応するデータ Virtual Volumes。仮想ディスク ファイルは従来のデータストア上にあるため、Virtual Volumes は仮想マシンに対して SCSI ディスクとして示されます。data-vVol は、シック プロビジョニングすることも、シン プロビジョニングすることもできます。
Config-vVol
構成 Virtual Volumes またはホーム ディレクトリは、仮想マシンのメタデータ ファイルに含まれる小さいディレクトリを表します。ファイルには .vmx ファイル、仮想ディスクの記述子ファイル、ログ ファイルなどがあります。構成 Virtual Volumes は、ファイル システムでフォーマットされます。 ESXi が SCSI または NVMe プロトコルを使用してストレージに接続されている場合、構成 Virtual Volumes は VMFS でフォーマットされます。NFS プロトコルを持つ構成 Virtual Volumes は、NFS ディレクトリとして表示されます。通常はシン プロビジョニングされます。
Swap-vVol
仮想マシンを最初にパワーオンしたときに作成されます。これは、メモリに保持できない仮想マシン メモリ ページのコピーを保持する Virtual Volumes です。そのサイズは、仮想マシンのメモリ サイズによって決まります。デフォルトでは、シック プロ-ビジョニングされます。
Snapshot-vVol
スナップショットのために仮想マシンのメモリ内容を保持する仮想メモリ ボリューム。シック プロビジョニングされます。
その他。
特定の機能用の Virtual Volumes。たとえば、CBRC (Content-Based Read Cache) 用には、ダイジェスト Virtual Volumes が作成されます。

通常、仮想マシンでは、最低限、data-vVol、config-vVol、および swap-vVol という 3 つの Virtual Volumes が作成されます。作成される Virtual Volumes の最大数は、仮想マシンに存在している仮想ディスクおよびスナップショットの数によって決まります。

たとえば、次の SQL サーバには、6 つの Virtual Volumes があります。

  • Config-vVol
  • オペレーティング システム用の data-vVol
  • データベース用の data-vVol
  • ログ用の data-vVol
  • パワーオン時の swap-vVol
  • Snapshot-vVol

異なる仮想マシン コンポーネントに対して異なる Virtual Volumes を使用することにより、最大限に細分化された精度レベルでストレージ ポリシーを適用および操作できます。たとえば、仮想ディスクを含む Virtual Volumes には、仮想マシン起動ディスクの Virtual Volumes よりも豊富なサービスを含めることができます。同様に、スナップショット Virtual Volumes では、現在の Virtual Volumes と異なるストレージ階層を使用できます。

ディスク プロビジョニング

Virtual Volumes 機能では、仮想ディスクのシン プロビジョニングとシック プロビジョニングの両方の概念がサポートされます。ただし、I/O の観点からは、アレイによるシン プロビジョニングまたはシック プロビジョニングの実装と管理は ESXi ホストに対して透過的です。ESXi は、シン プロビジョニングに関連するすべての機能をストレージ アレイにオフロードします。データ パスでは、ESXi によるシン Virtual Volumesとシック Virtual Volumes の取り扱いに違いはありません。

仮想マシンの作成時に、仮想ディスクのタイプがシンかシックかを選択します。ディスクがシンで Virtual Volumes データストア上にある場合、後からディスクを拡張することによってタイプを変更することはできません。

共有ディスク

共有ディスクは、Virtual Volumes に対する SCSI の永続的な予約をサポートする Virtual Volumes ストレージ上に配置できます。このディスクをクォーラム ディスクとして使用して、MSCS クラスタから RDM を排除することができます。詳細については、『vSphere のリソース管理』ドキュメントを参照してください。

Virtual Volumesストレージ プロバイダ

VASA プロバイダとも呼ばれるVirtual Volumesストレージ プロバイダは、vSphere の Storage Awareness サービスとして動作するソフトウェア コンポーネントです。プロバイダは、一方の側を vCenter Serverホストと ESXi ホスト、もう一方の側をストレージ システムとする、アウトオブバンド通信を仲介します。

ストレージ プロバイダは、VMware APIs for Storage Awareness (VASA) によって実装され、Virtual Volumesストレージのすべての側面の管理に使用されます。ストレージ プロバイダは、vSphere に付属するストレージ監視サービス (SMS) と統合され、vCenter Serverおよび ESXi ホストと通信します。

ストレージ プロバイダは、基盤となるストレージ コンテナからの情報を提供します。ストレージ コンテナの容量は、vCenter ServerおよびvSphere Client に表示されます。次にストレージ プロバイダは、仮想マシンのストレージ要件をストレージ レイヤーに伝達します。要件は、ストレージ ポリシーの形式で定義できます。この統合プロセスにより、ストレージ レイヤーで作成される Virtual Volumes が、ポリシーで規定されている要件を必ず満たすようになります。

通常、ベンダーには、vSphere と統合可能なストレージ プロバイダを供給し、Virtual Volumesをサポートする責任があります。すべてのストレージ プロバイダは、VMware によって認定され、適切にデプロイされる必要があります。Virtual Volumesストレージ プロバイダをデプロイし、現在の ESXi リリースと互換性のあるバージョンにアップグレードする方法については、ストレージ ベンダーにお問い合わせください。

ストレージ プロバイダのデプロイ後は、そのプロバイダを vCenter Serverで登録し、SMS を経由して vSphere と通信できるようにする必要があります。

Virtual Volumes ストレージ コンテナ

従来のブロック(SCSI または NVMe)またはファイル (NFS) ベースのストレージとは異なり、Virtual Volumes 機能では、ストレージ側で事前構成されたボリュームは必要ありません。代わりに、Virtual Volumes では、ストレージ コンテナが使用されます。このコンテナは、ストレージ システムが Virtual Volumes に提供する RAW ストレージ容量のプールまたはストレージ機能の集約です。

ストレージ コンテナは論理ストレージ ファブリックの一部であり、基盤となるハードウェアの論理ユニットです。ストレージ コンテナは、管理および運用上の必要に基づいて Virtual Volumes を論理的にグループ化します。たとえば、ストレージ コンテナには、マルチテナント デプロイのテナント用か、エンタープライズ デプロイの部門用に作成されたすべての Virtual Volumes を含めることができます。各ストレージ コンテナは Virtual Volumes ストアとして機能し、Virtual Volumes がストレージ コンテナの容量から割り当てられます。

通常は、ストレージ側のストレージ管理者がストレージ コンテナを定義します。ストレージ コンテナの数、その容量、およびサイズは、ベンダーに固有の実装方法によって決まります。ストレージ システムごとに少なくとも 1 つのコンテナが必要です。

注: 1 つのストレージ コンテナが複数の物理アレイをまたぐことはできません。

ストレージ システムに関連付けられているストレージ プロバイダを登録すると、vCenter Server は、すべての構成済みストレージ コンテナを、そのストレージ機能プロファイル、プロトコル エンドポイント、およびその他の属性とともに検出します。1 つのストレージ コンテナが、複数の機能プロファイルをエクスポートできます。そのため、多様なニーズとさまざまなストレージ ポリシー設定が関係する仮想マシンを、同じストレージ コンテナに含めることができます。

最初は、検出されたストレージ コンテナによっては任意の特定のホストに接続されないものもあり、それらのコンテナは vSphere Client に表示されません。ストレージ コンテナをマウントするには、そのコンテナを Virtual Volumes データストアにマッピングする必要があります。

プロトコル エンドポイント

ストレージ システムは Virtual Volumes のすべての側面を管理しますが、ESXi ホストは、ストレージ側の Virtual Volumes に直接アクセスできません。ESXi ホストは、代わりに、プロトコル エンドポイントと呼ばれる論理 I/O プロキシを使用して、Virtual Volumes および Virtual Volumes によってカプセル化された仮想ディスク ファイルと通信します。ESXi は、プロトコル エンドポイントを使用し、要求に応じて、仮想マシンから各 Virtual Volumes へのデータ パスを確立します。

各 Virtual Volumes は、特定のプロトコル エンドポイントにバインドされています。ホスト上の仮想マシンが I/O 操作を実行すると、プロトコル エンドポイントによって I/O が適切な Virtual Volumes に送られます。通常、ストレージ システムには、わずかなプロトコル エンドポイントしか必要ありません。1 つのプロトコル エンドポイントが、何百、何千もの Virtual Volumes に接続できます。

ストレージ側では、ストレージ管理者が、ストレージ コンテナごとに 1 つまたは複数のプロトコル エンドポイントを構成します。プロトコル エンドポイントは、物理ストレージ ファブリックの一部です。ストレージ システムは、プロトコル エンドポイントを、関連するストレージ コンテナと一緒にストレージ プロバイダを介してエクスポートします。そのストレージ コンテナを Virtual Volumes データストアにマッピングすると、プロトコル エンドポイントは ESXi ホストによって検出され、vSphere Client に表示されます。プロトコル エンドポイントは、ストレージの再スキャン時に検出することもできます。複数のホストが、プロトコル エンドポイントを検出し、マウントすることができます。

vSphere Client では、利用可能なプロトコル エンドポイントのリストは、ホスト ストレージ デバイスのリストに似ています。さまざまなストレージの転送を使用して、プロトコル エンドポイントを ESXi に公開できます。SCSI ベースの転送を使用すると、プロトコル エンドポイントは T10 ベースの LUN WWN によって定義されたプロキシ LUN を表します。NFS プロトコルの場合、プロトコル エンドポイントは IP アドレス、共有名などのマウント ポイントです。SCSI ベースのプロトコル エンドポイントではマルチパスを構成できますが、NFS ベースのプロトコル エンドポイントでは構成できません。使用するプロトコルに関係なく、ストレージ アレイでは、可用性を高める目的で複数のプロトコル エンドポイントを提供できます。

プロトコル エンドポイントは、アレイごとに管理されます。ESXivCenter Server では、アレイに対して報告されたすべてのプロトコル エンドポイントが、そのアレイ上のすべてのコンテナに関連付けられていることを前提としています。たとえば、アレイに 2 つのコンテナと 3 つのプロトコル エンドポイントがある場合、ESXi では、両方のコンテナの Virtual Volumes が、3 つのプロトコル ポイントすべてにバインドできるものと見なします。

仮想プロトコル エンドポイント

NVMe を介した Virtual Volumes は、仮想プロトコル エンドポイントを使用します。これは、SCSI のプロトコル エンドポイントと同じです。ANA グループでは、仮想プロトコル エンドポイント (vPE) と呼ばれるプロキシ表現が提供されます。これらは、PSA 内のプロトコル エンドポイントを表すために使用されます。vVols を表す名前空間のデータ パスとアクセス状態(SCSI vVols に対する PE LUN の動作)を統合します。NVMe アレイは、vVol 名前空間を複数のコントローラに関連付けられた ANA グループに配置します(最適化済み、未最適化、アクセス不可)。ホストは、メンバー名前空間へのアクセスに最適なコントローラを検出します。

仮想プロトコル エンドポイントは本質的に動的です。必要に応じて作成および破棄できます。この操作は完全に自動化されています。

たとえば、ESXi ホストが ANA グループ内の vVol/名前空間にアクセスしようとした場合は、vPE デバイスを作成できません。ただし、ANA グループの最初の vVol/名前空間にアクセスしようとしたときに、NVMe サブシステム内でその ANA グループの vPE を作成できます。この vPE は、その ANA グループ内のすべての名前空間にアクセスするために使用されます。

Virtual Volumes のバインドとバインド解除

作成時、Virtual Volumes はパッシブ エンティティで、すぐには I/O 可能にはなりません。ESXi または vCenter Server は、Virtual Volumes にアクセスするためにバインド要求を送信します。

この要求に対するストレージ システムの応答には、Virtual Volumes へのアクセス ポイントとなるプロトコル エンドポイント ID が含まれます。プロトコル エンドポイントは、Virtual Volumes へのすべての I/O 要求を受け入れます。このバインドは、ESXi が、Virtual Volumes に対するバインド解除要求を送信するまで存在します。

その後、同じ Virtual Volumes でバインド要求が送信されると、ストレージ システムは、別のプロトコル エンドポイント ID を返すことができます。

NVMe プロトコルを使用している場合、バインド仮想ボリュームの応答は、NVMe サブシステム NQN、および名前空間/vVol オブジェクトの名前空間 ID (nsid) を提供します。ESXi ホストはこの情報を使用して、サブシステム内の ANA グループに解決します。この ANA グループに対応する vPE が存在しない場合は、作成されます。これは、すべての I/O 要求を Virtual Volumes に送信する際に使用されます。

Virtual Volumes への同時バインド要求を複数の ESXi ホストから受け取ると、ストレージ システムは、同じエンドポイント バインドまたはさまざまなエンドポイント バインドを、要求の送信元である ESXi ホストそれぞれに返すことができます。つまり、ストレージ システムは、同時要求を行ったさまざまなホストを、さまざまなエンドポイントを使用して同じ Virtual Volumes にバインドできます。

バインド解除操作により、Virtual Volumes の I/O アクセス ポイントが削除されます。ストレージ システムは、Virtual Volumes のバインドを、プロトコル エンドポイントからすぐに、または後から解除して、他のアクションを実行できます。バインドされた Virtual Volumes を削除するには、まず、バインドを解除する必要があります。

Virtual Volumesデータストア

Virtual Volumesデータストアは、vCenter Server および vSphere Client におけるストレージ コンテナです。

ストレージ システムによってエクスポートされたストレージ コンテナを vCenter Serverが検出した後は、それらをVirtual Volumes データストアとしてマウントする必要があります。Virtual Volumesデータストアは、VMFS データストアなどの従来の方法ではフォーマットされていません。ただし、vSphere のすべての機能(FT、HA、DRS など)を使用するにはデータストア構成が正常に機能する必要があるため、依然として Virtual Volumes データストアを作成する必要があります。

vSphere Clientのデータストア作成ウィザードを使用して、ストレージ コンテナをVirtual Volumes データストアにマッピングします。作成する Virtual Volumesデータストアは、特定のストレージ コンテナに直接対応します。

vSphere 管理者の観点からすると、Virtual Volumesデータストアは他のデータストアと似ており、仮想マシンの保持に使用されます。他のデータストアと同様に、Virtual Volumesデータストアは、参照することができ、仮想マシン名別に Virtual Volumes の一覧が表示されます。また従来のデータストアと同様、Virtual Volumesデータストアはアンマウントとマウントをサポートします。ただし、アップグレードやサイズ変更などの操作は、Virtual Volumesデータストアには適用されません。Virtual Volumesデータストアの容量は、vSphere の外部のストレージ管理者が構成できます。

従来の VMFS および NFS データストア、および vSANを使用する Virtual Volumes データストアを使用できます。
注: Virtual Volumes のサイズは、1 MB の倍数(最低 1 MB 以上)でなければなりません。このため、 Virtual Volumesデータストアにプロビジョニングするすべての仮想ディスクは 1 MB の偶数倍である必要があります。 Virtual Volumesデータストアに移行する仮想ディスクが 1 MB の偶数倍になっていない場合は、1 MB の偶数倍にできるだけ近づくようにディスクを拡張します。

Virtual Volumesおよび仮想マシン ストレージ ポリシー

Virtual Volumesデータストアで実行される仮想マシンには、仮想マシン ストレージ ポリシーが必要です。

仮想マシン ストレージ ポリシーは、仮想マシンの配置要件とサービス品質要件を含むルール セットです。このポリシーにより、Virtual Volumesストレージ内に仮想マシンが適切に配置され、ストレージが仮想マシンの要件を確実に満たすことができます。

ストレージ ポリシーを作成するには、Virtual Volumesストレージ ポリシー インターフェイスを使用します。新しいポリシーを仮想マシンに割り当てると、そのポリシーにより、Virtual Volumesストレージの要件準拠が強制されます。

Virtual Volumesのデフォルト ストレージ ポリシー

Virtual Volumes用として、VMware では、ルールやストレージ要件を何も含んでおらず、Virtual Volumes 要件なしのポリシーと呼ばれるデフォルト ストレージ ポリシーを提供しています。このポリシーは、Virtual Volumesデータストアの仮想マシンに別のポリシーを指定しない場合に、仮想マシン オブジェクトに適用されます。要件なしのポリシーにより、ストレージ アレイでは、仮想マシン オブジェクトの最適な配置を決定できます。

VMware によって提供されるデフォルトの要件なしのポリシーには、次の特性があります。

  • このポリシーは、削除、編集、およびクローン作成できません。
  • ポリシーは、Virtual Volumesデータストアとのみ互換性があります。
  • Virtual Volumesの仮想マシン ストレージ ポリシーを作成し、そのポリシーをデフォルトに指定できます。

Virtual Volumes とストレージ プロトコル

Virtual Volumes ストレージ システムは、物理ストレージ ファブリック上で検出可能なプロトコル エンドポイントです。ESXi ホストは、プロトコル エンドポイントを使用して、ストレージ上の Virtual Volumes に接続します。プロトコル エンドポイントの操作は、エンドポイントを ESXi ホストに公開するストレージ プロトコルによって異なります。

Virtual Volumes では、NFS バージョン 3 とバージョン 4.1、iSCSI、ファイバ チャネル、FCoE、および NVMe over FC がサポートされます。

使用されているストレージ プロトコルにかかわらず、プロトコル エンドポイントを経由すると、SAN と NAS のどちらのストレージにも同じ方法でアクセスできます。他の従来型データストアのファイルと同様、Virtual Volumes は、仮想マシンでは SCSI ディスクとして認識されます。

注: ストレージ コンテナは、SAN (SCSI/NVMe) または NAS 専用であるため、これらのプロトコル タイプで共有することはできません。1 つのアレイでは、SCSI プロトコル エンドポイントを含む 1 つのストレージ コンテナと、NFS プロトコル エンドポイントを含む別の 1 つのコンテナを提供できます。コンテナでは、ストレージ プロトコルの SCSI、NVMe、および NFS を組み合わせて使用することはできません。

Virtual Volumes および SCSI ベースの転送

ディスク アレイで Virtual Volumes は、ファイバ チャネル、FCoE、および iSCSI プロトコルをサポートします。

SCSI ベースのプロトコルを使用すると、プロトコル エンドポイントは T10 ベースの LUN WWN によって定義されたプロキシ LUN を表します。

ブロックベースの LUN と同様に、プロトコル エンドポイントは標準の LUN 検出コマンドを使用して検出されます。ESXi ホストは、新しいデバイスがないか定期的に再スキャンを実行し、ブロックベースのプロトコル エンドポイントを非同期で検出します。プロトコル エンドポイントは、複数のパスでアクセスできます。これらのパスのトラフィックは、LUN で標準的な既知のパス選択ポリシーに従います。

SCSI ベースのディスク アレイで、仮想マシンの作成時、ESXi は、Virtual Volumes を作成し、VMFS としてフォーマットします。この小さな Virtual Volumes は、すべての仮想マシン メタデータ ファイルを保存するもので、config‐vVol と呼ばれます。config‐vVol は、vSphere の仮想マシン ストレージ ロケータとして機能します。

ディスク アレイ上の Virtual Volumes は、VMFS と同じ SCSI コマンド セットをサポートし、ATS をロック メカニズムとして使用します。

iSCSI エンドポイントでの CHAP のサポート

Virtual Volumes は、iSCSI ターゲットで Challenge Handshake Access Protocol (CHAP) をサポートします。このサポートにより、ESXi ホストは、Virtual Volumes ストレージ プロバイダ(VASA プロバイダとも呼ぶ)との間で CHAP イニシエータの認証情報を共有でき、Virtual Volumes ストレージ プロバイダは、ストレージ アレイ上にある CHAP ターゲットの認証情報の変更を vCenter Server に通知するシステム イベントを生成できます。

ESXi ホストは複数の HBA を持つことができ、各 HBA ではプロパティを構成できます。これらのプロパティの 1 つとして、HBA が使用する必要のある認証方法が含まれています。認証はオプションですが、実装されている場合はイニシエータとターゲットの両方でサポートされている必要があります。CHAP は、イニシエータとターゲットの間で双方向の使用が可能な認証方法です。

さまざまな CHAP 認証方法の詳細については、CHAP 認証方法の選択を参照してください。ESXi ホストで CHAP を構成するには、iSCSI または iSER ストレージ アダプタの CHAP パラメータの構成を参照してください。

Virtual Volumes および NFS の転送

NAS ストレージの場合、プロトコル エンドポイントは、ESXi ホストが IP アドレスまたは DNS 名と共有名を使用してマウントする NFS 共有です。Virtual Volumes では、NAS ストレージにアクセスするために NFS バージョン 3 とバージョン 4.1 がサポートされています。IPv4 および IPv6 の両方の形式がサポートされています。

使用するバージョンに関係なく、ストレージ アレイでは、可用性を高める目的で複数のプロトコル エンドポイントを提供できます。

加えて NFS バージョン 4.1 では、ロード バランシングとマルチパスを実現するトランク メカニズムが導入されています。

NAS デバイス上の Virtual Volumes では、NFS マウント ポイントへの接続時に ESXi ホストが使用するのと同じ NFS リモート プロシージャ コール (RPC) がサポートされます。

NAS デバイスで、config‐vVol は、config‐vVolID に対応するディレクトリ サブツリーです。config‐vVol は、NFS で必要なディレクトリやその他の操作をサポートする必要があります。

Virtual Volumes および NVMe

Virtual Volumes は NVMe over Fibre Channel プロトコルをサポートします。vVol オブジェクトは、NVMe サブシステム内の名前空間にマッピングされます。NVMe サブシステム内の ANA グループは、ESXi ホスト上の仮想プロトコル エンドポイントと見なされます。

仮想プロトコル エンドポイントは、ANA グループの状態が変化する際の、パス状態の管理に使用されます。ESXi ホストは、必要に応じて動的に ANA グループを検出します。つまり、仮想プロトコル エンドポイントは、ESXi ホストが NVMe サブシステム内の vVol または名前空間への I/O アクセスを必要とする場合にのみ作成されます。NVMe の Config-vVols は、VMFS でフォーマットされた SCSI に似ています。これらは、仮想マシンのメタデータ ファイルを格納するためにも使用されます。

ESXi ホストで NVMe-oF-vVols を構成するには、NVMe-oF-vVols の構成を参照してください。