Windows 8.1 上の Hyper-V: VM とホスト間で VHDX を共有できない

Windows 8.1 上の Hyper-V: VM とホスト間で VHDX を共有できない

VM (Win8.1 も同様) にアタッチされた VHDX ファイルをホスト システムと共有したいと思います。そのため、SCSI コントローラーの VM 内で「仮想ハードディスクの共有を有効にする」(ドイツ語からの直訳) という高度な機能を有効にしました。

残念ながら、「適用」をクリックすると次のメッセージが表示されます:

Fehler beim Übernehmen von Festplatten Änderungen

Fehler beim Ändern des Geräts "Virtual Hard Disk".

Der Speicher, in dem sich die virtuelle Festplatte befindet, unterstützt die Freigabe virtueller Festplatten nicht. 

つまり、次のようになります: vhdx ファイルを含むストレージは共有をサポートしていません。では、ストレージはどのような基準を満たす必要がありますか? vhdx ファイルは SSD NTFS および Basic に保存されています...

答え1

ドキュメントZoredache がコメントでリンクしている機能では、この機能は仮想マシンとホスト間ではなく、仮想マシン間で仮想ディスクを共有することのみを目的としていることも明記されています。

しかし、質問に直接答えると、この機能をサポートするにはいくつかの厳しい要件があります。

  • 仮想ディスクは、仮想マシンとホスト間ではなく、他の仮想マシン間で共有することを目的としています。
  • ゲストOSは2012/2012R2である必要があります
  • 仮想ディスクは、共有 CSV ボリューム上または両方のホストからアクセス可能な共有 SMB3 ファイルサーバー上に存在する必要があります。

答え2

仮想ディスクの共有は、ファイル システムの共有とは異なります。共有ファイル システムが必要です。共有ファイル システムが必要な場合は、いずれかのマシンでファイル共有を有効にし、ネットワーク経由でファイルを使用します。

2 つの VM 間で仮想ディスクを共有する場合 (他のユーザーが指摘しているように、これは VHDX がクラスター化されたファイル システムに保存されている場合にのみ発生します)、VM のグループ内でクラスタリングを使用してディスクへのアクセスを調停する必要があります。これにより、さまざまな VM が互いのディスクへのブロック書き込みを上書きして、仮想ディスク上のファイル システムを破損することがなくなります。これには、一連のゲスト VM 内でクラスタリング ソフトウェアを実行することがほぼ必須です。これが、この機能が Windows 8.1 では VM 内でもまったく機能しない理由です。

実際には、複数の VM が共有 VHDX に同時に書き込むことが可能です。ゲスト クラスター内で CSV ファイル システムを有効にすると、ディスク上に既に存在するファイルおよび既に存在するファイルの領域に書き込みが行われる限り、複数のクラスター ノードが同時に書き込むことができます。これは、ファイル サーバーをバックエンド ストレージとして使用する SQL Server などのワークロードに適しています。その他のワークロードでは、CSV を使用せず、一度に 1 つの VM にディスクを使用させる方が適しています。ちなみに、Windows ファイル サーバー クラスターは、1 つの VM が停止してもファイル サービスが中断されないため、高可用性を維持できます。ディスクの所有権は、ファイル サーバー クラスターの別のメンバーにシームレスに移行します。

ちなみに、これは、共有 VHDX がホスティング レイヤーで CSV 上に存在する必要がある理由を示しています。共有 VHDX が単一障害点のないストレージ上になければ、この機能全体は意味がありません。

関連情報