小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

WSFC2016 故障域站點(diǎn)感知

 曾淼Mark 2018-09-22

   很高興和大家介紹另外一項(xiàng)WSFC2016的酷炫技術(shù),即故障域功能


   與之類似的技術(shù)有CloudStack,Openastack等


   以CloudStack為例,在CloudStack中,針對于資源架構(gòu),我們可以手動來定義架構(gòu)模型,從最上層Region,Zone,Pod,Cluster,再到最底層的Host,通過規(guī)劃這樣一套架構(gòu)模型,我們可以在云管理軟件上面定義出云資源池底層的架構(gòu),實(shí)現(xiàn)既能夠?qū)τ谟脩羝帘渭夹g(shù)細(xì)節(jié),也能夠讓云管理軟件按照架構(gòu)模型運(yùn)轉(zhuǎn)


   其中最上層,最大的架構(gòu)為  Region,也就是地域了,例如,我們在使用阿里云,Azure,AWS的時(shí)候創(chuàng)建虛擬機(jī),都只需要選擇一個(gè)區(qū)域就好了,對應(yīng)到后臺就是這個(gè)概念,Region的概念是地域,不同Region,則應(yīng)該意味著不同地域,如果說用戶把兩臺虛擬機(jī)部署在兩個(gè)不同的Region,那么它們同時(shí)出現(xiàn)故障的幾率會很低


   其次是Zone,CloudStack中,Zone主要是指數(shù)據(jù)中心,我們說一個(gè)Zone,就是說一個(gè)數(shù)據(jù)中心,一個(gè)數(shù)據(jù)中心里面可能有多個(gè)Pod,即機(jī)架,不同機(jī)架可能使用不同的網(wǎng)絡(luò)架構(gòu)設(shè)施,一個(gè)機(jī)架上面有可能有多個(gè)Cluster,一個(gè)Cluster上面又可能有多個(gè)Host,同一個(gè)Zone內(nèi)共用一個(gè)二級存儲。

 

   定義這樣的架構(gòu)后,對于用戶來說,用戶不需要知道太多,它們只需要知道,我們要部署到離我們訪問地方比較近的Region,如果我的不同虛擬機(jī)放在不同Region,會被放置在不同的,很遠(yuǎn)的地方,不會同時(shí)發(fā)生故障,這樣就夠了

   

   一些云平臺例如Azure,可以讓用戶選擇不同的可用性集,對應(yīng)的概念,就是這里的機(jī)架,如果選擇虛擬機(jī)在不同的可用性集,意味著虛擬機(jī)會被放置在不同的Pod,微軟也叫做Rack,如果部署了可用性集后Azure才可以保證SLA在99.95%


   一套云管理系統(tǒng),對于資源管理員來說,管理員主要關(guān)注的是持續(xù)保證租戶資源的SLA,置備多種高可用方案,災(zāi)備方案,等等,這里我們主要討論的是高可用方案,在高可用方案里面,通常在云計(jì)算業(yè)內(nèi),人們會談到故障域


   什么是故障域呢,例如,我一個(gè)節(jié)點(diǎn)壞了,上面虛擬機(jī)可以漂到其它節(jié)點(diǎn),這時(shí)候節(jié)點(diǎn)是一個(gè)故障域,單個(gè)節(jié)點(diǎn)故障了,我們部署了群集系統(tǒng),會故障轉(zhuǎn)移,并不會影響SLA


   默認(rèn)情況下大多數(shù)云管理平臺的failover級別都是Cluster內(nèi)的節(jié)點(diǎn)級別,理想情況下,老王認(rèn)為,所有已定義的Region,zone,pod,Cluster都是應(yīng)該可以感知的,例如,如果群集里面一個(gè)節(jié)點(diǎn)壞了,我可以把虛擬機(jī)先遷移到Cluster內(nèi)其它節(jié)點(diǎn),如果不行,再遷移到同Pod上面其它群集,如果不行再遷移到Zone里面的不同Pod,如果不行再遷移到不同Zone,甚至最后整個(gè)Zone癱瘓,還可以轉(zhuǎn)移到其它Region恢復(fù)運(yùn)行,如果真的可以做到這樣就太強(qiáng)大了,真正實(shí)現(xiàn)了云計(jì)算持續(xù)可用的目的


   不過在現(xiàn)實(shí)情況下,根據(jù)老王的觀察,我們軟件的定義的這些Region,zone,pod,Cluster,一部分是用來看的,一部分是用來用的,假設(shè)Region,zone,pod這些東西沒有和云資源故障系統(tǒng)達(dá)成感應(yīng),那么是不會有老王上面說的效果的,可能最多就是,我們可以集中針對同一個(gè)Pod里面的Cluster或Host進(jìn)行policy設(shè)置,可以讓一個(gè)Zone中心里面的所有Pod,Cluster使用相同的共享二級存儲,或者通過報(bào)告集中輸出下報(bào)告之類的。


   實(shí)務(wù)上通常一些云計(jì)算廠商會實(shí)現(xiàn)Region級別,Pod級別,Cluster級別的故障域感知,例如Cluster失效,會恢復(fù)到其它Region繼續(xù)運(yùn)行,或是Cluster維護(hù),由Pod上面其它Cluster暫時(shí)負(fù)責(zé)服務(wù)。


   這里老王說了這么多,是希望把故障域這樣的一個(gè)概念帶給大家,這個(gè)概念是相通的,不光在微軟WSFC 2016會有,在Cloudstack,Openstack等其它云平臺管理軟件中也會有,老王認(rèn)為這項(xiàng)功能在云平臺管理,或者大型數(shù)據(jù)中心,大型托管數(shù)據(jù)中心里面會很常見,是項(xiàng)規(guī)范管理的好功能。


   這項(xiàng)技術(shù)把它叫做軟件定義故障域也好,故障域也好,舉個(gè)例子


   比如我們知道,租戶的虛擬機(jī)在HV01節(jié)點(diǎn),Cluster01上面運(yùn)行,Cluster 01在Pod01上面,Pod01在Zone01,Zone01在Region北京運(yùn)行,之前是在腦子里知道,現(xiàn)在我們可以通過軟件定義在管理系統(tǒng)中


   如果HV01節(jié)點(diǎn)Host級別壞了,由于Cluster自動實(shí)現(xiàn)主機(jī)級別故障域,節(jié)點(diǎn)會轉(zhuǎn)移到其它節(jié)點(diǎn)上面運(yùn)行,注意,只要是通過可以正常進(jìn)行故障轉(zhuǎn)移的系統(tǒng)構(gòu)成的cluster,那么默認(rèn)物理上就已經(jīng)實(shí)現(xiàn)為了主機(jī)故障域

  如果Cluster壞了呢,那么Cluster就是一個(gè)故障域,Cluster上面會有很多臺虛擬機(jī),也會隨之跟著停機(jī),如果沒有置備跨Cluster的轉(zhuǎn)移機(jī)制,這里就會產(chǎn)生宕機(jī)時(shí)間。

  如果Pod級別壞了,那么Pod就是一個(gè)故障域,Pod上面會有很多Cluster,Cluster里面又會有很多應(yīng)用,所有全部停機(jī)。

  如果Zone級別壞了,那么整個(gè)Zone就是一個(gè)故障域

  如果Region級別壞了,那么整個(gè)Region就是一個(gè)故障域


  大家可以看出,越大的級別壞了,影響到的越多,所以對于架構(gòu)人員來說,如果你作為一個(gè)云提供商或者大型托管數(shù)據(jù)中心提供商,那么首先您應(yīng)該針對于每個(gè)故障域級別強(qiáng)化可靠性,盡量做好災(zāi)難恢復(fù)機(jī)制,什么級別的故障域出現(xiàn)故障,需要如何恢復(fù)處理,其次,應(yīng)該想辦法實(shí)現(xiàn)用戶云資源的跨故障域轉(zhuǎn)移,例如當(dāng)前在Cluster運(yùn)作,如果Cluster壞了,能否轉(zhuǎn)移到其它Pod,或其它Zone繼續(xù)運(yùn)行,實(shí)現(xiàn)后建議用戶在不同的可感應(yīng)故障域上面部署資源。


   故障域級別,通常這種東西,是管理員心里有數(shù),或者寫在合同上面的東西,我們通過一些云平臺軟件或管理軟件,無非就是實(shí)現(xiàn)故障域,在電腦界面上面可見,可出集中管理,出報(bào)表,出架構(gòu)視圖


   但是更重要的,我們是要實(shí)現(xiàn)故障域的感知,確保用戶選擇到不同故障域的相同資源不會同時(shí)出現(xiàn)故障,確保故障域發(fā)生可以跨故障域感知,讓用戶虛擬機(jī)正常情況在同Region下面的群集節(jié)點(diǎn)運(yùn)行,如果同Region出現(xiàn)故障,可以直接讓虛擬機(jī)跨Region遷移繼續(xù)運(yùn)行,因此故障域的定義大體會有以下功能


    1.實(shí)現(xiàn)軟件層面的故障域架構(gòu),便于記錄查看,便于與物理架構(gòu)對應(yīng)

    2.實(shí)現(xiàn)云管理策略按照故障域架構(gòu)分配策略

    2.實(shí)現(xiàn)故障域感知,確保用戶選擇到不同故障域的相同資源不會同時(shí)出現(xiàn)故障

    3.實(shí)現(xiàn)跨故障域感知,在發(fā)生故障時(shí)能夠讓資源跨不同級別故障域進(jìn)行轉(zhuǎn)移

    4.通過故障域功能,可以提高同一故障域內(nèi),存儲,網(wǎng)絡(luò),計(jì)算資源的粘性性能,確保同一故障域內(nèi)的存儲和計(jì)算資源可以很快的工作。


  要實(shí)現(xiàn)故障域,主要工作應(yīng)該分為兩步,1.邏輯定義 2.具體實(shí)現(xiàn)

   

  邏輯定義,即是我們先定義出來,故障域數(shù)據(jù),先在軟件層面創(chuàng)建出來,讓后把資源加進(jìn)來,這樣看起來我們有了故障域了,但其實(shí)只是看著好看,如果云平臺支持,可以做一些報(bào)表或策略控制


  具體實(shí)現(xiàn),既真正實(shí)現(xiàn)故障域的功能,讓用戶不同作用域的資源不會同時(shí)宕機(jī),讓低級別故障域不可用,用戶資源還可以跨故障域遷移到更高的級別,具體實(shí)現(xiàn)這個(gè)步驟呢,一部分我們可以依賴于技術(shù)手段,如果技術(shù)手段不到位,我們也可以依賴于手動,或者說,人腦把


   定義了故障域不是說了幾個(gè)字那么簡單,管理員做維護(hù)的時(shí)候,是要心里有數(shù)的,例如,不能同一時(shí)間對所有故障域做維護(hù)吧,一定要先維護(hù)好一個(gè)故障域,再維護(hù)另外一個(gè),如果技術(shù)手段不行,不能做到跨故障域級別故障轉(zhuǎn)移,那么真的一個(gè)故障域級別壞了,管理員是需要手動把用戶資源弄走再到另外故障域恢復(fù)的。

  

   所以說故障域,不光是軟件上面的定義和技術(shù)實(shí)現(xiàn),更多的也是要求管理員維護(hù)的時(shí)候有故障域這樣的一個(gè)思路,如果用戶資源在不同故障域,我應(yīng)該怎么維護(hù),不同的故障域級別壞了,我應(yīng)該關(guān)注那些內(nèi)容,參照什么流程恢復(fù),如何跨故障域級別恢復(fù),等等,軟件技術(shù)層面實(shí)現(xiàn)之后,更多的是維護(hù)流程

 

  Ok,上面看了很多通用性的概念,下面我們就來看下微軟WSFC 2016在故障域上面交出的答卷把


  在WSFC 2016中微軟針對于故障域,開通了個(gè)四個(gè)級別,分別是Site,Rack,Chassis,Node,其中Node是群集安裝后默認(rèn)就有,站點(diǎn),機(jī)架,機(jī)箱,我們可以自行創(chuàng)建,自行構(gòu)建它們之間的嵌套級別,并且針對于每個(gè)故障域級別都可以做詳細(xì)的說明,便于查看,讓我很感到驚喜的是WSFC 2016中的故障域并不只是說說而已,而是真的WSFC本身就可以幫助我們實(shí)現(xiàn)故障域感知的功能,目前老王觀察看到  Site,Rack,Chassis這三種故障域級別都有各自生效的場景


   例如,同一個(gè)Site上面的Node,默認(rèn)情況會在Site內(nèi)執(zhí)行故障轉(zhuǎn)移,如果Site所有群集節(jié)點(diǎn)不可用,再轉(zhuǎn)移至不同Site,隨之又有很多Site故障域級別的粘合性優(yōu)化,可以配置群集級別的首選Site,應(yīng)用級別的首選Site,同一個(gè)Site虛擬機(jī)會使用同一個(gè)Site的存儲,如果存儲移動到其它Site,則虛擬機(jī)也跟著移動,等等,本文后面我也將主要介紹WSFC 2016 Site級別的故障域感知。


   還有一種場景,即Storage Direct Spaces,這項(xiàng)技術(shù)相信很多關(guān)注微軟技術(shù)的朋友已經(jīng)測過了,類似于VSAN,可以將每個(gè)節(jié)點(diǎn)肚子里面存儲貢獻(xiàn)出來形成一個(gè)存儲池,再基于這個(gè)存儲池構(gòu)建存儲空間,CSV,SOFS,最終交付給應(yīng)用,在SDS的場景下,當(dāng)我們寫入數(shù)據(jù)給SDS存儲空間,數(shù)據(jù)是會被撒在不同節(jié)點(diǎn)的,配置了雙向鏡像,三向鏡像,雙重校驗(yàn)的等容錯(cuò)技術(shù)后,數(shù)據(jù)會被撒多份,屆時(shí)在容錯(cuò)技術(shù)容許的情況下,可以允許指定的節(jié)點(diǎn)數(shù)壞掉,然后新加節(jié)點(diǎn)恢復(fù),或磁盤壞掉,新加磁盤恢復(fù),所以,默認(rèn)情況下SDS就已經(jīng)有了磁盤級別故障域,節(jié)點(diǎn)級別故障域


   我們也可以把SDS技術(shù)和WSFC 2016故障域新功能結(jié)合起來,在開啟SDS功能前,我們針對于節(jié)點(diǎn)構(gòu)建Rack或Chassis級別的故障域,屆時(shí)SDS執(zhí)行容錯(cuò)時(shí),將按照拓?fù)溥M(jìn)行操作,例如會保證數(shù)據(jù)始終灑在不同Rack或不同chassis節(jié)點(diǎn)上面,這樣即便是一個(gè)Rack或一個(gè)chassis故障,也不會影響SDS,注意,如果希望實(shí)現(xiàn)這項(xiàng)功能,建議最好在SDS開啟之前就規(guī)劃好故障域級別,否則SDS建好之后在規(guī)劃,需要重新移除節(jié)點(diǎn),再加入到故障域。

wKiom1mz2knBG27BAAJBwx7aEbs040.png


WSFC 2016故障域群集配置命令:


Get-ClusterFaultDomain:獲取群集故障域架構(gòu),可以從群集級別,或任意故障域級別

Set-ClusterFaultDomain:移動資源所屬故障域,配置故障域相關(guān)參數(shù)

New-ClusterFaultDomain:創(chuàng)建群集故障域,可以選擇Site,Rack,Chassis級別的故障域

Remove-ClusterFaultDomain:刪除故障域


實(shí)驗(yàn)示例:


#創(chuàng)建北京站點(diǎn)和上海站點(diǎn)

New-ClusterFaultDomain -Type Site -Name "Beijing" -Description "Primary Site"

New-ClusterFaultDomain -Type Site -Name "Shanghai" -Description "Secondary Site"

wKiom1mz3xKzkIfYAAAHXIh0eVA679.png

wKioL1mz3u7jeqtjAAAKKjCx418986.png

#創(chuàng)建北京站點(diǎn)數(shù)據(jù)中心Rack和上海站點(diǎn)數(shù)據(jù)中心Rack 

New-ClusterFaultDomain -Type Rack -Name "Rack Beijing1" -Location "Fumadasha 17, Room 501"

New-ClusterFaultDomain -Type Rack -Name "Rack Shanghai1" -Location "TaiDidash 14, Room 203"

wKioL1mz4CvTGnjHAAAIQPFv7JA750.png

wKiom1mz4E_hmTW-AAAKzxoVr7w859.png

#創(chuàng)建北京Rack上面的兩個(gè)機(jī)箱,上海Rack上面的兩個(gè)機(jī)箱

New-ClusterFaultDomain -Type Chassis -Name "Chassis 01"-Location "Rack Beijing01 Ontop"

New-ClusterFaultDomain -Type Chassis -Name "Chassis 02"-Location "Rack Beijing01 Under"

New-ClusterFaultDomain -Type Chassis -Name "Chassis 03"-Location "Rack Shanghai01 Ontop"

New-ClusterFaultDomain -Type Chassis -Name "Chassis 04"-Location "Rack Shanghai01 Under"

wKioL1mz4Z-C-Dj8AAAQWE_GNJ8802.png

wKiom1mz4cKBcZDBAAAPVgjX4MI032.png

需要注意,這里每個(gè)故障域Name都將是唯一的


#添加服務(wù)器進(jìn)入機(jī)箱

Set-ClusterFaultDomain -Name "HV01" -Parent "Chassis 01"

Set-ClusterFaultDomain -Name "HV02" -Parent "Chassis 02"

Set-ClusterFaultDomain -Name "HV03" -Parent "Chassis 03"

Set-ClusterFaultDomain -Name "HV04" -Parent "Chassis 04"

wKiom1mz4rnzNVklAAAGeUoZaYw837.png

wKiom1mz6ovxq3lOAAAGSN-TrhI131.png

#構(gòu)建機(jī)箱機(jī)架站點(diǎn)依賴關(guān)系

Set-ClusterFaultDomain -Name "Chassis 01" -Parent "Rack Beijing1"

Set-ClusterFaultDomain -Name "Chassis 02" -Parent "Rack Beijing1"

Set-ClusterFaultDomain -Name "Chassis 03" -Parent "Rack Shanghai1"

Set-ClusterFaultDomain -Name "Chassis 04" -Parent "Rack Shanghai1"

Set-ClusterFaultDomain -Name "Rack Beijing1" -Parent "Beijing"

Set-ClusterFaultDomain -Name "Rack Shanghai1" -Parent "Shanghai"

wKiom1mz5EXy_nI8AAAK3DNCSxs688.png

#獲取故障域拓?fù)?/span>

Get-ClusterFaultDomain

wKiom1mz5cSjKotiAAANSCgN9-g039.png

#獲取故障域完整信息

Get-ClusterFaultDomain | ft name,type,parentname,childrennames,Location,description  -autosize

wKiom1mz5YrT_EzuAAAV9zWIXDk689.png

還可以把,在這里大家可以看到,老王之前定義的所有故障域,以及嵌套關(guān)系,還有位置信息和說明信息,這兩個(gè)也是新屬性,主要用于對故障域做標(biāo)注使用,便于排錯(cuò)或者查找,可以看到,從城市級別,到數(shù)據(jù)中心大廈級別,到屋子級別,機(jī)架級別,甚至定義到機(jī)架上面機(jī)箱的位置。您也可以在站點(diǎn)Location的位置輸入城市+數(shù)據(jù)中心信息,Location和description信息也可以后期Set去改,這里有很多種玩法,大家可以自己去發(fā)掘,關(guān)鍵是準(zhǔn)確,有意義,明了即可。


#獲取單一故障域拓?fù)?/span>

wKiom1mz5uewSHf_AAAJDCfZw7g321.png

#獲取某一級別故障域拓?fù)?/span>

wKiom1mz5vyDPH8RAAAHmoETiLo368.png


#刪除故障域

如果要?jiǎng)h除一個(gè)故障域,要求下面沒有子資源,例如我們要?jiǎng)h除Chassis 01,但是下面有HV01節(jié)點(diǎn),我們就需要先移除HV01出去


#移除要被刪除故障域下面資源

Set-ClusterFaultDomain -Name "HV01" -Parent ""

wKiom1mz583yUcByAAAFCWk1pXQ922.png

#刪除故障域

wKioL1mz5-3TapZbAAAEdmSMdnc021.png

除了可以使用Poweshell配置群集故障域,還可以導(dǎo)出xml進(jìn)行配置,編輯完成后再導(dǎo)入xml

#導(dǎo)出故障域架構(gòu)xml

Get-ClusterFaultDomain | Out-File <Path>

wKioL1mz6trCheHWAAAewAGSggQ374.png

使用工具完成XML后,需要使用以下命令再把XML上傳回去生效

$xml = Get-Content <Path> | Out-String  

Set-ClusterFaultDomainXML -XML $xml



以上,老王簡單為大家介紹了下WSFC2016中新增的故障域功能,以及配置辦法,但是到目前為止我們只是邏輯創(chuàng)建出了故障域,可以看到,可以和物理對應(yīng),但是有沒有生效呢,還沒有,因?yàn)楣收嫌虻纳?,取決于云管理平臺,或WSFC能感應(yīng)到什么程度


在常規(guī)設(shè)計(jì)中,故障域通常是在云平臺管理系統(tǒng)中定義的,故障域會運(yùn)作在云基礎(chǔ)架構(gòu)的整體架構(gòu)上,而WSFC則是反其道而行之,在群集的級別上面定義Site,Rack,Chassis,這樣不論是Site,Rack,Chassis都需要在群集的框架內(nèi)運(yùn)行,這也是微軟的架構(gòu)和其它廠商不同之處。


其中老王認(rèn)為,對于故障域站點(diǎn)感知,WSFC做的還算不錯(cuò),我們定義了站點(diǎn)故障域,把節(jié)點(diǎn)放入站點(diǎn)故障域下面后能夠?qū)崿F(xiàn)


站點(diǎn)感知:設(shè)置好了站點(diǎn)后,我們可以讓群集節(jié)點(diǎn)每次故障轉(zhuǎn)移或維護(hù)模式,都先在站點(diǎn)內(nèi)進(jìn)行角色轉(zhuǎn)移,如果本站點(diǎn)無正常節(jié)點(diǎn)可轉(zhuǎn)移,再轉(zhuǎn)移至其它站點(diǎn),在以前的版本中是沒有這項(xiàng)技術(shù)的,以前版本中如果我們希望實(shí)現(xiàn)類似的需求,是通過設(shè)置應(yīng)用的首選所有者來實(shí)現(xiàn),2016則把站點(diǎn)感知帶到群集中


存儲站點(diǎn)感知:群集中的虛擬機(jī),將會follow同站點(diǎn)內(nèi)的CSV,假設(shè)CSV遷移到其它站點(diǎn),一分鐘后,虛擬機(jī)發(fā)現(xiàn),CSV遷移到其它站點(diǎn),那么虛擬機(jī)也會實(shí)時(shí)遷移過去,配置站點(diǎn)感知后,會確認(rèn)首選站點(diǎn)始終直接訪問存儲,如果存儲移動,則虛擬機(jī)也跟隨移動。


群集組站點(diǎn)感知:我們也可以配置應(yīng)用的站點(diǎn)感知,例如設(shè)置SQL實(shí)例1的首選站點(diǎn)為beijing,SQL實(shí)例2的首選站點(diǎn)為shanghai,這樣可以實(shí)現(xiàn)一種多主運(yùn)行應(yīng)用的場景,讓SQL1故障轉(zhuǎn)移首先在beijing站點(diǎn)內(nèi),SQL2故障轉(zhuǎn)移首先在shanghai站點(diǎn)內(nèi)。


首選站點(diǎn):配置了站點(diǎn)感知之后,我們首先要選擇出首選站點(diǎn),首選站點(diǎn)可以確保,當(dāng)群集出現(xiàn)50/50投票時(shí),動態(tài)仲裁始終去掉非首選站點(diǎn)的投票,讓首選站點(diǎn)運(yùn)作,沒錯(cuò),這替代LowerQuorumPriorityNodeID,在群集冷啟動時(shí),虛擬機(jī)也會優(yōu)先在首選站點(diǎn)啟動


它們的優(yōu)先級順序如下

存儲站點(diǎn)感知>群集組站點(diǎn)感知>首選站點(diǎn)感知


除了這些信息外,站點(diǎn)感知功能隨之增加了新的跨站點(diǎn)心跳檢測機(jī)制,我們將在下一篇博客中進(jìn)行介紹


OK,下面開始實(shí)驗(yàn)驗(yàn)證


清空所有故障域配置

wKioL1mz7O6ibOpHAAAHVhjzP7g550.png

實(shí)驗(yàn)環(huán)境

wKioL1mz73uSh3dGAAATC5vaWEs183.png


wKiom1mz8ETSgPTEAAAMRhu-Mh0008.png



wKioL1mz8CzD8lhJAAAFzTa2FBs457.png


群集當(dāng)前基于CSV跑了一臺虛擬機(jī),兩個(gè)dtc,都運(yùn)作在北京站點(diǎn)HV01

wKiom1m09O-SCDBZAAA45KJgxPs704.pngwKioL1m0-gqy19bnAAA1HGiKlvE949.png

故障域配置如下

wKioL1mz8gaik9zZAAAVu84kydU653.png

wKioL1mz8lPAh57TAAANjudgD1k561.png

實(shí)現(xiàn)驗(yàn)證站點(diǎn)感知,在未配置首選所有者情況下,三個(gè)群集應(yīng)用運(yùn)作于HV01,歸屬于同一站點(diǎn)故障域beijing


手動停止節(jié)點(diǎn)HV01群集服務(wù),應(yīng)用自動首先遷移至同站點(diǎn)內(nèi)HV02

wKioL1m0-yfA7g5UAAAY4mdKcv0727.png

wKioL1m1C6jyDf7oAAA6X2_jkhw452.png

打開clusterlog查看

wKiom1m1DtDhmKcyAAAeKhZR_A8809.png

wKioL1m1DquxQw4DAAAlOt-KAp0063.png

wKiom1m1DtDTRG0cAAAqPaDxuPk170.png

   這里我們雖然成功了,但是也有一定幾率的情況下,我們達(dá)不到這樣的效果,在2016中,當(dāng)我們構(gòu)建了站點(diǎn)故障域后,群集再次進(jìn)行故障轉(zhuǎn)移時(shí),傳統(tǒng)群集角色會直接在本站點(diǎn)內(nèi)向嘗試進(jìn)行故障轉(zhuǎn)移,而基于CSV的虛擬機(jī)則并不一定,原因是CSV是可以漂移的,可能現(xiàn)在CSV主控制點(diǎn)在HV04,但是虛擬機(jī)在HV01,這也是可以跑的

   如果CSV的主控節(jié)點(diǎn)和虛擬機(jī)就在同一個(gè)節(jié)點(diǎn),那么當(dāng)節(jié)點(diǎn)宕機(jī)時(shí),有可能CSV會去其它站點(diǎn),假設(shè)CSV去了其它站點(diǎn)的節(jié)點(diǎn),那么虛擬機(jī)也會跟著follow過去

   如果CSV的主控節(jié)點(diǎn)和HV01不在一個(gè)Site,那么當(dāng)HV01故障轉(zhuǎn)移時(shí),虛擬機(jī)會follow CSV所在的site,CSV在哪,虛擬機(jī)就去哪,確保虛擬機(jī)可以獲得最好的性能,而忽略站點(diǎn)內(nèi)感知的功能,因此存儲感知的優(yōu)先級也最高

   如果虛擬機(jī)當(dāng)前是開機(jī)狀態(tài),則每個(gè)一分鐘會檢測,我和CSV是否在同一個(gè)Site,如果不在同一個(gè)Site,我要實(shí)時(shí)遷移過去,如果虛擬機(jī)時(shí)關(guān)機(jī)狀態(tài)則不會檢測,但是故障轉(zhuǎn)移或維護(hù)時(shí),會先去找CSV所在站點(diǎn),在群集日志中可以看到


wKiom1m1EgaC54D9AABecRyEITM296.png

  接下來就要進(jìn)入另外的一項(xiàng)技術(shù),即首選站點(diǎn)功能,首選站點(diǎn)配置級別,可以是在群集級別,存儲級別,群集組級別,這里我們首先要配置的就是存儲級別,我們手動來規(guī)定確保CSV和站點(diǎn)的粘性,例如CSV01 始終follow 北京站點(diǎn),CSV02始終follow上海站點(diǎn)


  這樣北京站點(diǎn)的虛擬機(jī)始終就找北京站點(diǎn)的CSV01,CSV01也始終會在北京站點(diǎn),虛擬機(jī)故障轉(zhuǎn)移或維護(hù)也始終會先在北京站點(diǎn),因?yàn)镃SV已經(jīng)被固定,如果CSV出現(xiàn)維護(hù)操作或失敗操作也可以第一時(shí)間回到北京站點(diǎn),配置在同一個(gè)站點(diǎn)的CSV會在節(jié)點(diǎn)內(nèi)執(zhí)行負(fù)載分布


#獲取CSV的群集組名稱

Get-ClusterSharedVolume | Get-ClusterGroup

wKiom1m1FHygYimsAAAIEZXgeNk024.png

CSV也是群集組 Really?i_f36.gif


#基于獲取到的CSV群集組名稱,配置到首選站點(diǎn)

(Get-ClusterGroup -name  CSVClusterGroupName).PreferredSite =“beijing”

wKiom1m1FZmRdhHnAAAImuWcI2I704.png

OK,現(xiàn)在我們就可以放心了,虛擬機(jī)會始終follow CSV,CSV也始終follow 本地站點(diǎn),這樣確保了虛擬機(jī)發(fā)生故障,在本地站點(diǎn)有可用節(jié)點(diǎn),一定會先遷移到本地站點(diǎn)。


下面我們再配置群集級別的首選站點(diǎn),配置群集級別首選站點(diǎn)的目的無非是發(fā)生50 50分時(shí)讓群集始終確保首選站點(diǎn)可以獲勝。


#查看群集當(dāng)前節(jié)點(diǎn)投票與見證投票

wKioL1m1GvrRPcP3AAAQ7KlAvfo363.png

直接禁用仲裁磁盤,模擬群集仲裁失效,50 50分成情況下,動態(tài)仲裁自動選擇一個(gè)節(jié)點(diǎn)去掉投票數(shù)

wKioL1m1G17ATKQ3AAAJup_MDZo599.png

可以看到默認(rèn)情況下,群集自動去掉了上海站點(diǎn)的投票

wKiom1m1IArwE60YAAARKjdxdDs038.png

我們?nèi)绻謩又付ㄊ走x站點(diǎn),例如,我們手動指定上海為首選站點(diǎn),那么當(dāng)下次再發(fā)生五五分成的時(shí)候,動態(tài)仲裁將始終去掉北京站點(diǎn)節(jié)點(diǎn)的投票

wKiom1m1ISWiCMP4AAASy3W_LT4400.png


ClusterLog

存儲見證在的時(shí)候完整投票數(shù)

wKiom1m1JDPQzjr2AAAl5u9IZbI117.png

見證失效的臨時(shí)投票數(shù),隨后立刻會被動態(tài)仲裁隨機(jī)去掉投票

wKiom1m1JDPQRXfHAAAc1TstR3Y871.png

默認(rèn)下動態(tài)仲裁去掉HV03投票

wKiom1m1JCiTDiQaAAAYLNMGpf8544.png

手動修改后去掉HV01投票

wKioL1m1JA6CyBh-AAAWLferw44542.png

以上為首選站點(diǎn)在群集級別配置后的效果之一,看起來2012R2 LowerQuorumPriorityNodeID并沒太大差別


#配置群集級別首選站點(diǎn)回到北京

(Get-Cluster).PreferredSite = Beijing

wKioL1m1GZqgVfOdAAAFKkkY3zY016.png


看過了存儲級別的站點(diǎn)感知,以及首選站點(diǎn)替代LowerQuorumPriorityNodeID的新功能,最后我們來看下主菜,即應(yīng)用程序的多主站點(diǎn)感知


在看應(yīng)用程序多主站點(diǎn)感知,老王還是想為大家看下群集級別站點(diǎn)感知的效果,當(dāng)前我們已經(jīng)配置了存儲站點(diǎn)感知,因此可以發(fā)揮出完整的效果


時(shí)間節(jié)點(diǎn)1

所有應(yīng)用和虛擬機(jī)運(yùn)行于北京站點(diǎn)HV01

wKioL1m1KvuSz-17AAA4YPsdd6Y143.png

手動停止HV01群集服務(wù),CSV遷移同站點(diǎn)其它節(jié)點(diǎn),所有角色遷移同站點(diǎn)內(nèi)其它節(jié)點(diǎn)

wKiom1m1LlWSzGi0AAAvr_G27do511.png

wKiom1m1L9TwvnLDAAA7y00p7Ho433.png

再次停止HV02群集服務(wù),失去整個(gè)Beijing站點(diǎn),所有應(yīng)用跨站點(diǎn)故障域遷移到Shanghai

wKioL1m1MQygzzqSAAA7WZ8D_Zo450.png


wKioL1m1MS7iSz2LAABBZUeOjSM537.png

  至此就是故障域站點(diǎn)感知的效果了,對于了解故障域概念,但是不了解微軟WSFC的人來說,這可能很炫,應(yīng)用感知到故障域,并且優(yōu)先在故障域內(nèi)轉(zhuǎn)移,同一站點(diǎn)故障域內(nèi)虛擬機(jī)可以獲得存儲最好的性能,如果同級別站點(diǎn)故障域不可用,可以跨故障域轉(zhuǎn)移至新故障域站點(diǎn)繼續(xù)運(yùn)行,看起來很不錯(cuò),但是內(nèi)行看門道,其實(shí)呢,只不過是包上來一層新的概念,我們通過原來的首選所有者技術(shù)也可以實(shí)現(xiàn)類似的效果,只不過通過新的方式配置,看起來更加專業(yè)些,便于故障域概念的落地。


  相對于站點(diǎn)感知功能,老王更看重的是另一大塊,即首選站點(diǎn)感知,首先站點(diǎn)感知里面包括群集級別,存儲級別,群集組級別,其中老王更看重存儲級別的首選站點(diǎn)感知,可以和站點(diǎn)感知功能融合,確保同站點(diǎn)內(nèi)虛擬機(jī)始終訪問同站點(diǎn)的存儲,讓CSV存儲和虛擬機(jī)始終在同一個(gè)站點(diǎn),同站點(diǎn)始終獲取最好的性能,這是以前版本沒有的


  梳理下WSFC 2016針對于故障域新增的新功能


  1.故障域定義:全新,支持站點(diǎn)感知,SDS感知

  2.站點(diǎn)感知:代替首選所有者

  3.首選站點(diǎn)感知:替代LowerQuorumPriorityNodeID

  4.應(yīng)用多主首選站點(diǎn)感知:代替首選所有者

  5.CSV存儲首選站點(diǎn)感知:存儲follow站點(diǎn),VMfollow存儲

  6.新增跨站點(diǎn)心跳檢測參數(shù)


  故障域和站點(diǎn)感知支持WSFC傳統(tǒng)同域部署,工作組部署與同林多域部署


  作為微軟本地端產(chǎn)品首次嘗試引入故障域?qū)傩?,老王認(rèn)為微軟做的已經(jīng)還可以,期望未來可以不斷完善,在老王看來,故障域其實(shí)可以更上一個(gè)級別,例如我們可以在SCVMM的級別定義故障域,從站點(diǎn),數(shù)據(jù)中心,機(jī)架,機(jī)箱,群集,Host,這樣從上向下做的話也許會更好,因?yàn)楝F(xiàn)階段從下向上定義,畢竟群集的規(guī)模受限,如果是在VMM級別,則我們不必受限于單個(gè)群集的規(guī)模,甚至可以針對站點(diǎn),或機(jī)架,機(jī)箱,數(shù)據(jù)中心,配置不同的故障轉(zhuǎn)移策略,網(wǎng)絡(luò)策略,存儲策略,那樣就更好了,希望這項(xiàng)功能能夠得到不斷的完善,越來越多的本地端產(chǎn)品,或群集上層應(yīng)用可以更好的和故障域協(xié)同。


最后,應(yīng)用多主首選站點(diǎn)感知,我們可以配置在群集組的級別,配置不同的群集組選擇不同的首選站點(diǎn),這樣不同的群集組就都會在各自的首選站點(diǎn)中先執(zhí)行故障轉(zhuǎn)移,如果首選站點(diǎn)無可用節(jié)點(diǎn),再轉(zhuǎn)移至其它站點(diǎn),這樣在一定程度上,可以減少跨站點(diǎn)轉(zhuǎn)移的成本,確保每個(gè)站點(diǎn)的資源都得到合理的利用,不會本站點(diǎn)還有節(jié)點(diǎn)就轉(zhuǎn)移到跨站點(diǎn),一定程度上可以減少宕機(jī)時(shí)間,提高應(yīng)用運(yùn)行的時(shí)間。


#配置多主站點(diǎn)感知


對于devtestdtc首選站點(diǎn)為beijing

對于MikeWang首選站點(diǎn)為beijing

(Get-ClusterGroup -Name devtestdtc).PreferredSite = Beijing

(Get-ClusterGroup -Name MikeWang).PreferredSite = Beijing

wKiom1m1N7bT0kBdAAAGKSYQK7k259.png


對于devtest1dtc首選站點(diǎn)為shanghai

(Get-ClusterGroup -Name devtestdtc1).PreferredSite = Shanghai

wKioL1m1N9qxSBEIAAAHnGw6N-s415.png

當(dāng)前devtestdtc Mikewang在HV01運(yùn)行,devtestdtc1在HV04運(yùn)行

wKiom1m1OB6TCDnjAAA6_KnpfY8710.png

停機(jī)HV01,devtestdtc Mikewang轉(zhuǎn)移至北京同站點(diǎn)HV02

wKiom1m1Oinz85DJAAA669FB7s0641.png

停機(jī)HV04,devtestdtc轉(zhuǎn)移至上海同站點(diǎn)HV03

wKiom1m1OxOh3_ZcAAA5tdVMnaA707.pngwKiom1m1O17wDAB3AAA9paJtOMI933.png

針對于站點(diǎn)感知或應(yīng)用多主首選站點(diǎn)感知,建議配置應(yīng)用的故障回復(fù)屬性,這樣當(dāng)檢測到首選站點(diǎn),或本地站點(diǎn)可用時(shí),會回到原來站點(diǎn)運(yùn)行

wKiom1m1PhSgIlPEAAAk8u08dgA680.png

   很高興和大家介紹另外一項(xiàng)WSFC2016的酷炫技術(shù),即故障域功能


   與之類似的技術(shù)有CloudStack,Openastack等


   以CloudStack為例,在CloudStack中,針對于資源架構(gòu),我們可以手動來定義架構(gòu)模型,從最上層Region,Zone,Pod,Cluster,再到最底層的Host,通過規(guī)劃這樣一套架構(gòu)模型,我們可以在云管理軟件上面定義出云資源池底層的架構(gòu),實(shí)現(xiàn)既能夠?qū)τ谟脩羝帘渭夹g(shù)細(xì)節(jié),也能夠讓云管理軟件按照架構(gòu)模型運(yùn)轉(zhuǎn)


   其中最上層,最大的架構(gòu)為  Region,也就是地域了,例如,我們在使用阿里云,Azure,AWS的時(shí)候創(chuàng)建虛擬機(jī),都只需要選擇一個(gè)區(qū)域就好了,對應(yīng)到后臺就是這個(gè)概念,Region的概念是地域,不同Region,則應(yīng)該意味著不同地域,如果說用戶把兩臺虛擬機(jī)部署在兩個(gè)不同的Region,那么它們同時(shí)出現(xiàn)故障的幾率會很低


   其次是Zone,CloudStack中,Zone主要是指數(shù)據(jù)中心,我們說一個(gè)Zone,就是說一個(gè)數(shù)據(jù)中心,一個(gè)數(shù)據(jù)中心里面可能有多個(gè)Pod,即機(jī)架,不同機(jī)架可能使用不同的網(wǎng)絡(luò)架構(gòu)設(shè)施,一個(gè)機(jī)架上面有可能有多個(gè)Cluster,一個(gè)Cluster上面又可能有多個(gè)Host,同一個(gè)Zone內(nèi)共用一個(gè)二級存儲。

 

   定義這樣的架構(gòu)后,對于用戶來說,用戶不需要知道太多,它們只需要知道,我們要部署到離我們訪問地方比較近的Region,如果我的不同虛擬機(jī)放在不同Region,會被放置在不同的,很遠(yuǎn)的地方,不會同時(shí)發(fā)生故障,這樣就夠了

   

   一些云平臺例如Azure,可以讓用戶選擇不同的可用性集,對應(yīng)的概念,就是這里的機(jī)架,如果選擇虛擬機(jī)在不同的可用性集,意味著虛擬機(jī)會被放置在不同的Pod,微軟也叫做Rack,如果部署了可用性集后Azure才可以保證SLA在99.95%


   一套云管理系統(tǒng),對于資源管理員來說,管理員主要關(guān)注的是持續(xù)保證租戶資源的SLA,置備多種高可用方案,災(zāi)備方案,等等,這里我們主要討論的是高可用方案,在高可用方案里面,通常在云計(jì)算業(yè)內(nèi),人們會談到故障域


   什么是故障域呢,例如,我一個(gè)節(jié)點(diǎn)壞了,上面虛擬機(jī)可以漂到其它節(jié)點(diǎn),這時(shí)候節(jié)點(diǎn)是一個(gè)故障域,單個(gè)節(jié)點(diǎn)故障了,我們部署了群集系統(tǒng),會故障轉(zhuǎn)移,并不會影響SLA


   默認(rèn)情況下大多數(shù)云管理平臺的failover級別都是Cluster內(nèi)的節(jié)點(diǎn)級別,理想情況下,老王認(rèn)為,所有已定義的Region,zone,pod,Cluster都是應(yīng)該可以感知的,例如,如果群集里面一個(gè)節(jié)點(diǎn)壞了,我可以把虛擬機(jī)先遷移到Cluster內(nèi)其它節(jié)點(diǎn),如果不行,再遷移到同Pod上面其它群集,如果不行再遷移到Zone里面的不同Pod,如果不行再遷移到不同Zone,甚至最后整個(gè)Zone癱瘓,還可以轉(zhuǎn)移到其它Region恢復(fù)運(yùn)行,如果真的可以做到這樣就太強(qiáng)大了,真正實(shí)現(xiàn)了云計(jì)算持續(xù)可用的目的


   不過在現(xiàn)實(shí)情況下,根據(jù)老王的觀察,我們軟件的定義的這些Region,zone,pod,Cluster,一部分是用來看的,一部分是用來用的,假設(shè)Region,zone,pod這些東西沒有和云資源故障系統(tǒng)達(dá)成感應(yīng),那么是不會有老王上面說的效果的,可能最多就是,我們可以集中針對同一個(gè)Pod里面的Cluster或Host進(jìn)行policy設(shè)置,可以讓一個(gè)Zone中心里面的所有Pod,Cluster使用相同的共享二級存儲,或者通過報(bào)告集中輸出下報(bào)告之類的。


   實(shí)務(wù)上通常一些云計(jì)算廠商會實(shí)現(xiàn)Region級別,Pod級別,Cluster級別的故障域感知,例如Cluster失效,會恢復(fù)到其它Region繼續(xù)運(yùn)行,或是Cluster維護(hù),由Pod上面其它Cluster暫時(shí)負(fù)責(zé)服務(wù)。


   這里老王說了這么多,是希望把故障域這樣的一個(gè)概念帶給大家,這個(gè)概念是相通的,不光在微軟WSFC 2016會有,在Cloudstack,Openstack等其它云平臺管理軟件中也會有,老王認(rèn)為這項(xiàng)功能在云平臺管理,或者大型數(shù)據(jù)中心,大型托管數(shù)據(jù)中心里面會很常見,是項(xiàng)規(guī)范管理的好功能。


   這項(xiàng)技術(shù)把它叫做軟件定義故障域也好,故障域也好,舉個(gè)例子


   比如我們知道,租戶的虛擬機(jī)在HV01節(jié)點(diǎn),Cluster01上面運(yùn)行,Cluster 01在Pod01上面,Pod01在Zone01,Zone01在Region北京運(yùn)行,之前是在腦子里知道,現(xiàn)在我們可以通過軟件定義在管理系統(tǒng)中


   如果HV01節(jié)點(diǎn)Host級別壞了,由于Cluster自動實(shí)現(xiàn)主機(jī)級別故障域,節(jié)點(diǎn)會轉(zhuǎn)移到其它節(jié)點(diǎn)上面運(yùn)行,注意,只要是通過可以正常進(jìn)行故障轉(zhuǎn)移的系統(tǒng)構(gòu)成的cluster,那么默認(rèn)物理上就已經(jīng)實(shí)現(xiàn)為了主機(jī)故障域

  如果Cluster壞了呢,那么Cluster就是一個(gè)故障域,Cluster上面會有很多臺虛擬機(jī),也會隨之跟著停機(jī),如果沒有置備跨Cluster的轉(zhuǎn)移機(jī)制,這里就會產(chǎn)生宕機(jī)時(shí)間。

  如果Pod級別壞了,那么Pod就是一個(gè)故障域,Pod上面會有很多Cluster,Cluster里面又會有很多應(yīng)用,所有全部停機(jī)。

  如果Zone級別壞了,那么整個(gè)Zone就是一個(gè)故障域

  如果Region級別壞了,那么整個(gè)Region就是一個(gè)故障域


  大家可以看出,越大的級別壞了,影響到的越多,所以對于架構(gòu)人員來說,如果你作為一個(gè)云提供商或者大型托管數(shù)據(jù)中心提供商,那么首先您應(yīng)該針對于每個(gè)故障域級別強(qiáng)化可靠性,盡量做好災(zāi)難恢復(fù)機(jī)制,什么級別的故障域出現(xiàn)故障,需要如何恢復(fù)處理,其次,應(yīng)該想辦法實(shí)現(xiàn)用戶云資源的跨故障域轉(zhuǎn)移,例如當(dāng)前在Cluster運(yùn)作,如果Cluster壞了,能否轉(zhuǎn)移到其它Pod,或其它Zone繼續(xù)運(yùn)行,實(shí)現(xiàn)后建議用戶在不同的可感應(yīng)故障域上面部署資源。


   故障域級別,通常這種東西,是管理員心里有數(shù),或者寫在合同上面的東西,我們通過一些云平臺軟件或管理軟件,無非就是實(shí)現(xiàn)故障域,在電腦界面上面可見,可出集中管理,出報(bào)表,出架構(gòu)視圖


   但是更重要的,我們是要實(shí)現(xiàn)故障域的感知,確保用戶選擇到不同故障域的相同資源不會同時(shí)出現(xiàn)故障,確保故障域發(fā)生可以跨故障域感知,讓用戶虛擬機(jī)正常情況在同Region下面的群集節(jié)點(diǎn)運(yùn)行,如果同Region出現(xiàn)故障,可以直接讓虛擬機(jī)跨Region遷移繼續(xù)運(yùn)行,因此故障域的定義大體會有以下功能


    1.實(shí)現(xiàn)軟件層面的故障域架構(gòu),便于記錄查看,便于與物理架構(gòu)對應(yīng)

    2.實(shí)現(xiàn)云管理策略按照故障域架構(gòu)分配策略

    2.實(shí)現(xiàn)故障域感知,確保用戶選擇到不同故障域的相同資源不會同時(shí)出現(xiàn)故障

    3.實(shí)現(xiàn)跨故障域感知,在發(fā)生故障時(shí)能夠讓資源跨不同級別故障域進(jìn)行轉(zhuǎn)移

    4.通過故障域功能,可以提高同一故障域內(nèi),存儲,網(wǎng)絡(luò),計(jì)算資源的粘性性能,確保同一故障域內(nèi)的存儲和計(jì)算資源可以很快的工作。


  要實(shí)現(xiàn)故障域,主要工作應(yīng)該分為兩步,1.邏輯定義 2.具體實(shí)現(xiàn)

   

  邏輯定義,即是我們先定義出來,故障域數(shù)據(jù),先在軟件層面創(chuàng)建出來,讓后把資源加進(jìn)來,這樣看起來我們有了故障域了,但其實(shí)只是看著好看,如果云平臺支持,可以做一些報(bào)表或策略控制


  具體實(shí)現(xiàn),既真正實(shí)現(xiàn)故障域的功能,讓用戶不同作用域的資源不會同時(shí)宕機(jī),讓低級別故障域不可用,用戶資源還可以跨故障域遷移到更高的級別,具體實(shí)現(xiàn)這個(gè)步驟呢,一部分我們可以依賴于技術(shù)手段,如果技術(shù)手段不到位,我們也可以依賴于手動,或者說,人腦把


   定義了故障域不是說了幾個(gè)字那么簡單,管理員做維護(hù)的時(shí)候,是要心里有數(shù)的,例如,不能同一時(shí)間對所有故障域做維護(hù)吧,一定要先維護(hù)好一個(gè)故障域,再維護(hù)另外一個(gè),如果技術(shù)手段不行,不能做到跨故障域級別故障轉(zhuǎn)移,那么真的一個(gè)故障域級別壞了,管理員是需要手動把用戶資源弄走再到另外故障域恢復(fù)的。

  

   所以說故障域,不光是軟件上面的定義和技術(shù)實(shí)現(xiàn),更多的也是要求管理員維護(hù)的時(shí)候有故障域這樣的一個(gè)思路,如果用戶資源在不同故障域,我應(yīng)該怎么維護(hù),不同的故障域級別壞了,我應(yīng)該關(guān)注那些內(nèi)容,參照什么流程恢復(fù),如何跨故障域級別恢復(fù),等等,軟件技術(shù)層面實(shí)現(xiàn)之后,更多的是維護(hù)流程

 

  Ok,上面看了很多通用性的概念,下面我們就來看下微軟WSFC 2016在故障域上面交出的答卷把


  在WSFC 2016中微軟針對于故障域,開通了個(gè)四個(gè)級別,分別是Site,Rack,Chassis,Node,其中Node是群集安裝后默認(rèn)就有,站點(diǎn),機(jī)架,機(jī)箱,我們可以自行創(chuàng)建,自行構(gòu)建它們之間的嵌套級別,并且針對于每個(gè)故障域級別都可以做詳細(xì)的說明,便于查看,讓我很感到驚喜的是WSFC 2016中的故障域并不只是說說而已,而是真的WSFC本身就可以幫助我們實(shí)現(xiàn)故障域感知的功能,目前老王觀察看到  Site,Rack,Chassis這三種故障域級別都有各自生效的場景


   例如,同一個(gè)Site上面的Node,默認(rèn)情況會在Site內(nèi)執(zhí)行故障轉(zhuǎn)移,如果Site所有群集節(jié)點(diǎn)不可用,再轉(zhuǎn)移至不同Site,隨之又有很多Site故障域級別的粘合性優(yōu)化,可以配置群集級別的首選Site,應(yīng)用級別的首選Site,同一個(gè)Site虛擬機(jī)會使用同一個(gè)Site的存儲,如果存儲移動到其它Site,則虛擬機(jī)也跟著移動,等等,本文后面我也將主要介紹WSFC 2016 Site級別的故障域感知。


   還有一種場景,即Storage Direct Spaces,這項(xiàng)技術(shù)相信很多關(guān)注微軟技術(shù)的朋友已經(jīng)測過了,類似于VSAN,可以將每個(gè)節(jié)點(diǎn)肚子里面存儲貢獻(xiàn)出來形成一個(gè)存儲池,再基于這個(gè)存儲池構(gòu)建存儲空間,CSV,SOFS,最終交付給應(yīng)用,在SDS的場景下,當(dāng)我們寫入數(shù)據(jù)給SDS存儲空間,數(shù)據(jù)是會被撒在不同節(jié)點(diǎn)的,配置了雙向鏡像,三向鏡像,雙重校驗(yàn)的等容錯(cuò)技術(shù)后,數(shù)據(jù)會被撒多份,屆時(shí)在容錯(cuò)技術(shù)容許的情況下,可以允許指定的節(jié)點(diǎn)數(shù)壞掉,然后新加節(jié)點(diǎn)恢復(fù),或磁盤壞掉,新加磁盤恢復(fù),所以,默認(rèn)情況下SDS就已經(jīng)有了磁盤級別故障域,節(jié)點(diǎn)級別故障域


   我們也可以把SDS技術(shù)和WSFC 2016故障域新功能結(jié)合起來,在開啟SDS功能前,我們針對于節(jié)點(diǎn)構(gòu)建Rack或Chassis級別的故障域,屆時(shí)SDS執(zhí)行容錯(cuò)時(shí),將按照拓?fù)溥M(jìn)行操作,例如會保證數(shù)據(jù)始終灑在不同Rack或不同chassis節(jié)點(diǎn)上面,這樣即便是一個(gè)Rack或一個(gè)chassis故障,也不會影響SDS,注意,如果希望實(shí)現(xiàn)這項(xiàng)功能,建議最好在SDS開啟之前就規(guī)劃好故障域級別,否則SDS建好之后在規(guī)劃,需要重新移除節(jié)點(diǎn),再加入到故障域。

wKiom1mz2knBG27BAAJBwx7aEbs040.png


WSFC 2016故障域群集配置命令:


Get-ClusterFaultDomain:獲取群集故障域架構(gòu),可以從群集級別,或任意故障域級別

Set-ClusterFaultDomain:移動資源所屬故障域,配置故障域相關(guān)參數(shù)

New-ClusterFaultDomain:創(chuàng)建群集故障域,可以選擇Site,Rack,Chassis級別的故障域

Remove-ClusterFaultDomain:刪除故障域


實(shí)驗(yàn)示例:


#創(chuàng)建北京站點(diǎn)和上海站點(diǎn)

New-ClusterFaultDomain -Type Site -Name "Beijing" -Description "Primary Site"

New-ClusterFaultDomain -Type Site -Name "Shanghai" -Description "Secondary Site"

wKiom1mz3xKzkIfYAAAHXIh0eVA679.png

wKioL1mz3u7jeqtjAAAKKjCx418986.png

#創(chuàng)建北京站點(diǎn)數(shù)據(jù)中心Rack和上海站點(diǎn)數(shù)據(jù)中心Rack 

New-ClusterFaultDomain -Type Rack -Name "Rack Beijing1" -Location "Fumadasha 17, Room 501"

New-ClusterFaultDomain -Type Rack -Name "Rack Shanghai1" -Location "TaiDidash 14, Room 203"

wKioL1mz4CvTGnjHAAAIQPFv7JA750.png

wKiom1mz4E_hmTW-AAAKzxoVr7w859.png

#創(chuàng)建北京Rack上面的兩個(gè)機(jī)箱,上海Rack上面的兩個(gè)機(jī)箱

New-ClusterFaultDomain -Type Chassis -Name "Chassis 01"-Location "Rack Beijing01 Ontop"

New-ClusterFaultDomain -Type Chassis -Name "Chassis 02"-Location "Rack Beijing01 Under"

New-ClusterFaultDomain -Type Chassis -Name "Chassis 03"-Location "Rack Shanghai01 Ontop"

New-ClusterFaultDomain -Type Chassis -Name "Chassis 04"-Location "Rack Shanghai01 Under"

wKioL1mz4Z-C-Dj8AAAQWE_GNJ8802.png

wKiom1mz4cKBcZDBAAAPVgjX4MI032.png

需要注意,這里每個(gè)故障域Name都將是唯一的


#添加服務(wù)器進(jìn)入機(jī)箱

Set-ClusterFaultDomain -Name "HV01" -Parent "Chassis 01"

Set-ClusterFaultDomain -Name "HV02" -Parent "Chassis 02"

Set-ClusterFaultDomain -Name "HV03" -Parent "Chassis 03"

Set-ClusterFaultDomain -Name "HV04" -Parent "Chassis 04"

wKiom1mz4rnzNVklAAAGeUoZaYw837.png

wKiom1mz6ovxq3lOAAAGSN-TrhI131.png

#構(gòu)建機(jī)箱機(jī)架站點(diǎn)依賴關(guān)系

Set-ClusterFaultDomain -Name "Chassis 01" -Parent "Rack Beijing1"

Set-ClusterFaultDomain -Name "Chassis 02" -Parent "Rack Beijing1"

Set-ClusterFaultDomain -Name "Chassis 03" -Parent "Rack Shanghai1"

Set-ClusterFaultDomain -Name "Chassis 04" -Parent "Rack Shanghai1"

Set-ClusterFaultDomain -Name "Rack Beijing1" -Parent "Beijing"

Set-ClusterFaultDomain -Name "Rack Shanghai1" -Parent "Shanghai"

wKiom1mz5EXy_nI8AAAK3DNCSxs688.png

#獲取故障域拓?fù)?/span>

Get-ClusterFaultDomain

wKiom1mz5cSjKotiAAANSCgN9-g039.png

#獲取故障域完整信息

Get-ClusterFaultDomain | ft name,type,parentname,childrennames,Location,description  -autosize

wKiom1mz5YrT_EzuAAAV9zWIXDk689.png

還可以把,在這里大家可以看到,老王之前定義的所有故障域,以及嵌套關(guān)系,還有位置信息和說明信息,這兩個(gè)也是新屬性,主要用于對故障域做標(biāo)注使用,便于排錯(cuò)或者查找,可以看到,從城市級別,到數(shù)據(jù)中心大廈級別,到屋子級別,機(jī)架級別,甚至定義到機(jī)架上面機(jī)箱的位置。您也可以在站點(diǎn)Location的位置輸入城市+數(shù)據(jù)中心信息,Location和description信息也可以后期Set去改,這里有很多種玩法,大家可以自己去發(fā)掘,關(guān)鍵是準(zhǔn)確,有意義,明了即可。


#獲取單一故障域拓?fù)?/span>

wKiom1mz5uewSHf_AAAJDCfZw7g321.png

#獲取某一級別故障域拓?fù)?/span>

wKiom1mz5vyDPH8RAAAHmoETiLo368.png


#刪除故障域

如果要?jiǎng)h除一個(gè)故障域,要求下面沒有子資源,例如我們要?jiǎng)h除Chassis 01,但是下面有HV01節(jié)點(diǎn),我們就需要先移除HV01出去


#移除要被刪除故障域下面資源

Set-ClusterFaultDomain -Name "HV01" -Parent ""

wKiom1mz583yUcByAAAFCWk1pXQ922.png

#刪除故障域

wKioL1mz5-3TapZbAAAEdmSMdnc021.png

除了可以使用Poweshell配置群集故障域,還可以導(dǎo)出xml進(jìn)行配置,編輯完成后再導(dǎo)入xml

#導(dǎo)出故障域架構(gòu)xml

Get-ClusterFaultDomain | Out-File <Path>

wKioL1mz6trCheHWAAAewAGSggQ374.png

使用工具完成XML后,需要使用以下命令再把XML上傳回去生效

$xml = Get-Content <Path> | Out-String  

Set-ClusterFaultDomainXML -XML $xml



以上,老王簡單為大家介紹了下WSFC2016中新增的故障域功能,以及配置辦法,但是到目前為止我們只是邏輯創(chuàng)建出了故障域,可以看到,可以和物理對應(yīng),但是有沒有生效呢,還沒有,因?yàn)楣收嫌虻纳?,取決于云管理平臺,或WSFC能感應(yīng)到什么程度


在常規(guī)設(shè)計(jì)中,故障域通常是在云平臺管理系統(tǒng)中定義的,故障域會運(yùn)作在云基礎(chǔ)架構(gòu)的整體架構(gòu)上,而WSFC則是反其道而行之,在群集的級別上面定義Site,Rack,Chassis,這樣不論是Site,Rack,Chassis都需要在群集的框架內(nèi)運(yùn)行,這也是微軟的架構(gòu)和其它廠商不同之處。


其中老王認(rèn)為,對于故障域站點(diǎn)感知,WSFC做的還算不錯(cuò),我們定義了站點(diǎn)故障域,把節(jié)點(diǎn)放入站點(diǎn)故障域下面后能夠?qū)崿F(xiàn)


站點(diǎn)感知:設(shè)置好了站點(diǎn)后,我們可以讓群集節(jié)點(diǎn)每次故障轉(zhuǎn)移或維護(hù)模式,都先在站點(diǎn)內(nèi)進(jìn)行角色轉(zhuǎn)移,如果本站點(diǎn)無正常節(jié)點(diǎn)可轉(zhuǎn)移,再轉(zhuǎn)移至其它站點(diǎn),在以前的版本中是沒有這項(xiàng)技術(shù)的,以前版本中如果我們希望實(shí)現(xiàn)類似的需求,是通過設(shè)置應(yīng)用的首選所有者來實(shí)現(xiàn),2016則把站點(diǎn)感知帶到群集中


存儲站點(diǎn)感知:群集中的虛擬機(jī),將會follow同站點(diǎn)內(nèi)的CSV,假設(shè)CSV遷移到其它站點(diǎn),一分鐘后,虛擬機(jī)發(fā)現(xiàn),CSV遷移到其它站點(diǎn),那么虛擬機(jī)也會實(shí)時(shí)遷移過去,配置站點(diǎn)感知后,會確認(rèn)首選站點(diǎn)始終直接訪問存儲,如果存儲移動,則虛擬機(jī)也跟隨移動。


群集組站點(diǎn)感知:我們也可以配置應(yīng)用的站點(diǎn)感知,例如設(shè)置SQL實(shí)例1的首選站點(diǎn)為beijing,SQL實(shí)例2的首選站點(diǎn)為shanghai,這樣可以實(shí)現(xiàn)一種多主運(yùn)行應(yīng)用的場景,讓SQL1故障轉(zhuǎn)移首先在beijing站點(diǎn)內(nèi),SQL2故障轉(zhuǎn)移首先在shanghai站點(diǎn)內(nèi)。


首選站點(diǎn):配置了站點(diǎn)感知之后,我們首先要選擇出首選站點(diǎn),首選站點(diǎn)可以確保,當(dāng)群集出現(xiàn)50/50投票時(shí),動態(tài)仲裁始終去掉非首選站點(diǎn)的投票,讓首選站點(diǎn)運(yùn)作,沒錯(cuò),這替代LowerQuorumPriorityNodeID,在群集冷啟動時(shí),虛擬機(jī)也會優(yōu)先在首選站點(diǎn)啟動


它們的優(yōu)先級順序如下

存儲站點(diǎn)感知>群集組站點(diǎn)感知>首選站點(diǎn)感知


除了這些信息外,站點(diǎn)感知功能隨之增加了新的跨站點(diǎn)心跳檢測機(jī)制,我們將在下一篇博客中進(jìn)行介紹


OK,下面開始實(shí)驗(yàn)驗(yàn)證


清空所有故障域配置

wKioL1mz7O6ibOpHAAAHVhjzP7g550.png

實(shí)驗(yàn)環(huán)境

wKioL1mz73uSh3dGAAATC5vaWEs183.png


wKiom1mz8ETSgPTEAAAMRhu-Mh0008.png



wKioL1mz8CzD8lhJAAAFzTa2FBs457.png


群集當(dāng)前基于CSV跑了一臺虛擬機(jī),兩個(gè)dtc,都運(yùn)作在北京站點(diǎn)HV01

wKiom1m09O-SCDBZAAA45KJgxPs704.pngwKioL1m0-gqy19bnAAA1HGiKlvE949.png

故障域配置如下

wKioL1mz8gaik9zZAAAVu84kydU653.png

wKioL1mz8lPAh57TAAANjudgD1k561.png

實(shí)現(xiàn)驗(yàn)證站點(diǎn)感知,在未配置首選所有者情況下,三個(gè)群集應(yīng)用運(yùn)作于HV01,歸屬于同一站點(diǎn)故障域beijing


手動停止節(jié)點(diǎn)HV01群集服務(wù),應(yīng)用自動首先遷移至同站點(diǎn)內(nèi)HV02

wKioL1m0-yfA7g5UAAAY4mdKcv0727.png

wKioL1m1C6jyDf7oAAA6X2_jkhw452.png

打開clusterlog查看

wKiom1m1DtDhmKcyAAAeKhZR_A8809.png

wKioL1m1DquxQw4DAAAlOt-KAp0063.png

wKiom1m1DtDTRG0cAAAqPaDxuPk170.png

   這里我們雖然成功了,但是也有一定幾率的情況下,我們達(dá)不到這樣的效果,在2016中,當(dāng)我們構(gòu)建了站點(diǎn)故障域后,群集再次進(jìn)行故障轉(zhuǎn)移時(shí),傳統(tǒng)群集角色會直接在本站點(diǎn)內(nèi)向嘗試進(jìn)行故障轉(zhuǎn)移,而基于CSV的虛擬機(jī)則并不一定,原因是CSV是可以漂移的,可能現(xiàn)在CSV主控制點(diǎn)在HV04,但是虛擬機(jī)在HV01,這也是可以跑的

   如果CSV的主控節(jié)點(diǎn)和虛擬機(jī)就在同一個(gè)節(jié)點(diǎn),那么當(dāng)節(jié)點(diǎn)宕機(jī)時(shí),有可能CSV會去其它站點(diǎn),假設(shè)CSV去了其它站點(diǎn)的節(jié)點(diǎn),那么虛擬機(jī)也會跟著follow過去

   如果CSV的主控節(jié)點(diǎn)和HV01不在一個(gè)Site,那么當(dāng)HV01故障轉(zhuǎn)移時(shí),虛擬機(jī)會follow CSV所在的site,CSV在哪,虛擬機(jī)就去哪,確保虛擬機(jī)可以獲得最好的性能,而忽略站點(diǎn)內(nèi)感知的功能,因此存儲感知的優(yōu)先級也最高

   如果虛擬機(jī)當(dāng)前是開機(jī)狀態(tài),則每個(gè)一分鐘會檢測,我和CSV是否在同一個(gè)Site,如果不在同一個(gè)Site,我要實(shí)時(shí)遷移過去,如果虛擬機(jī)時(shí)關(guān)機(jī)狀態(tài)則不會檢測,但是故障轉(zhuǎn)移或維護(hù)時(shí),會先去找CSV所在站點(diǎn),在群集日志中可以看到


wKiom1m1EgaC54D9AABecRyEITM296.png

  接下來就要進(jìn)入另外的一項(xiàng)技術(shù),即首選站點(diǎn)功能,首選站點(diǎn)配置級別,可以是在群集級別,存儲級別,群集組級別,這里我們首先要配置的就是存儲級別,我們手動來規(guī)定確保CSV和站點(diǎn)的粘性,例如CSV01 始終follow 北京站點(diǎn),CSV02始終follow上海站點(diǎn)


  這樣北京站點(diǎn)的虛擬機(jī)始終就找北京站點(diǎn)的CSV01,CSV01也始終會在北京站點(diǎn),虛擬機(jī)故障轉(zhuǎn)移或維護(hù)也始終會先在北京站點(diǎn),因?yàn)镃SV已經(jīng)被固定,如果CSV出現(xiàn)維護(hù)操作或失敗操作也可以第一時(shí)間回到北京站點(diǎn),配置在同一個(gè)站點(diǎn)的CSV會在節(jié)點(diǎn)內(nèi)執(zhí)行負(fù)載分布


#獲取CSV的群集組名稱

Get-ClusterSharedVolume | Get-ClusterGroup

wKiom1m1FHygYimsAAAIEZXgeNk024.png

CSV也是群集組 Really?i_f36.gif


#基于獲取到的CSV群集組名稱,配置到首選站點(diǎn)

(Get-ClusterGroup -name  CSVClusterGroupName).PreferredSite =“beijing”

wKiom1m1FZmRdhHnAAAImuWcI2I704.png

OK,現(xiàn)在我們就可以放心了,虛擬機(jī)會始終follow CSV,CSV也始終follow 本地站點(diǎn),這樣確保了虛擬機(jī)發(fā)生故障,在本地站點(diǎn)有可用節(jié)點(diǎn),一定會先遷移到本地站點(diǎn)。


下面我們再配置群集級別的首選站點(diǎn),配置群集級別首選站點(diǎn)的目的無非是發(fā)生50 50分時(shí)讓群集始終確保首選站點(diǎn)可以獲勝。


#查看群集當(dāng)前節(jié)點(diǎn)投票與見證投票

wKioL1m1GvrRPcP3AAAQ7KlAvfo363.png

直接禁用仲裁磁盤,模擬群集仲裁失效,50 50分成情況下,動態(tài)仲裁自動選擇一個(gè)節(jié)點(diǎn)去掉投票數(shù)

wKioL1m1G17ATKQ3AAAJup_MDZo599.png

可以看到默認(rèn)情況下,群集自動去掉了上海站點(diǎn)的投票

wKiom1m1IArwE60YAAARKjdxdDs038.png

我們?nèi)绻謩又付ㄊ走x站點(diǎn),例如,我們手動指定上海為首選站點(diǎn),那么當(dāng)下次再發(fā)生五五分成的時(shí)候,動態(tài)仲裁將始終去掉北京站點(diǎn)節(jié)點(diǎn)的投票

wKiom1m1ISWiCMP4AAASy3W_LT4400.png


ClusterLog

存儲見證在的時(shí)候完整投票數(shù)

wKiom1m1JDPQzjr2AAAl5u9IZbI117.png

見證失效的臨時(shí)投票數(shù),隨后立刻會被動態(tài)仲裁隨機(jī)去掉投票

wKiom1m1JDPQRXfHAAAc1TstR3Y871.png

默認(rèn)下動態(tài)仲裁去掉HV03投票

wKiom1m1JCiTDiQaAAAYLNMGpf8544.png

手動修改后去掉HV01投票

wKioL1m1JA6CyBh-AAAWLferw44542.png

以上為首選站點(diǎn)在群集級別配置后的效果之一,看起來2012R2 LowerQuorumPriorityNodeID并沒太大差別


#配置群集級別首選站點(diǎn)回到北京

(Get-Cluster).PreferredSite = Beijing

wKioL1m1GZqgVfOdAAAFKkkY3zY016.png


看過了存儲級別的站點(diǎn)感知,以及首選站點(diǎn)替代LowerQuorumPriorityNodeID的新功能,最后我們來看下主菜,即應(yīng)用程序的多主站點(diǎn)感知


在看應(yīng)用程序多主站點(diǎn)感知,老王還是想為大家看下群集級別站點(diǎn)感知的效果,當(dāng)前我們已經(jīng)配置了存儲站點(diǎn)感知,因此可以發(fā)揮出完整的效果


時(shí)間節(jié)點(diǎn)1

所有應(yīng)用和虛擬機(jī)運(yùn)行于北京站點(diǎn)HV01

wKioL1m1KvuSz-17AAA4YPsdd6Y143.png

手動停止HV01群集服務(wù),CSV遷移同站點(diǎn)其它節(jié)點(diǎn),所有角色遷移同站點(diǎn)內(nèi)其它節(jié)點(diǎn)

wKiom1m1LlWSzGi0AAAvr_G27do511.png

wKiom1m1L9TwvnLDAAA7y00p7Ho433.png

再次停止HV02群集服務(wù),失去整個(gè)Beijing站點(diǎn),所有應(yīng)用跨站點(diǎn)故障域遷移到Shanghai

wKioL1m1MQygzzqSAAA7WZ8D_Zo450.png


wKioL1m1MS7iSz2LAABBZUeOjSM537.png

  至此就是故障域站點(diǎn)感知的效果了,對于了解故障域概念,但是不了解微軟WSFC的人來說,這可能很炫,應(yīng)用感知到故障域,并且優(yōu)先在故障域內(nèi)轉(zhuǎn)移,同一站點(diǎn)故障域內(nèi)虛擬機(jī)可以獲得存儲最好的性能,如果同級別站點(diǎn)故障域不可用,可以跨故障域轉(zhuǎn)移至新故障域站點(diǎn)繼續(xù)運(yùn)行,看起來很不錯(cuò),但是內(nèi)行看門道,其實(shí)呢,只不過是包上來一層新的概念,我們通過原來的首選所有者技術(shù)也可以實(shí)現(xiàn)類似的效果,只不過通過新的方式配置,看起來更加專業(yè)些,便于故障域概念的落地。


  相對于站點(diǎn)感知功能,老王更看重的是另一大塊,即首選站點(diǎn)感知,首先站點(diǎn)感知里面包括群集級別,存儲級別,群集組級別,其中老王更看重存儲級別的首選站點(diǎn)感知,可以和站點(diǎn)感知功能融合,確保同站點(diǎn)內(nèi)虛擬機(jī)始終訪問同站點(diǎn)的存儲,讓CSV存儲和虛擬機(jī)始終在同一個(gè)站點(diǎn),同站點(diǎn)始終獲取最好的性能,這是以前版本沒有的


  梳理下WSFC 2016針對于故障域新增的新功能


  1.故障域定義:全新,支持站點(diǎn)感知,SDS感知

  2.站點(diǎn)感知:代替首選所有者

  3.首選站點(diǎn)感知:替代LowerQuorumPriorityNodeID

  4.應(yīng)用多主首選站點(diǎn)感知:代替首選所有者

  5.CSV存儲首選站點(diǎn)感知:存儲follow站點(diǎn),VMfollow存儲

  6.新增跨站點(diǎn)心跳檢測參數(shù)


  故障域和站點(diǎn)感知支持WSFC傳統(tǒng)同域部署,工作組部署與同林多域部署


  作為微軟本地端產(chǎn)品首次嘗試引入故障域?qū)傩?,老王認(rèn)為微軟做的已經(jīng)還可以,期望未來可以不斷完善,在老王看來,故障域其實(shí)可以更上一個(gè)級別,例如我們可以在SCVMM的級別定義故障域,從站點(diǎn),數(shù)據(jù)中心,機(jī)架,機(jī)箱,群集,Host,這樣從上向下做的話也許會更好,因?yàn)楝F(xiàn)階段從下向上定義,畢竟群集的規(guī)模受限,如果是在VMM級別,則我們不必受限于單個(gè)群集的規(guī)模,甚至可以針對站點(diǎn),或機(jī)架,機(jī)箱,數(shù)據(jù)中心,配置不同的故障轉(zhuǎn)移策略,網(wǎng)絡(luò)策略,存儲策略,那樣就更好了,希望這項(xiàng)功能能夠得到不斷的完善,越來越多的本地端產(chǎn)品,或群集上層應(yīng)用可以更好的和故障域協(xié)同。


最后,應(yīng)用多主首選站點(diǎn)感知,我們可以配置在群集組的級別,配置不同的群集組選擇不同的首選站點(diǎn),這樣不同的群集組就都會在各自的首選站點(diǎn)中先執(zhí)行故障轉(zhuǎn)移,如果首選站點(diǎn)無可用節(jié)點(diǎn),再轉(zhuǎn)移至其它站點(diǎn),這樣在一定程度上,可以減少跨站點(diǎn)轉(zhuǎn)移的成本,確保每個(gè)站點(diǎn)的資源都得到合理的利用,不會本站點(diǎn)還有節(jié)點(diǎn)就轉(zhuǎn)移到跨站點(diǎn),一定程度上可以減少宕機(jī)時(shí)間,提高應(yīng)用運(yùn)行的時(shí)間。


#配置多主站點(diǎn)感知


對于devtestdtc首選站點(diǎn)為beijing

對于MikeWang首選站點(diǎn)為beijing

(Get-ClusterGroup -Name devtestdtc).PreferredSite = Beijing

(Get-ClusterGroup -Name MikeWang).PreferredSite = Beijing

wKiom1m1N7bT0kBdAAAGKSYQK7k259.png


對于devtest1dtc首選站點(diǎn)為shanghai

(Get-ClusterGroup -Name devtestdtc1).PreferredSite = Shanghai

wKioL1m1N9qxSBEIAAAHnGw6N-s415.png

當(dāng)前devtestdtc Mikewang在HV01運(yùn)行,devtestdtc1在HV04運(yùn)行

wKiom1m1OB6TCDnjAAA6_KnpfY8710.png

停機(jī)HV01,devtestdtc Mikewang轉(zhuǎn)移至北京同站點(diǎn)HV02

wKiom1m1Oinz85DJAAA669FB7s0641.png

停機(jī)HV04,devtestdtc轉(zhuǎn)移至上海同站點(diǎn)HV03

wKiom1m1OxOh3_ZcAAA5tdVMnaA707.pngwKiom1m1O17wDAB3AAA9paJtOMI933.png

針對于站點(diǎn)感知或應(yīng)用多主首選站點(diǎn)感知,建議配置應(yīng)用的故障回復(fù)屬性,這樣當(dāng)檢測到首選站點(diǎn),或本地站點(diǎn)可用時(shí),會回到原來站點(diǎn)運(yùn)行

wKiom1m1PhSgIlPEAAAk8u08dgA680.png


    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多