みなさん、こんにちは。
仮想マシンを長期間使用していると、仮想ディスクのサイズが徐々に大きくなり、ホストマシンのストレージ容量を圧迫してしまうことがありますよね?
何も手当てをしなければ、いつの間にか容量不足で仮想マシンが落ちている、そんな状況になりかねません。
本記事では、Hyper-VとVirtualBoxにおける仮想ディスクの最適化手順について、実践的な方法を解説します!
なぜ仮想ディスクの最適化が必要なのか
仮想マシンで容量可変の仮想ディスク(Hyper-VのVHDXやVirtualBoxのVDI)を使用している場合、ディスク容量は必要に応じて自動的に拡張されます。
しかし、ファイルを削除しても仮想ディスクのサイズは自動的には縮小されません。
これが、時間の経過とともに仮想ディスクサイズが肥大化する主な原因です。
定期的な最適化を行うことで、不要なスペースを回収し、ホストマシンのストレージ容量を効率的に使用することができます。
Hyper-Vにおける仮想ディスクの最適化
前提条件
- 容量可変のVHDXフォーマットを使用していること
- 最適化作業中は仮想マシンを停止する必要があります
最適化の手順
- ゲストOS内での準備作業
- ゲストOSにログインし、不要なファイルを削除します
- 対象のパーティションに対してデフラグを実行します
- Microsoft Sysinternalsの「sdelete」ツールを使用して、空き領域を0で埋めます
- sdeletez(sdeleteの最新バージョン)はMicrosoftの公式サイトからダウンロードできます
- コマンドプロンプトを管理者権限で開き、以下のコマンドを実行します
- sdelete -z c:
- パーティションに応じてc:の部分を変更してください
- この作業は、後の最適化処理を効果的に行うために重要です
- Hyper-Vマネージャーからの最適化
- ゲストOSをシャットダウンします
- Hyper-Vマネージャーで対象の仮想マシンを選択します
- 「設定」→「ハードドライブ」を選択します
- 「編集」ボタンをクリックし、ウィザードから「最適化」を実行します
- PowerShellを使用した追加の最適化
- 上記の手順で十分な圧縮効果が得られない場合、PowerShellを使用してより強力な最適化を実行できます
- PowerShellを管理者権限で開きます
- 以下のコマンドを実行します:
$targetvhd = "VHDXファイルのパス" Mount-VHD $targetvhd -NoDriveLetter -Readonly Optimize-VHD $targetvhd -Mode Quick Optimize-VHD $targetvhd -Mode Quick Dismount-VHD $targetvhd
- 上記の手順で十分な圧縮効果が得られない場合、PowerShellを使用してより強力な最適化を実行できます
VirtualBoxにおける仮想ディスクの最適化
前提条件
- 容量可変のVDIフォーマットを使用していること
- 最適化作業中は仮想マシンを停止する必要があります
最適化の手順
- ゲストOS内での準備作業
- Hyper-Vと同様に、不要ファイルの削除とデフラグを実行します
- 空き領域の0埋めも同様に実行します
- VBoxManageを使用した最適化
- コマンドプロンプトまたはターミナルを開きます
- 以下のコマンドを実行します:
- VBoxManage modifyhd {ディスクのUUID} –compact
- ディスクのUUIDは、VirtualBox マネージャーの仮想メディアマネージャーで確認できます
最適化実行時の注意点
- バックアップの重要性
- 最適化作業前に、重要なデータのバックアップを取得することを強く推奨します
- 特に、仮想マシンのスナップショットがある場合は、最適化前に確認が必要です
- 処理時間への配慮
- 仮想ディスクのサイズによっては、最適化処理に相当な時間がかかる場合があります
- 特に、空き領域の0埋めは大容量のディスクの場合、数時間を要することもあります
- ディスク容量の確保
- 最適化処理中は、一時的に追加のディスク容量が必要になる場合があります
- ホストマシンに十分な空き容量があることを確認してから作業を開始してください
まとめ
仮想ディスクの最適化は、ホストマシンのストレージ容量を効率的に使用するために重要な作業です。定期的な最適化により、システムの健全性を維持し、ストレージリソースを効率的に活用することができます。特に、大規模なファイル削除や更新作業の後には、最適化を検討してみてください。
本記事で紹介した手順を参考に、適切なタイミングで最適化を実施することで、仮想マシンの運用管理をより効率的に行うことができます。
最後までお読みいただき、ありがとうございました。
2025/3/21
Hyper-VからVirtualBoxへ仮想ディスクイメージを移行する記事を書きました。
ピンバック: Hyper-V用のvhdxをVirtualBox用のvdiに変換して、VirtualBoxで起動する方法 - ビューローみかみ