今回は、ホットバックアップの手順を確認してみる。
やり方としては、
①スナップショット取得
②vmdkファイルのコピー(バックアップ)
③スナップショットの削除
通常、OS起動状態だとvmdkファイルが握られたままになるので、静止点でのバックアップが取得できない。
このため、スナップショット取得して一時的にvmdkファイルをはずした状態でバックアップをとる作戦。
この辺は、vmdkファイルがどうのこうのは仕様によるもの。
詳しくは下記。
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2080293
1. VMware ESXi環境の構築
こちらのサイトを参考に環境構築。
http://vm.study234.com/archives/336
ちなみに今回は、CentOSではなくWindowsServer2012をゲストとしてインストール。
2. vmdkファイルのバックアップを取得
※今回の作業は、OSを起動した状態で行う。
2.1. 対象ゲストマシンの構成ファイルを確認
~# ls -lh [datastore]/[hostname]
~ # date;ls -lh /vmfs/volumes/datastore1/WindowsServer2012/
Sun Dec 13 00:45:37 UTC 2015
total 46254096
-rw------- 1 root root 4.0G Dec 13 00:44 WindowsServer2012-0cccb183.vswp
-rw------- 1 root root 40.0G Dec 13 00:45 WindowsServer2012-flat.vmdk
-rw------- 1 root root 8.5K Dec 13 00:44 WindowsServer2012.nvram
-rw------- 1 root root 478 Dec 13 00:44 WindowsServer2012.vmdk
-rw-r--r-- 1 root root 0 Dec 12 11:19 WindowsServer2012.vmsd
-rwxr-xr-x 1 root root 2.8K Dec 13 00:44 WindowsServer2012.vmx
-rw------- 1 root root 0 Dec 13 00:44 WindowsServer2012.vmx.lck
-rw-r--r-- 1 root root 272 Dec 12 11:19 WindowsServer2012.vmxf
-rwxr-xr-x 1 root root 2.8K Dec 13 00:44 WindowsServer2012.vmx~
-rw-r--r-- 1 root root 294.8K Dec 12 16:44 vmware-1.log
-rw-r--r-- 1 root root 299.5K Dec 13 00:30 vmware-2.log
-rw-r--r-- 1 root root 195.7K Dec 13 00:32 vmware-3.log
-rw-r--r-- 1 root root 169.6K Dec 13 00:44 vmware.log
-rw------- 1 root root 109.0M Dec 13 00:44 vmx-WindowsServer2012-214741379-1.vswp
~ #
2.2. スナップショットを取得する
~# #VMIDを確認する
~# vim-cmd vmsvc/getallvms
~# vim-cmd vmsvc/snapshot.create [VMID] [Snapshotname]
~ # date;vim-cmd vmsvc/getallvms
Sun Dec 13 00:46:12 UTC 2015
Vmid Name File Guest OS Version Annotation
2 WindowsServer2012 [datastore1] WindowsServer2012/WindowsServer2012.vmx windows8Server64Guest vmx-08
~ #
~ # date;vim-cmd vmsvc/snapshot.create 2 test
Sun Dec 13 00:47:42 UTC 2015
Create Snapshot:
~ #
★Snapshotを取得すると、構成ディレクトリ内がこんな感じになる
/vmfs/volumes/566b9be2-c949e6ff-4129-000c2968e986/WindowsServer2012 # ls -l
total 46256144
-rw------- 1 root root 86016 Dec 13 00:47 WindowsServer2012-000001-delta.vmdk ★差分ファイル
-rw------- 1 root root 337 Dec 13 00:47 WindowsServer2012-000001.vmdk ★差分ファイル
-rw------- 1 root root 4294967296 Dec 13 00:44 WindowsServer2012-0cccb183.vswp
-rw------- 1 root root 28412 Dec 13 00:47 WindowsServer2012-Snapshot1.vmsn
-rw------- 1 root root 42949672960 Dec 13 00:47 WindowsServer2012-flat.vmdk
-rw------- 1 root root 8684 Dec 13 00:48 WindowsServer2012.nvram
-rw------- 1 root root 478 Dec 13 00:44 WindowsServer2012.vmdk
-rw-r--r-- 1 root root 386 Dec 13 00:47 WindowsServer2012.vmsd
-rwxr-xr-x 1 root root 2888 Dec 13 00:47 WindowsServer2012.vmx
-rw------- 1 root root 0 Dec 13 00:44 WindowsServer2012.vmx.lck
-rw-r--r-- 1 root root 272 Dec 12 11:19 WindowsServer2012.vmxf
-rwxr-xr-x 1 root root 2881 Dec 13 00:47 WindowsServer2012.vmx~
-rw-r--r-- 1 root root 301871 Dec 12 16:44 vmware-1.log
-rw-r--r-- 1 root root 306646 Dec 13 00:30 vmware-2.log
-rw-r--r-- 1 root root 200381 Dec 13 00:32 vmware-3.log
-rw-r--r-- 1 root root 180054 Dec 13 00:49 vmware.log
-rw------- 1 root root 114294784 Dec 13 00:44 vmx-WindowsServer2012-214741379-1.vswp
/vmfs/volumes/566b9be2-c949e6ff-4129-000c2968e986/WindowsServer2012 #
2.3. vmdkファイルをコピー(バックアップ)
※vmdkファイル以外は適宜SCPコマンドやCPコマンドにて退避する
~# vmkfstools -i [datastore]/[hostname]/[hostname].vmdk -d monosparse [datastore]/tmp[hostname]_bkupYYYYMMDD.vmdk
/vmfs/volumes/566b9be2-c949e6ff-4129-000c2968e986/WindowsServer2012 # date;vmkfstools -i /vmfs/volumes/datastore1/WindowsServer2012/WindowsServer2012.vmdk -d monosparse /vmfs/volumes/datastore1/tm
p/WindowsServer2012_bkup20151213.vmdk;date
Sun Dec 13 00:58:57 UTC 2015
Destination disk format: monolithic sparse disk
Cloning disk '/vmfs/volumes/datastore1/WindowsServer2012/WindowsServer2012.vmdk'...
Clone: 100% done.
Daceks-MBA:~ dacek$
★退避されたフィアルを確認してみるとこんな感じ
~ # ls -l /vmfs/volumes/datastore1/tmp/
total 8166400
-rw------- 1 root root 8361934848 Dec 13 01:09 WindowsServer2012_bkup20151213-s001.vmdk
-rw------- 1 root root 532 Dec 13 01:09 WindowsServer2012_bkup20151213.vmdk
~ #
2.4. スナップショットを削除
~# # VMDIの確認
~# vim-cmd vmsvc/getallvms
~# # SnapshotIDの確認
~# vim-cmd vmsvc/snapshot.get [VMID]
~# # Snapshotの削除
~# vim-cmd vmsvc/snapshot.remove [VMID] [SnapshotID]
~ # vim-cmd vmsvc/getallvms
Vmid Name File Guest OS Version Annotation
2 WindowsServer2012 [datastore1] WindowsServer2012/WindowsServer2012.vmx windows8Server64Guest vmx-08
~ #
~ # vim-cmd vmsvc/snapshot.get 2
Get Snapshot:
|-ROOT
--Snapshot Name : test
--Snapshot Id : 1
--Snapshot Desciption :
--Snapshot Created On : 12/13/2015 0:47:44
--Snapshot State : powered off
~ #
~ # vim-cmd vmsvc/snapshot.remove 2 1
Remove Snapshot:
~ #
★Snapshotを削除すると、構成ディレクトリ内がこんな感じになる
~ # ls -l /vmfs/volumes/datastore1/WindowsServer2012/
total 46254096
-rw------- 1 root root 4294967296 Dec 13 00:44 WindowsServer2012-0cccb183.vswp
-rw------- 1 root root 42949672960 Dec 13 02:31 WindowsServer2012-flat.vmdk
-rw------- 1 root root 8684 Dec 13 02:31 WindowsServer2012.nvram
-rw------- 1 root root 478 Dec 13 02:31 WindowsServer2012.vmdk
-rw-r--r-- 1 root root 43 Dec 13 02:31 WindowsServer2012.vmsd
-rwxr-xr-x 1 root root 2881 Dec 13 02:31 WindowsServer2012.vmx
-rw------- 1 root root 0 Dec 13 00:44 WindowsServer2012.vmx.lck
-rw-r--r-- 1 root root 272 Dec 12 11:19 WindowsServer2012.vmxf
-rwxr-xr-x 1 root root 2888 Dec 13 02:31 WindowsServer2012.vmx~
-rw-r--r-- 1 root root 301871 Dec 12 16:44 vmware-1.log
-rw-r--r-- 1 root root 306646 Dec 13 00:30 vmware-2.log
-rw-r--r-- 1 root root 200381 Dec 13 00:32 vmware-3.log
-rw-r--r-- 1 root root 202120 Dec 13 01:02 vmware.log
-rw------- 1 root root 114294784 Dec 13 00:44 vmx-WindowsServer2012-214741379-1.vswp
~ #