1) 利用CONVERTER, 或第三方工具, 如 Platespin, Vizioncore 的產品等。
2) 在VCB PROXY服務器上通過VCB來熱備
3) 或是在ESX的SERVICE CONSOLE上通過vcbMounter或vmware-cmd工具來完成。 這里主要說說第3種, 也是ESX管理中最常用的
1. vcbMounter是ESX3附帶的VM備份工具。 它可以對運行中的VM進行熱備份, 后備的內容包括盤數據, 內存數據和VM的配置數據等。 vcbMounter后備產生的IMAGE可用做VM的備份及災后復原。 一個典型的vcbMounter例子:
>vcbMounter -h esxhost -u backupuser -p password -a ipaddr:192.168.10.1 -r /vmfs/volumes/SAN1/vm-backups/vm1
-h: 指定執行命令的ESX HOST 或 VIRTUAL CENTER。
-u: 執行命令的帳戶, 如果-h指定的是ESX, 要用該ESX上的帳戶, 如果是VC, 則要用VC上的帳戶。
-p: 帳戶的PASSWORD。
-a: 指定后備的VM, 可以用, IP, FQDN, VM名等。
-r: 指定存放備份IAMGE的目錄。 可以在本地或共享存儲上。
使用上述命令產生VM后備時, VM的所有盤文件被切割成2GB的小文件集并進行了壓縮。 比如VM有兩個半滿的10GB的盤(20GB IN SIZE, 10GB IN USED), 后備的結果是產生了10個小盤文件, 10個小文件的總SIZE等于10GB, 就是你VM中的已用的容量。
由于上述vcbMounter并非簡單將原VM的盤文件考出來(而是進行了分割和壓縮), 所以復原的時候也需要采用工具(ESX3附帶): vcbRestore來進行。 如果你只是想將VM的盤文件原封不動熱備出來, 則須修改上述命令:
>vcbMounter -h esxhost -u backupuser -p password -a ipaddr:192.168.10.1 -r /vmfs/volumes/SAN1/vm-backups/vm1 -M 1 -F 1
-M 1: 不分割。
-F 1: 不壓縮。
這樣在熱備時盤文件就不被切割和壓縮了。
2. 使用vmware-cmd或vcbSnapshot對運行中的VM建立快照snapshot, 然后再將其vmdk盤文件考出來。
ESX3.0下使用vmware-cmd熱備的例子:
a)建立snapshot
>vmware-cmd -H esx01 -U root -P rootpass /vmfs/volumes/6001....4728/VM1/VM1.vmx createsnapshot snapshot1 first-snapshot 1 0
-H: 指定執行命令的ESX HOST 或 VIRTUAL CENTER。
-U: 執行命令的帳戶。
-P: 帳戶的PASSWORD。
vmfs/volumes/6001……4728/VM1/VM1。vmx: 被拷貝VM配置文件的路徑。
createsnapshot: 建立snapshot。
snapshot1: snapshot名
first-snapshot: snapshot注釋
1: 啟動ESX的VM quiesce 功能。建立snapshot靜止VM, 可以使安裝了vmware-tools的WINDOWS VM保持OS級的數據一致性。
0: snapshot不保存內存。
b)用vmkfstools將要熱備的盤文件拷貝。
c)去除快照:
>vmware-cmd -H esx01 -U root -P rootpass /vmfs/volumes/6001....4728/VM1/VM1.vmx removesnapshots
注意上述命令去除該VM上的所有快照。 如果你VM的VM在進行步驟
a)之前以有快照, 這時會被一并去除。
在拷貝前建立快照的目的是截斷VM對原始盤文件的操作, 保持原始盤文件的數據一致性, 拷貝輸出完成以后, 再將快照去除。
為VM建立塊照snapshot時, ESX為VM的每一個vmdk文件建立一個相應的delta文件, 快照建立以后, VM的盤操作便不在原始盤文件進行,而改在delta文件上進行。 這樣原始盤文件便處與穩定狀態可被拷貝。
3. 采用vcbSnapshot命令來熱備VM
VI3引入一個新命令可供建立snapshots。 利用它來為VM做熱備的原理與
2) 并沒有太大的區別。 基本的步驟:
a) 使用 vcbVmName 來確定VM的 ID
b) 使用 vcbSnapshot 為VM建立 Snapshot
c) 使用 vcbExport 來輸出VM的盤文件。
d) 最后使用 vcbSnapshot 來刪除
a) 建立的snapshot.
大家有興趣可以試一試。
注意方法 1 與 2,3的最大區別在于, 1 輸出的是VM的所有盤文件。 而 2 與 3, 你可以選擇VM的單一盤文件。
后備的目的是為了最終的還原。 通過上述方法產生的備份能否順利還原呢? 答案是不一定。 跟你的OS,運行的應用,SHAPSHOT生成的方法都有關系。主要涉及ESX SNAPSHOT 與數據一致性的問題。