建站服務器
可以看到老王在仲裁這個部分,花了三個篇幅去講,老王認為是值得的,因為在老王看來管理WSFC群集無非是架構(gòu)設計要設計好,然后日常維護群集的可用,執(zhí)行群集細部管理,細部日志分析,更新遷移等等,其中維護群集持續(xù)可用是我們在管理群集中最常見到的,而群集到底可不可用,和仲裁,見證,投票這些是有直接關(guān)系的
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、虛擬空間、營銷軟件、網(wǎng)站建設、鹽邊網(wǎng)站維護、網(wǎng)站推廣。很多時候可能如果你不清楚仲裁是怎么回事,群集停了你也不知道是怎么回事,因此老王多花了一些篇幅來仔細把仲裁技術(shù)刨開來講,力圖讓大家理解透徹,又花了兩個篇幅以場景的形式把2012動態(tài)仲裁技術(shù)和群集其它仲裁技術(shù)結(jié)合,重現(xiàn)在一些場景下的操作,相信認真看過的朋友都會有收獲
那么看過的朋友可能都會覺得,動態(tài)仲裁是一項好技術(shù)啊,幫助我們自動調(diào)整投票,確保群集可以站立到最后一個節(jié)點,絕大部分人也都會說,2012開始有了動態(tài)仲裁,群集就一定可以支持到最后一個節(jié)點,一定嗎?其實是不一定的,我們?nèi)孕枰潇o的看待,經(jīng)過老王的研究,發(fā)現(xiàn)這里有兩種場景下,動態(tài)仲裁是不會支持到最后一個節(jié)點的
第一種場景,老王在動態(tài)仲裁第一篇中也有所提到,并附了圖片說明,假設當前群集還剩下兩個節(jié)點運行,無見證磁盤,采用多數(shù)節(jié)點仲裁,啟用動態(tài)仲裁,默認動態(tài)仲裁隨機挑選一個節(jié)點去掉投票
這時就分為以下三種情況
微軟肯定也發(fā)現(xiàn)了這個問題,于是微軟在2012R2開始,在動態(tài)仲裁技術(shù)里面也把動態(tài)見證的技術(shù)加了進去,即見證在的情況下,我們始終可以根據(jù)節(jié)點變化,動態(tài)調(diào)整見證的投票,來確保群集始終是奇數(shù),這時候不論是什么情況,即使像是上面說的情況3,剩下兩個節(jié)點,其中一個節(jié)點忽然斷電,但只要另外一個節(jié)點可以和見證聯(lián)系,群集就依然可以站立到最后一個節(jié)點。
這樣說起來也沒錯,見證如果始終在的話,群集確實可以支持到最后一個節(jié)點,但是如果結(jié)合實際環(huán)境去考慮,萬一我們使用了共享見證或者磁盤見證,就需要也保證它們的可用性,如果忽然見證聯(lián)系不上了會發(fā)生什么呢,我的群集是否還可以支撐到最后一個節(jié)點
根據(jù)老王的實際測試發(fā)現(xiàn)了一個很容易被忽視的問題
我通過實際的測試來為大家呈現(xiàn)出來
時間節(jié)點1:群集四個節(jié)點 + 共享見證 全部存活,共計五票
時間節(jié)點2 宕機一個節(jié)點,動態(tài)見證自動去掉一票,共計三票
時間節(jié)點3 再宕機一個節(jié)點 動態(tài)見證自動加上一票,共計三票
這時發(fā)生一個網(wǎng)絡故障,共享見證也無法連接,我們直接取消共享見證的共享狀態(tài)
這時如果在存活的兩個節(jié)點上面運行查看投票數(shù)命令,可以看到,依然還是2個節(jié)點+1個見證投票
盡管這時日志中已經(jīng)報錯說共享見證資源無法訪問,此時兩個節(jié)點的事件管理器都會被文件共享失敗的日志塞爆
時間節(jié)點4 剩余兩個節(jié)點宕機一個
可以看到這時整個群集都已經(jīng)關(guān)閉
這時只有強制仲裁啟動群集節(jié)點
強制啟動群集之后,節(jié)點1和節(jié)點2正常通信上線,可以看到現(xiàn)在群集還是被文件共享無法聯(lián)機的日志淹沒,我們可以嘗試把群集仲裁模式配置為無見證即多數(shù)節(jié)點模式進行緩解
嘗試配置多數(shù)節(jié)點會出現(xiàn)失敗,提示我們現(xiàn)在群集無法形成仲裁
這時只有再有一個節(jié)點加入時,可以正常形成多數(shù)仲裁,才可以配置為多數(shù)節(jié)點仲裁模型
這時當?shù)谌齻€節(jié)點再次宕機,群集會動態(tài)仲裁選擇兩節(jié)點的其中一票,確保群集始終是奇數(shù)投票,之前共享見證失效導致的問題已經(jīng)解決,這時候兩個節(jié)點在不使用強制仲裁就有百分之66左右的幾率可以堅持到最后一個節(jié)點。
我們可以看到,這里的關(guān)鍵在于時間節(jié)點三,3節(jié)點變成2節(jié)點,之后共享見證突然失效,在一個理想的情況下這時應該群集動態(tài)仲裁會感應到共享見證失效,然后重新調(diào)整群集投票數(shù),隨機選擇一票存活
然而實際情況是當共享見證忽然失效時,群集仲裁并沒有感應到,然后做動態(tài)仲裁調(diào)整,查看命令會發(fā)現(xiàn)還是2個節(jié)點票+1個見證票,其實這時候共享見證已經(jīng)不在了,查看日志可以看到共享見證已經(jīng)失敗
但群集并沒有去掉見證的投票,也沒有動態(tài)調(diào)整至1票,因此這時如果再宕機一個節(jié)點群集將關(guān)閉,老王猜想這里的關(guān)鍵在于共享見證失效時,狀態(tài)是“失敗”所導致的,群集沒有去掉該見證的投票,也沒有動態(tài)調(diào)整節(jié)點投票。這就很危險,在這種不正常工作的情況下,再壞一個節(jié)點就要強制啟動群集
因此老王在想會不會是動態(tài)仲裁偏袒磁盤見證,不重視共享見證呢?難道共享見證除了時間分區(qū)還有這個問題嗎?于是很快老王又嘗試了磁盤見證
時間節(jié)點3 :磁盤見證情況下 群集還剩下三個節(jié)點存活,這時宕機一個節(jié)點,緊接著群集磁盤也禁用
這時雖然見證磁盤已經(jīng)禁用,但是群集并不會立刻感知到,可見狀態(tài)還是聯(lián)機
經(jīng)過一段時間后狀態(tài)會變成聯(lián)機掛起,仲裁磁盤會根據(jù)故障策略逐個嘗試在各個節(jié)點掛起,但這是見證票數(shù)和節(jié)點票數(shù)依然沒有動態(tài)調(diào)整
最終見證磁盤變成失敗狀態(tài),但是依然沒有調(diào)整見證投票數(shù)和節(jié)點投票數(shù)
因此可以看出,當見證磁盤忽然發(fā)生故障無法訪問的時候,這時候開始群集的動態(tài)仲裁就已經(jīng)非正常工作,不論見證磁盤變成聯(lián)機掛起或是失敗,只要壞掉其中一個節(jié)點,經(jīng)過一會群集一定會判定當前55無法形成仲裁而關(guān)閉群集
最后一個節(jié)點嘗試形成群集,但過數(shù)秒后失敗,因為沒有不能進行仲裁操作,不存在多數(shù)一方投票
因此大家可以看出,不論是共享見證還是磁盤見證都面臨這個問題
即在從3節(jié)點剩到2節(jié)點時,群集見證忽然失聯(lián),群集將不會動態(tài)調(diào)整投票,這時1個節(jié)點再宕機時,群集會關(guān)閉,需要手動強制仲裁,并應切換為多數(shù)節(jié)點仲裁模式,防止再次發(fā)生
共享見證失聯(lián)后,在這種情況下會直接在日志中不斷寫入共享見證失敗,但動態(tài)仲裁一直不會調(diào)整見證和節(jié)點的投票
磁盤見證則是會根據(jù)磁盤策略,先嘗試聯(lián)機掛起,之后狀態(tài)失敗,但動態(tài)仲裁同樣在群集磁盤失聯(lián)后,始終不會動態(tài)調(diào)整見證和節(jié)點的投票
除非磁盤見證狀態(tài)會變成脫機,在一個理想的情況下,磁盤見證失效會是脫機狀態(tài),然后釋放出投票,群集感知到見證票數(shù)失去,動態(tài)再調(diào)整一個節(jié)點的票數(shù),現(xiàn)在群集是奇數(shù)一票
但根據(jù)老王的觀察,在3剩2,磁盤見證再忽然失效的情況下,磁盤見證的狀態(tài)會始終是失敗的,并不會變成脫機
如果磁盤見證的情況使脫機的,老王嘗試,發(fā)現(xiàn)只有在磁盤處于正常狀態(tài)時候,可以手動將狀態(tài)改為脫機,在磁盤見證正常脫機的情況下,會按照我我們預想的去掉見證的投票,再隨機去掉一個節(jié)點的投票
因此當發(fā)生這種見證忽然失聯(lián)的場景時,共享見證和磁盤見證所面臨的問題是一致的,并不存在偏袒關(guān)系,老王感覺這應該是動態(tài)仲裁檢測機制的一個bug,當見證忽然失聯(lián)時候,可以置為失敗狀態(tài),但是應該可以動態(tài)去掉失敗狀態(tài)見證的票數(shù),重新動態(tài)調(diào)整節(jié)點投票,不應該因為一個見證的失聯(lián)而導致整個動態(tài)仲裁接下來的都非正常的工作。
所以,在使用動態(tài)仲裁的時候需要考慮到以下兩點可能會遇見但容易被忽略的問題
純粹使用多數(shù)節(jié)點,動態(tài)仲裁調(diào)整節(jié)點數(shù),當剩下2節(jié)點時,有百分之66左右的幾率群集可以正常存活至最后一個節(jié)點,當被選中投票節(jié)點忽然斷電宕機,則群集關(guān)閉,需要手動強制啟動群集。
使用見證加節(jié)點投票數(shù),動態(tài)仲裁+動態(tài)見證,當3剩2場景下,見證忽然失聯(lián),見證并不會去掉自身的一票,動態(tài)仲裁也并不會自動調(diào)整至1票,如果再宕機一個節(jié)點,群集將關(guān)閉,這時需要手動強制啟動一個節(jié)點,當其它兩個節(jié)點恢復時,可以手動切換至多數(shù)節(jié)點仲裁模型,這樣當再次出現(xiàn)3剩2場景下,會自動調(diào)整至1票,自動堅持至百分之66左右?guī)茁蚀婊畹阶詈笠粋€節(jié)點場景,然后由于我們是強制啟動的群集,因此即便當見證以后再恢復,強制啟動的群集數(shù)據(jù)庫也會蓋過見證磁盤的數(shù)據(jù)庫。
網(wǎng)頁題目:WSFC動態(tài)仲裁容易被忽略的兩點
鏈接URL:http://www.rwnh.cn/article36/cgcppg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、網(wǎng)站設計公司、靜態(tài)網(wǎng)站、定制開發(fā)、虛擬主機、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)