作業日記@HatenaBlog

各種の作業メモ

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

VMHOGE から 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