溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

發(fā)布時(shí)間:2020-07-06 00:37:53 來(lái)源:網(wǎng)絡(luò) 閱讀:6433 作者:老收藏家 欄目:建站服務(wù)器

之前在WSFC基礎(chǔ)知識(shí)奠基篇曾經(jīng)為大家介紹過(guò)微軟WSFC故障轉(zhuǎn)移的過(guò)程,我們來(lái)重溫一下


1.按照要求部署配置群集節(jié)點(diǎn),確保群集服務(wù)器利用了冗余技術(shù)消除了服務(wù)器,網(wǎng)絡(luò),存儲(chǔ)的單一故障點(diǎn)

2.保證群集內(nèi)所有節(jié)點(diǎn)都可以訪問(wèn)到共享存儲(chǔ)

3.群集應(yīng)用將應(yīng)用數(shù)據(jù)寫(xiě)入到群集共享存儲(chǔ)

4.管理員新增節(jié)點(diǎn)1服務(wù)器上面功能角色,新增完成后節(jié)點(diǎn)1服務(wù)器群集數(shù)據(jù)庫(kù)記錄新增的角色功能以及相關(guān)聯(lián)的信息,稍后會(huì)把信息同步至其它節(jié)點(diǎn)2,及群集仲裁磁盤

5.群集節(jié)點(diǎn)之間按照預(yù)定的心跳檢測(cè)頻率進(jìn)行全網(wǎng)握手檢測(cè)

6.節(jié)點(diǎn)1出現(xiàn)故障服務(wù)器忽然關(guān)機(jī),這時(shí)節(jié)點(diǎn)2心跳檢測(cè)頻率達(dá)到閾值,判定節(jié)點(diǎn)1已經(jīng)離線

7.節(jié)點(diǎn)2判定節(jié)點(diǎn)1已經(jīng)離線后,會(huì)根據(jù)已經(jīng)同步的群集數(shù)據(jù)庫(kù)信息,查看節(jié)點(diǎn)1服務(wù)器當(dāng)前承載的群集應(yīng)用,重新將群集應(yīng)用與關(guān)聯(lián)IP地址,群集磁盤在節(jié)點(diǎn)2進(jìn)行上線

8.客戶端正常訪問(wèn)群集名稱,使用群集服務(wù),但原有節(jié)點(diǎn)1的群集應(yīng)用,現(xiàn)已由節(jié)點(diǎn)2提供,故障轉(zhuǎn)移結(jié)束


本篇我們將主要關(guān)注與群集故障轉(zhuǎn)移的發(fā)生,大家可以看到從第五步開(kāi)始,群集開(kāi)始進(jìn)行運(yùn)行狀況檢測(cè),隨后以運(yùn)行狀況檢查結(jié)果,來(lái)決定群集節(jié)點(diǎn)是否應(yīng)執(zhí)行故障轉(zhuǎn)移


這在任何一個(gè)高可用群集里面都是必須的,只要群集是高可用性質(zhì),那么一定會(huì)有一種節(jié)點(diǎn)運(yùn)行狀況檢測(cè)的機(jī)制,這種機(jī)制可以是ping檢測(cè),握手檢測(cè),API探測(cè)檢測(cè),總之我們需要一種機(jī)制來(lái)準(zhǔn)確確保節(jié)點(diǎn)的健康與否


針對(duì)于節(jié)點(diǎn)的運(yùn)行狀況檢測(cè)機(jī)制是否準(zhǔn)確,是一個(gè)群集的核心,真正可以被使用的群集運(yùn)行狀況檢測(cè)機(jī)制,應(yīng)該是準(zhǔn)確可以反應(yīng)節(jié)點(diǎn)健康與否狀態(tài)的,同時(shí)可以根據(jù)實(shí)際情況靈活更改健康監(jiān)測(cè)的閾值。


節(jié)點(diǎn)的運(yùn)行狀況檢測(cè)是故障轉(zhuǎn)移里面執(zhí)行節(jié)點(diǎn)故障轉(zhuǎn)移的依據(jù),針對(duì)于節(jié)點(diǎn)的運(yùn)行狀況檢測(cè)如果達(dá)到了一定閾值,群集就會(huì)判定該節(jié)點(diǎn)故障,隨之會(huì)導(dǎo)致節(jié)點(diǎn)上面所有承載的群集資源進(jìn)行failover操作,而failover操作有時(shí)又會(huì)產(chǎn)生停機(jī)時(shí)間,因此,群集節(jié)點(diǎn)運(yùn)行狀況的檢測(cè)頻率,和決定要進(jìn)行故障檢測(cè)的閾值,一定是要進(jìn)行環(huán)境評(píng)估的。


群集中健康檢測(cè)分為兩大類,一類是節(jié)點(diǎn)檢測(cè),一類是資源檢測(cè),節(jié)點(diǎn)的檢測(cè)更為簡(jiǎn)單,不需要置備很多重試邏輯,只要我群集規(guī)定的運(yùn)行狀況檢測(cè)方式,你在規(guī)定時(shí)間,規(guī)定次數(shù)里面沒(méi)有讓群集檢測(cè)到,群集就認(rèn)為你是出現(xiàn)故障的,無(wú)法再提供服務(wù),需要對(duì)你進(jìn)行所有應(yīng)用的failover


而資源檢測(cè)相對(duì)于節(jié)點(diǎn)檢測(cè),則更為復(fù)雜一些,可以把節(jié)點(diǎn)檢測(cè)理解為外層的檢測(cè),針對(duì)于一個(gè)節(jié)點(diǎn)level的檢測(cè),如果節(jié)點(diǎn)檢測(cè)失敗,則節(jié)點(diǎn)上所有資源failover,資源檢測(cè)則更關(guān)注資源級(jí)別的運(yùn)行狀況,正如老王在日志排錯(cuò)進(jìn)階篇講解到的,群集里面每個(gè)資源都會(huì)有自己的resource.dll,群集正常運(yùn)作過(guò)程中,RHS會(huì)按照每個(gè)資源的resource.dll定義對(duì)資源進(jìn)行l(wèi)ookalive和isalive的檢測(cè),針對(duì)于每個(gè)資源的lookalive和isalive檢測(cè)方式都會(huì)不同,lookalive只是粗略檢測(cè),isalive則更為深入,isalive檢測(cè)的結(jié)果會(huì)報(bào)告給RCM,RCM會(huì)再根據(jù)資源的故障策略,進(jìn)行失敗重試,在機(jī)器上嘗試多次啟動(dòng)資源,或把資源轉(zhuǎn)移到其他節(jié)點(diǎn)運(yùn)行。


總結(jié)來(lái)說(shuō),節(jié)點(diǎn)的運(yùn)行狀況檢測(cè)結(jié)果,決定了節(jié)點(diǎn)上面所有應(yīng)用是否要被故障轉(zhuǎn)移,資源的運(yùn)行狀況檢測(cè)結(jié)果,決定了單個(gè)資源是否要被按照故障策略進(jìn)行操作。資源檢測(cè)更為復(fù)雜,要根據(jù)resource dll定義的檢測(cè)方法,考慮多種情況,來(lái)進(jìn)行l(wèi)ookalive和isalive的檢測(cè)。管理員針對(duì)一些資源也可以收到設(shè)置故障策略,例如不嘗試重啟,直接出現(xiàn)失敗就轉(zhuǎn)移到其他節(jié)點(diǎn),或重啟資源嘗試三次失敗,再轉(zhuǎn)移到其他節(jié)點(diǎn)。


在過(guò)去單個(gè)資源的RHS檢測(cè)失敗,可能還會(huì)影響到其它群集資源,2008之后,大多數(shù)程序都已經(jīng)被隔離到單獨(dú)的RHS進(jìn)程中進(jìn)行檢測(cè),因此很少會(huì)出現(xiàn)單個(gè)資源檢測(cè)影響到其它資源的場(chǎng)景。


節(jié)點(diǎn)運(yùn)行狀況檢測(cè)結(jié)果影響面更大,資源運(yùn)行狀況檢測(cè)影響面只是單個(gè)資源。大家只需要這樣記住就可以了


介紹了一些基本的理論之后,我們?cè)賮?lái)專注于節(jié)點(diǎn)的運(yùn)行狀況檢測(cè)


在WSFC 2012時(shí)×××始,微軟針對(duì)于節(jié)點(diǎn)的運(yùn)行狀況發(fā)生了改變,不再簡(jiǎn)單的執(zhí)行一個(gè)ping操作,而是會(huì)執(zhí)行一個(gè)真正的握手


例如,當(dāng)前群集里面有2個(gè)節(jié)點(diǎn),默認(rèn)情況下他們每間隔一秒做一次全網(wǎng)檢測(cè),每個(gè)節(jié)點(diǎn)與節(jié)點(diǎn)之前都會(huì)進(jìn)行檢測(cè),如果這次握手檢測(cè)為節(jié)點(diǎn)1發(fā)起,實(shí)際上它會(huì)執(zhí)行一個(gè)握手,通過(guò)UDP 3343端口發(fā)送134byte的檢測(cè)信號(hào),詢問(wèn)節(jié)點(diǎn)2你在嗎,節(jié)點(diǎn)回復(fù),我在,那么你呢,你在嗎,節(jié)點(diǎn)1回復(fù)我也在。到這里一個(gè)檢測(cè)結(jié)束,WSFC的節(jié)點(diǎn)運(yùn)行狀況檢測(cè),是每隔一秒,會(huì)在所有節(jié)點(diǎn)之間都執(zhí)行這種運(yùn)行狀況檢測(cè),確保沒(méi)有節(jié)點(diǎn)會(huì)被遺漏,節(jié)點(diǎn)運(yùn)行狀況檢測(cè)主要是通過(guò)UDP 3343端口



那么進(jìn)行這個(gè)UDP 3343端口的檢測(cè),是在群集里面那塊網(wǎng)卡進(jìn)行呢,答案是所有已被勾選用于群集通信的網(wǎng)絡(luò),在WSFC 2008時(shí)代之后,群集只有三種網(wǎng)絡(luò)類型,分別是 


0 無(wú)群集通信 

1 啟用客戶端和群集通信

3 僅用作群集通信


默認(rèn)情況下,在我們創(chuàng)建群集,或添加群集時(shí),群集內(nèi)部會(huì)有一個(gè)網(wǎng)絡(luò)拓?fù)渖善鱽?lái)幫我們自動(dòng)去啟發(fā)網(wǎng)卡的群集網(wǎng)絡(luò)類型,生成群集內(nèi)網(wǎng)絡(luò)通信拓?fù)洹?/span>


例如


如果檢測(cè)到網(wǎng)卡上面跑了ISCSI Initiator,那么自動(dòng)啟發(fā)它為類型0無(wú)群集通信,確保存儲(chǔ)網(wǎng)絡(luò)只用來(lái)交換存儲(chǔ)數(shù)據(jù)


如果檢測(cè)到網(wǎng)卡上面配置了網(wǎng)關(guān),那么拓?fù)渖善鲿?huì)以為你這塊卡是要與外面客戶端通信提供服務(wù)的,因此會(huì)自動(dòng)把設(shè)置了網(wǎng)關(guān)的網(wǎng)卡設(shè)置為群集網(wǎng)絡(luò)類型3


如果檢測(cè)到網(wǎng)卡上面沒(méi)有設(shè)置網(wǎng)關(guān),那么拓?fù)渖善鲿?huì)以為你這塊卡只是要做內(nèi)部群集通信的,不需要對(duì)外提供服務(wù),會(huì)被設(shè)置為群集群集網(wǎng)絡(luò)類型1


需要注意,群集里面群集通信這種流量下面會(huì)做三件事 


1.執(zhí)行群集內(nèi)所有節(jié)點(diǎn)的運(yùn)行狀況全網(wǎng)檢測(cè) 

2.執(zhí)行群集數(shù)據(jù)庫(kù)的更新同步 

3.執(zhí)行群集CSV元數(shù)據(jù)的同步


這三種操作都對(duì)網(wǎng)絡(luò)質(zhì)量的要求極高,尤其是CSV元數(shù)據(jù)和群集數(shù)據(jù)庫(kù),如果因?yàn)榫W(wǎng)絡(luò)質(zhì)量不好,頻繁丟包,會(huì)導(dǎo)致群集數(shù)據(jù)庫(kù)更新慢,可能會(huì)體現(xiàn)為操作執(zhí)行下去很久返回結(jié)果,或CSV操作寫(xiě)入數(shù)據(jù)效率低下


因此建議對(duì)于群集網(wǎng)絡(luò)類型3的群集網(wǎng)卡,規(guī)劃好網(wǎng)絡(luò)質(zhì)量,確保不會(huì)出現(xiàn)丟包現(xiàn)象,默認(rèn)情況下針對(duì)于這三種流量會(huì)由群集網(wǎng)絡(luò)類型3的網(wǎng)卡來(lái)做,如果一旦群集網(wǎng)絡(luò)類型3的網(wǎng)卡失敗,那么群集會(huì)通過(guò)網(wǎng)絡(luò)拓?fù)渖善髦匦乱?guī)劃流量群集通信流量由網(wǎng)絡(luò)類型1執(zhí)行,但一定不會(huì)讓網(wǎng)絡(luò)類型0執(zhí)行。


群集網(wǎng)絡(luò)類型3的網(wǎng)卡我們通常需要額外配置一些東西,例如不要設(shè)置網(wǎng)卡DNS 服務(wù)器、WINS 服務(wù)器或默認(rèn)網(wǎng)關(guān),取消群集類型3網(wǎng)卡DNS注冊(cè),禁用Netbios,調(diào)整網(wǎng)卡順序,讓群集類型1網(wǎng)卡最前,確保群集類型3網(wǎng)卡在后面,這些設(shè)置大都是為了確保故障轉(zhuǎn)移后,應(yīng)用聯(lián)機(jī)DNS可以直接快速使用群集類型1進(jìn)行注冊(cè),確保出站網(wǎng)絡(luò)連接時(shí)始終是網(wǎng)絡(luò)類型1優(yōu)先級(jí)最高,確保訪問(wèn)AD進(jìn)行身份驗(yàn)證時(shí)對(duì)外網(wǎng)卡優(yōu)先級(jí)最高,在WSFC 2012之后對(duì)于網(wǎng)卡順序開(kāi)始變得不再重要,WSFC 2016時(shí)代已經(jīng)取消了網(wǎng)卡訪問(wèn)順序設(shè)置,因此大部分場(chǎng)景只需要去掉群集類型3網(wǎng)卡的DNS和Netbios注冊(cè)即可


如果WSFC 2016群集是依賴于AD的群集,例如基于域驗(yàn)證的SQL Server群集,您擔(dān)心不設(shè)計(jì)網(wǎng)卡順序,當(dāng)進(jìn)行AD域驗(yàn)證時(shí)萬(wàn)一挑選由群集類型3網(wǎng)卡進(jìn)行,會(huì)因?yàn)榫W(wǎng)卡聯(lián)系不到AD而超時(shí),影響依賴于AD的群集應(yīng)用程序性能,那么您可以選擇通過(guò)Powwershell命令修改網(wǎng)卡接口度量值,以達(dá)到以前控制網(wǎng)卡順序優(yōu)先級(jí)的目的


配置命令如下,度量值越低優(yōu)先級(jí)越高

Set-NetIPInterface -InterfaceAlias“LAN”-InterfaceMetric 1  

Set-NetIPInterface -InterfaceAlias“CLUS”-InterfaceMetric 2

Set-NetIPInterface -InterfaceAlias“ISCSI”-InterfaceMetric 3

如果群集應(yīng)用不依賴于AD,或群集部署為工作組模型,那么完全沒(méi)必要進(jìn)行設(shè)置。


針對(duì)于我們本文提到的節(jié)點(diǎn)運(yùn)行狀況檢測(cè),會(huì)由NetFT這個(gè)組件進(jìn)行構(gòu)建檢測(cè)拓?fù)?,NetFT通常指的是Failover Cluster Virtual Adapter,當(dāng)我們安裝群集之后,在設(shè)備管理器里面顯示隱藏設(shè)備可以看到有這樣一個(gè)虛擬網(wǎng)絡(luò)適配器,用ipconfig /all也可以看到這塊網(wǎng)卡,但是并沒(méi)有配置IP地址,這個(gè)群集虛擬網(wǎng)絡(luò)適配器的主要作用是幫助我們構(gòu)建一個(gè)群集中網(wǎng)絡(luò)通信的高可用拓?fù)?,例如,我們?nèi)杭?jié)點(diǎn)與節(jié)點(diǎn)之間要進(jìn)行心跳檢測(cè),每隔一段時(shí)間,NetFT就會(huì)去幫我們重新構(gòu)建這個(gè)拓?fù)?,例如?jié)點(diǎn)1和節(jié)點(diǎn)2,分別有兩塊網(wǎng)卡,一塊專用于群集網(wǎng)絡(luò),一塊用于群集網(wǎng)絡(luò)+管理網(wǎng)絡(luò),那么當(dāng)NetFT檢測(cè)到如果專用的群集網(wǎng)絡(luò)不能執(zhí)行心跳檢測(cè),就會(huì)動(dòng)態(tài)切換至另外一塊網(wǎng)卡幫助我們進(jìn)行心跳檢測(cè),NetFT的功能主要就是幫助管理員自動(dòng)構(gòu)建群集先有的通信拓?fù)?,在最大程度的幫我們確保群集網(wǎng)絡(luò)都可以正常的通信。



我們已經(jīng)知道了節(jié)點(diǎn)運(yùn)行狀況檢測(cè)是基于UDP 3343端口發(fā)起的實(shí)際握手檢測(cè),但是每隔多少秒檢測(cè)一次,檢測(cè)的時(shí)間和閾值,是可以進(jìn)行配置修改的。最終,我們是要結(jié)合實(shí)際場(chǎng)景來(lái)修改更為合適的閾值。


例如,如果場(chǎng)景的需求是要求應(yīng)用必須達(dá)到高可用,節(jié)點(diǎn)和應(yīng)用非常重要一定不能出現(xiàn)問(wèn)題,沒(méi)有瞬時(shí)中斷的情況,網(wǎng)絡(luò)狀況非常好,那么我們就可以設(shè)置節(jié)點(diǎn)檢測(cè)嚴(yán)格一些,例如每隔一秒檢測(cè)一次,五次檢測(cè)失敗,就標(biāo)記節(jié)點(diǎn)為故障狀態(tài),故障轉(zhuǎn)移上面所有的資源應(yīng)用。


如果場(chǎng)景就是避免不了瞬時(shí)中斷的情況,例如客戶的網(wǎng)卡就是不太穩(wěn)定 會(huì)忽然斷掉又馬上好了,系統(tǒng)很慢,檢測(cè)信號(hào)maybe不會(huì)那么快響應(yīng),這時(shí)候您也可以把檢測(cè)閾值設(shè)置的寬松一些,例如針對(duì)這種瞬時(shí)中斷的場(chǎng)景,設(shè)置當(dāng)20次檢測(cè)失敗時(shí)才觸發(fā)故障轉(zhuǎn)移操作


微軟的建議首先是檢測(cè)時(shí)間不要更改,始終保持每隔一秒進(jìn)行一次全網(wǎng)心跳檢測(cè),其次是檢測(cè)失敗次數(shù)不要改的過(guò)于寬松,最長(zhǎng)建議設(shè)置為20次,如果設(shè)置的超過(guò)20次,設(shè)置次數(shù)過(guò)多,會(huì)導(dǎo)致應(yīng)用宕機(jī)很久才會(huì)被發(fā)現(xiàn),延遲宕機(jī)時(shí)間,上面所有應(yīng)用都會(huì)受到影響,因此微軟建議寬松的閾值最高為20次。


其實(shí)更改這樣一個(gè)節(jié)點(diǎn)檢測(cè)的閾值很簡(jiǎn)單,一條命令的事情,但更多的是我們要思考應(yīng)用的運(yùn)行狀況,來(lái)選擇最適合的閾值


如果說(shuō)您的環(huán)境,對(duì)于應(yīng)用的可用性要求的很嚴(yán)格,一旦節(jié)點(diǎn)出現(xiàn)問(wèn)題,應(yīng)用需要立刻被故障轉(zhuǎn)移到其它節(jié)點(diǎn)上,且您的環(huán)境中網(wǎng)絡(luò)質(zhì)量很高,不會(huì)出現(xiàn)丟包,瞬時(shí)中斷的情況,那么您可以設(shè)置檢測(cè)閾值為5或10,這樣帶來(lái)的好處是應(yīng)用始終在最可靠的節(jié)點(diǎn)運(yùn)行,只要應(yīng)用當(dāng)前運(yùn)作節(jié)點(diǎn)5次檢測(cè)lost,立刻failover到其它節(jié)點(diǎn),但隨之帶來(lái)的問(wèn)題是,一定要確保網(wǎng)絡(luò)環(huán)境無(wú)瞬時(shí)中斷,一旦出現(xiàn)瞬時(shí)中斷的情況,應(yīng)用會(huì)頻繁的進(jìn)行failover,因此設(shè)置檢測(cè)閾值嚴(yán)格的前提,一定是對(duì)于應(yīng)用可用性要求嚴(yán)格,網(wǎng)絡(luò)環(huán)境足夠穩(wěn)定。


如果說(shuō)您的環(huán)境,網(wǎng)絡(luò)質(zhì)量不高,確實(shí)會(huì)存在瞬時(shí)中斷,檢測(cè)信號(hào)有時(shí)不會(huì)及時(shí)響應(yīng),那么您可以選擇設(shè)置檢測(cè)閾值寬松一些,最高建議設(shè)置到20次信號(hào)丟失,再進(jìn)行故障轉(zhuǎn)移,這是個(gè)微軟的最佳實(shí)踐。設(shè)置檢測(cè)閾值寬松,帶來(lái)的好處是,確保節(jié)點(diǎn)正常情況下不會(huì)被故障轉(zhuǎn)移,容許20次信號(hào)檢測(cè)失敗,maybe是因?yàn)楣?jié)點(diǎn)距離遠(yuǎn),或者有瞬時(shí)中斷的情況。帶來(lái)的壞處是,如果設(shè)置的閾值過(guò)于寬松,將會(huì)延遲宕機(jī)時(shí)間,例如,如果節(jié)點(diǎn)確實(shí)宕機(jī)了,但是卻在60次檢測(cè)后才觸發(fā)故障轉(zhuǎn)移,原本5次檢測(cè)后就該故障轉(zhuǎn)移的,因此這額外的55次檢測(cè)的過(guò)程就是額外的宕機(jī)時(shí)間。


對(duì)于設(shè)置節(jié)點(diǎn)檢測(cè)閾值寬松這件事情,一個(gè)層面是解決跨子網(wǎng)檢測(cè)的情況,例如北京2節(jié)點(diǎn),廣州2節(jié)點(diǎn),這樣一個(gè)四節(jié)點(diǎn)跨地域跨子網(wǎng)的群集,由于網(wǎng)絡(luò)鏈路過(guò)于復(fù)雜,5次檢測(cè)有時(shí)確實(shí)會(huì)因?yàn)榫W(wǎng)絡(luò)鏈路而導(dǎo)致檢測(cè)失敗,觸發(fā)故障轉(zhuǎn)移,因此您應(yīng)該調(diào)整他們的檢測(cè)閾值,但最多不要超過(guò)20,另外一點(diǎn),調(diào)整檢測(cè)閾值寬松,也是為了應(yīng)對(duì)瞬時(shí)中斷的問(wèn)題,如果網(wǎng)絡(luò)環(huán)境質(zhì)量不高,不夠穩(wěn)定,會(huì)出現(xiàn)無(wú)法避免的丟包,但又不想頻繁的故障轉(zhuǎn)移,那么也可以調(diào)整檢測(cè)閾值為20。


針對(duì)于瞬時(shí)中斷的情況,WSFC 2016里面已經(jīng)有了新的技術(shù),即VM彈性,默認(rèn)情況下該功能被開(kāi)啟,對(duì)于虛擬化群集來(lái)講,微軟默認(rèn)認(rèn)為環(huán)境會(huì)存在瞬時(shí)中斷的問(wèn)題,因此對(duì)于虛擬機(jī)資源新增了兩個(gè)狀態(tài),如果240秒內(nèi)出現(xiàn)瞬時(shí)故障,則節(jié)點(diǎn)進(jìn)入隔離狀態(tài),虛擬機(jī)會(huì)處于無(wú)監(jiān)視狀態(tài),虛擬機(jī)仍然可以正常運(yùn)行或暫停。如果1小時(shí)內(nèi)節(jié)點(diǎn)三次被隔離,則群集認(rèn)為節(jié)點(diǎn)存在問(wèn)題,需要被徹底排查,因此會(huì)被置為檢疫狀態(tài),實(shí)時(shí)遷移所有虛擬機(jī)到其它節(jié)點(diǎn),到達(dá)7200秒時(shí)間之前,檢疫節(jié)點(diǎn)會(huì)被排查,不會(huì)正常加入群集。


WSFC 2016里面的VM彈性技術(shù),主要提出的是一種新的思路,微軟知道對(duì)于虛擬化群集瞬時(shí)中斷比較多,經(jīng)常因?yàn)榫W(wǎng)絡(luò)質(zhì)量而導(dǎo)致故障轉(zhuǎn)移,所以新增了隔離到檢疫到正常修復(fù)加入的流程。但是這項(xiàng)功能僅針對(duì)于VM資源有效,且默認(rèn)的隔離時(shí)間過(guò)長(zhǎng),如果要使用這項(xiàng)功能,首先你需要了解它,老王在前面博客有詳細(xì)寫(xiě),然后需要調(diào)整這些閾值,240秒,3次隔離進(jìn)檢疫,檢疫7200秒。如果不想要這項(xiàng)功能,也可以直接關(guān)閉。則群集又回到以前完全參照運(yùn)行狀況檢測(cè)閾值設(shè)定進(jìn)行故障轉(zhuǎn)移,需要注意,運(yùn)行狀況檢測(cè)針對(duì)于節(jié)點(diǎn)生效,一旦運(yùn)行狀況檢測(cè)閾值達(dá)到,所有節(jié)點(diǎn)資源將會(huì)被failover,而VM彈×××,則隔離狀態(tài)下,只有虛擬機(jī)會(huì)被置為未監(jiān)視狀態(tài)。因此大家可以根據(jù)實(shí)際場(chǎng)景選擇要是用的功能。


OK,涉及到的理論都講清楚了,接下來(lái)看操作命令就簡(jiǎn)單多了


調(diào)整運(yùn)行狀況檢測(cè)閾值涉及到的參數(shù)如下

Delay為檢測(cè)頻率,Threshold為我們說(shuō)的檢測(cè)閾值

除了下表中列出的,在2012時(shí)代還有一種情況,即節(jié)點(diǎn)添加Hyper-V角色作為Hyper-V群集,那么SameSubnetThreshold會(huì)被自動(dòng)設(shè)置為10,CrossSubnetThreshold會(huì)被自動(dòng)設(shè)置為20,猜想可能是因?yàn)槲④浛紤]Hyper-V上面虛擬機(jī)可能很多,5會(huì)導(dǎo)致頻繁故障轉(zhuǎn)移,故障轉(zhuǎn)移時(shí)間也較長(zhǎng),而且也考慮到瞬時(shí)中斷情況,因此虛擬化場(chǎng)景下,10和20為最佳


參數(shù)  WSFC2012R2  WSFC2016  最大值
  SameSubnetDelay  1秒  1秒  2秒
  SameSubnetThreshold  5心跳  10個(gè)心跳  120心跳
  CrossSubnetDelay  1秒  1秒  4秒
  CrossSubnetThreshold  5心跳  20個(gè)心跳  120心跳
  CrossSiteDelay  NA  1秒  4秒
  CrossSiteThreshold  NA  20個(gè)心跳  120心跳


在WSFC 2016之前,當(dāng)我們要調(diào)整節(jié)點(diǎn)運(yùn)行狀況檢測(cè)閾值時(shí)只有相同子網(wǎng)和跨子網(wǎng),這四個(gè)選項(xiàng)可以設(shè)置,CrossSite是新增的功能


這里的Site是依據(jù)我們通過(guò)定義故障域,定義出來(lái)的站點(diǎn)為基準(zhǔn),因此跨站點(diǎn)心跳檢測(cè)可以被歸置到站點(diǎn)感知功能下


在WSFC 2016中,如果我們分別對(duì)這三種場(chǎng)景,同子網(wǎng),跨子網(wǎng),跨站點(diǎn)進(jìn)行了設(shè)置,不同的場(chǎng)景下它們的生效優(yōu)先級(jí)也不一樣


如果集群節(jié)點(diǎn)在同一個(gè)站點(diǎn)和相同的子網(wǎng)中,則相同子網(wǎng)的閾值生效

如果集群節(jié)點(diǎn)在同一個(gè)站點(diǎn)和兩個(gè)不同的子網(wǎng)中,則跨子網(wǎng)閾值生效

如果集群節(jié)點(diǎn)位于不同的站點(diǎn)和不同的子網(wǎng)中,則跨站點(diǎn)閾值將覆蓋跨子網(wǎng)閾值

如果集群節(jié)點(diǎn)位于不同的站點(diǎn)和相同的子網(wǎng)中,則跨站點(diǎn)閾值將覆蓋相同子網(wǎng)的閾值


這里和之前最大的不同點(diǎn),在于多了不同站點(diǎn)的概念,如果你定了節(jié)點(diǎn)在不同站點(diǎn),那么群集就會(huì)認(rèn)為,他們之間離得很遠(yuǎn),需要被應(yīng)用不同站點(diǎn)的檢測(cè)閾值,那怕它們?cè)谕粋€(gè)子網(wǎng)


這很適合stretch vlan的場(chǎng)景,即有的群集節(jié)點(diǎn)雖然離得很遠(yuǎn),但是存在同一個(gè)子網(wǎng)下,因此你沒(méi)辦法控制,說(shuō)其它節(jié)點(diǎn)對(duì)于這個(gè)遠(yuǎn)程節(jié)點(diǎn)要進(jìn)行比較寬松的信號(hào)檢測(cè),因?yàn)槎荚谝粋€(gè)子網(wǎng),所以只會(huì)被應(yīng)用SameSubnetThreshold,但這個(gè)節(jié)點(diǎn)上面也會(huì)承載應(yīng)用,如果就是因?yàn)榫W(wǎng)絡(luò)鏈路過(guò)長(zhǎng),或瞬時(shí)中斷,導(dǎo)致信號(hào)檢測(cè)失準(zhǔn),發(fā)生故障轉(zhuǎn)移,那我們也沒(méi)辦法控制,最終只能要求更改子網(wǎng),但在WSFC 2016,我們可以把該節(jié)點(diǎn)邏輯定義到另外一個(gè)Site,這樣,雖然還是同子網(wǎng),但是一旦對(duì)于遠(yuǎn)程節(jié)點(diǎn)進(jìn)行運(yùn)行狀況檢測(cè),會(huì)應(yīng)用上跨Site的寬松檢測(cè)策略


#獲取WSFC節(jié)點(diǎn)運(yùn)行狀況檢測(cè)相關(guān)設(shè)置

Get-Cluster | fl *delay*

Get-Cluster | fl *threshold*


WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)


WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)


#調(diào)整同子網(wǎng)心跳檢測(cè)閾值為15

(Get-Cluster).SamSubnetThreshold = 15

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

#調(diào)整跨子網(wǎng)心跳檢測(cè)閾值為15

(Get-Cluster).CrossSubnetThreshold = 15

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)


當(dāng)前環(huán)境繼續(xù)延續(xù)上篇博客,HV01 HV02 屬于北京站點(diǎn),HV03, HV04屬于上海站點(diǎn)


查看ClusterLog,可以看到由NETFT構(gòu)建的運(yùn)行狀況檢測(cè)拓?fù)?/span>


針對(duì)于同子網(wǎng)同站點(diǎn),應(yīng)用SamSubnetThteshold檢測(cè)策略

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

針對(duì)于不同子網(wǎng)跨站點(diǎn),應(yīng)用CrossSiteThteshold檢測(cè)策略

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

針對(duì)相同子網(wǎng)不同Site,應(yīng)用CrossSiteThteshold檢測(cè)策略

#手動(dòng)移動(dòng)HV01至上海站點(diǎn)

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

再次查看發(fā)現(xiàn)從18.0.0.9 到 18.0.0.10 已經(jīng)應(yīng)用CrossSiteThteshold檢測(cè)標(biāo)準(zhǔn)!

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

針對(duì)不同子網(wǎng),但其中一個(gè)節(jié)點(diǎn)退出Site,應(yīng)用跨Site節(jié)點(diǎn)檢測(cè)策略

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)


針對(duì)相同站點(diǎn),但其中一個(gè)節(jié)點(diǎn)移動(dòng)為跨子網(wǎng),應(yīng)用跨子網(wǎng)節(jié)點(diǎn)檢測(cè)策略

移動(dòng)HV01回北京站點(diǎn)

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

修改HV01為上海子網(wǎng)IP

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

查看ClusterLog發(fā)現(xiàn)其它節(jié)點(diǎn)到HV01節(jié)點(diǎn)的運(yùn)行狀況檢測(cè)已經(jīng)應(yīng)用CrossSubnetThreshold

一旦18.0.0.0網(wǎng)段無(wú)法通過(guò)心跳檢測(cè),NetFT會(huì)重新路由其它網(wǎng)絡(luò)進(jìn)行運(yùn)行狀況檢測(cè),這時(shí)一旦選擇了跨子網(wǎng)的網(wǎng)段,又在同一個(gè)Site,那么將會(huì)應(yīng)用跨子網(wǎng)的運(yùn)行狀況檢測(cè)策略。

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)

WSFC2016 跨站點(diǎn)運(yùn)行狀況檢測(cè)


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI