正確配置vSphere HA:確保虛擬機(jī)正常重啟
ESXi服務(wù)器發(fā)生故障后,VMware的vSphere HA將會快速重啟受影響的虛擬機(jī)。但是啟動虛擬機(jī)所需的資源足夠用嗎?如果不足,可能無法交付必需的虛擬機(jī)性能。虛擬化管理員應(yīng)正確配置vSphere HA,保護(hù)虛擬化應(yīng)用的性能,確保業(yè)務(wù)價值的實現(xiàn)。
vSphere HA特性最早在ESX 3中引入,硬件出錯或者管理員誤操作后,能夠恢復(fù)受影響的虛擬機(jī)。正是這些特性使vSphere成為了標(biāo)準(zhǔn)的企業(yè)虛擬化平臺。
vSphere HA解決了虛擬化的一個主要的關(guān)注點:當(dāng)10個、20個或者100個虛擬機(jī)運(yùn)行在單臺ESXi服務(wù)器上時存在的脆弱性。在虛擬化之前,單臺物理服務(wù)器故障只會影響一個應(yīng)用?,F(xiàn)在單臺物理服務(wù)器可能會承載30個應(yīng)用。如果ESXi服務(wù)器發(fā)生故障,HA將會快速重啟虛擬機(jī),將硬件故障帶來的影響降至最低。
但是vSphere HA只保護(hù)預(yù)留的資源,因此在配置vSphere高可用性環(huán)境時,設(shè)置合理的預(yù)留值是非常重要的一部分。既然vSphere HA保護(hù)為虛擬機(jī)預(yù)留的資源,那么設(shè)置預(yù)留值將非常重要;否則在硬件發(fā)生故障時虛擬機(jī)性能將受到影響。
這是一個常見的誤解:HA并不保護(hù)虛擬機(jī)所消耗的資源,只保護(hù)設(shè)置的預(yù)留資源。如果預(yù)留資源不夠,將無法保證性能。
如何確保虛擬機(jī)正確重啟
虛擬化管理員配置HA集群,主設(shè)置決定了是否針對故障提供保護(hù)以及預(yù)留多少資源來應(yīng)對服務(wù)器故障。在生產(chǎn)環(huán)境中,你總想使用訪問控制設(shè)置來應(yīng)對故障。你應(yīng)該在訪問控制策略設(shè)置中預(yù)留足夠多的資源來應(yīng)對故障。進(jìn)行了上述設(shè)置后,如果其中一臺主機(jī)發(fā)生故障,能夠確保正在運(yùn)行的虛擬機(jī)正常重啟。
我們無法確定虛擬機(jī)重啟之后的性能以及集群中其他虛擬機(jī)的性能狀況,因為這些虛擬機(jī)共享著同一個資源池。這是因為ESXi主機(jī)默認(rèn)并不保證向虛擬機(jī)交付任何的CPU或者內(nèi)存;除非設(shè)置了資源預(yù)留值否則不會為虛擬機(jī)預(yù)留任何資源。
在之前的文章《利用優(yōu)先級列表提升關(guān)鍵虛擬機(jī)性能:設(shè)定恰當(dāng)?shù)念A(yù)留值》中,我們討論了預(yù)留的重要性。預(yù)留確保了虛擬機(jī)獲取到了交付相應(yīng)的服務(wù)級別所需要的最小資源數(shù)量。在你使用vCenter啟動虛擬機(jī)時,在配置完故障級別后HA集群將檢查是否有足夠多未預(yù)留的資源。如果預(yù)留值為零,HA將允許你開啟大量的虛擬機(jī),但可用的資源將會減少或者虛擬機(jī)性能將會下降。
在問題出現(xiàn)前,通過限制正在運(yùn)行的虛擬機(jī)的數(shù)量可以確保在主機(jī)發(fā)生故障后虛擬機(jī)能夠交付所必需的性能。但更好的方式是為虛擬機(jī)配置預(yù)留值。為虛擬機(jī)設(shè)置預(yù)留值后,你可能會發(fā)現(xiàn)HA不允許你在集群中啟動太多的虛擬機(jī),而且ESXi服務(wù)器的資源利用率也不會非常高。如果主機(jī)出現(xiàn)故障,虛擬機(jī)的性能級別將不會受到影響,特別是具有高預(yù)留值的運(yùn)行關(guān)鍵業(yè)務(wù)虛擬機(jī)。關(guān)鍵虛擬機(jī)對業(yè)務(wù)的重要性表明ESXi服務(wù)器發(fā)生故障將對業(yè)務(wù)連續(xù)性產(chǎn)生不小的影響。
當(dāng)集群中優(yōu)先級低的虛擬機(jī)較多時,為虛擬機(jī)設(shè)置的預(yù)留值較低,你可能仍會看到ESXi主機(jī)硬件資源的利用率較為正常,因為在ESXi服務(wù)器發(fā)生故障時這些虛擬機(jī)占用的資源較少,仍能夠繼續(xù)運(yùn)行。