はじめに
ストレージが小さなESXi上にOpenShiftクラスタを作っていたらディスクフルになってしまったので対処。
概ね「コマンドでシンプロビジョニングの仮想マシンを別のデータストアに移行する」に
記載されている通りだが、 vmdkが複数存在する場合等にこの手順だと上手くいかないので
その補足も兼ねて備忘録。
もし行う場合は自己責任で実施してください。責任は持てません。
もっと良い方法があればご教示頂ければ幸いです。
確認していないがスナップショットがロストするかもしれません。
備忘録
作業フォルダに移動。
[root@localhost:/vmfs/volumes] cd /vmfs/volumes/
[root@localhost:/vmfs/volumes] pwd
[root@localhost:/vmfs/volumes] ls -la
total 3076
drwxr-xr-x 1 root root 512 Feb 13 09:16 .
drwxr-xr-x 1 root root 512 Feb 12 09:32 ..
drwxr-xr-x 1 root root 8 Jan 1 1970 5e01bc25-426f662b-3f8a-00110a6cc48c
drwxr-xr-t 1 root root 77824 Feb 13 06:45 5e01bc3f-1e7f497b-04bf-00110a6cc48c
drwxr-xr-x 1 root root 8 Jan 1 1970 5e01bc42-f24a25db-2ba3-00110a6cc48c
drwxr-xr-t 1 root root 73728 Feb 13 06:48 5e43c766-c967c2e2-2084-00110a6cc48c
drwxr-xr-x 1 root root 8 Jan 1 1970 c6af847e-087b87b1-f6cd-6a0e99cb4ee8
drwxr-xr-x 1 root root 8 Jan 1 1970 cf92f677-c0052692-b144-2b029c7d3c8e
lrwxr-xr-x 1 root root 35 Feb 13 09:16 datastore1 -> 5e01bc3f-1e7f497b-04bf-00110a6cc48c
lrwxr-xr-x 1 root root 35 Feb 13 09:16 datastore2 -> 5e43c766-c967c2e2-2084-00110a6cc48c
変換対象のvmdkファイルを確認する。
この中で対象は
- vm.vmdk
- vm-000001.vmdk
sesparseやflatは変換エラーとなる。
[root@localhost:/vmfs/volumes] ls -la datastore1/bootstrap/*.vmdk
-rw------- 1 root root 4574973952 Feb 7 07:52 datastore1/vm/vm-000001-sesparse.vmdk
-rw------- 1 root root 374 Feb 7 00:19 datastore1/vm/vm-000001.vmdk
-rw------- 1 root root 171798691840 Jan 31 01:15 datastore1/vm/vm-flat.vmdk
-rw------- 1 root root 531 Jan 30 12:34 datastore1/vm/vm.vmdk
thin形式に変換しつつデータを移す。
[root@localhost:/vmfs/volumes] mkdir datastore2/vm/
[root@localhost:/vmfs/volumes] vmkfstools -i datastore1/vm/vm.vmdk -d thin datastore2/vm/vm.vmdk
[root@localhost:/vmfs/volumes] vmkfstools -i datastore1/vm/vm-000001.vmdk -d thin datastore2/vm/vm-000001.vmdk
[root@localhost:/vmfs/volumes] find datastore1/vm/* -not -name "*.vmdk" -exec cp {} datastore2/vm/ \;
ストレージ移行したい仮想マシンをESXi WebUIで「アクション」→「登録解除」する。
注意)「登録解除」ではなく「削除」してしまうと新しいストレージ (datastore2/vm相当) での動作環境前に
古いストレージからデータが削除されてしまうので必ず「登録解除」にすること。
新しいストレージで「仮想マシンを登録」でvmdkファイルを選択する。
初回パワーオン時は「質問」ダイアログが立ち上がるので「コピーしました」を選択し「回答」ボタンをクリックする。
正常に起動し状態に問題がないようなら古いストレージからデータ (datastore1/vm相当) を削除。
削除方法はデータストアブラウザかSSH。