以前曾經在WSFC平常管理操做篇和你們介紹過WSFC的維護模式,簡單來講,從WSFC 2012開始,經過維護模式能夠幫咱們完成暫停節點,自動排水,自動回覆的半自動化維護網絡
回顧一下WSFC的維護模式運做流程,此處以WSFC 2012開始爲例,在WSFC 2012以前,羣集的維護模式僅能暫停節點,但沒法自動移動負載ide
1.手動放置節點爲暫停模式spa
2.節點根據羣集角色優先級,參考放置策略,依次排水處理羣集負載至合適節點blog
3.負載都排水到該去的節點後,節點宣告爲暫停,不接受任何負載的遷移繼承
4.維護完成後參考放置策略故障回覆負載至合適節點內存
知識補遺
ci
若是在排水過程當中,單臺虛擬機沒法執行移動,不會影響總體排水的進度,其它虛擬機和負載會繼續正常執行排水,當排水結束後,報告排水失敗狀態
資源
一旦節點被置爲暫停模式,重啓以後也依然會是暫停狀態,除非管理員手動解除暫停get
若是排水過程很長,或勿操做了節點,支持取消排水操做,取消排水後,已排水出去的負載,能夠經過暫停模式故障回覆至原節點同步
咱們今天主要關注的是維護模式下的優先級粒度控制,自WSFC 2012開始,維護模式開始和放置策略深度整合,包括優先級,首選全部者,默認全部者,可能全部者,反相關性等,不管是暫停排水或是故障回覆,都會參考上述放置策略進行完整的評估,進而選擇合適的節點。
其中比較有趣的一點是維護模式和優先級的整合
默認狀況下,WSFC 2012開始優先級設置在如下場景生效
1.羣集節點關機開機時,優先聯機上線高優先級應用
2.節點置爲維護模式時,優先遷移處理高優先級應用
3.節點故障轉移時,優先轉移高優先級應用
這是大多數人都知道的,但事實上在WSFC 2012開始優先級和維護模式還有個有意思的整合,事實上優先級的設置居然能夠決定維護模式時候虛擬機的排水操做
自WSFC 2012開始,虛擬機資源類型開始多了一個MoveTypeThreshold屬性,經過該全局羣集屬性,便可以決定排水時虛擬機的排水操做,默認羣集全局策略,是針對於高優先級虛擬機 和 中優先級虛擬機 執行實時遷移,針對低優先級虛擬機執行快速遷移,這樣作的目的是爲了確保更高優先級的虛擬機首先得到遷移,正常提供服務,而不會由於低優先級虛擬機影響進度
WSFC 2012中MoveTypeThreshold默認值爲2000,即意味着,當發生維護排水時,大於等於2000優先級的虛擬機執行實時遷移操做,高優先級爲3000,中優先級爲2000,低優先級爲1000,所以默認高優先級和中優先級在維護模式能夠得到實時遷移
#查看全局策略
Get-ClusterResourceType 「Virtual Machine」 | Get-ClusterParameter MoveTypeThreshold | fl *
默認狀況下,若是咱們不對優先級作任何設置,全部虛擬機的優先級都爲中,即意味着不區分全部虛擬機優先級,這就可能當維護時候,可能優先遷移處理了不重要的角色,若是但願區分出羣集負載優先級,建議針對重要的負載設置優先級爲高,中,不重要的設置爲低,有序排列羣集負載,這樣當發生維護或故障轉移時,高優先級的資源首選會被處理上線提供服務,當咱們設置了優先級後,維護模式操做控制則有意義
若是是虛擬化羣集的話,上面託管了不少虛擬機,一些是重要的,一些是不重要的,咱們就能夠控制那些虛擬機在維護模式下得到實時遷移,那些虛擬機得到快速遷移,實時遷移可以保證遷移時不中斷提供服務,完整內存頁和增量內存頁都會被傳遞,快速遷移只是把虛擬機保存,而後發送到另外節點再開啓,相對來講,若是實時在用的虛擬機,快速遷移更改,由於不須要等待全部增量內存頁同步完成,實時遷移雖然能夠保證最高可用時間,可是一旦虛擬機實時再用,遷移過程有時會很慢。
咱們經過這樣的粒度控制,可讓低優先級虛擬機經過,快速遷移快速的完成維護排水,更多網絡帶寬留給實時遷移虛擬機使用,避免資源爭搶。
#修改全局策略
Get-ClusterResourceType 「Virtual Machine」 | Set-ClusterParameter MoveTypeThreshold 1000
羣集全局的維護排水操做支持如下四種配置策略
如設置爲1000,則除設置爲不自動啓動虛擬機外,全部低中高優先級都將得到實時遷移
如設置爲2000,則高和中優先級虛擬機得到實時遷移,低優先級虛擬機得到快速遷移
如設置爲3000,則高優先級虛擬機得到實時遷移,中和高優先級得到快速遷移
如設置爲3001,則維護模式下全部虛擬機都將執行快速遷移
以上咱們介紹的羣集維護模式操做策略是針對於全局的設置,即羣集內全部虛擬機默認都需遵照此策略
咱們也能夠針對某個虛擬機單獨設置排水操做策略,WSFC 2012開始,全部羣集虛擬機多出一個DefaultMoveType屬性
DefaultMoveType參數值及其行爲:
-1(4294967295) | 使用全局設置(MoveTypeThreshold) |
0 | 關閉虛擬機 |
1 | 保存虛擬機(快速遷移) |
2 | 關閉虛擬機 |
3 | 關閉虛擬機(強制) |
4 | 實時遷移虛擬機 |
#獲取虛擬機默認DefaultMoveType值
Get-ClusterResource "虛擬機 HQ-SPDB」 | Get-ClusterParameter | ft Name,Value
能夠看到,默認虛擬機設置爲4294967295,即遵照羣集維護模式操做全局策略,由羣集根據全局策略自主分配虛擬機維護模式操做
咱們也能夠打破這層繼承關係,針對某個虛擬機單獨設置粒度的排水操做,設置完成不需重啓節點,下次維護即生效
Get-ClusterResource "虛擬機 HQ-SPDB」 | Set-ClusterParameter DefaultMoveType 4