在上一篇中老王以2008R2WSFC為例,介紹了仲裁發(fā)生時的變化處理,到了2012時×××始,這發(fā)生了很大的變化,甚至我們要重新去思考仲裁
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、朔城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為朔城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
2008及以前時代的仲裁比較死板,就好像你和群集說好了,3個節(jié)點(diǎn)的多數(shù)仲裁模型,我至少有兩個節(jié)點(diǎn)運(yùn)行,那么一旦當(dāng)你的群集剩下最后一個節(jié)點(diǎn)的時候,群集一定會是關(guān)閉的,因?yàn)?8時代的群集主要強(qiáng)調(diào)的遵循仲裁模型,你與群集訂好的仲裁協(xié)議不可以被違反,即使你剩下的這個節(jié)點(diǎn)可以提供服務(wù),但是群集也會把它關(guān)閉掉,除非你使用強(qiáng)制仲裁啟動群集,所以在08時代強(qiáng)制仲裁可以說是經(jīng)常要用到
到了2012時×××始,過去的仲裁模式已經(jīng)發(fā)生了變化,不再那么死板,想象一下,就好比你與群集已經(jīng)混熟了,你們達(dá)成了很好的智能化協(xié)議,群集不再強(qiáng)勢的要求你必須遵循仲裁協(xié)議,或者說,仲裁協(xié)議已經(jīng)發(fā)生了改變,2012時×××始,仲裁主要以為了保持群集持續(xù)可用為主,不再強(qiáng)調(diào)群集必須遵循仲裁模型,而是主要為了保證群集可以生存下去。
微軟在2012開始注入了動態(tài)投票的技術(shù),2012開始,WSFC可以根據(jù)節(jié)點(diǎn)狀態(tài)變化動態(tài)調(diào)整投票,例如,當(dāng)前是3個節(jié)點(diǎn)的群集,多數(shù)節(jié)點(diǎn)的仲裁模型,當(dāng)壞掉一個節(jié)點(diǎn)時,正常情況下應(yīng)該是兩票,在2008時代如果這時候再壞掉一個節(jié)點(diǎn),群集就會關(guān)閉,因?yàn)闆]有遵循仲裁模型,你違反協(xié)議了
而2012則不會,2012會動態(tài)調(diào)整節(jié)點(diǎn)的投票數(shù),確保群集投票數(shù)始終奇數(shù),這樣可以在出現(xiàn)分區(qū)時,始終讓多數(shù)一方可用,當(dāng)3個節(jié)點(diǎn)壞掉1個節(jié)點(diǎn),2012群集會再拿掉一票,這樣只有群集里面只有一個節(jié)點(diǎn)有投票數(shù),這時如果群集再壞掉一個節(jié)點(diǎn),群集部分時間依然會是可用的,至于為什么我會說部分,后面會為大家解答,不過在一定的幾率下,是可以支撐到最后一個節(jié)點(diǎn)的。
這相對來說就是種新的思維了,以前在08時代,如果出現(xiàn)了這種情況,群集是會關(guān)閉的,我們只有在最后那個節(jié)點(diǎn)上面強(qiáng)制啟動群集才可以,而2012則不用,因?yàn)闀討B(tài)幫我們?nèi)フ{(diào)整投票數(shù),到了2012R2時代則更加智能,可以動態(tài)調(diào)整見證的投票,實(shí)現(xiàn)真正的群集支持至最后一個節(jié)點(diǎn)
理論的地方不再多說,因?yàn)楹芏嗳硕颊f動態(tài)仲裁的概念看了很多,但是還是不理解到底什么效果,接下來我們就來實(shí)際的看看效果
可以看到,老王現(xiàn)在在2012R2環(huán)境下面創(chuàng)建一個群集,3個節(jié)點(diǎn),并沒有配置磁盤見證和共享見證
2016年我的好朋友張俊森配置群集時,問我,2012里面多數(shù)節(jié)點(diǎn)仲裁去哪了,應(yīng)該怎么配置仲裁呢,有些不認(rèn)得了,的確,在2012開始,群集仲裁的UI發(fā)生了變化
變成了下面這樣,微軟的良苦用心,老王是理解的,微軟知道,大家覺得仲裁的概念不好理解,不好設(shè)計(jì),所以微軟設(shè)計(jì)了智能化的動態(tài)節(jié)點(diǎn)投票和動態(tài)見證,由群集來自動幫助大家確定最適合的仲裁模型,正常情況下我們選擇默認(rèn)仲裁配置就可以,別的都不需要管了,如果群集檢測到當(dāng)前有適合見證磁盤,會最優(yōu)先選擇見證磁盤作為群集仲裁,其次才是多數(shù)節(jié)點(diǎn)
很多朋友可能會問,多數(shù)節(jié)點(diǎn)仲裁去哪了,其實(shí)在2012時×××始,多數(shù)節(jié)點(diǎn)仲裁已經(jīng)變成了“無” ,或者說是 不配置仲裁見證,當(dāng)我們在選擇仲裁界面下,選擇第二項(xiàng) 選擇仲裁見證,就可以看到下面的界面,即由我們手動去配置群集的見證,如果希望改為多數(shù)節(jié)點(diǎn)仲裁,選擇不配置仲裁見證即可,如果我們選擇默認(rèn)的話,即讓群集自己去決定群集仲裁模型,那么群集檢測到?jīng)]有見證可用也會自動配置為多數(shù)節(jié)點(diǎn)模式。
如果我們在配置仲裁向?qū)逻x擇高級仲裁配置,除了能手動選擇群集仲裁模型,還可以在GUI界面手動選擇節(jié)點(diǎn)的投票數(shù),可以在這里指定某些節(jié)點(diǎn)始終沒有票數(shù),這在以前只能通過命令去執(zhí)行,如果要設(shè)置群集仲裁模型為僅磁盤也需要在高級仲裁配置下選擇
以上先簡單為大家介紹下2012時×××始,新群集仲裁向?qū)У淖兓瑤椭蠹蚁仁煜は禄镜沫h(huán)境,可以看到,多數(shù)節(jié)點(diǎn),磁盤見證,共享見證,僅磁盤,這幾個仲裁模型都還在,只不過是換了一下位置,其中僅磁盤的仲裁模式在2012時代已經(jīng)不再被推薦使用,因?yàn)榇疟P成為了單一故障點(diǎn),也無法完整利用動態(tài)仲裁的優(yōu)勢。
在2012R2開始,當(dāng)我們創(chuàng)建一個多數(shù)節(jié)點(diǎn)的群集時,經(jīng)常會看到類似下面的提示和警告
原因是2012R2開始,WSFC會希望你始終配置一個見證磁盤,以保證群集的最高可用性,因?yàn)?012時代的動態(tài)節(jié)點(diǎn)票數(shù)還是有一點(diǎn)風(fēng)險,2012R2中不論你是奇數(shù)節(jié)點(diǎn)還是偶數(shù)節(jié)點(diǎn),只要有見證磁盤在,就可以保證讓你的群集支撐到最后一個節(jié)點(diǎn),例如3節(jié)點(diǎn)+見證磁盤,群集會自動去掉見證磁盤的一票,現(xiàn)在群集是三個投票,如果壞掉一個節(jié)點(diǎn),群集是2個投票,群集會自動再加上見證的一票,現(xiàn)在群集又是三票,還是奇數(shù),這時候如果再壞一個節(jié)點(diǎn),還剩下最后一個節(jié)點(diǎn)和見證,群集依然可以存活
下面我們就來實(shí)際看下效果,首先先來看3節(jié)點(diǎn)多數(shù)仲裁的情況
現(xiàn)在我們3個節(jié)點(diǎn)都在同一個子網(wǎng)內(nèi),故意沒配置見證磁盤
2012R2直接可以在群集GUI界面看到節(jié)點(diǎn)的投票數(shù),可以看到當(dāng)前每個節(jié)點(diǎn)都要一票,且都正常工作著
我們依舊創(chuàng)建了一個群集DTC應(yīng)用,現(xiàn)在托管在HV02節(jié)點(diǎn)上
直接斷電HV02,群集DTC自動轉(zhuǎn)移至HV01運(yùn)行,可以看到這時群集已經(jīng)利用了2012新增的動態(tài)投票技術(shù),自動去掉了兩個節(jié)點(diǎn)中的一票,始終確保群集投票是奇數(shù),之前在2008時代,如果3節(jié)點(diǎn)多數(shù)節(jié)點(diǎn)仲裁中,壞了一個節(jié)點(diǎn),群集立刻開始提示了,不能再壞了,再壞一個節(jié)點(diǎn),群集就關(guān)了,2012時×××始則沒有這個提示,因?yàn)槿杭辉僦饕粗兄俨媚P褪欠褡袷?,而是始終維持群集可用。
這時我們再把HV01也斷電,現(xiàn)在群集只剩下HV03,可以看到群集DTC已經(jīng)轉(zhuǎn)移至HV03上面正常提供服務(wù)!歡呼吧!我們在3節(jié)點(diǎn)多數(shù)仲裁模型下面現(xiàn)在也可以挺到最后一個節(jié)點(diǎn)了,這在一定程度上可以增加群集應(yīng)用的可用性,之前我們需要強(qiáng)制啟動最后一個節(jié)點(diǎn),現(xiàn)在不需要了,動態(tài)仲裁通過調(diào)整群集節(jié)點(diǎn)的投票數(shù)自動幫我們完成了,幫我們確保了群集的持續(xù)可用。
這時HV01 HV02逐步恢復(fù),加入群集節(jié)點(diǎn)了,可以看到節(jié)點(diǎn)逐步再加入,群集也在動態(tài)的幫助我們?nèi)フ{(diào)整節(jié)點(diǎn)投票數(shù),HV02加入進(jìn)來,兩個節(jié)點(diǎn)的情況下群集隨機(jī)把投票給了節(jié)點(diǎn)2
節(jié)點(diǎn)1上線正在加入群集,群集又將動態(tài)調(diào)整投票數(shù)
節(jié)點(diǎn)1完全上線加入群集后,群集又恢復(fù)奇數(shù)三個投票
在整個過程中群集應(yīng)用時持續(xù)可用的,停機(jī)時間只是群集應(yīng)用群集組從各節(jié)點(diǎn)離線再上線的時間
到這里,看起來很美,群集自動幫助我們調(diào)整節(jié)點(diǎn)投票,在三個節(jié)點(diǎn)的情況下也可以挺到最后一臺,但其實(shí)這種多數(shù)節(jié)點(diǎn)動態(tài)調(diào)整節(jié)點(diǎn)投票數(shù)的方式也是有一點(diǎn)瑕疵的,上面老王說過三個節(jié)點(diǎn)的情況下,群集部分時間是可以挺到最后一個節(jié)點(diǎn)的,這里就來解釋下為什么是部分
我們假設(shè)這樣一個場景,假設(shè)現(xiàn)在群集3個節(jié)點(diǎn),壞掉一個節(jié)點(diǎn),還剩下兩個節(jié)點(diǎn),到底WSFC2012R2里面兩個節(jié)點(diǎn)多數(shù)節(jié)點(diǎn)可不可以做群集,答案是可以,但是風(fēng)險很高
在還剩下兩個節(jié)點(diǎn)的情況下,群集會隨機(jī)選擇一個節(jié)點(diǎn),賦予一票,再去掉另外一個節(jié)點(diǎn)的投票
這時如果HV03斷電,OK,群集不care你,因?yàn)槟阌植皇潜贿x中的投票節(jié)點(diǎn),你壞掉群集依然可以正常運(yùn)作
這時候HV03恢復(fù),HV02依然是被選中的投票節(jié)點(diǎn),我們再嘗試把HV02操作系統(tǒng)正常關(guān)機(jī)
這時候可以看到,投票數(shù)節(jié)點(diǎn)被交換到了HV03上面,群集應(yīng)用也正常運(yùn)行著,這就好比是,節(jié)點(diǎn)2和節(jié)點(diǎn)3是同事關(guān)系,節(jié)點(diǎn)2和節(jié)點(diǎn)3說,我要下班了,剩下的活交給你來做吧,節(jié)點(diǎn)3說好的,節(jié)點(diǎn)3交換了工作后,節(jié)點(diǎn)2關(guān)機(jī),節(jié)點(diǎn)3繼續(xù)完成剩下的工作。
最后一種情況,我們假設(shè)當(dāng)前被選中承擔(dān)投票的節(jié)點(diǎn)忽然斷電
可以看到,由于當(dāng)前HV02是投票節(jié)點(diǎn),直接斷電,沒有與HV03進(jìn)行投票交接,因此投票并沒有被交接到HV03
這時群集服務(wù)關(guān)閉,群集服務(wù)也沒辦法訪問,并沒有因?yàn)橛袆討B(tài)仲裁而支撐群集到最后一個節(jié)點(diǎn)
這時只有通過強(qiáng)制啟動群集
因此,在多數(shù)節(jié)點(diǎn)仲裁,最后只剩下兩個節(jié)點(diǎn)的情況下,動態(tài)仲裁也要視情況來決定群集是否可以運(yùn)行
情況1.非投票節(jié)點(diǎn)斷電,群集可以正常運(yùn)行
情況2.投票節(jié)點(diǎn)操作系統(tǒng)正常關(guān)機(jī),票數(shù)可以正常交換,群集可以正常運(yùn)行
情況3.投票節(jié)點(diǎn)斷電,群集不能運(yùn)行,票數(shù)來不及交換,需要強(qiáng)制啟動
由此大家可以看到,多數(shù)節(jié)點(diǎn)動態(tài)仲裁也只能說是在部分場景下可以存活到最后一個節(jié)點(diǎn),只好祈禱遇到的都是情況1和情況2,但一旦遇到情況3,也只能強(qiáng)制啟動了。
動態(tài)調(diào)整節(jié)點(diǎn)投票是2012上面的更新的技術(shù),我們已經(jīng)看到了它,不可否認(rèn),是一項(xiàng)好技術(shù),大部分場景下可以幫助管理員智能解決一些問題,但也有它的缺點(diǎn),即情況3
到了2012R2時代,微軟在2012動態(tài)仲裁的基礎(chǔ)上又新增了動態(tài)見證,除了節(jié)點(diǎn),見證也可以自動調(diào)整投票,只要有見證在,不論情況1 情況2 情況3,群集都可以正常啟動,可以說,只要有見證在,強(qiáng)制啟動幾乎不再需要了。
接下來我們在看一個三節(jié)點(diǎn)+磁盤見證的場景,之前在08里面老王曾經(jīng)為大家看過這個場景,可以說很雞肋,08里面3節(jié)點(diǎn)+磁盤見證,最多只能壞一個點(diǎn),剩下兩個節(jié)點(diǎn)+磁盤見證,只要壞掉一個,群集就會關(guān)閉,在老王看來從計(jì)算可用性角度來講,并沒有用處,因?yàn)槲抑挥泄?jié)點(diǎn)可以計(jì)算,我要維護(hù)兩個計(jì)算節(jié)點(diǎn)的可用,還要維護(hù)一個見證磁盤的可用。
在2012R2里面這種場景則發(fā)生了翻天覆地的變化
我們新增群集磁盤1,該群集磁盤只有1GB,是所有群集磁盤中,大于512MB,最小的,因此群集如果挑選仲裁磁盤,會優(yōu)先選擇群集磁盤1
這里我們驗(yàn)證一下群集使用默認(rèn)仲裁配置,是否會總是為我們配置見證磁盤
可以看到,群集自動為我們選擇了群集磁盤1為見證磁盤,我們遵循了最佳實(shí)踐,可以看出,不論是奇數(shù)節(jié)點(diǎn)還是偶數(shù)節(jié)點(diǎn),在2012R2中,群集都會建議你配置一個見證磁盤
當(dāng)前群集DTC在HV03上面運(yùn)行
直接斷電HV03,現(xiàn)在節(jié)點(diǎn)數(shù)是兩票,可以看到當(dāng)前群集自動加上了見證的一票
這時HV01也斷電,我們可以看到這時HV01雖然已經(jīng)斷電,但是并沒有調(diào)整它的票數(shù),因?yàn)楝F(xiàn)在群集只剩下HV02節(jié)點(diǎn)和見證磁盤
群集DTC在HV02正常工作
當(dāng)HV01和HV03節(jié)點(diǎn)修復(fù)完成,可以看到他們?nèi)齻€節(jié)點(diǎn)的投票已經(jīng)恢復(fù),見證磁盤的票數(shù)自動被去掉
文章到這里,相信大家都對動態(tài)仲裁有了個概念,這是種新的思想,群集會自動去幫助我們調(diào)整節(jié)點(diǎn)和見證的票數(shù),來保證群集的始終可用
在多數(shù)節(jié)點(diǎn)的情況下,群集在部分場景都可以堅(jiān)持到最后一個節(jié)點(diǎn),在擁有磁盤見證的情況下,只要磁盤見證存活可以正常訪問,群集則一定可以堅(jiān)持到最后一個節(jié)點(diǎn),因此建議大家使用2012R2群集的時候,不論是奇數(shù)節(jié)點(diǎn)或是偶數(shù)節(jié)點(diǎn),都要始終為群集配置見證磁盤
下篇文章中,我們還將繼續(xù)介紹動態(tài)仲裁,模擬一個多站點(diǎn)四節(jié)點(diǎn)的動態(tài)仲裁場景