您好,登錄后才能下訂單哦!
之前在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*
#調(diào)整同子網(wǎng)心跳檢測(cè)閾值為15
(Get-Cluster).SamSubnetThreshold = 15
#調(diào)整跨子網(wǎng)心跳檢測(cè)閾值為15
(Get-Cluster).CrossSubnetThreshold = 15
當(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è)策略
針對(duì)于不同子網(wǎng)跨站點(diǎn),應(yīng)用CrossSiteThteshold檢測(cè)策略
針對(duì)相同子網(wǎng)不同Site,應(yīng)用CrossSiteThteshold檢測(cè)策略
#手動(dòng)移動(dòng)HV01至上海站點(diǎn)
再次查看發(fā)現(xiàn)從18.0.0.9 到 18.0.0.10 已經(jīng)應(yīng)用CrossSiteThteshold檢測(cè)標(biāo)準(zhǔn)!
針對(duì)不同子網(wǎng),但其中一個(gè)節(jié)點(diǎn)退出Site,應(yīng)用跨Site節(jié)點(diǎ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)
修改HV01為上海子網(wǎng)IP
查看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è)策略。
免責(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)容。