Windows Server 2012 R2上の共有VHDX

Windows Server 2012 R2に関する以前の投稿で、新しいHyper-V機能-共有VHDXファイル(共有VHDX)を使用してゲストクラスターを作成することについて言及しました。 今日は、このトピックについて詳しく説明し、共有VHDXの構成とアプリケーションの機能について説明します。





ゲストクラスタリング



まず、ゲストクラスタリングが必要な理由について簡単に説明します。 最新のITインフラストラクチャで使用されるアプリケーションとサービスのほとんどは、仮想マシン(VM)内で実行できます。 仮想化には多くの明らかな利点がありますが、その列挙は投稿の範囲を超えています。 企業のアプリケーションがVM内で回転するほど、そのようなVMの高可用性を確保することが重要になります。



VMを物理(ホスト)クラスター(このコンテキストではHyper-Vクラスター)に配置することで、VMの高可用性を確保できます。 VMが起動されたクラスターの物理ノードに障害が発生すると、クラスターの他のノードのVMが自動的に回復されます。 このフェイルオーバー手順により、短期的でさえあるが、VMおよびVM内のアプリケーションとの通信が失われる可能性があります。



アクセシビリティを向上させる別の方法は、フェールオーバークラスターで2つ以上のVMを組み合わせることです。つまり、クラスターがゲストOSに基づいて作成されるという意味でゲストクラスターを作成します。 この場合、VM自体ではなく、ゲストクラスター内のアプリケーション(またはアプリケーション)の高可用性について既に説明しています。



もちろん、信頼性を高めるために、ホストとゲストのクラスタリングを組み合わせることができます。

ただし、ゲストクラスタリングとホストクラスタリングには、共有ストレージが必要です。 仮想マシンに関しては、このようなストレージは、Windows Server 2012のリリース前のiSCSIストレージでした。



画像



Windows Server 2012では、仮想ファイバーチャネルのおかげで、ホストのHBAアダプターを介してVMをFCストレージに直接接続できるようになりました。



画像



ただし、いずれにせよ、ゲストクラスターを構築するには、VMにストレージへの直接アクセスを提供する必要がありました。 ホスティングプロバイダーなどの多くのシナリオでは、このオプションは非常に不便です。 一般的なVHDXファイルでは、ストレージシステム実装の機能からVMを抽象化するため、この問題を解決できます。 ゲストクラスターを作成するために、適切な量の共有VHDXが、共通クラスターストレージである仮想マシンに接続されます。 そして、物理的にどこに、これらのファイルが配置されている特定のストレージとLUN-eが、これがプロバイダーのビジネスです。



画像





サポートされている共有VHDXの構成と設定



説明したアプローチを実装するという観点から、共有VHDXを使用する2つの主要な構成を区別できます。 最初の構成では、共有VHDXファイルは物理クラスターのCSVボリュームにあります。 次に、CSVボリュームは、Windows Server Clustering Service(ファイバーチャネル、iSCSI、共有SAS)でサポートされるブロックストレージに実装できます。



2番目の構成では、VHDXファイルはScale-Out File Serverファイルクラスターの共有フォルダーにあります。 後者は、CSVボリュームの存在を示唆しています。 ご覧のとおり、どちらの構成でもホストとゲストのクラスタリングが組み合わされています。 ホストクラスタリングにより、共有VHDXの可用性が向上し、ゲストクラスターの上に作成されて、VM内のサービスとアプリケーションの高可用性が提供されます。



画像



もちろん、共有VHDXを構成するには、まず、1つ以上のVHDXファイルを作成し、上記の構成のいずれかを使用して配置する必要があります。 その後、PowerShellコマンドレットを使用するか、System Center 2012 R2 Virtual Machine Managerのサービステンプレートを使用して、Hyper-Vコンソールで共有VHDXに接続できます。



Hyper-Vコンソールでは、新しいSCSIディスクを追加することでこれを行います:VMプロパティで、 SCSIコントローラーを選択し、 ハードドライブを選択して、 追加ボタンをクリックし、VHDXファイルへのパスを指定し、 高度な機能を選択して、対応するチェックボックスをオンにします。



画像



クラスターに結合する予定のすべてのVMに対して手順を繰り返します。



PowerShellでも次のコマンドレットを使用して同じことができます。



New-VHD -Path C:\ClusterStorage\Volume1\Shared.VHDX -Fixed -SizeBytes 30GB
      
      





 Add-VMHardDiskDrive -VMName Node1 -Path C:\ClusterStorage\Volume1\Shared.VHDX -ShareVirtualDisk
      
      





 Add-VMHardDiskDrive -VMName Node2 -Path C:\ClusterStorage\Volume1\Shared.VHDX –ShareVirtualDisk
      
      







VMM 2012 R2では、[ ハードウェア構成]セクションのサービステンプレートで、SCSIディスクを追加し、VHDXファイルへのパスを指定し、 [サービス層でディスクを共有する]チェックボックスオンにする必要があります。 このようなテンプレートに基づいてVMを展開すると、VMMは指定されたファイルを共有VHDXとして添付します。



画像



どのオプションを選択しても、VM内では、接続されたVHDXは通常のSASディスクのように見えます。



画像





共有VHDX要件



共有VHDXの次の要件に留意してください。

  1. ファイルは必ずVHDXである必要があり、共有構成のVHD形式はサポートされていません。 同時に、ゲストOS自体をVHDドライブにインストールすることもできます。
  2. Hyper-Vホスト、およびスケールアウトファイルサーバーを使用している場合、およびファイルクラスターノードでは、Windows Server 2012 R2のバージョンをインストールする必要があります。
  3. ゲストOSは、Windows Server 2012 R2または最新の統合コンポーネントを備えたWindows Server 2012である場合があります。
  4. 第一世代のVM(世代1)と第二世代のVM(世代2)の両方がサポートされています。




診断とテスト



起こりうる問題を診断するために、パフォーマンスモニターは、Hyper-Vホストで分析できるさまざまなカウンターのセットを持つ新しいHyper-V共有VHDXオブジェクトを追加しました。



画像



さらに、新しいログが追加されました。これは、通常どおり、イベントビューアーを使用して表示できます。



画像



またはPowerShell:



 Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Shared-VHDX/Operational
      
      





 Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Shared-VHDX/Reservation
      
      







最後に、テスト、調査、開発の目的で、共有VHDXの「特別な」構成を使用することができます。 この構成では、Windows Server 2012 R2と昇格されたHyper-Vの役割を持つ1つの物理ホストで十分であり、CSVボリュームなどのクラスターを作成せずに共有VHDXファイルを配置できます。このオプションを実装するには、

  1. フェールオーバークラスタリングサービスをインストールする

     Install-WindowsFeature Failover-Clustering
          
          



  2. 共有VHDXファイルが配置されるパーティション(たとえば、ドライブD)の共有仮想ディスクフィルターを手動で接続します。

     FLTMC.EXE attach svhdxflt D:
          
          





ただし、これはサポートされていない構成であり、実際の環境では使用しないでください。



したがって、共有VHDXファイルのメカニズムは、より効率的なゲストクラスタリングスキームの実装に役立ち、最終的に、インフラストラクチャの重要なアプリケーションとサービスの可用性を向上させます。 このテクノロジーは、プライベートクラウドおよびホスティングシナリオで特に役立ちます。



資料が役に立てば幸いです。



よろしくお願いします!



All Articles