仮想ハードディスク VHDやVHDX のサイズを縮小する

こんにちは、しーるです。

MSSQLが稼働するHyper-Vのディスクが肥大化して危険な状態になっていました。

VHDやVHDXを縮小する手順です。

ディスクの編集から行うのもよいのですが、進度がわからないのでPowerShellから実施をお勧めします。

1. 仮想サーバーのファイル整理をする

  仮想環境(縮小したい)で実行します。

  ・ゴミ箱

  ・ディスクのクリーンナップ

2. 未使用領域を0セクタで埋める

  仮想環境(縮小したい)で実行します。

  SDeleteをダウンロードします。(x86、x64があるので適切なものをダウンロードします)

  https://technet.microsoft.com/ja-jp/sysinternals/bb897443(en-us).aspx

  管理者権限で実行したコマンドより実行します。

  > sdelete.exe -z C:

  上記はCドライブですが、必要なドライブを全て行います。

  ※不要なデータを削除することで、縮小出来る領域が大きくなります。

3. 仮想環境をシャットダウンする

4. 管理者権限でPowerShellを起動しコマンドを実行する

  下記コマンドを実行します。

  > Optimize-VHD –Path “D:\VHD\Image.vhdx” -Mode Full

  ファイルはフルパスで指定します。

これで完了です。

時間がかかるので、サーバーを止めて良い時間帯に実施するようにしましょう。

または「2」と「3」を分けて数日で行うのもよいでしょう。

スポンサーリンク