虛擬主機 VCB VM 備份 還原

ESX虛擬化平台線上備份 快速還原VM虛擬主機

2012-07-25
上期文章示範了如何針對ESX虛擬化平台上運作的VM虛擬主機進行離線備份作業,以及當虛擬主機崩潰時怎樣透過先前的離線備份進行還原作業。但離線備份僅能針對關機狀態的虛擬主機進行備份,這與企業實際營運環境必須保持服務不中斷的理念相違背,因此本文將進一步說明如何採用ESX虛擬化平台內建的vcbMounter及vcbRestore指令,針對持續提供服務的VM虛擬主機,以VCB和Snapshot機制為運作中的虛擬主機進行線上備份和災難復原作業。
倘若仍然希望開啟root管理者帳號,能夠具有SSH遠端登入ESX虛擬化平台的權限,以便遠端執行vcbMounter及vcbRestore備份指令的話,則先於ESX虛擬化平台本機上按下〔Alt〕+〔F11〕組合鍵,切換到Console指令模式,然後進行本機登入的動作。

接著,執行如下指令先將SSH設定檔進行備份,再使用sed指令將SSH設定檔內的「PermitRootLogin no」參數取代為「PermitRootLogin yes」,最後再將SSH服務重新啟動即可套用生效。


▲允許root管理者帳號能夠SSH遠端登入ESX虛擬化平台。

不過,筆者在此仍然強烈建議必須調整主機遠端連線安全性設定,例如僅開放某些IP位址可以使用SSH遠端登入ESX平台,以保障ESX虛擬化平台主機安全性。

查詢VM虛擬主機運作狀態

確認能夠SSH遠端管理ESX虛擬化平台之後,先利用「vcbVmName」指令來查詢運作於ESX虛擬化平台上的VM虛擬主機狀態。例如查詢VM虛擬主機的IP位址、VM虛擬主機名稱、UUID、MoRef等等資訊。或者,也可以在vSphere Client操作介面中查詢到這些VM虛擬主機的相關資訊(圖3)。

了解這些資訊後再稍後執行備份任務操作時,便可以利用這些查詢到的相關資訊來指定備份某些VM虛擬主機。下列為相關查詢參數的意義說明:

-h HOST:執行此指令的ESX平台,可以使用Hostname或IP Address或FQDN。
-u USERNAME:執行此指令的使用者名稱(請注意使用者權限),此例為weithenn。
-p PASSWORD:執行此指令的使用者密碼,此例為123456。
-s Status:顯示指定狀態的VM虛擬主機資訊。
·powerstate:on顯示狀態為開機(Power On)的VM虛擬主機。
·powerstate:off顯示狀態為關機(Power Off)的VM虛擬主機。
·powerstate:suspended顯示狀態為暫停(Suspend)的VM虛擬主機。
·any則表示顯示ESX平台上所有VM虛擬主機。


▲圖3 目前運作於ESX虛擬化平台上的VM虛擬主機資訊。

查詢狀態為開機的VM虛擬主機資訊

執行指令「vcbVmName -h ‘hostname’ -u weithenn -p 123456 -s powerstate:on」,可以查詢到目前運作在ESX虛擬化平台中VM虛擬主機的名稱為DB,而IP位址為10.10.25.119,以及UUID與moref等資訊。


▲查詢狀態為開機(Power On)的VM虛擬主機資訊。

查詢狀態為關機的VM虛擬主機資訊

執行指令「vcbVmName -h ‘hostname’ -u weithenn -p 123456 -s powerstate:off」,可以得知目前VM虛擬主機在ESX虛擬化平台中的名稱為Web,以及UUID與moref等資訊。

並且可以看到有一個「IP address not set」訊息,其實並不是該VM虛擬主機未設定IP位址,而是該VM虛擬主機目前關機中,所以ESX虛擬化平台無法透過VMware Tools偵測到VM虛擬主機的IP位址。


▲查詢狀態為關機(Power Off)的VM虛擬主機資訊。

查詢此台ESX Host中所有的VM虛擬主機資訊

執行指令「vcbVmName -h ‘hostname’ -u weithenn -p 123456 -s any」,即可獲得此台ESX Host中所有的VM虛擬主機資訊。


▲查詢此台ESX Host中所有VM虛擬主機資訊。

備份單台VM虛擬主機(vcbMounter)

接著利用「vcbMounter」指令配合剛才所查詢到的相關參數,來指定備份某台VM虛擬主機,可以將執行備份動作後的檔案存放至與ESX虛擬化平台所能連接到的儲存設備中(例如FC-SAN、iSCSI、NFS、LocalHDD)。本次實作為將備份後的檔案存放到ESX虛擬化平台本機硬碟中。下列為相關備份參數的意義說明:

-a Type:欲備份VM虛擬主機所採用的資訊欄位。
·ipaddr:當VM虛擬主機已經安裝VMware Tools,並且為開機狀態下,此參數值才會有作用(因為必須讓ESX Host能夠偵測得到)。
·name:VM虛擬主機在ESX Host上的使用名稱,使用vSphere Client切換至Inventory模式即可看到。
·uuid:VM虛擬主機在ESX Host上使用的UUID,使用vSphere Client切換至〔Virtual Machines〕頁籤也可看到。
·moref:VM虛擬主機在ESX Host上使用的代號,為Managed Object References的縮寫也是ESX標示VM的一種作法。
-r PATH:要將VM虛擬主機備份到哪一個儲存資源路徑中,建議使用絕對路徑進行備份作業。

在執行之前,不必事先建立存放備份檔案的空資料夾,因為在備份作業執行的過程當中會自動建立。若已經事先建立空資料夾的話,當執行備份作業的時候,便會發生「Error: Mount point already exists.」的錯誤訊息。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!