ESXiで仮想マシンを作成してサーバーを構築した後に、ディスクプロビジョニングをシックからシンに変換する方法をご紹介します!
構築した後に気付いてしまって、やり直したくないと思った方、必見です!
シンでディスク容量を節約
ESXiで仮想マシンを作成した際、いつもはディスク容量を節約するために、プロビジョニングをシンで作成していますが、誤ってシック(Lazy Zeroed)で作成して、そのままサーバーを構築してしまい、無駄にディスク容量を確保していました。。
どうしよう…
再構築は面倒だぞ!?
そうだ!シックからシンに変換しよう!
ESXiホストからシックからシンに変換
というわけで、早速シックからシンプロビジョニングに変換していきましょう!
作業は全てCLIで行いますので、TeraTermなどでESXiホストにSSH経由で接続してください。
ESXiホストにログインしたら、対象の仮想マシンのディレクトリまで移動します。
cd /vmfs/volumes/[データストア]/[仮想マシン]
データストアや仮想マシンのディレクトリ名がわからなければ、[ll]コマンドで確認しましょう。
ブラウザでVMware Host Clientを開いて、
- [ストレージ] → [<データストア名>] → [データストアブラウザ]
の手順でも確認できます。
ここでは例として、データストアを[datastore1]、仮想マシンを[ubuntu-server]と仮定します。
cd /vmfs/volumes/datastore1/ubuntu-server
シックからシンに変換するVMDKファイルを探す
移動したら、コマンドでリストを表示して、対象のVMDK(~.vmdk)ファイルを探します。
ll
drwxr-xr-x 1 root root 77824 Dec 30 2021 .
drwxr-xr-t 1 root root 77824 Jul 4 23:39 ..
-rw------- 1 root root 343597383 Jul 5 11:29 ubuntu-server-flat.vmdk
-rw------- 1 root root 8684 Sep 2 2021 ubuntu-server.nvram
-rw------- 1 root root 532 Dec 30 2021 ubuntu-server.vmdk
-rw-r--r-- 1 root root 0 Jun 30 2021 ubuntu-server.vmsd
-rwxr-xr-x 1 root root 4216 Dec 30 2021 ubuntu-server.vmx
-rw------- 1 root root 0 Dec 25 2021 ubuntu-server.vmx.lck
-rw------- 1 root root 150 Dec 25 2021 ubuntu-server.vmxf
-rwxr-xr-x 1 root root 4131 Dec 30 2021 ubuntu-server.vmx~
-rw-r--r-- 1 root root 144401 Dec 30 2021 vmware-10.log
-rw-r--r-- 1 root root 171213 Jul 19 2021 vmware-5.log
-rw-r--r-- 1 root root 216164 Aug 29 2021 vmware-6.log
-rw-r--r-- 1 root root 166560 Sep 2 2021 vmware-7.log
-rw-r--r-- 1 root root 145098 Sep 8 2021 vmware-8.log
-rw-r--r-- 1 root root 388324 Dec 25 2021 vmware-9.log
-rw-r--r-- 1 root root 253558 Jul 5 07:38 vmware.log
-rw------- 1 root root 84934656 Dec 25 2021 vmx-ubuntu-server-xxxx...xxxx-1.vswp
-rw------- 1 root root 84934656 Sep 2 2021 vmx-ubuntu-server-xxxx...xxxx-2.vswp
上記の例では、VMDKファイルが2種類あるのがわかります。
- ubuntu-server.vmdk
- ubuntu-server-flat.vmdk
ファイルサイズを見ると、[~-flat.vmdk]の方が大きくディスクとほぼ一致するので、こちらを変換する対象のディスクと思いがちですが、シックからシンに変換するコマンドに指定するパラメータには、[~-flat.vmdk]ではないVMDKファイルを指定します。
プロビジョニングをシンからシックに変換
それでは、シックからシンに変換します!
コマンドはこれだけ!
vmkfstools -i [変換対象(シック)のVMDKファイル名] -d thin [変換後(シン)のVMDKファイル名]
先程のファイル名を例にコマンドを記述すると、このようになります。
vmkfstools -i ubuntu-server.vmdk -d thin ubuntu-server-thin.vmdk
コマンドを実行すると、上記の画像のように変換処理が始まりますので、シックからシンへの変換が完了するまでしばらくお待ち下さい。
ディスクサイズにもよりますが、結構時間がかかる場合があります。
仮想マシンのディスクを入れ替える
シンプロビジョニングのVMDKファイルはできましたが、実は、これだけでは勝手に仮想マシンのディスクは変わりません。
最後にVMware Host Clientから以下の手順に従って、旧ディスク(シック)を変換した新ディスク(シン)に変更する必要があります。
- Step 1設定の編集
対象の仮想マシンを右クリックし、[設定の編集]を選択
- Step 2シックを削除
現在使用しているシックの[ハードディスク]を削除
※[データストアからファイルを削除します]でVMDKごと完全削除 - Step 3ハードディスクの追加
上部の[ハードディスクの追加]から[既存のハードディスク]を選択
- Step 4VMDKファイルを選択
データストアブラウザから対象の仮想マシンのディレクトリを開き、変換したシンのVMDKファイルを選択
- Step 5保存して完了
最後に[保存]ボタンを押下したら設定は完了です!
以上で完了です。お疲れ様でした!
後はサーバーを起動してみて問題がないか確認してください。
- Original:https://minory.org/esxi-sick-thin.html
- Source:Minory
- Author:管理者