【実践】VMwareの仮想ディスクを縮小する(Windows編)

ソフトウエア

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

VMwareでシンプロビジョニングされたディスク量が大きい。小さくするには?

この疑問に回答します。

一度大きくなったディスクは、ずっと大きいままです。縮小するには手動で操作する必要があります。

  • シンプロビジョニングされた仮想ディスクを縮小する
  • 仮想ディスクの空き領域を「0」で埋める
  • ゲストOSがWindowsの場合

シンプロビジョニングされた仮想ディスクを縮小する

ESXi ホスト上で動作する仮想マシンの仮想ディスクがシンプロビジョニング(Thin Provisioning)で作成されているとき、使用していないディスク領域を縮小する方法について説明します。

ESXi ホストに未使用領域と認識させれば、仮想ディスクを圧縮することができます

仮想ディスクの空き領域を「0」で埋める

ESXi ホストに未使用領域と認識させるには、仮想ディスクの空き領域を「0」で埋めることです。Windows、Linux共に対応が可能です。

  1. ゲストOSでツールかコマンドを実行し、空き領域ディスクに対してゼロ埋めを行う
  2. ESXiホストからコマンドを実行しゼロ領域が圧縮する

ゲストOSがWindowsの場合

マイクロソフトが空き領域を「0」で上書きする sdeleteツール を無料で提供しています。このツールを利用するだけでゼロ埋めが出来るようになります。

ダウンロードすると 32bit と 64bit 用のEXEファイルが2つあります。環境に合わせて実行ファイルを選択してください。

コマンドプロンプトから sdelete を実行します。

-zオプションを与えて、Cドライブの空き領域にゼロ埋めします。

sdelete -z C:

実行時の画面

sdeleteコマンドの初回起動画面
sdeleteコマンドの初回起動画面
sdeleteコマンドの許諾画面
sdeleteコマンドの許諾画面
sdeleteコマンドの実行画面
sdeleteコマンドの実行画面

コマンドの処理が完了したら、空き領域の「ゼロ埋め」が完了です。

これでESXi ホストに未使用領域と認識させるにことができました。後は仮想ディスクを圧縮させるます。

関連記事

【実践】VMwareの仮想ディスクを縮小する
VMwareでシンプロビジョニングされたディスク量が大きい。小さくするには? この疑問に回答します。 一度大きくなったディスクは、ずっと大きいままです。縮小するには手動で操作する必要があります。 仮想ディスクのファイルサイズが違う理由 シン...

補足

SDelete は、たくさんのオプションを使用できるコマンド ライン ユーティリティです。SDelete を使用すると、1 つまたは複数のファイルやディレクトリを削除したり、論理ディスク上の空き領域から不要なものを除去したりできます。また、ディレクトリやファイルを指定するときにワイルド カード文字を使用できます。

使用法:
sdelete [-p <回数>] [-s] [-q] <ファイルまたはディレクトリ> 
sdelete [-p <回数>] [-z|-c] [<ドライブ文字>] 
オプション:
-a         読み取り専用の属性を削除します。
-c         空き領域から不要なものを除去します。
-p <回数>  上書きの回数を指定します (既定値は 1 です)。
-q         エラーを出力しないようにします (Quiet モードで実行します)。
-s または -r   サブディレクトリを再起処理します。
-z         空き領域に 0 を設定します (仮想ディスクの最適化に適しています)。

 

以上、「【実践】VMwareの仮想ディスクを縮小する(Windows編)」という記事でした。