您好,登錄后才能下訂單哦!
強(qiáng)制仲裁是WSFC群集管理中一個(gè)常用操作,到底什么情況下應(yīng)該執(zhí)行強(qiáng)制仲裁,強(qiáng)制仲裁之后是否會(huì)對(duì)群集造成影響,本篇文章老王將與大家細(xì)致討論,為了便于理解,我會(huì)將強(qiáng)制仲裁涉及到的群集數(shù)據(jù)庫(kù),仲裁概念進(jìn)行簡(jiǎn)單復(fù)習(xí),以便大家更好的理解思考強(qiáng)制仲裁
首先先來(lái)看下群集數(shù)據(jù)庫(kù),很多朋友可能不知道這個(gè)概念,老王在前面有篇文章專門(mén)講解,故這里只做精要概述,簡(jiǎn)單來(lái)說(shuō),群集數(shù)據(jù)庫(kù),是微軟WSFC運(yùn)作的配置數(shù)據(jù)庫(kù),存在于每個(gè)節(jié)點(diǎn)注冊(cè)表,以及見(jiàn)證磁盤(pán)中。
群集數(shù)據(jù)庫(kù)主要用途
群集各節(jié)點(diǎn)啟動(dòng)時(shí),檢測(cè)群集數(shù)據(jù)庫(kù)注冊(cè)表配置單元是否完整,如果完整才可以允許該節(jié)點(diǎn)正常啟動(dòng)群集服務(wù),如不完整需與其他節(jié)點(diǎn)同步完整后才可正常提供服務(wù)
群集運(yùn)作過(guò)程元數(shù)據(jù)實(shí)時(shí)同步,以維護(hù)各節(jié)點(diǎn)群集信息的一致性,并作為故障轉(zhuǎn)移參照,WSFC正常運(yùn)作過(guò)程時(shí),會(huì)把群集節(jié)點(diǎn)狀態(tài),群集狀態(tài),群集角色狀態(tài)等配置數(shù)據(jù),記錄在各節(jié)點(diǎn)注冊(cè)表,群集運(yùn)作過(guò)程中,每個(gè)節(jié)點(diǎn)上修改了群集的信息,都會(huì)把修改后的數(shù)據(jù)同步到各個(gè)節(jié)點(diǎn),群集見(jiàn)證磁盤(pán),同步時(shí)使用群集通信網(wǎng)絡(luò),其中也會(huì)將各節(jié)點(diǎn)當(dāng)前承載的群集角色同步,讓每個(gè)節(jié)點(diǎn)和見(jiàn)證磁盤(pán),都知道對(duì)方上面承載了什么服務(wù),發(fā)生故障轉(zhuǎn)移時(shí),其它節(jié)點(diǎn)會(huì)檢測(cè)注冊(cè)表單元,將宕機(jī)節(jié)點(diǎn)原承載的群集角色進(jìn)行掛載聯(lián)機(jī)。
自WSFC 2008開(kāi)始,群集數(shù)據(jù)庫(kù)開(kāi)始引入paxos標(biāo)記機(jī)制,每個(gè)群集節(jié)點(diǎn)本身都可以保存群集數(shù)據(jù)庫(kù)最新副本,如果某個(gè)節(jié)點(diǎn)修改群集數(shù)據(jù),則該節(jié)點(diǎn)paxos標(biāo)記增加,隨后各節(jié)點(diǎn)感應(yīng)到有更新的paxos標(biāo)記,會(huì)自動(dòng)與其同步群集數(shù)據(jù)庫(kù)內(nèi)容,確保paxos始終與最新標(biāo)記保持一致,當(dāng)群集節(jié)點(diǎn)宕機(jī)恢復(fù)后,會(huì)對(duì)比自身paxos標(biāo)記與磁盤(pán)見(jiàn)證paxos標(biāo)記,如果磁盤(pán)見(jiàn)證paxos標(biāo)記更新,則與其同步后上線,如果磁盤(pán)見(jiàn)證檢測(cè)到群集節(jié)點(diǎn)有更新paxos標(biāo)記的群集數(shù)據(jù)庫(kù)也會(huì)與其同步。
那么群集數(shù)據(jù)庫(kù)和強(qiáng)制仲裁有什么關(guān)系呢?
正常群集運(yùn)作情況下,群集數(shù)據(jù)庫(kù)的復(fù)制同步應(yīng)該是多主的,任何一個(gè)節(jié)點(diǎn)修改了數(shù)據(jù),都可以和其它節(jié)點(diǎn)同步,即是說(shuō)我在任何一個(gè)節(jié)點(diǎn)上面修改群集信息都可以,我心里知道,我修改的會(huì)是正確的。但是在強(qiáng)制仲裁場(chǎng)景下則發(fā)生變化,例如,發(fā)生50/50腦裂,我需要強(qiáng)制啟動(dòng)其中一方提供服務(wù),我希望群集接下來(lái)由被我強(qiáng)制啟動(dòng)的站點(diǎn)提供服務(wù),但是在以前舊版本的情況下,即便是強(qiáng)制啟動(dòng)了一方,如果沒(méi)做阻止仲裁的操作,另外一方也會(huì)嘗試啟動(dòng)群集,如果另外方修改了群集數(shù)據(jù),則我強(qiáng)制啟動(dòng)的也會(huì)被他覆蓋掉。因此,群集數(shù)據(jù)庫(kù)引入了一種黃金副本的機(jī)制,當(dāng)節(jié)點(diǎn)發(fā)生授權(quán)恢復(fù)操作 或 forcequorum強(qiáng)制仲裁操作后,即提升該節(jié)點(diǎn)群集數(shù)據(jù)庫(kù)副本為黃金副本,paxos優(yōu)先級(jí)為最高,其它節(jié)點(diǎn)必須與黃金副本群集數(shù)據(jù)庫(kù)節(jié)點(diǎn)同步,同步后的節(jié)點(diǎn)可以正常提供服務(wù)。
關(guān)于強(qiáng)制仲裁的概念老王后面會(huì)再次進(jìn)行介紹,此處單表群集數(shù)據(jù)庫(kù)與強(qiáng)制仲裁關(guān)系,可以看到,自WSFC 2008開(kāi)始引入了這種黃金副本機(jī)制,通過(guò)這種機(jī)制,可以幫我們?cè)谝粋€(gè)災(zāi)難恢復(fù)強(qiáng)制仲裁的場(chǎng)景,明確的告訴群集,當(dāng)前應(yīng)該以哪個(gè)站點(diǎn)數(shù)據(jù)為準(zhǔn),其它節(jié)點(diǎn)在未與黃金副本同步前,無(wú)法提供服務(wù),或者說(shuō)不應(yīng)該對(duì)外提供服務(wù)。
接下來(lái)我們?cè)倏慈杭俨玫母拍睿?jiǎn)單來(lái)說(shuō),仲裁是一種維護(hù)群集可用性的協(xié)定,根據(jù)我們選擇的仲裁模型,來(lái)規(guī)定群集可以接受的最少工作節(jié)點(diǎn),其中仲裁模型使用投票機(jī)制,正常情況下每個(gè)節(jié)點(diǎn)各有一票,群集見(jiàn)證會(huì)有一票,仲裁根據(jù)票數(shù)來(lái)判斷是否符合仲裁模型協(xié)定,如果票數(shù)違反了仲裁模型可以接受的工作節(jié)點(diǎn),則認(rèn)定群集當(dāng)前失去維護(hù)可用性資格,關(guān)閉群集。
仲裁在群集中起到兩個(gè)用途
1.跟蹤群集當(dāng)前運(yùn)作票數(shù)是否符合仲裁模型協(xié)定,如果低于最低工作節(jié)點(diǎn),則決定關(guān)閉群集
2.當(dāng)發(fā)生分區(qū)時(shí),維持確保多數(shù)節(jié)點(diǎn)一方獲勝,因此我們需要始終確保群集為奇數(shù)票數(shù),當(dāng)發(fā)生分區(qū)時(shí),始終由多數(shù)一方負(fù)責(zé)接管群集提供服務(wù),少數(shù)票數(shù)方將關(guān)閉
那么怎么確保群集投票數(shù)始終是奇數(shù)呢,一方面我們可以利用群集現(xiàn)有的技術(shù),一方面是架構(gòu)設(shè)計(jì)人員的設(shè)計(jì)理念要準(zhǔn)確,如果是偶數(shù)節(jié)點(diǎn),那么你就一定要設(shè)計(jì)成磁盤(pán)見(jiàn)證或共享見(jiàn)證或云見(jiàn)證,否則就會(huì)出現(xiàn)腦裂各自為政的情況
所謂腦裂即是說(shuō)在一種50/50分區(qū)場(chǎng)景下,群集無(wú)法做出決策,到底應(yīng)由哪一方獲勝提供服務(wù),因此會(huì)發(fā)生兩端都以為自己獲勝,搶奪資源,導(dǎo)致群集不正常工作,無(wú)法對(duì)外提供服務(wù),因此群集引入了見(jiàn)證機(jī)制,磁盤(pán)見(jiàn)證,文件共享見(jiàn)證,云見(jiàn)證,都可以解決此問(wèn)題。引入見(jiàn)證后,群集投票還是以群集票數(shù)為主,但又加入見(jiàn)證票數(shù)一票,當(dāng)發(fā)生這種50/50分區(qū)時(shí),那個(gè)分區(qū)可以訪問(wèn)到見(jiàn)證設(shè)備,則那個(gè)分區(qū)可以獲得見(jiàn)證票數(shù),最終接管群集服務(wù),以此來(lái)確保多數(shù)獲勝原則。
隨著仲裁模型的演變,到WSFC 2012時(shí),群集不再主要強(qiáng)調(diào)運(yùn)作過(guò)程必須遵循仲裁模型協(xié)定,更多的是強(qiáng)調(diào)維持群集應(yīng)用的連續(xù)性,2012引入了動(dòng)態(tài)仲裁的機(jī)制,可以動(dòng)態(tài)調(diào)整節(jié)點(diǎn)票數(shù),在多數(shù)節(jié)點(diǎn)仲裁模型的情況下,群集有百分之六十六的幾率可以堅(jiān)持到最后一個(gè)節(jié)點(diǎn),偶數(shù)節(jié)點(diǎn)加見(jiàn)證磁盤(pán),見(jiàn)證磁盤(pán)在線的情況下可以存活至最后一個(gè)節(jié)點(diǎn),奇數(shù)節(jié)點(diǎn)加見(jiàn)證磁盤(pán),至多存活到兩個(gè)節(jié)點(diǎn)。2012R2引入了動(dòng)態(tài)見(jiàn)證的機(jī)制,可以動(dòng)態(tài)調(diào)整見(jiàn)證票數(shù),因此,在2012R2開(kāi)始,不論奇數(shù)節(jié)點(diǎn)或是偶數(shù)節(jié)點(diǎn),都始終建議為群集配置一個(gè)見(jiàn)證,2012R2在見(jiàn)證設(shè)備在線的情況下,可以確保群集真正存活至最后一個(gè)節(jié)點(diǎn)
那么什么是強(qiáng)制仲裁呢
簡(jiǎn)單來(lái)說(shuō),強(qiáng)制仲裁,是為了在腦裂場(chǎng)景或不符合群集仲裁協(xié)定的場(chǎng)景下,依然想要強(qiáng)制啟動(dòng)其中一方群集提供服務(wù)
強(qiáng)制仲裁主要應(yīng)用場(chǎng)景
災(zāi)難恢復(fù):例如主站點(diǎn)兩個(gè)節(jié)點(diǎn),備站點(diǎn)一個(gè)節(jié)點(diǎn),主站點(diǎn)全部崩潰,備站點(diǎn)票數(shù)雖然不符合群集仲裁協(xié)定,但依然強(qiáng)制啟動(dòng)備站點(diǎn)提供服務(wù)
腦裂分區(qū):群集發(fā)生50 50分區(qū),群集停擺,強(qiáng)制啟動(dòng)其中一方提供服務(wù)
大家可能會(huì)常在微軟的視頻中聽(tīng)到強(qiáng)制啟動(dòng)一個(gè)站點(diǎn),很多朋友可以能會(huì)納悶,怎么強(qiáng)制啟動(dòng)站點(diǎn),是要在該站點(diǎn)上面每個(gè)節(jié)點(diǎn)都運(yùn)行一下強(qiáng)制啟動(dòng)的命令嗎
其實(shí)不用,強(qiáng)制仲裁這條命令,我們只需要在備站點(diǎn)其中一個(gè)節(jié)點(diǎn)上面運(yùn)行即可,執(zhí)行之后即可啟動(dòng)群集,其它同站點(diǎn)內(nèi)或不同站點(diǎn),都會(huì)感知到這里存在強(qiáng)制仲裁
隨著技術(shù)的演變,強(qiáng)制仲裁的應(yīng)用場(chǎng)景現(xiàn)在已經(jīng)不多
例如,2012開(kāi)始引入動(dòng)態(tài)仲裁,如果群集當(dāng)前四個(gè)節(jié)點(diǎn),動(dòng)態(tài)仲裁會(huì)自動(dòng)去掉一個(gè)節(jié)點(diǎn)的票數(shù),當(dāng)發(fā)生分區(qū)時(shí),2節(jié)點(diǎn)票數(shù)一方獲勝,2012R2開(kāi)始可以通過(guò)LowerQuorumPriorityNodeID命令指定每次要去掉那個(gè)節(jié)點(diǎn)的票數(shù)。
除非群集動(dòng)態(tài)仲裁被誤配置停止,四個(gè)節(jié)點(diǎn)沒(méi)有自動(dòng)去掉一個(gè)節(jié)點(diǎn)票數(shù),導(dǎo)致發(fā)生腦裂分區(qū),群集停擺,這時(shí)需要通過(guò)強(qiáng)制啟動(dòng)
還有一種少有人提起的場(chǎng)景,即2012R2,見(jiàn)證失效場(chǎng)景,當(dāng)群集剩下3節(jié)點(diǎn)加動(dòng)態(tài)見(jiàn)證,見(jiàn)證設(shè)備如果失效,群集將在壞掉一個(gè)節(jié)點(diǎn)后關(guān)閉,這時(shí)需要強(qiáng)制啟動(dòng)群集
除此之外,事實(shí)上2012R2之后 強(qiáng)制仲裁主要只是為了處理災(zāi)難恢復(fù)場(chǎng)景下,強(qiáng)制啟動(dòng)少數(shù)站點(diǎn)節(jié)點(diǎn)使用
那么強(qiáng)制仲裁后會(huì)對(duì)群集造成哪些影響呢
事實(shí)上強(qiáng)制仲裁這個(gè)功能非常單純,如果群集停擺,你需要強(qiáng)制啟動(dòng)群集提供服務(wù),在想要的一方運(yùn)行這條命令就好,執(zhí)行強(qiáng)制仲裁后,背后將發(fā)生兩個(gè)操作
1.強(qiáng)制啟動(dòng)該節(jié)點(diǎn)群集服務(wù),進(jìn)而啟動(dòng)群集
2.提升該節(jié)點(diǎn)群集數(shù)據(jù)庫(kù)paxos為黃金副本
啟動(dòng)之后,其它未經(jīng)過(guò)強(qiáng)制仲裁的節(jié)點(diǎn),要想加入群集,必須要和強(qiáng)制啟動(dòng)的黃金副本群集節(jié)點(diǎn)同步群集數(shù)據(jù)庫(kù)
此操作稱為阻止仲裁,在2012R2之前,如果在少數(shù)節(jié)點(diǎn)方執(zhí)行了強(qiáng)制仲裁,則當(dāng)故障主站點(diǎn)恢復(fù)后,您需要盡快在故障主站點(diǎn)手動(dòng)執(zhí)行阻止仲裁命令,告訴主站點(diǎn),當(dāng)前群集環(huán)境存在強(qiáng)制仲裁節(jié)點(diǎn),你需要和他同步群集數(shù)據(jù)庫(kù)后上線,否則主站點(diǎn)也將嘗試形成群集,容易發(fā)生群集數(shù)據(jù)庫(kù)覆蓋操作,當(dāng)時(shí)微軟還建議主站點(diǎn)恢復(fù)后,一臺(tái)一臺(tái)啟動(dòng)同步。
2012R2開(kāi)始,引入強(qiáng)制仲裁彈姓,群集具有內(nèi)置的邏輯來(lái)跟蹤強(qiáng)制啟動(dòng)分區(qū),其它分區(qū)檢測(cè)到強(qiáng)制啟動(dòng)分區(qū)后,會(huì)自動(dòng)執(zhí)行阻止仲裁操作,直到與其同步完成群集數(shù)據(jù)庫(kù)后再行上線。
強(qiáng)制啟動(dòng)本身來(lái)講,它不懂群集上層的應(yīng)用,所以只要應(yīng)用沒(méi)有額外設(shè)定,強(qiáng)制啟動(dòng)后不會(huì)有額外的宕機(jī)時(shí)間,例如,當(dāng)前三節(jié)點(diǎn)群集,兩節(jié)點(diǎn)北京,一節(jié)點(diǎn)天津,北京站點(diǎn)宕機(jī),強(qiáng)制啟動(dòng)添加天津站點(diǎn),啟動(dòng)后應(yīng)用可以在天津站點(diǎn)聯(lián)機(jī)上線,北京站點(diǎn)恢復(fù)后,完成阻止仲裁后加入天津分區(qū)群集,這時(shí)候事實(shí)上群集是可以正常工作的,所有節(jié)點(diǎn)paxos標(biāo)記都已經(jīng)同步為最新,理論上來(lái)說(shuō)黃金副本效應(yīng)已經(jīng)消除,又可以多主更新,老王認(rèn)為這時(shí)群集已經(jīng)恢復(fù)了正常運(yùn)作,如果您還是擔(dān)心黃金副本效應(yīng)沒(méi)有消失,可以把應(yīng)用從天津站點(diǎn)在線移動(dòng)至北京站點(diǎn),然后針對(duì)于天津站點(diǎn)節(jié)點(diǎn)以正常啟動(dòng)的方式再次啟動(dòng)一次群集服務(wù)。所以理論上,只要上層應(yīng)用不需要執(zhí)行強(qiáng)制仲裁后的操作,不會(huì)因?yàn)閺?qiáng)制仲裁而產(chǎn)生后來(lái)額外的宕機(jī)時(shí)間。
老王所知道的,對(duì)于SQL AG,需要在強(qiáng)制仲裁執(zhí)行后執(zhí)行數(shù)據(jù)庫(kù)跟蹤操作
SQL AG強(qiáng)制啟動(dòng)后處理操作
https://technet.microsoft.com/en-us/library/hh313151(v=sql.110).aspx
https://blogs.msdn.microsoft.com/alwaysonpro/2014/03/04/manual-failover-of-availability-group-to-disaster-recovery-site-in-multi-site-cluster/
根據(jù)老王的經(jīng)驗(yàn)在使用強(qiáng)制仲裁過(guò)程中,還有兩點(diǎn)需要額外注意的地方
1.2012R2場(chǎng)景下強(qiáng)制仲裁啟動(dòng)了備用站點(diǎn),主站點(diǎn)恢復(fù)后,群集服務(wù)無(wú)法啟動(dòng)加入到群集,即沒(méi)有執(zhí)行阻止仲裁過(guò)程,其原因可能是阻止仲裁過(guò)程中主節(jié)點(diǎn)與強(qiáng)制仲裁備節(jié)點(diǎn)網(wǎng)絡(luò)抖動(dòng)不穩(wěn),導(dǎo)致同步群集數(shù)據(jù)庫(kù)失敗,或者主站點(diǎn)與備站點(diǎn)機(jī)器配置更新補(bǔ)丁不同,實(shí)際場(chǎng)景中災(zāi)難恢復(fù)后,應(yīng)確保網(wǎng)絡(luò)穩(wěn)定,所有站點(diǎn)節(jié)點(diǎn)系統(tǒng)更新配置一致后再行加入群集,如果還是不行,則請(qǐng)嘗試手動(dòng)在主節(jié)點(diǎn)執(zhí)行手動(dòng)阻止仲裁操作,再觀察cluster log日志。
2.正確理解與使用強(qiáng)制仲裁,在2008R2群集運(yùn)作過(guò)程中,仲裁會(huì)盡可能讓群集維持一種多數(shù)節(jié)點(diǎn)存活的模型,我這樣說(shuō)的意思是,當(dāng)一個(gè)群集主站點(diǎn)有3節(jié)點(diǎn),分站點(diǎn)有2節(jié)點(diǎn),群集使用多數(shù)節(jié)點(diǎn)仲裁模型,當(dāng)主站點(diǎn)宕機(jī)時(shí),即便分站點(diǎn)剩下四個(gè)節(jié)點(diǎn)又能力承擔(dān)群集應(yīng)用,仲裁也會(huì)脫機(jī)分站點(diǎn)兩個(gè)節(jié)點(diǎn),讓群集對(duì)外脫機(jī),停止工作,并阻止以正常方式啟動(dòng)分站點(diǎn)節(jié)點(diǎn),這時(shí)候我們就使用強(qiáng)制仲裁,強(qiáng)制啟動(dòng)分站點(diǎn)兩個(gè)節(jié)點(diǎn)提供服務(wù),雖然分站點(diǎn)當(dāng)前節(jié)點(diǎn)少,不符合群集最少票數(shù),但是有兩個(gè)節(jié)點(diǎn)能對(duì)外提供服務(wù),總比都宕機(jī)強(qiáng),強(qiáng)制仲裁主要就是用于處理這種,不符合群集仲裁票數(shù)允許的最低票數(shù)情況下,仍然要讓群集啟動(dòng)對(duì)外提供服務(wù)的場(chǎng)景,或者說(shuō)是在腦裂場(chǎng)景,決出一方對(duì)外服務(wù)
但是在一個(gè)WSFC運(yùn)作過(guò)程中,節(jié)點(diǎn)群集服務(wù)的宕機(jī),也可能會(huì)是由于系統(tǒng)配置,驅(qū)動(dòng),第三方軟件而導(dǎo)致群集服務(wù)的無(wú)法啟動(dòng),這種情況下就并不適用于強(qiáng)制仲裁,強(qiáng)制仲裁主要用于處理仲裁導(dǎo)致的群集無(wú)法正常啟動(dòng)的情況,在其它場(chǎng)景下利用反而會(huì)有副作用,舉個(gè)例子,例如當(dāng)前群集有五個(gè)節(jié)點(diǎn),主站點(diǎn)四個(gè),分站點(diǎn)一個(gè),群集為自動(dòng)故障轉(zhuǎn)移,群集目前由主站點(diǎn)對(duì)外提供應(yīng)用服務(wù),但是分站點(diǎn)群集服務(wù)突然無(wú)法啟動(dòng),這時(shí)候,如果你強(qiáng)制啟動(dòng)了分站點(diǎn),那么好了,假設(shè)你真的重啟成功了,分站點(diǎn)的群集數(shù)據(jù)庫(kù)將完全蓋過(guò)主站點(diǎn),假設(shè)分站點(diǎn)沒(méi)有和總站點(diǎn)同步最新的群集數(shù)據(jù)庫(kù),即是說(shuō)分站點(diǎn)落后主站點(diǎn)配置,例如落后了10個(gè)paxos標(biāo)記版本,那么強(qiáng)制仲裁后將會(huì)由落后的分站點(diǎn)群集數(shù)據(jù)庫(kù)副本,蓋過(guò)主站點(diǎn)群集數(shù)據(jù)庫(kù)副本,因?yàn)閺?qiáng)制仲裁后會(huì)提升群集數(shù)據(jù)庫(kù)黃金副本,嚴(yán)重一點(diǎn)將會(huì)導(dǎo)致主站點(diǎn)的群集配置回退失效,因此,在出現(xiàn)群集服務(wù)無(wú)法啟動(dòng)時(shí),一定先要通過(guò)事件日志,cluster log, dump日志確認(rèn)問(wèn)題后再執(zhí)行修復(fù)操作。
總結(jié)一下,強(qiáng)制仲裁本身并不會(huì)造成群集宕機(jī),它只是一個(gè)處理仲裁導(dǎo)致的群集無(wú)法正常啟動(dòng)的操作,強(qiáng)制啟動(dòng)群集節(jié)點(diǎn)為UP狀態(tài),主要用于腦裂和災(zāi)難場(chǎng)景
可能會(huì)帶來(lái)的影響
1.上層依附于群集的應(yīng)用,可能會(huì)需要執(zhí)行強(qiáng)制啟動(dòng)后的額外操作,和應(yīng)用機(jī)制有關(guān)。
2.強(qiáng)制仲裁后,其它節(jié)點(diǎn)需要有阻止仲裁過(guò)程才能啟動(dòng)加入群集,其它節(jié)點(diǎn)如果想要加入強(qiáng)制仲裁分區(qū),請(qǐng)確保再次加入時(shí)系統(tǒng)配置一致,網(wǎng)絡(luò)穩(wěn)定。
3.不要盲目的使用強(qiáng)制仲裁,僅用于群集無(wú)法啟動(dòng)仲裁協(xié)定不足場(chǎng)景,盲目使用將會(huì)導(dǎo)致群集數(shù)據(jù)庫(kù)錯(cuò)誤覆蓋影響
最后再來(lái)談一個(gè)災(zāi)難恢復(fù)場(chǎng)景下的強(qiáng)制仲裁操作
以SQL Always on FCI為例,按照微軟官網(wǎng)的建議是,正常情況下,所以主副本節(jié)點(diǎn),給予正常投票資格,去掉輔助副本節(jié)點(diǎn)投票資格
投票資格,即是說(shuō)各節(jié)點(diǎn)參與到群集仲裁的資格,可以在節(jié)點(diǎn)正常的情況下,去掉該節(jié)點(diǎn)的投票,被去掉投票的節(jié)點(diǎn)也可以承載群集應(yīng)用,但是一旦主站點(diǎn)宕機(jī),除非手動(dòng)強(qiáng)制啟動(dòng)分站點(diǎn),否則分站點(diǎn)所有無(wú)投票節(jié)點(diǎn)將無(wú)法聯(lián)機(jī),群集也將脫機(jī)
自WSFC 2012開(kāi)始,群集開(kāi)始支持GUI調(diào)整各節(jié)點(diǎn)投票資格
手動(dòng)調(diào)整各節(jié)點(diǎn)投票資格比較主流的場(chǎng)景是災(zāi)難恢復(fù)時(shí)避免自動(dòng)故障轉(zhuǎn)移帶來(lái)的額外宕機(jī)時(shí)間,因?yàn)镾QL 故障轉(zhuǎn)移時(shí)間較長(zhǎng),如果是跨站點(diǎn)就更長(zhǎng)了,我們希望每次故障轉(zhuǎn)移都是可控的,這時(shí)就可以將群集控制為手動(dòng)故障轉(zhuǎn)移模型
具體控制方法,將所有備站點(diǎn)投票資格均改為0,這樣當(dāng)主站點(diǎn)發(fā)生災(zāi)難后,應(yīng)用不會(huì)自動(dòng)故障轉(zhuǎn)移至備站點(diǎn),因?yàn)閭湔军c(diǎn)投票資格為0,所以備站點(diǎn)失去形成群集的資格,因此這時(shí)候的操作應(yīng)該是手動(dòng)強(qiáng)制啟動(dòng)備節(jié)點(diǎn),然后賦予投票資格,聯(lián)機(jī)上線群集應(yīng)用,并將主站點(diǎn)投票資格設(shè)置為0,當(dāng)主站點(diǎn)恢復(fù)后,再設(shè)置投票資格為1,然后手動(dòng)移動(dòng)群集資源過(guò)去
參考鏈接
https://blogs.msdn.microsoft.com/alwaysonpro/2014/03/04/manual-failover-of-availability-group-to-disaster-recovery-site-in-multi-site-cluster/
https://technet.microsoft.com/en-us/library/mt607084(v=office.16).aspx
https://msdn.microsoft.com/en-us/library/jj191711.aspx
這樣手動(dòng)控制之后,雖然故障轉(zhuǎn)移時(shí)需要管理員手動(dòng)操作,但可以避免出現(xiàn)腦裂場(chǎng)景,因?yàn)闆](méi)有資格,所以50/50分區(qū)時(shí),分站點(diǎn)根本沒(méi)有資格形成群集
也可以避免由于網(wǎng)絡(luò)質(zhì)量不穩(wěn)定的問(wèn)題,不會(huì)因?yàn)闄z測(cè)信號(hào)而導(dǎo)致的故障轉(zhuǎn)移帶來(lái)的宕機(jī)時(shí)間
本文思維導(dǎo)圖
免責(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)容。