※テスト環境
・1台のESXiサーバ(A)の中に、ESXiサーバを仮想マシンとして2台構築(AA,AB)
・AAの仮想ESXiサーバの中に、CentOS_6_x64の仮想マシンを作成(C)
・CをABにバックアップ取得する方向を検討
※作業
1.AAのESXiサーバで、SSHを有効にする
2.AAにSSHでログイン
3.コマンドで仮想マシンを確認
「vim-cmd vmsvc/getallvms」
一番左に表示されるVmidを控える
4.ディスクロックを解除するため、スナップショットを作成
vim-cmd vmsvc/snapshot.create $Vmid forBackup
→ $Vmidは3で取得したID 「forBackup」は適当な名前で良い
→ マシン名-0001.vmdkが作成される
5.ディスクイメージのコピー。
→ マシン名.vmdkと、マシン名-flat.vmdkをコピーする
→ AAとAB間では何らかの問題によりSSHでの通信が不可であった。
別途マシン(D)を用意し、一旦AAからデータ吸い上げ→ABへプッシュという
方法でコピーした。
→ ABでは、datastore1の中にマシン名のフォルダを作成し、その中に
データを設置
6.スナップショット削除(元に戻す)
vim-cmd vmsvc/snapshot.remove $Vmid $Snapid
7.構成ファイルのコピー。
→ マシン名.vmxをコピーする。
→ スナップショットを削除してからでないと、スナップショット
ディスクの構成情報が残ってしまう
8.AB側で仮想マシンを登録する
9.仮想マシンを起動する。移動したかコピーしたかの問いには「移動しました」
を選択する
※注意ポイント
・Thinディスクで作成しても、なぜかコピーしたディスクイメージは
元同じサイズとなってしまう。従って、ABのディスク領域は仮想マ
シンのディスク容量の合計値以上が必要となる。
・テスト環境ではAA,AB間でSSH接続を行うことが出来なかった。ESXi
上でコピーしているからのためかもしれないので、実機で検証が必要
・AB側での起動時、1回目に起動しないことがある。一旦パワーオフし
再度起動すると上手く起動した。
AA# vim-cmd vmsvc/snapshot.create `vim-cmd vmsvc/getallvms | cut -c1,2 | tail +2` forBackup
D# scp root@AA:/vmfs/volumes/datastore1/C/C.vmdk .
D# scp root@AA:/vmfs/volumes/datastore1/C/C-flat.vmdk .
AA# vim-cmd vmsvc/snapshot.remove `vim-cmd vmsvc/getallvms | cut -c1,2 | tail +2` 1
D# scp root@AA:/vmfs/volumes/datastore1/C/C.vmx .
AB# mkdir /vmfs/volumes/datastore1/C
D# scp C.vmdk root@AB:/vmfs/volumes/datastore1/C/
D# scp C-flat.vmdk root@AB:/vmfs/volumes/datastore1/C/
D# scp C.vmx root@AB:/vmfs/volumes/datastore1/C/
AB# vim-cmd solo/registervm /vmfs/volumes/datastore1/C/C.vmx C
AB# vim-cmd vim-cmd vmsvc/power.on `vim-cmd vmsvc/getallvms | cut -c1,2 | tail +2`