實時發(fā)布天互官方新聞和媒體報道,了解天互最新動態(tài)
默認(rèn)故障轉(zhuǎn)移策略
如果有節(jié)點遇到故障,虛擬機(jī)將被分散到其他群集節(jié)點上。在老版本 Windows Server 中,任何資源都可以分散到承載虛擬機(jī)數(shù)量最少的群集節(jié)點中。在 Windows Server 2012 中,這種邏輯進(jìn)行了改進(jìn),可以根據(jù)宿主機(jī)的內(nèi)存數(shù)量這一最常見的約束性資源,決定虛擬機(jī)的分散方式。每個虛擬機(jī)都可以放置到空閑內(nèi)存資源最多的節(jié)點中,并且會針對每個虛擬機(jī)的資源需求進(jìn)行評估,例如檢查虛擬機(jī)是否支持 NUMA。
如果承載多個虛擬機(jī)的群集節(jié)點崩潰,群集服務(wù)將尋找優(yōu)先級最高的虛擬機(jī),然后檢查其他所有節(jié)點,確定擁有空閑內(nèi)存最多的節(jié)點。隨后會在這個節(jié)點上啟動該虛擬機(jī)。這個過程可以針對所有虛擬機(jī)重復(fù)進(jìn)行,從優(yōu)先級最高的虛擬機(jī)開始按照優(yōu)先級高低執(zhí)行,直到所有虛擬機(jī)都重新放置。
虛擬機(jī)優(yōu)先級
在 Windows Server 2012 中,群集中運(yùn)行的每個虛擬機(jī)都可以分配優(yōu)先級:高、中,或低。這樣即可確保在群集運(yùn)行中,高優(yōu)先級的虛擬機(jī)可以得到最妥善的放置。同時通過使用這種方式可以確保組織最重要的服務(wù)或最關(guān)鍵的基礎(chǔ)架構(gòu)角色可比其他不那么重要的負(fù)載更快速的上線。
如果承載多個虛擬機(jī)的群集節(jié)點崩潰,那么首先將啟動高優(yōu)先級虛擬機(jī),隨后是中等優(yōu)先級虛擬機(jī),最后才是低優(yōu)先級的。相同的邏輯還將應(yīng)用于其他群集的運(yùn)營,例如并發(fā)實時遷移或節(jié)點維護(hù)模式,這種情況下優(yōu)先級高的虛擬機(jī)總是可以首先移動。
首選的所有者
從老版本 Windows Server 開始,就可以針對每個虛擬機(jī)配置故障轉(zhuǎn)移節(jié)點順序首選項。如果環(huán)境要求某些重要的虛擬機(jī)必須留在某些節(jié)點上,這一特性就顯得非常有用。例如,通常虛擬機(jī)都需要盡量留在主要數(shù)據(jù)中心(首選所有者)內(nèi)運(yùn)行,只有在主要站點不可用時,虛擬機(jī)才在備份數(shù)據(jù)中心內(nèi)運(yùn)行,實現(xiàn)災(zāi)難恢復(fù)。
如果承載了多個虛擬機(jī)的群集節(jié)點崩潰,高優(yōu)先級虛擬機(jī)會嘗試移動到首選所有者列表中的第一個節(jié)點。如果該節(jié)點不可用,那么虛擬機(jī)會繼續(xù)嘗試移動到首選所有者列表中的下一個節(jié)點。如果所有首選所有者都不可用,那么就會移動到可能的所有者列表中的第一個節(jié)點。
可能的所有者
在老版本 Windows 中,每個虛擬機(jī)還有可能的所有者設(shè)置。該設(shè)置使得虛擬機(jī)可以在不存在可用首選所有者的情況下也能移動到其他群集節(jié)點并啟動。某些環(huán)境要求就算沒有可用的首選所有者,也要在其他宿主機(jī)上運(yùn)行虛擬機(jī),此時這個功能就變得非常有用。在多站點群集中,位于備份站點的宿主機(jī)可以分配為可能的所有者,但不能作為首選所有者。在這樣的場景中,只有主站點沒有可用的節(jié)點(首選所有者)的情況下,虛擬機(jī)才會故障轉(zhuǎn)移到輔助站點。
如果承載了多個虛擬機(jī)的群集節(jié)點崩潰,高優(yōu)先級虛擬機(jī)會嘗試移動到首選所有者列表中的第一個節(jié)點。如果所有首選所有者都不可用,那么就會移動到可能的所有者列表中的第一個節(jié)點。如果可能的所有者列表中的第一個節(jié)點不可用,則會移動到列表中的下一個節(jié)點。如果首選所有者和可能的所有者列表中都沒有可用節(jié)點,虛擬機(jī)將會移動到任何其他節(jié)點,但保持離線狀態(tài)。取決于故障回復(fù)策略,只要相應(yīng)節(jié)點變得可用,虛擬機(jī)還可以重新回到首選所有者或可能的所有者,然后嘗試啟動。
故障恢復(fù)
在 Windows Server 2012 中,每個虛擬機(jī)還有一個選項非常重要,可以將虛擬機(jī)重新移動到首選所有者或可能的所有者,并從最首選的所有者嘗試啟動。如果希望確保將某些虛擬機(jī)保留到相同宿主機(jī)上,并且在從崩潰中恢復(fù)后重新將這些虛擬機(jī)移動到這些宿主機(jī)中,該功能就非常有用。
如果群集節(jié)點從崩潰中恢復(fù),并重新加入群集關(guān)系,那么任何沒有在首選所有者上運(yùn)行的虛擬機(jī)都將可以獲得通知,該節(jié)點已經(jīng)可用于進(jìn)行放置。該過程首先從可能的所有者上運(yùn)行的優(yōu)先級最高的虛擬機(jī)(或者位于其他節(jié)點上的離線虛擬機(jī))開始,每個虛擬機(jī)都將判斷該節(jié)點是否是最佳宿主機(jī),隨后在自己的首選所有者上執(zhí)行實時遷移(或啟動操作)。
保持模式
在高度虛擬化的環(huán)境中還會遇到一個問題:“引導(dǎo)風(fēng)暴”,如果同時啟動大量虛擬機(jī)就容易遇到這種問題。虛擬機(jī)的啟動要比標(biāo)準(zhǔn)的正常運(yùn)行狀態(tài)需要更多宿主機(jī)資源,因此啟動大量虛擬機(jī)有時候可能會使得宿主機(jī)過載,影響宿主機(jī)的性能,甚至導(dǎo)致宿主機(jī)崩潰(如果某些宿主機(jī)沒有設(shè)置資源保留就可能出現(xiàn)在這種情況)。作為一項安全措施,在故障轉(zhuǎn)移或節(jié)點重啟動過程中,并發(fā)啟動的虛擬機(jī)數(shù)量會受到限制(高優(yōu)先級的首先啟動),其他虛擬機(jī)會在隊列中等待啟動。就算這些虛擬機(jī)是在同時啟動,依然會分階段錯峰進(jìn)行,以確保不會對宿主機(jī)造成太大壓力。此外還可以通過配置一些選項避免遇到“引導(dǎo)風(fēng)暴”。
保持模式最早出現(xiàn)在 Windows Server 2008 R2 中,可以讓虛擬機(jī)保留在最后一次刻意放置(可能是由系統(tǒng)管理員決定的,或者 System Center Virtual Machine Manager 的放置策略決定的)后所分配的宿主機(jī)上。如果整個群集崩潰,每個虛擬機(jī)都會等待之前自己所在節(jié)點上線,然后開始啟動。當(dāng)然這個過程也是高優(yōu)先級虛擬機(jī)首先開始。這樣既可防止整個群集的所有虛擬機(jī)試圖在上線的第一個節(jié)點上啟動,有助于避免“引導(dǎo)風(fēng)暴”。群集服務(wù)將等待一個默認(rèn)設(shè)置的時間段,等待原始節(jié)點重新加入群集。如果節(jié)點在這個時間段內(nèi)沒有加入群集,虛擬機(jī)會被放置到最首選的所有者上,這樣既可確保虛擬機(jī)依然可以上線,同時使得新宿主機(jī)有機(jī)會首先啟動自己的虛擬機(jī)。
自動啟動
有些時候,如果群集故障轉(zhuǎn)移或崩潰,我們可能會希望某些不重要的虛擬機(jī)先不要啟動,這樣其他虛擬機(jī)就有更多機(jī)會進(jìn)行故障轉(zhuǎn)移,并盡可能快速地上線。老版本 Windows Server 就具備自動啟動屬性,如果該屬性被禁用,虛擬機(jī)在放置到節(jié)點上之后將不能自動啟動。
在高度虛擬化的環(huán)境中,這一特性會顯得非常有用,因為必須確保宿主機(jī)和關(guān)鍵的基礎(chǔ)架構(gòu)虛擬機(jī)能夠正常運(yùn)行,不用擔(dān)心這些群集中承載的并不需要持續(xù)可用的虛擬機(jī)所造成的資源約束或“引導(dǎo)風(fēng)暴”。這些虛擬機(jī)可以稍后由管理員或自動化腳本啟動。
Anti-Affinity
Windows Server 2012 之前就已存在最終放置策略,但主要考慮的是其他虛擬機(jī),而非宿主機(jī)。群集屬性 AntiAffinityClassName(AACN)使得您可以對虛擬機(jī)添加自定義的標(biāo)簽,這樣不同虛擬機(jī)就可以共享或使用不同的 AACN。共享同一個 AACN 的虛擬機(jī)可以自動將其分散到不同的宿主機(jī)。這樣有助于在同一套基礎(chǔ)架構(gòu)角色中跨越群集中的不同節(jié)點對租戶或虛擬機(jī)進(jìn)行隔離。例如,讓所有虛擬化的 DNS 服務(wù)器或來賓群集節(jié)點位于同一臺宿主機(jī)上,一旦該節(jié)點崩潰就會造成單點故障,因此將這些虛擬機(jī)分散在不同的宿主機(jī)上,有助于為服務(wù)提供持續(xù)可用性。
假設(shè)有一個包含四個節(jié)點和四個虛擬機(jī)的群集,每個虛擬機(jī)的 AntiAffinityClass-Name 都設(shè)置為“藍(lán)色”,那么默認(rèn)情況下,每個節(jié)點都可以承載“藍(lán)色”虛擬機(jī)。如果使用相同 AACN 的“藍(lán)色”虛擬機(jī)的數(shù)量超過群集中的節(jié)點總數(shù),那么每個節(jié)點上就可能有超過一個“藍(lán)色”虛擬機(jī),但這些虛擬機(jī)依然會盡可能保持更廣泛的平均分散。
結(jié)論
通過使用這些策略,就可以對 Windows Server 2012 故障轉(zhuǎn)移群集中的虛擬機(jī)放置進(jìn)行優(yōu)化。永遠(yuǎn)要記得為虛擬機(jī)配置優(yōu)先級,這樣高優(yōu)先級虛擬機(jī)就可以優(yōu)先放置,此外還要考慮如果任何節(jié)點變?yōu)椴豢捎茫摂M機(jī)將用怎樣的方式進(jìn)行放置。