ESXi の VM を複製する
VMware vSphere Client 6.0.0 で ssh 接続できるようにしておく。
バージョン確認
本稿では VMware ESXi 6.0.0 での操作方法である。
# vmware -v -l VMware ESXi 6.0.0 build-2494585 VMware ESXi 6.0.0 GA
複製手順
ホストマシンへ ssh ログインする。
VM のあるディレクトリへ移動
# cd /vmfs/volumes/MyDataStore # ls -l drwxr-xr-x 1 root root 1400 Sep 18 03:55 FOO drwxr-xr-x 1 root root 2100 Sep 18 01:21 BAR drwxr-xr-x 1 root root 2660 Sep 18 12:51 HOGE
VM の HOGE から FUGA を複製する。※ HOGE は停止しておくこと。
新規ディレクトリ FUGA を作成。
# mkdir FUGA
ディレクトリ HOGE にはおおむね以下のようなファイルがある。
ただし log ファイルは VM の実行状況により異なる。
# ls -l ./HOGE -rw------- 1 root root 268435456000 Sep 18 03:00 HOGE-flat.vmdk -rw------- 1 root root 8684 Sep 18 03:00 HOGE.nvram -rw------- 1 root root 483 Sep 18 02:34 HOGE.vmdk -rw-r--r-- 1 root root 0 Sep 18 02:15 HOGE.vmsd -rwxr-xr-x 1 root root 2273 Sep 18 03:55 HOGE.vmx -rw-r--r-- 1 root root 256889 Sep 18 02:17 vmware-1.log -rw-r--r-- 1 root root 137549 Sep 18 02:24 vmware-2.log -rw-r--r-- 1 root root 156340 Sep 18 03:00 vmware.log
専用コマンドを使って vmdk ファイルを複製する。
ファイル名はコピー先のディレクトリに合わせる。
# vmkfstools -i ./HOGE/HOGE.vmdk ./FUGA/FUGA.vmdk Destination disk format: VMFS zeroedthick Cloning disk './HOGE/HOGE.vmdk'... Clone: nn% done. # ls -l ./FUGA -rw------- 1 root root 268435456000 Sep 19 07:00 FUGA-flat.vmdk -rw------- 1 root root 483 Sep 19 07:04 FUGA.vmdk
複製元から *.nvram *.vmsd *.vmx を複製先にコピーする。
cp ./HOGE/HOGE.nvram ./FUGA/FUGA.nvram cp ./HOGE/HOGE.vmsd ./FUGA/FUGA.vmsd cp ./HOGE/HOGE.vmx ./FUGA/FUGA.vmx
FUGA.vmx を編集する。
※ *.vmx は VM の設定ファイルである。ファイル中の HOGE を全て FUGA に置換する。
# sed -i s/HOGE/FUGA/ ./FUGA/FUGA.vmx
vmx ファイルをホストに VM として登録
# vim-cmd solo/registervm /vmfs/volumes/MyDataStore/FUGA/FUGA.vmx
参考サイト
このサイトの「案3」を参考にした。
http://qiita.com/kitakitash/items/84c1b6d6100541c638e5