仮想マシンのプロビジョニングをシックからシンに変更

  • ESXi 7.0.3

ついうっかり仮想ディスクをシックプロビジョニングで作成してしまい、のちに気が付いてシンプロビジョニングに変換したくなることがままある。

図1. シックで作成された仮想ディスク

データストアが2つ以上ある場合はStorage vMotionの際にディスクフォーマットを選択できるから、苦労なくシンへと変換できる。

図2. Storage vMotionでディスクフォーマットを変換

一方、データストアが唯一つしかない場合はそう気軽にいかない。vmkfstoolsコマンドによってシンプロビジョニングでクローンを作成し、仮想マシンを再登録し直す手間を要する。

クローンを作成するから、前もってデータストアの空き容量に十分なゆとりのあることを確認しておかねばならない。また、万が一に備えて仮想マシンのバックアップを用意しておくと無難である。これらの支度ができたら仮想マシンをシャットダウンする。そしてESXiのSSHを有効にし、SSH接続する。

ますは仮想マシンのVMDKファイルがあるディレクトリへ移動する。特別なことをしていなければ概ね/vmfs/volumes/データストア名/仮想マシン名にあるはずである。

# cd /vmfs/volumes/esxi2ds/osk2a-3f-lb06/
# ls -lh *.vmdk
-rw-------    1 root     root       32.0G Oct  8 15:55 osk2a-3f-lb06-flat.vmdk
-rw-------    1 root     root         507 Oct  8 15:52 osk2a-3f-lb06.vmdk

そうしたらvmkfstoolsコマンドでディスクフォーマットがシンの仮想ディスククローンを作成する。ディスクフォーマットは-dオプションで指定する。

# vmkfstools -i osk2a-3f-lb06.vmdk osk2a-3f-lb06-thin.vmdk -d thin
Destination disk format: VMFS thin-provisioned
Cloning disk 'osk2a-3f-lb06.vmdk'...
Clone: 100% done.

ファイルを改めて確認してみると新たに2ファイル作成されていた。これらがシンプロビジョニングのVMDKファイルである。

# ls -lh *.vmdk
-rw-------    1 root     root       32.0G Oct  8 15:55 osk2a-3f-lb06-flat.vmdk
-rw-------    1 root     root       32.0G Oct  8 16:03 osk2a-3f-lb06-thin-flat.vmdk
-rw-------    1 root     root         561 Oct  8 16:03 osk2a-3f-lb06-thin.vmdk
-rw-------    1 root     root         507 Oct  8 15:52 osk2a-3f-lb06.vmdk

既存のVMDKファイルは適当にリネームし、シンプロビジョニングのVMDKファイルには既存のVMDKファイル名を付ける。

# mv osk2a-3f-lb06.vmdk osk2a-3f-lb06.vmdk_
# mv osk2a-3f-lb06-thin.vmdk osk2a-3f-lb06.vmdk

そうしたら、一旦仮想マシンの登録を解除する。

図3. 仮想マシンの登録を解除

改めて仮想マシンを登録する。

図4. 仮想マシンを再登録

これで無事にシンへと変更できた。仮想マシンが正常に起動し、動作に問題が無いようであれば不要なファイルを削除してすべて完了である。

# vmkfstools -U osk2a-3f-lb06.vmdk_
図5. シンプロビジョニングに変更できた様子

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください