2010年11月12日 星期五

VMware Guest OS 虛擬主機備份:vcbMounter & vcbRestore 備份與還原

vcbMounter 是備份 Guest OS 指令, 而 vcbRestore 則是還原 Guest OS 指令! 這兩者都是 ESX Server 的內建指令(ESXi Server 目前不支援), 而且可以 online 備份, 同時也有壓縮及分割檔案的功能(每個檔案2GB大小), 只要適當的配合 crontab 的指令, 也是可以做到定期自動備份 Guest OS 的功能啦!

vcbMounter & vcbRestore 簡單的指令可以參考: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002978

比較完整的指令參考, 上述文章中有連結的 PDF 檔: Using VMware Infrastructure for Backup and Restore

接下來就是實做的部分!

首先我是使用 pieTTY 連上 ESX Server 的, pieTTY 參考: http://ntu.csie.org/~piaip/pietty/

當然要記得把 ESX Server SSH 連線功能打開, 要不然就無法連線了!

連上之後, 依照前述文章, 鍵入備份指令, 主要選項簡單說明如下:

vcbmounter -h hostIP -u root -p password -a ipaddr:<IP or hostname of the VM> -t fullvm -r /vmfs/volumes/LUN-1/testVCB/testVCB -m 1
 

-h: 要備份或還原的 ESX Server 的 IP 或是 名稱, 通常我是指定 IP 啦, 當然如果有 VC, 就是 VC 的名稱

-u: 通常是用 root 當作執行命令的帳戶, 若是 VC, 就有可能是指定特別的帳戶啦

-p: 該執行命令帳戶的密碼

-a: 指定備份的 Guest OS, 可以用 IP ( ipaddr: ), FQDN ( uuid: ), VM ( name: ) 等方式, 我這裡是用 name:

-r: 指定存放備份檔案的目錄, 可以在本地或datastore上, 我是放在另一個 iSCSI datastore 上

 
-M 1: 不分割, 我是設定不分割

-F 1: 不壓縮

 

 

 

 

"-t fullvm" 是依照前述文章的通則吧!

下面是備份過程的畫面!



  下面則是備份完的檔案資料, 大小已經壓縮到 10GB 左右, 原始硬碟設定大小是 160GB!



 接下來的畫面都有點大了, 因為有對照畫面! 輸入 vcbRestore 還原指令, 可以還原 Guest OS, 但是要注意的是, 要還原的 ESX Server 不可以有同樣資料夾 & Guest OS 名稱的 VM, 要不然會還原失敗, 所以我是先把原本的 Guest OS 給刪除, 然後進行還原! N7700XXXXX1 是備份檔案 iSCSI, N7700XXXXX2 是放置運行 VM 的 iSCSI.

vcbRestore -h hostIP -u root -p password -s /vmfs/volumes/LUN-1/testVCB/testVCB

-s: 這個就是要還原資料的來源資料夾, 就是前面備份時指定的資料夾啦

這裡在 N7700XXXXX1 下可以看到 "ide-0-0-xxxxxx.vmdk" 的 size 約 10G, 而實際的大小 (Provisioned Size) 約是 160GB!

 

還原過程的畫面!



還原完成後的畫面, 可以看到 192.xxx.xxx.xx1 多了 web2 的 VM 了!



啟動還原後的 web2, 可以看到正常的執行! 備份及還原就OK啦! 真得很簡單!

 

  

  

5 則留言:

  1. 請問一下。這個指令也適用於ESXi上面嗎?
    因為我看了你的文章後,想在ESXI上面實作看看,
    但是卻找不到這個指令??

    回覆刪除
  2. Sorry! 因為我是使用 ESX 4.1 + ESXi 4.1 的序號, 這樣成為 ESX 4.1 Hypervisor 等同 ESXi 4.1 免費版, 但是功能及指令比較完整, 所以沒注意到 ESXi 4.1 沒有這兩個相關指令!

    回覆刪除
  3. 很感謝你的回覆,原想說這麼好的備份方法,
    一定要用在環境上面的,呵。
    另外請叫一下,ESX Hypervisor 可以像ESXi一樣,
    可以裝在usb上面的嗎?還是一定需要安裝在HDD上呢?

    回覆刪除
  4. 嗯! ESX 4.1 就只能放在 HD 上, 確實不如 ESXi 4.1 方便, 不過看在這個可以自動備份的點上, 我還是會使用 ESX 4.1 的啦! 您真的可以考慮使用 ESX 4.1 看看!

    如果 ESXi 也要有類似的自動備份的話, 可以參考我另一篇自動備份 crontab 的說明中的這個網頁 http://communities.vmware.com/docs/DOC-8760 因為有點複雜, 但功能齊全, 有時間再來玩玩看!

    回覆刪除
  5. 玩VMware還真的要有點linux的底子,
    這樣在玩一些功能的時候會比較方便,
    也非常的期待你能把玩後的經驗和我們一起分享!!

    回覆刪除