たきるブログ

C#やOracleなどの情報を書いています。

【VMware】vmdkファイルの最適化方法

利用しているとvmdkが肥大化してくるので、パフォーマンスも悪く、バックアップもままならない、そんな状況を完全に打破する方法をやっと確立した。
※ただし、Windowsのみ。

以下、その手順。

  1. ゲストOSを起動する。
  2. ゲストOSで、すべてのプログラム→アクセサリ→システムツール→ディスククリーンアップを起動。
  3. 詳細オプションタブから、システムの復元とシャドウコピー欄のクリーンアップボタンを押し、古い復元ポイントを削除する。
  4. ディスククリーンアップタブから、全部チェックを入れてOKを押して出てくるダイアログでファイルの削除を押す。
    (これで、使用容量を減らす)
  5. コマンドプロンプトを開き、以下のコマンドを実行する。
    cipher /w:c:
    (c:は、対象のドライブを指定)
    しばらく待って、『0xFF に書き込み中』と表示されたらCtrl+Cを連打して中断する。
    マイコンピュータを開いておくと、どんどん容量が食っていくので、終了タイミングが分かりやすい。
    (これで、未使用領域に0x00を書き込み、未使用であることを明確にする)

    f:id:metroit:20190128131648p:plain

  6. ゲストOSで、すべてのプログラム→アクセサリ→システムツール→ディスクデフラグを起動。
  7. 最適化したいvmdkのドライブを指定してディスクの最適化を行う。
    (これで、使用領域を連続させ、未使用領域部分をまとめる。)
  8. ゲストOSをシャットダウンする。
  9. ホストOSのvmwareのディスク設定で、ユーティリティ→ディスクの最適化を行う。
    (あまり意味ない?vmwareデフラグの一種らしいのでとりあえずやる)
  10. ホストOSのvmwareのディスク設定で、ユーティリティ→圧縮を行う。
    (未使用領域を圧縮してくれる)
  11. ホストOSのvmdkが存在するディスクのデフラグやtrimなどを行って、パフォーマンスを最適化する。


あら素敵!
11.は、パフォーマンスを最適化させたい場合にやればよくて、単にvmdkのファイル容量を圧縮させたい場合は、10.までやればいい。



※注意
ディスクデフラグを行うと、一時的にvmdkファイルの容量が増大する為、ホスト側の空き容量に余裕を持っておくこと。