ESXiで仮想マシンを作成してサーバーを構築した後に、ディスクプロビジョニングをシックからシンに変換する方法をご紹介します!
構築した後に気付いてしまって、やり直したくないと思った方、必見です!
シンでディスク容量を節約
ESXiで仮想マシンを作成した際、いつもはディスク容量を節約するために、プロビジョニングをシンで作成していますが、誤ってシック(Lazy Zeroed)で作成して、そのままサーバーを構築してしまい、無駄にディスク容量を確保していました。。
管理者どうしよう…
再構築は面倒だぞ!?
そうだ!シックからシンに変換しよう!
ESXiホストからシックからシンに変換
というわけで、早速シックからシンプロビジョニングに変換していきましょう!
作業は全てCLIで行いますので、TeraTermなどでESXiホストにSSH経由で接続してください。
ESXiホストにログインしたら、対象の仮想マシンのディレクトリまで移動します。
| 
 1  | 
cd /vmfs/volumes/[データストア]/[仮想マシン]  | 
データストアや仮想マシンのディレクトリ名がわからなければ、[ll]コマンドで確認しましょう。
ブラウザでVMware Host Clientを開いて、
の手順でも確認できます。
ここでは例として、データストアを[datastore1]、仮想マシンを[ubuntu-server]と仮定します。
| 
 1  | 
cd /vmfs/volumes/datastore1/ubuntu-server  | 
シックからシンに変換するVMDKファイルを探す

移動したら、コマンドでリストを表示して、対象のVMDK(~.vmdk)ファイルを探します。
| 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | 
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ファイルを指定します。
プロビジョニングをシンからシックに変換

それでは、シックからシンに変換します!
コマンドはこれだけ!
| 
 1  | 
vmkfstools -i [変換対象(シック)のVMDKファイル名] -d thin [変換後(シン)のVMDKファイル名]  | 
先程のファイル名を例にコマンドを記述すると、このようになります。
| 
 1  | 
vmkfstools -i ubuntu-server.vmdk -d thin ubuntu-server-thin.vmdk  | 
コマンドを実行すると、上記の画像のように変換処理が始まりますので、シックからシンへの変換が完了するまでしばらくお待ち下さい。
管理者ディスクサイズにもよりますが、結構時間がかかる場合があります。
仮想マシンのディスクを入れ替える

シンプロビジョニングのVMDKファイルはできましたが、実は、これだけでは勝手に仮想マシンのディスクは変わりません。
最後にVMware Host Clientから以下の手順に従って、旧ディスク(シック)を変換した新ディスク(シン)に変更する必要があります。
対象の仮想マシンを右クリックし、[設定の編集]を選択
現在使用しているシックの[ハードディスク]を削除
※[データストアからファイルを削除します]でVMDKごと完全削除
上部の[ハードディスクの追加]から[既存のハードディスク]を選択
データストアブラウザから対象の仮想マシンのディレクトリを開き、変換したシンのVMDKファイルを選択
最後に[保存]ボタンを押下したら設定は完了です!
以上で完了です。お疲れ様でした!
後はサーバーを起動してみて問題がないか確認してください。



コメント