Hyper-V の VHD および VHDX ファイルの取り扱い方法:基本の基礎

Windows Server 2012のリリースでは、新しいVHDXファイル形式をはじめとする数々の仮想化機能が導入されたことから、大きな反響を呼びました。VHDXは本質的にVHDの後継形式ですが、より高度な機能を備えています。ただし、Hyper-V環境では引き続きVHDファイルの作成や管理を行うことも可能です。ここでは、Hyper-VのVHDファイルとVHDXファイルの違い、それぞれの利点、および具体的な活用方法について解説します。

Hyper-V バックアップ用 NAKIVO

Hyper-V バックアップ用 NAKIVO

Hyper-V向けのエージェントレスかつアプリケーション認識型のバックアップ。ランサムウェア対策、バックアップからのVM即時起動、その他の仮想/物理プラットフォームへの対応など。

Hyper-V の VHD および VHDX ファイルについて

Hyper-V 環境で作成された仮想ディスクは、物理ディスク上に配置された VHD または VHDX 形式のファイルとして保存できます。仮想ハードディスクは物理ハードディスクの代替となり、仮想マシン (VM) のハードディスクとして機能します。 仮想ディスクには、ネイティブファイルシステム、ディスクパーティション、セクタ、およびフォルダを含めることができます。また、標準的なディスクおよびファイル操作を実行することも可能です。各VMには、VMデータの保存先として使用できる仮想ハードディスクが少なくとも1つ必要です。

以前のWindowsバージョンでは、仮想ディスクのファイル形式としてVHDのみがサポートされていました。 技術的な要求の高まりを受け、Windows 2012ではVHDXファイル形式が導入されました。これにより、ストレージ容量が大幅に拡大され、大セクタディスクでのパフォーマンスが向上し、より高いレベルのデータ保護が確保されました。

Hyper-VのVHDファイルとVHDXファイルには、それぞれ異なる種類があります:

  • 修正済み. 仮想ディスクの領域は、VHD ファイルの作成時に割り当てられます。仮想ハードディスクファイルのサイズは、仮想ハードディスクのサイズと同じです。データの追加や削除にかかわらず、そのサイズは一定のままです。
  • ダイナミックに拡大中. 仮想ディスクの領域は、必要に応じて割り当てられます。仮想ハードディスクには、使用可能な物理ストレージ領域が指定されていますが、その領域は必要な時に必要な分だけ割り当てられます。したがって、新しいデータが追加されると、VHDまたはVHDXファイルのサイズが増加します。
  • 差分このディスクタイプは、別の仮想ディスクまたは親ディスクに加えられた変更を識別、保存、管理、および元に戻すために使用されます。

Hyper-VのVHDファイルとVHDXファイルの違い

Hyper-VのVHDファイルとVHDXファイルの仕組みをより深く理解するために、まず両者のファイル形式の違いを見ていきましょう。これにより、それぞれの形式が仮想ディスクのパフォーマンスをどのように向上させることができるのかが分かります。以下の表に、2つの形式の比較を示します:

VHD VHDX
Windows、Citrix、およびOracleがサポートする基本的なファイル形式 Windowsでサポートされている高度なファイル形式
最大2TBのストレージ容量 最大64 TBのストレージ容量
VHDファイルは、VHDXファイルに比べてデータ破損に対する保護機能が劣ります VHDXファイルは、メタデータを管理することで、データの破損に対する強力な保護機能を提供します
カスタムメタデータのサポートは提供されていません カスタムメタデータがサポートされており、保存することができます
Windows Server 2008、2008 R2、2012、および 2012 R2 でサポートされています Windows 2012 以降に対応
ライブでのサイズ変更はできません リアルタイムでのサイズ変更が可能です
論理セクタサイズ:512バイト 論理セクタサイズ:4 KB
データの整列に関する問題 データの整合性の向上
トリミングはサポートされていません トリミングに対応しています

ご覧の通り、新しいHyper-V VHDXファイル形式には、その有用性を大幅に向上させるいくつかの機能が搭載されています。例えば、"トリミング"機能により、使用されなくなったデータブロックを特定して削除することができ、ストレージの最適化と全体的なパフォーマンスの向上につながります。また、新しいHyper-V VHDXファイル形式で導入されたもう1つの機能として"Shared VHDX"があり、これにより、同じゲストクラスター上のVMがVHDXファイルを共有ストレージとして利用できるようになります。 さらに、Hyper-V VHDXファイルでは、VMの実行中にオンデマンドで仮想ディスクのサイズ変更(縮小または拡張)が可能であり、これにより時間を大幅に節約し、オーバーヘッドを低減できます。最後に、データアライメントの強化により、Hyper-V VHDXファイルはI/O操作を大幅に改善できます。対照的に、大セクタ物理ディスクはパフォーマンスの低下を招きやすい傾向があります。

VHDXはVHD形式のより高度なバージョンですが、VHDの使用が望ましいケースも依然として存在します。例えば、Hyper-V VHDXファイルは以前のバージョンのWindows Serverとは互換性がありません。したがって、ゲストOSが混在する仮想環境を運用しており、異なるホスト間でVMを移動させる必要がある場合は、より多くのOSでサポートされているVHDファイル形式が最適な選択肢となります。

PowerShell で Hyper-V の VHD および VHDX ファイルを操作する方法

Hyper-VのVHDおよびVHDXファイルとは何か、またそれらがどのようなメリットをもたらすかについて理解できたところで、いよいよ仮想ハードディスクの作成と構成に取り掛かる準備が整いました。この作業には、Hyper-Vマネージャー、または管理者モードのPowerShellを使用できます。 このブログ記事では、PowerShell を使用して Hyper-V の VHD および VHDX ファイルの操作を管理する方法について説明します。PowerShell を使用するのが最適な方法です。なぜなら、Hyper-V の VHD および VHDX ファイルの設定において、PowerShell の方がより多くのオプションを提供しているからです。PowerShell スクリプトを実行することで、ディスクの作成、変換、結合、削除を迅速かつ簡単に行うことができます。

Hyper-VのVHDおよびVHDXファイルを作成する

VHD または VHDX 形式の新しい仮想ハードディスクを作成するには、PowerShell を管理者として開き、次のコマンドを実行します。 New-VHD コマンドレット。次の例は、指定したパスに、サイズ 10 GB、ブロック サイズ 128 MB、論理セクタ サイズ 4 KB の動的タイプの仮想ハード ディスクを作成する方法を示しています。ファイル拡張子(.vhd または .vhdx)によってファイル形式が決まります。この場合、VHDXファイルが作成されます。

New-VHD -Path 'C:Virtual DisksDemoDisk.vhdx' -BlockSizeBytes 128MB -LogicalSectorSize 4KB -SizeBytes 10GB -Dynamic

これで仮想ハードディスクが作成され、PowerShell ウィンドウに仮想ディスクに関する以下の情報が表示されます。

How to Create a Hyper-V VHDX File

Hyper-VのVHDおよびVHDXファイルを追加する

~とともに 追加-VMハードディスクドライブ このコマンドレットを使用すると、特定の仮想マシンに仮想ハードディスクを追加できます。次の例では、仮想ハードディスク DemoDisk.vhdx 指定されたパスにあるファイルが、名前のVMにマウントされます デモVMまた、SCSIコントローラ、コントローラ番号0、およびコントローラ位置1も、この仮想ディスクに割り当てられます。

Add-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path 'C:Virtual DisksDemoDisk.vhdx'

 Hyper-VのVHDおよびVHDXファイルを削除する

その Remove-VMHardDiskDrive このコマンドレットは、VM から仮想ハードディスクを削除するために使用されます。このコマンドレットの動作を説明するために、先ほど作成したディスクを削除する手順を以下に示します。

Remove-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1

これらのコマンドレットを使用すると、必要なパラメーターを指定して仮想ディスクを簡単に作成・削除し、特定の仮想マシンに接続することができます。

Hyper-VのVHDおよびVHDXファイルを変換する

前述の通り、VHDXファイルは従来のVHDファイルに比べて多くの利点があります。したがって、多くの場合、すべてのVHDファイルをVHDX形式に変換することをお勧めします。Hyper-VのVHDファイルをVHDXにアップグレードするには、単に Convert-VHD このコマンドレットを使用すると、ソースの仮想ハードディスクの内容を保持したまま、ファイル形式を変更することができます。ソースの仮想ハードディスクのデータは、必要な形式の新しいディスクにコピーされます。この操作はオフラインで実行する必要があります。仮想ハードディスクをアンマウントすることをお勧めします。以下の例は、Hyper-V VHD ファイルを VHDX に変換するコマンドレットを示しています:

Convert-VHD -Path ‘C:New Virtual DisksFixed Disk.vhd’ -DestinationPath ‘C:New Virtual DisksFixed Disk.vhdx’

ただし、VHDXファイルはWindows Server 2012以降でのみ互換性があることに注意してください。そのため、Hyper-VのVHDXファイルをVHD形式に変換する必要があるかもしれません。その場合は、同じ Convert-VHD このコマンドレットを逆の手順で使用できます。操作を行う前に、仮想ハードディスクをアンマウントしておく必要があることに注意してください。

Convert-VHD -Path ‘C:Virtual DisksDemoDisk.vhdx’ ‘C:Virtual DisksDemoDisk.vhd’

Hyper-VのVHDファイルとVHDXファイルを結合する

前述の通り、差分ディスクは、別のVHDやゲストOSに加えられた変更を保存し、元に戻すために使用されます。各差分ディスクは、関連付けられた1つの仮想ディスクに加えられた変更を追跡し、保存します。この場合、差分ディスクは"子ディスク"と呼ばれ、仮想ハードディスクは"親ディスク"と呼ばれます。 VHDの結合 このコマンドレットを使用すると、差分ディスクに保存されている変更内容を、親ディスクまたは差分ディスク チェーン内の別の子ディスクにマージできます。この操作はオフラインで実行されるため、ディスク チェーンが切り離されていることを確認してください。

子仮想ハード ディスクを親仮想ハード ディスクにマージするには、次のコマンドレットを実行します。操作が完了し、子ディスクの内容が親ディスクに転送されると、差分ディスクは破棄されることに注意してください。

Merge-VHD -Path ‘C:Virtual StorageDifferencing.vhdx’

次の例では、親ディスクがあり、 maindisk.vhdx、および子ディスク、 ChDisk1.vhdx、これ自体に子要素があります: ChDisk2.vhdx. 後者の仮想ディスクには、さらに子ディスクがあり、 ChDisk3.vhdxこれらのディスクが合わさって、 差分連鎖. 以下のコマンドレットを使用すると、ディスクチェーン内の子仮想ハードディスクをマージすることができます。

Merge-VHD -Path ‘C:VM TestingChDisk3.vhdx’ -DestinationPath ‘C:VM TestingChDisk1.vhdx’

この操作により、 ChDisk3.vhdx そして ChDisk2.vhdx はにマージされます ChDisk1.vhdx. このPowerShellスクリプトを使用すると、仮想ハードディスクのマージ作業が簡素化されます。差分ディスクチェーンのサイズにかかわらず、操作全体を1回の実行で完了させることができます。これがPowerShellの利点です。Hyper-Vマネージャーでは、差分ディスクチェーンの複数のレイヤーを一度にマージすることはできません。差分ディスクチェーンの各レイヤーを手動でマージする必要があり、こうした余分な手順に時間と労力を費やすことになってしまいます。

Hyper-VのVHDおよびVHDXファイルをマウントする

その VHDのマウント このコマンドレットを使用すると、1つまたは複数の仮想ハードディスクをマウントできます。次の例は、パスが指定された仮想ハードディスクをマウントする方法を示しています。 C:Virtual DisksDemoDisk.vhdx.

Mount-VHD -Path ‘C:Virtual DisksDemoDisk.vhdx’

PowerShell スクリプトを使用すると、仮想ハードディスクを読み取り専用モードでマウントできます:

Mount-VHD -Path ‘C:Virtual DisksDemoDisk.vhdx’ -ReadOnly

Hyper-VのVHDおよびVHDXファイルをマウント解除する

仮想ハードディスクをアンマウントするには、次のコマンドを実行してください。 VHDのマウント解除 PowerShell のコマンドレット。以下の例では、パスが指定された仮想ハードディスクをアンマウントする方法を示しています。 C:Virtual DisksDemoDisk.vhdx.

Dismount-VHD -Path ‘C:Virtual DisksDemoDisk.vhdx’

もう一つの方法は、マウントされているディスクのディスク番号を使用して、仮想ハードディスクをアンマウントすることです。その手順は以下の通りです:

Dismount-VHD -DiskNumber 8

Hyper-VのVHDおよびVHDXファイルのサイズ変更

仮想ハードディスクのサイズを変更(縮小または拡大)したい場合は、 VHDのサイズ変更 このコマンドレットを使用する必要があります。次の例は、仮想ハードディスクに新しいサイズを指定してサイズ変更を行う方法を示しています。この例では、VHDXを10GBから20GBに拡張しています:

Resize-VHD -Path 'C:Virtual DisksDemoDisk.vhdx' -SizeBytes 20GB

ただし、サイズ縮小は VHDX ファイルでのみ利用可能です。なお、仮想ハードディスクのサイズは、指定された最小サイズを下回らないようにしてください。仮想ハードディスクの最小サイズを確認するには、次のコマンドレットを実行してください:

Get-VHD -Path 'C:Virtual Hard Disksdemovdisk.vhdx’

次のコマンドを実行すると、VHDX ファイルを最小サイズまで縮小できます:

Resize-VHD -Path 'C:Virtual Hard Disksdemovdisk.vhdx’ -ToMinimumSize

結論

Hyper-VのVHDファイルとVHDXファイルは、いずれも仮想マシンのハードディスクとして機能するため、仮想環境において重要な役割を果たしています。VHDファイル形式は長らく使用されてきましたが、絶え間なく進歩する仮想化技術に対応するため、マイクロソフトはより高度なバージョンを導入しました。その結果、大セクタ物理ディスクのパフォーマンス向上、ストレージ容量の拡大、およびデータ保護の確保を目的として、Windows Server 2012とともにVHDXファイル形式がリリースされました。

Hyper-VのVHDファイルとVHDXファイルが提供するすべての機能を比較した結果、Hyper-V VHDXは、現代の仮想環境におけるパフォーマンス要件に対応するために構築された、より効率的で信頼性の高いファイル形式であると言えます。

仮想化インフラ向けに最適化されたデータ保護ソリューションを使用して、VHDおよびVHDXディスクを確実に保護してください。検討してください NAKIVO Backup & Replication これは、Hyper-V、VMware、AWS EC2、およびMicrosoft 365環境のセキュリティを確保するための複数の選択肢を提供する、迅速かつコスト効率に優れたソリューションです。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルをご利用いただき、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

People also read