配置VMware虛擬機(jī)電源 以防數(shù)據(jù)損壞
您是否點擊過虛擬機(jī)上面的Power Off或Reset圖標(biāo),僅僅是就像從物理服務(wù)器上拔出插件一樣關(guān)閉虛擬機(jī),而沒有考慮過使用配置VMware虛擬機(jī)電源的方式來關(guān)閉電源?如果這樣做的話,可能會造成數(shù)據(jù)破壞。
VMware基礎(chǔ)架構(gòu)客戶端(VI Client:VMware Infrastructure Client)和Web Access接口都提供了可配置的電源管理選項圖標(biāo),您可以配置VMware虛擬機(jī)電源,改變虛擬機(jī)關(guān)機(jī)、重新啟動或者掛起的方法,在本文中將會介紹這些方法。
在虛擬機(jī)的遠(yuǎn)程控制窗口中可以看到這些配置VMware虛擬機(jī)電源選項;同樣,如果選擇一臺虛擬機(jī)的話,在命令行部分也可以看到,如下所示。
VI Client電源管理選項:
Web Access電源管理選項:
這些電源管理選項是可以配置的,并且配合使用VMware工具可以控制在虛擬機(jī)上執(zhí)行的各種各樣電源管理選項的操作(關(guān)機(jī)、啟動、掛起和重置)。默認(rèn)情況下的電源管理選項是“硬”的,也就是說從來不考慮使用合適的方式關(guān)閉操作系統(tǒng),而是直接強(qiáng)制移除虛擬機(jī)?!坝病标P(guān)機(jī)就像是直接拔掉物理服務(wù)器上面的電源線,“硬”重置就像是拔掉物理服務(wù)器的電源線后再重新插上。
這些選項都是可以更改的,可以通過配置VMware虛擬機(jī)電源把管理和重置操作改為“軟”的。這就是說通過一種更合適的方式關(guān)閉操作系統(tǒng)完成關(guān)機(jī)操作,或者重啟操作系統(tǒng)執(zhí)行重置操作。這正是要改變默認(rèn)電源管理配置的原因。簡單地講,配置VMware虛擬機(jī)電源可以防止強(qiáng)行關(guān)閉虛擬機(jī)可能帶來的數(shù)據(jù)毀損問題。傳統(tǒng)的電源管理選項是VMware工具的一部分,因此如果希望使用“軟”選項的話,就必須在虛擬機(jī)上安裝VMware工具。如果沒有安裝VMware工具的話,仍然可以把這些選項設(shè)置為“軟”操作,但是這些選項的執(zhí)行依舊是“硬”操作。
也可以把掛起設(shè)置為“軟”操作,默認(rèn)狀態(tài)或者“硬”掛起操作并沒有掛起虛擬機(jī)的操作系統(tǒng),只是保存虛擬機(jī)內(nèi)存中的數(shù)據(jù)然后關(guān)閉虛擬機(jī)。當(dāng)虛擬機(jī)再次啟動的時候就可以回到掛起前的相同狀態(tài)。由于操作系統(tǒng)并不能感知到掛起操作,所以“硬”掛起操作有可能帶來數(shù)據(jù)毀損。另一方方面,“軟”掛起可以保持虛擬機(jī)的開機(jī)狀態(tài)而通過客體操作系統(tǒng)啟動掛起操作。
默認(rèn)狀態(tài)下所有新虛擬機(jī)的電源管理選項都設(shè)置為“硬”操作,雖然不能夠修改這些默認(rèn)設(shè)置,但可以在創(chuàng)建虛擬機(jī)之后修改這些選項。有一重要事項需要注意:如果在遠(yuǎn)程控制臺和命令行窗口中可用的電源管理選項圖標(biāo)和命令是可以配置的,VI客戶端的右鍵點擊菜單和主菜單以及網(wǎng)絡(luò)接入客戶端的虛擬機(jī)菜單都不受這項個性化設(shè)置的影響。以如下方式訪問電源管理選項時,“硬”選項(如關(guān)閉電源)和“軟”選項(如關(guān)閉客體操作系統(tǒng))都是可用的:
如果使用VI客戶端改變虛擬機(jī)的電源管理選項,就必須首先關(guān)閉虛擬機(jī),再編輯虛擬機(jī)的設(shè)置。然后在“選項”標(biāo)簽頁上選擇“虛擬機(jī)工具設(shè)置”,如下所示:
在電源控制部分可以把關(guān)閉電源操作修改為關(guān)閉客體操作系統(tǒng),也可以把重置操作改為重啟客體操作系統(tǒng)。這些選項可以以一個“軟”的、更合適的方式關(guān)閉操作系統(tǒng),而不是“硬”關(guān)機(jī)。這些選項的設(shè)置保存在每臺虛擬機(jī)的.vmx配置文件中。當(dāng)然也可以通過直接編輯.vmx文件修改這些選項,但是必須關(guān)閉虛擬機(jī),才可以重寫這些修改。
使用VI客戶端不能把掛起設(shè)置為“軟”操作,修改掛起設(shè)置的***方式就是通過編輯.vmx文件或者使用VI工具包(PowerShell)。修改之后返回到VI客戶端重置編輯設(shè)置,就可以看到一個名字為“保持客體機(jī)備用(Put Guest on Standby)”的掛起選項,可以通過客體操作系統(tǒng)啟動掛起操作。如下是.vmx文件中電源控制四個設(shè)置:
powerType.powerOff = "soft"
powerType.powerOn = "default"
powerType.suspend = "default"
powerType.reset = "soft"
如果工作環(huán)境中有大量虛擬機(jī),逐個做修改就比較麻煩并且也比較耗時。幸運(yùn)的是可以使用簡單的PowerShell函數(shù)一次性修改多個虛擬機(jī)的配置,在at peetersonline.nl上可以找到Hugo Peeters寫的這個功能。該函數(shù)只修改了電源關(guān)閉操作,并不涉及重置和掛起操作,因此我又對此增加了單獨(dú)的函數(shù)。所有的函數(shù)都要檢查這些操作是否已經(jīng)設(shè)置為“軟”操作,如果是的話,就沒有必要修改。這種方法的一個優(yōu)點就是可以在虛擬機(jī)運(yùn)行時完成,而使用VI客戶端方法必須要關(guān)閉虛擬機(jī)。
按照以下步驟使用這些函數(shù):
輸入如上代碼,以.ps1為擴(kuò)展名保存文件;
啟動VMware工具箱;
輸入一個點和一個空格,然后輸入所保存的psl文件名(如c:\powershell\powersoft.ps1),點或空格保證在腳本運(yùn)行后可以使用該函數(shù);
為要修改電源管理選項的虛擬機(jī)名字設(shè)置一個變量。PowerShell中的變量以點開始,后面是變量的名字。這個變量可以指向單個、多個或者所有虛擬機(jī):指向單個或者一個虛擬機(jī),使用如下形式:$variable name=GetVM "VM name1", "VM name2"等 (如 $MyVMs=GetVM "Orange", "Green");指向所有虛擬機(jī),使用如下形式:$variable name=GetVM。設(shè)置變量之后,在PowerShell命令行通過變量名字可以檢查其設(shè)置;
定義目標(biāo)虛擬機(jī)之后,輸入函數(shù)名和變量名(如Set-SoftReset $MyVMs)運(yùn)行對虛擬機(jī)默認(rèn)設(shè)置的修改。
如下所示是一個簡單的PowerShell會話:
下圖顯示的是修改虛擬機(jī)默認(rèn)設(shè)置的函數(shù)運(yùn)行之后,虛擬機(jī)在電源管理選項的設(shè)置情況:
點擊電源管理選項圖標(biāo)就可以通過顯示的確認(rèn)信息了解其將是一個“軟”操作還是一個“硬”操作。例如,如果把重置設(shè)置為“軟”操作,則就會看到如下消息:
如果是一個“硬”操作的話,將會看到如下消息:
如上所示,使用PowerShell可以輕松地一次性修改很多虛擬機(jī)的電源管理選項設(shè)置。需要注意的是修改這些設(shè)置僅僅影響到遠(yuǎn)程控制臺圖標(biāo)和命令行窗口;仍然可以通過菜單強(qiáng)制執(zhí)行關(guān)機(jī)和重置操作。把這些選項修改為“軟”操作可以很好地排除意外的“硬”關(guān)機(jī)帶來的虛擬機(jī)客體操作系統(tǒng)內(nèi)部的數(shù)據(jù)信息毀損。這種配置VMware虛擬機(jī)電源得方法很有效,大家可以照著這些步驟試著來配置VMware虛擬機(jī)電源,看一看能否達(dá)到良好的效果。
【編輯推薦】