溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

WSFC2016 On Azure

發(fā)布時(shí)間:2020-04-02 08:23:39 來源:網(wǎng)絡(luò) 閱讀:2426 作者:老收藏家 欄目:建站服務(wù)器

本篇文章,老王將為大家介紹WSFC在Azure上面跑的一些執(zhí)行操作,以及操作過程中需要注意的地方


之所以要寫這篇文章有幾個(gè)原因


1.為大家破除群集能否在公有云平臺跑的迷思

2.為大家?guī)砣杭诠性破脚_跑的思考

3.為大家介紹WSFC 2016 借助于Azure實(shí)現(xiàn)的云S2D,云仲裁



首先,WSFC群集能不能在公有云平臺跑呢,答案是可以的,理論上來說,只要可以滿足建立群集的要求,我們可以在私有云,公有云,混合云任何一個(gè)平臺上面部署群集


思考一下,當(dāng)我們建置一個(gè)群集時(shí)有哪些最基本的先決條件要準(zhǔn)備


1.確??梢缘玫揭鸭せ?,正常的操作系統(tǒng)

2.確保節(jié)點(diǎn)與節(jié)點(diǎn)之間網(wǎng)絡(luò)質(zhì)量良好

3.確??梢怨?jié)點(diǎn)間可以看到共享存儲,或使用第三方復(fù)制以實(shí)現(xiàn)類似于共享存儲的效果


實(shí)現(xiàn)這點(diǎn)要求第三方插件可以和群集配合,利用第三方插件復(fù)制磁盤做出來的磁盤能被群集承認(rèn)為群集磁盤,其次如果要在公有云或其它云平臺上面跑,要確保第三方復(fù)制插件可以被平臺支持。


確認(rèn)了必備條件后,我們就可以來監(jiān)視各種公有云平臺了,看看對于群集的需求,公有云平臺是否可以支援


首先,操作系統(tǒng),群集要求可以得到一個(gè)已被激活,健康穩(wěn)定的OS,因此需要確保公有云提供的OS,足夠健康,不會因?yàn)橄到y(tǒng)問題而導(dǎo)致群集的不穩(wěn)定


確保公有云群集節(jié)點(diǎn)更改機(jī)器名,更改為靜態(tài)IP,不會影響OS的正常運(yùn)行。


網(wǎng)絡(luò)


群集節(jié)點(diǎn)可以接受沒有多塊網(wǎng)卡,但是至少要有一塊網(wǎng)卡,這塊網(wǎng)卡會被用來承擔(dān)業(yè)務(wù)流量,CSV流量,群集通信流量,群集需要進(jìn)行運(yùn)行狀況檢測。


所以,在我們思考公有云平臺部署群集時(shí),最主要的一點(diǎn),公有云上面虛擬機(jī)與虛擬機(jī)要可以通過網(wǎng)卡正常通信,且網(wǎng)絡(luò)質(zhì)量應(yīng)該是穩(wěn)定高效的,因?yàn)樗辛髁慷級涸谝粔K卡上,最佳實(shí)踐還是建議能使用多塊網(wǎng)卡則為公有云群集節(jié)點(diǎn)使用多塊網(wǎng)卡。如果公有云虛擬機(jī)網(wǎng)卡能得到性能優(yōu)化則最好。


存儲


在之前的傳統(tǒng)概念中,群集就是一定要訪問共享存儲的,應(yīng)用一定要數(shù)據(jù)寫入共享存儲中,隨著應(yīng)用和第三方插件的更新,應(yīng)用開始可以支持使用本地磁盤+復(fù)制,以實(shí)現(xiàn)群集磁盤,或高可用效果。


在公有云上面跑群集很重要的一點(diǎn):  我們是在人家的平臺上面,跑 VM 的 Guest Cluster


這意味著我們沒有FC,FCOE,ISCSI,JBOD,RBOD這些存儲底層架構(gòu)的訪問權(quán),我們沒有權(quán)利去控制存儲的分配,所以虛擬機(jī)能使用什么樣子的共享存儲,完全取決于公有云廠商公開到什么程度,但通常并不會很高,一些有良心的廠商maybe會開放類似于share vhdx的技術(shù),通過底層虛擬化的技術(shù)同時(shí)把一個(gè)虛擬磁盤掛載到多個(gè)節(jié)點(diǎn),或者可以提供ISCSI網(wǎng)關(guān),通過一個(gè)安全的方式來提供ISCSI target給虛擬機(jī)節(jié)點(diǎn)。


如果廠商沒提供方案,我們之前就需要借助一些第三方廠商來實(shí)現(xiàn)一種,跨節(jié)點(diǎn)本地磁盤的復(fù)制,讓群集以為這是群集磁盤,但正如之前所說,這要求群集支持,公有云平臺支持部署這種插件


身份驗(yàn)證


如果計(jì)劃部署群集為工作組模型,則不需要考慮公有云平臺對于AD域的支持

如果計(jì)劃部署群集為AD域模型,則請確認(rèn)公有云廠商支持安裝AD類型虛擬機(jī),確保安裝出來的AD域可以在公有云環(huán)境可以正常提供域服務(wù),確保不會因?yàn)楣性破脚_的磁盤緩存設(shè)置,網(wǎng)絡(luò)原因,而導(dǎo)致AD域控制器的不正常運(yùn)行


一旦群集部署為AD域模型,將需要寫入群集CNO對象,VCO對象的,因此需要確保公有云支持虛擬機(jī)跑AD域架構(gòu),AD域虛擬機(jī)可以和群集節(jié)點(diǎn)虛擬機(jī)在公有云上面正常通信,群集節(jié)點(diǎn)虛擬機(jī)對于AD域的身份驗(yàn)證請求,CNO,VCO讀取寫入請求可以正常進(jìn)行。


以上四條基本要求如果公有云平臺可以滿足后,則意味著群集在公有云上面跑,就是可行的,那么我們就可以思考下一步,我們是否真的有必要在公有云部署群集,什么場景下,我們應(yīng)該在公有云上面部署群集,對于群集而言,如果部署在公有云我可以獲得那些好處


首先先來看下,我們已知的公有云可以給我們帶來的好處


1.規(guī)模足夠大,可用資源足夠多,我們可以部署足夠多的節(jié)點(diǎn)

2.使用上我們只需要為使用了的資源付費(fèi),未使用的資源不會產(chǎn)生費(fèi)用

3.公有云平臺會負(fù)責(zé)為我們維護(hù)服務(wù)器,存儲,網(wǎng)絡(luò),等底層設(shè)施,我們不需要為維護(hù)這些設(shè)施而花費(fèi)精力財(cái)力

4.公有云平臺通常會定義Region機(jī)制,可以幫助我們確保如果資源的,存儲,VM,網(wǎng)絡(luò)都在同一個(gè)Region,那么同一個(gè)Region下的VM,存儲,網(wǎng)絡(luò)等資源會盡可能的靠近,以獲得更好的性能。

5.公有云平臺通常會置備完整的故障轉(zhuǎn)移,災(zāi)難恢復(fù)方案,在我們購買服務(wù)時(shí),會為我們保證SLA,如果SLA得到違反,我們作為使用者可以得到賠償。對于公有云平臺的存儲磁盤,通常會得到多個(gè)副本的復(fù)制,這個(gè)復(fù)制可能是同Region,或跨Region的機(jī)制,針對于網(wǎng)絡(luò),默認(rèn)情況下網(wǎng)絡(luò)會盡可能的和VM,存儲靠近,使用同Region下面的優(yōu)化網(wǎng)絡(luò)鏈路,如果同Region下面的網(wǎng)絡(luò)鏈路出現(xiàn)問題,公有云廠商通??梢詭臀覀儼丫W(wǎng)絡(luò)鏈路進(jìn)行快速的切換,針對于虛擬機(jī)資源,如果我們選擇虛擬機(jī)到不同的Region FaultDomain,或不同的Rack FaultDomain,當(dāng)公有云平臺維護(hù)時(shí),能夠確保不會同時(shí)維護(hù)不同Rack或Region下的資源。


那么,既然公有云本身經(jīng)具備了對于存儲的復(fù)制能力,網(wǎng)絡(luò)鏈路的冗余能力,虛擬機(jī)的FaultDomain能力,已經(jīng)這么完美了,我們直接在虛擬機(jī)上面跑應(yīng)用就好了,何必再在公有云上面跑WSFC呢


其實(shí)非也,從最根本來說,公有云廠商站在的角度,他們是需要保證IAAS架構(gòu)的SLA,確保您的訂閱不會違背SLA原則,他們不會被要求賠償,這就是公有云廠商的角度,他們只是站在運(yùn)維保證他們云平臺的硬件可以正常服務(wù),維護(hù)不會導(dǎo)致停機(jī),就OK了,對于你虛擬機(jī)上面跑了應(yīng)用,你應(yīng)用的高可用性,是和公有云廠商沒有關(guān)系的,需要你自己去在乎,自己去選擇合適的方案。


這里,老王說的只是IAAS的場景,如果說,云平臺提供PAAS級別的服務(wù),可以滿足您的需求,例如,云平臺如果提供SQL paas服務(wù),那么您可能就不需要在公有云上面部署WSFC了,因?yàn)槲覀冎砸渴餡SFC,是因?yàn)槲覀僣are vm里面的應(yīng)用持續(xù)提供服務(wù),我的應(yīng)用如果是有狀態(tài)的,那么我只部署在一臺,如果我這臺壞了,上面運(yùn)行的狀態(tài)和應(yīng)用如何遷移到其他節(jié)點(diǎn)運(yùn)行,iaas級別,公有云廠商是不管你的,公有云廠商只保證,網(wǎng)絡(luò),存儲,服務(wù)器不會出現(xiàn)故障,維護(hù)或故障不會影響SLA,但如果您的VM里面跑了有狀態(tài)的應(yīng)用,您希望應(yīng)用可以持續(xù)提供服務(wù),一旦一臺VM故障,應(yīng)用依然可以提供服務(wù),那么IAAS您一定是需要部署群集架構(gòu)來實(shí)現(xiàn)。


如果說您覺得公有云廠商提供Paas服務(wù)可以滿足我的需求,您接受這種新的思維,例如SQL paas,這是個(gè)應(yīng)用級別的云服務(wù),因此公有云廠商會負(fù)責(zé)從底層硬件,再到系統(tǒng),到應(yīng)用的高可用,這是他們應(yīng)該是care的,例如,通常公有云廠商如果提供數(shù)據(jù)庫的paas服務(wù),他們通常會置備分片,群集,高可用組,等技術(shù)來幫我們保證應(yīng)用的高可用性


如果您覺得信不過paas,這種paas 我又看不到,不知道到底怎么切換的,我也不熟悉,您希望選擇一種熟悉的模型,那么您care應(yīng)用的持續(xù)可用,iaas情況下,只好部署WSFC


因此,WSFC在公有云平臺跑,以下兩種情況是有必要的


1.購買了公有云的IAAS服務(wù),但是虛擬機(jī)里面跑了應(yīng)用,您care應(yīng)用的連續(xù)性

2.您不愿意接受云平臺的PAAS服務(wù),希望獲得更高的Control權(quán),使用自己熟悉的方式管理應(yīng)用的高可用



WSFC在公有云平臺上面跑還有幾種典型的云優(yōu)化場景


1.開發(fā)測試,本地部署生產(chǎn)的WSFC,上傳云端跑一套同樣環(huán)境的WSFC用作開發(fā)測試調(diào)試

2.災(zāi)難恢復(fù),WSFC本地部署一部分節(jié)點(diǎn),云端部署一部分節(jié)點(diǎn),正常運(yùn)行在本地端,云端節(jié)點(diǎn)無投票,本地端出現(xiàn)故障,直接failover到公有云,此場景,對于本地端與公有云端網(wǎng)絡(luò)鏈路質(zhì)量要求高

3.云爆發(fā):本地部署少數(shù)節(jié)點(diǎn)WSFC以備日常使用,一旦使用發(fā)生暴增的情況,本地節(jié)點(diǎn)已經(jīng)無法hold,可以利用云爆發(fā),直接擴(kuò)展節(jié)點(diǎn)至公有云節(jié)點(diǎn),僅在爆發(fā)時(shí)使用,爆發(fā)后再回到本地節(jié)點(diǎn),計(jì)費(fèi)應(yīng)僅在爆發(fā)時(shí)使用


通過上面的介紹,相信大家應(yīng)該知道了


1.WSFC 部署到公有云的好處

2.WSFC 什么場景有必要再公有云上面部署

3.WSFC 在公有云上面跑的典型場景

4.WSFC 在公有云部署時(shí)需要關(guān)注的點(diǎn)



沒有全明白也沒關(guān)系,下面我們將實(shí)際以WSFC on Azure公有云平臺為例,在實(shí)驗(yàn)中討論上面說到的內(nèi)容



WSFC On Azure 可行性評估


1.操作系統(tǒng)

Azure上面內(nèi)置了很多虛擬機(jī)模板,虛擬機(jī)部署后為已激活,機(jī)器名可更改,且是得到優(yōu)化的模板,可以得到信賴


2.網(wǎng)絡(luò)

Azure上面對于網(wǎng)絡(luò)采用VNET架構(gòu),同一個(gè)VNET下的云虛擬機(jī)可以正常通信,支持為虛擬機(jī)固定IP,但有一點(diǎn)需要注意,Azure虛擬機(jī)默認(rèn)創(chuàng)建出來都是一塊網(wǎng)卡,我們出于對群集的最佳實(shí)踐考慮,可能希望可以使用多塊網(wǎng)卡,在Azure上面對于已創(chuàng)建在運(yùn)行的虛擬機(jī)要添加網(wǎng)卡極為麻煩,因此如果希望使用最佳實(shí)踐置備WSFC節(jié)點(diǎn)多塊網(wǎng)卡,最好在規(guī)劃階段規(guī)劃好,這樣創(chuàng)建出來的Azure虛擬機(jī)就帶有多網(wǎng)卡


3.存儲

在WSFC2016之前,如果WSFC要上Azure,那么至少08R2以上的,WSFC上了Azure后,對于Guset VM級別的WSFC,Azure不支持公開存儲,不支持ISCSI,SAS,SCSI等方案,沒辦法讓底層的存儲直接分配到虛擬機(jī),share vhdx技術(shù)也暫時(shí)沒看到可以使用的地方,即是說,Azure本身沒有支持Guest VM WSFC共享存儲的方案,Azure虛擬機(jī)在其每個(gè)虛擬磁盤上都有獨(dú)占鎖,基于Azure Blob存儲的磁盤將不支持永久保留,也不支持虛擬機(jī)里面直接跑ISCSI Server給WSFC用,因此在WSFC 2016之前,如果要在Azure上面build群集,那么群集存儲只有這幾種方案選擇


> 在Azure上面跑WSFC,但是只跑不需要共享存儲的群集appllication,可以在application級別使用附加虛擬機(jī)本機(jī)磁盤復(fù)制以達(dá)到HA的,例如SQL AG


> 使用第三方方案,為WSFC節(jié)點(diǎn)安裝插件,通過第三方插件各個(gè)節(jié)點(diǎn)本地磁盤進(jìn)行復(fù)制,包裹一層形成群集可以認(rèn)到的群集磁盤,類似產(chǎn)品有SIOS DataKeeper,Starwind


> 使用Express Route,打通本地和公有云,實(shí)現(xiàn)能夠把本地端的ISCSI通過安全通道公開給公有云WSFC節(jié)點(diǎn)



因此,大家可以看出,之前在Azure上面跑WSFC,場景很有限,因?yàn)楫吘勾蠖鄶?shù)群集應(yīng)用還是需要一個(gè)共享存儲來寫入數(shù)據(jù),達(dá)到failover的效果,像是SQL AG這樣的還是在少數(shù),第三方方案,也不見得每個(gè)人都熟悉,Express Route 又超級貴,不是所有公司都用得起,因此,對于公有云能不能跑WSFC不確認(rèn)的放棄一批,在Azure上面跑了WSFC,但是因?yàn)楣蚕泶鎯o法公開給虛擬機(jī),群集應(yīng)用不能跑,又放棄一批,所以實(shí)際上在WSFC 2016之前,在Azure上面跑WSFC的人很少很少


到了WSFC 2016新出了很多云優(yōu)化的功能,使WSFC on Azure有了新的可能,WSFC 2016 可以和Azure配合使用的技術(shù)有Storage Space Direct,Storage Replica,Cloud witness,其中對于WSFC On Azure 幫助最大的是Storage Space Direct,以下簡稱S2D,這是一項(xiàng)讓人振奮人心的功能,簡單來說,有了S2D之后,群集不再必須需要共享存儲了,您可以使用各節(jié)點(diǎn)本地磁盤,把各節(jié)點(diǎn)本地磁盤貢獻(xiàn)出來,形成一個(gè)基于群集的存儲池,這個(gè)存儲池可以做SSD HHD NVME的分層存儲,或全SSD ,全NVME的存儲池,構(gòu)建出來的群集存儲池,上面再構(gòu)建群集存儲空間,即虛擬磁盤,每個(gè)虛擬磁盤都可以有自己的容錯策略,簡單,鏡像,奇偶校驗(yàn),可以基于節(jié)點(diǎn)級別,磁盤級別定義存儲的QOS,這是微軟進(jìn)軍軟件定義存儲的新里程碑。


既然提到了S2D,就不得不提存儲池,存儲空間,群集存儲池,JBOD,SOFS這些概念,正好也借機(jī)會為大家補(bǔ)一補(bǔ)群集存儲的課


傳統(tǒng)意義上的群集存儲已經(jīng)不用我多講,我們通過SAN,ISCSI等技術(shù),使用多路徑,把目標(biāo)分給多個(gè)節(jié)點(diǎn)服務(wù)器,確保所有節(jié)點(diǎn)都可以認(rèn)到磁盤即可


那么什么是存儲池和存儲空間呢,簡單來說,老王認(rèn)為這是微軟對于存儲虛擬化的一個(gè)基本實(shí)現(xiàn),通過OS層面的功能,以及和硬件設(shè)備的配合,實(shí)現(xiàn)可以通過廉價(jià)的Share SAS,或JBOD,RBOD方案,來構(gòu)建可靠應(yīng)用存儲,甚至是群集存儲,整個(gè)過程完全是在Windows 軟件層面進(jìn)行定義。


設(shè)想一下傳統(tǒng)SAN上面的架構(gòu),首先底層也會是一個(gè)磁盤集合,然后由上層帶CPU的控制器層對物理磁盤進(jìn)行集中管理,在控制器層通常存儲設(shè)備可以控制磁盤容錯策略,去重,精簡模式,存儲分層,緩存設(shè)置,等一系列存儲管理調(diào)整操作,最終最前面是連接適配器,將存儲分配給節(jié)點(diǎn)后,節(jié)點(diǎn)通過ISCSI,FC,FCOE方式,使用多路徑連接進(jìn)來存儲


微軟的存儲池和存儲空間,提出的概念就是要在Windows Server 2012開始,就內(nèi)置在系統(tǒng)級別支持可以定義所有的,磁盤集合,存儲控制,最終交付,我們說過的傳統(tǒng)存儲上面的功能,2012都可以實(shí)現(xiàn),磁盤集合對應(yīng)到存儲池,存儲控制對應(yīng)到存儲空間,連接適配器對應(yīng)到SMB,2012開始SMB協(xié)議得到優(yōu)化,可以得到SMB多通道技術(shù),自動聚合多路徑,SMB傳輸過程也可以利用RDMA,RSS等硬件技術(shù)實(shí)現(xiàn)傳輸性能優(yōu)化,因此微軟推出存儲池和存儲空間的愿景,是為了替代掉傳統(tǒng)存儲昂貴的價(jià)格,只需要使用share sas,廉價(jià)的jbod,rbod,就可以在系統(tǒng)上面實(shí)現(xiàn)存儲上面的高級功能。


那么,雖然我們有了存儲池和存儲空間,這很好,我們把機(jī)器插到JBOD上面,在系統(tǒng)層面配置存儲的Raid,去重,分層,精簡模式,這看起來很酷,但是只是在單機(jī)上面跑,我們還看不到這種場景的價(jià)值,真正要想看到存儲池,存儲空間的應(yīng)用價(jià)值,我們最佳還需要在群集中構(gòu)建這種架構(gòu),在WSFC 2012開始,我們可以在群集上面部署群集存儲池,再基于群集存儲池構(gòu)建存儲空間,其實(shí)所謂的存儲空間,對應(yīng)到落地就叫做虛擬磁盤的概念了,當(dāng)我們創(chuàng)建每個(gè)虛擬磁盤的時(shí)候,可以選擇虛擬磁盤的容錯方案,是否精簡等設(shè)置。


一旦我們部署了群集存儲池和群集存儲空間的架構(gòu),那我們這個(gè)存儲架構(gòu)就變了,相當(dāng)于,我們把存儲里面,控制器這個(gè)level給群集化了,我們在群集上面配置的存儲池和存儲空間,配置磁盤容錯策略,去重,精簡模式,存儲分層,即便當(dāng)其中一個(gè)節(jié)點(diǎn)宕機(jī),群集存儲池,群集存儲空間,以及我們配置過的策略依然會存在,我們實(shí)現(xiàn)了存儲控制器的高可用。


同時(shí),基于群集存儲池,構(gòu)建出來的存儲空間虛擬磁盤,被創(chuàng)建完成后,是直接可以在群集磁盤里面看到的,因?yàn)榭刂破鞅蝗杭耍詣?chuàng)建的虛擬磁盤可以被所有節(jié)點(diǎn)磁盤管理器看到,可以支持作為群集磁盤


這樣我們就可以完成一個(gè)場景,即Cluster in a Box,我這個(gè)群集就部署在一個(gè)Box里面,這個(gè)box里面有兩個(gè)計(jì)算節(jié)點(diǎn),還有兩個(gè)share sas,或一個(gè)JBOD綁定,我們不用共享存儲,就在一個(gè)box里面,使用JBOD,或share sas,就可以構(gòu)建一個(gè)群集啟動起來,群集磁盤是通過節(jié)點(diǎn)的群集存儲池-群集存儲空間構(gòu)建出來,然后最好有RDMA,實(shí)現(xiàn)一個(gè)SMB3 RDMA 多通道的架構(gòu),或者您也可以獨(dú)立出來單獨(dú)使用一個(gè)JBOD,然后上面接入兩個(gè)群集節(jié)點(diǎn),這樣我們就實(shí)現(xiàn)通過廉價(jià)存儲,結(jié)合2012的存儲虛擬化技術(shù),配合實(shí)現(xiàn)群集。


那么SOFS是什么呢,很多人會以為SOFS就是存儲空間,存儲池的一套,其實(shí)聽完老王的介紹,您就會發(fā)現(xiàn)它們根本不是同一樣?xùn)|西


存儲池,存儲空間最終交付的就是一個(gè)磁盤,一個(gè)可以在群集磁盤中看到的磁盤,意思就是說,你群集不用在乎我底層是什么存儲架構(gòu),不用管底層架構(gòu)是ISCSI,SAN,還是群集存儲池,反正我分給你一塊盤,一塊可以被所有節(jié)點(diǎn)看到的,合格的群集磁盤就夠了。


而對于SOFS來說,SOFS是不管你是通過什么途徑提供來的磁盤的,因?yàn)镾OFS是直接要在CSV上面跑一個(gè)共享,SOFS只認(rèn)CSV,你的底層可以是SAN,ISCSI,存儲空間,SOFS根本不Care,SOFS只Care,你是否提供了一個(gè)正常的CSV,換句話說,即便我們是傳統(tǒng)SAN架構(gòu),我們也可以有SOFS


那么SOFS到底干嘛的呢,說白了,這是SMB技術(shù)配合群集技術(shù),CSV技術(shù),DNS輪詢技術(shù)實(shí)現(xiàn)的一種存儲持續(xù)可用方案,當(dāng)我們構(gòu)建一個(gè)群集文件服務(wù)時(shí),如果選擇應(yīng)用程序數(shù)據(jù)的橫向擴(kuò)展文件服務(wù)器,那么我們就可以得到一個(gè)SOFS,得到SOFS后,我們會創(chuàng)建新的共享得到一個(gè)UNC路徑,如果支持UNC的群集角色則可以使用SOFS,目前Hyper-V和SQL可以使用SOFS的UNC路徑,把應(yīng)用數(shù)據(jù)寫入SOFS路徑內(nèi),如果在應(yīng)用感知SOFS的情況下,我們可以得到持續(xù)可用的存儲連接


因?yàn)镾OFS是透明故障轉(zhuǎn)移的,我們使用SOFS時(shí),并不會使用一個(gè)傳統(tǒng)虛擬的群集IP,SOFS的UNC路徑名稱會對應(yīng)到各個(gè)節(jié)點(diǎn)的本地IP,當(dāng)應(yīng)用訪問SOFS路徑時(shí),實(shí)際上是基于DNS輪詢的,這樣即是說,SOFS UNC路徑對應(yīng)的文件服務(wù)器是AA模式的,所有節(jié)點(diǎn)都可以承載連接,每次自動挑選最合適的節(jié)點(diǎn)提供存儲服務(wù),2012R2開始可以基于SOFS里面的不同share實(shí)現(xiàn)負(fù)載均衡,例如針對\\SOFS\Share1由NODE1提供,\\SOFS\Share2由NODE2提供


另外SOFS之所以叫做橫向擴(kuò)展文件服務(wù)器,是因?yàn)镾OFS支持添加Server,自動加入SMB負(fù)載輪詢,例如當(dāng)前有兩個(gè)節(jié)點(diǎn)負(fù)責(zé)三個(gè)share的SOFS UNC路徑提供,這就意味著會有一個(gè)節(jié)點(diǎn)要負(fù)責(zé)兩個(gè)share,這時(shí)候如果再添加進(jìn)來一個(gè)節(jié)點(diǎn),就會由三個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)負(fù)責(zé)一個(gè)share的請求提供,以實(shí)現(xiàn)負(fù)載均衡橫向擴(kuò)展功能


基本上我們使用SOFS的核心意義,就是為了利用SOFS的負(fù)載均衡橫向擴(kuò)展優(yōu)化性能,或是透明故障轉(zhuǎn)移能力,在WSFC 2012時(shí)代,SOFS還沒有得到優(yōu)化,那時(shí)如果我們嘗試把虛擬機(jī)存在一個(gè)SMB路徑下,這時(shí)把提供SMB路徑的文件服務(wù)器節(jié)點(diǎn)直接斷電,上面所有虛擬機(jī)將會崩潰。后來SOFS改變了這一點(diǎn),因?yàn)閼?yīng)用每次對于SOFS的訪問,會通過SOFS特有的wintess service來確認(rèn)用戶訪問的是哪臺節(jié)點(diǎn),然后跟蹤應(yīng)用的SMB客戶端會話,一旦發(fā)生應(yīng)用當(dāng)前所在節(jié)點(diǎn)宕機(jī),直接透明的把應(yīng)用的會話轉(zhuǎn)入到另外一個(gè)節(jié)點(diǎn),對于Hyper-V和SQL來說,用戶不會感覺到中斷,這是最核心的部分,SOFS在DNS輪詢之上,群集之上,實(shí)現(xiàn)了基于群集的見證檢測引擎,以確保用戶的SMB客戶端會話可以始終得到保持。


以上老王簡單為大家復(fù)習(xí)了下群集存儲在2012之后涉及到的新東西,接下來開始就是我們的重頭戲了,S2D,也是我們實(shí)作WSFC On Azure之前,所需要了解的最重要的東西


簡單來說,大家可以這樣理解,S2D架構(gòu),是2012時(shí)代 JBOD+存儲虛擬化+群集的升級版,你2012不是說使用JBOD架構(gòu)構(gòu)建群集廉價(jià)嗎,但是也還需要買一個(gè)JBOD是吧,我2016比你更廉價(jià),我直接就可以用每個(gè)節(jié)點(diǎn)本地磁盤來做群集,這個(gè)就厲害了,也更加好用,因?yàn)镴BOD這東西,國內(nèi)比較還是用得少,如果你說,你支持本地磁盤貢獻(xiàn)的架構(gòu),那可能就更多的人愿意嘗試


S2D架構(gòu)呢,基本上就是我們?nèi)杭瘯r(shí)指定NoStorage參數(shù),創(chuàng)建完成群集后,開啟S2D,開啟S2D會去掃描,每個(gè)群集節(jié)點(diǎn),當(dāng)前除了C盤系統(tǒng)啟動盤,還有那些是一樣大小的磁盤,磁盤可以是SCSI ,SCSI ,SATA都可以,被掃描到的合格的磁盤,會被加入群集的S2D機(jī)箱,之后我們就可以繼續(xù)做群集存儲池,群集存儲空間,CSV , SOFS這些東西了,所以說S2D這個(gè)東西,并不是說替代掉原有的存儲池,存儲空間,它只是一種:能夠在群集中,把各個(gè)節(jié)點(diǎn)上面的非系統(tǒng)磁盤聚合起來形成可用存儲池的一種技術(shù)。


有了這樣的一個(gè)技術(shù),我們玩WSFC on Azure,就可以有更多花樣了,為什么呢,因?yàn)槲覀僣are wsfc 能不能跑在azure上面,無非是care共享存儲怎么辦,現(xiàn)在有這種S2D技術(shù)了,那我直接啟動幾臺虛擬機(jī),虛擬機(jī)我附加數(shù)據(jù)磁盤,然后在虛擬機(jī)里面啟動群集,然后開S2D,認(rèn)到各節(jié)點(diǎn)附加數(shù)據(jù)磁盤可以作為可以存儲池了,然后我們就可以玩花樣了,群集存儲池,群集存儲空間,到存儲空間這里,群集磁盤里面就可以看到我們創(chuàng)建的虛擬磁盤了,已經(jīng)可以認(rèn)到群集磁盤,這個(gè)群集磁盤底層是經(jīng)由S2D構(gòu)建,HA的群集存儲控制器,且存儲空間創(chuàng)建出來的虛擬磁盤-群集磁盤,可以是鏡像的,或校驗(yàn)的。


當(dāng)然,這種在云端上面使用S2D的先決條件,底層的虛擬化主機(jī)要和我們的Guest VM能夠相配合,目前根據(jù)老王發(fā)現(xiàn),只有底層是Hyper-V主機(jī)或ESXI主機(jī),可以通過附加磁盤的方式來實(shí)現(xiàn)Guest S2D Clsuter。


OK,最主要的S2D介紹完了,后邊我們一會會通過一系列的實(shí)驗(yàn),來為大家看清上面老王說的這些S2D的架構(gòu),幫助大家在腦袋里構(gòu)想出這樣的架構(gòu)


對于我們部署WSFC on Azure,除了S2D這一項(xiàng)關(guān)鍵技術(shù),我們還可以借助存儲復(fù)制,云仲裁技術(shù),優(yōu)化我們的群集。


存儲復(fù)制,是Windows Server 2016上面退出的一項(xiàng)基于Valume Manager 下,Partition manager上面插入的一層復(fù)制技術(shù),可以幫助我們完成控制存儲的同步復(fù)制,或異步復(fù)制,復(fù)制的級別可以是本地磁盤,跨服務(wù)器磁盤,多站點(diǎn)群集各站點(diǎn)磁盤,跨群集磁盤。


有一個(gè)典型的場景我們可以在Azure上面利用到這項(xiàng)存儲技術(shù)


即我們有一套應(yīng)用環(huán)境,當(dāng)前基于S2D跑起來在中國,我們希望在歐洲也有個(gè)備份,那么我們就可以分別在中國和歐洲架起來兩座S2D Cluster群集,然后兩個(gè)region下的S2D群集磁盤做存儲復(fù)制,這樣一旦S2D群集在中國跑,跑失敗了,我們還可以使用歐洲的S2D Cluster,存儲數(shù)據(jù)都會同步過去


因?yàn)锳zure本身的磁盤已經(jīng)可以是本地復(fù)制,或異地復(fù)制,因此我們再Guest內(nèi)使用存儲復(fù)制功能,那一定是因?yàn)?,對于?yīng)用來說,我們需要可控的復(fù)制管理,不論是群集對群集,節(jié)點(diǎn)對節(jié)點(diǎn),我們使用存儲復(fù)制都是希望能夠在故障情況下,快速保證依賴應(yīng)用的運(yùn)行。


云見證技術(shù),是WSFC 2016和Azure配合新增的一項(xiàng)功能,簡單來說,就是把見證移動到Azure上面,當(dāng)我們使用云見證技術(shù),實(shí)際上我們會在Azure上面創(chuàng)建個(gè)存儲賬戶,然后我們獲取到存儲賬戶的名稱,主訪問鍵值,服務(wù)終結(jié)點(diǎn)名稱,之后我們在WSFC 2016里面選擇云見證,填寫入這些信息后,會通過HTTPS REST連接到Azure的存儲賬戶中,在我們輸入的存儲賬號下生成一個(gè)blob,然后利用這個(gè)blob作為本地WSFC,或Azure上面WSFC的云見證,每注冊一個(gè)群集使用云見證后,會在仲裁blob下面帶有ClusterInstanceID,以幫助我們標(biāo)識當(dāng)前blob被那個(gè)群集所使用


云見證可以有很多場景,例如,一個(gè)多站點(diǎn)群集的場景,例如北京,上海都有群集節(jié)點(diǎn),兩邊的群集數(shù)據(jù)磁盤都通過存儲復(fù)制功能進(jìn)行復(fù)制,但是見證磁盤由于里面有群集數(shù)據(jù)庫依賴于時(shí)間戳,因此不能夠使用復(fù)制技術(shù),所以,我們要不就把見證磁盤放到一個(gè)遠(yuǎn)程站點(diǎn),別是北京,也別是上海,最好放在一個(gè)公平的地方,兩個(gè)站點(diǎn)正常都可以訪問到,這樣一旦發(fā)生分區(qū)后,那個(gè)站點(diǎn)可以訪問到見證磁盤,就可以被優(yōu)先啟動,但是如果企業(yè)真的就沒有這種第三個(gè)站點(diǎn)怎么辦呢,或者說在第三個(gè)站點(diǎn)部署個(gè)見證磁盤劃過來的代價(jià)很高,那么通常您可以選擇使用文件共享見證的方式來處理這種多站點(diǎn)群集,但使用文件共享見證需要注意老王之前提到過的時(shí)間分區(qū)問題,文件共享見證在幫忙處理群集分區(qū)的場景下可以很好的工作,但對于時(shí)間分區(qū)則處理不如磁盤見證優(yōu)秀,云見證就是適用于這種,企業(yè)沒辦法做第三個(gè)站點(diǎn)的磁盤見證或共享見證,那么云見證就可以作為您的第三個(gè)站點(diǎn),只要付費(fèi)就可以使用云見證幫助您遵循多站點(diǎn)仲裁的最佳實(shí)踐,只要確保您的WSFC節(jié)點(diǎn)443端口可以和Azure通,能夠正常聯(lián)網(wǎng),那么就能夠使用云端見證。



OK,理論準(zhǔn)備部分已經(jīng)基本結(jié)束,下面我們直接進(jìn)入WSFC On Azure的實(shí)戰(zhàn)部分,本次我們以國內(nèi)版Azure為例,在構(gòu)建WSFC On Azure時(shí),我們需要在Azure上準(zhǔn)備以下內(nèi)容


1.一個(gè)規(guī)劃好的VNET,VNET地址空間,預(yù)先在子網(wǎng)中規(guī)劃好DNS

2.一個(gè)標(biāo)準(zhǔn)的存儲賬號,用于云見證使用

3.確保正常運(yùn)作情況下,VM,存儲,網(wǎng)絡(luò),在同一個(gè)Region下面運(yùn)作

4.一個(gè)規(guī)劃好的云服務(wù),確保所有WSFC 虛擬機(jī)在同一個(gè)云服務(wù)下面

5.針對于WSFC節(jié)點(diǎn),利用同一個(gè)服務(wù)下面的可用性集技術(shù)

6.為每個(gè)WSFC節(jié)點(diǎn),至少新增至少兩塊數(shù)據(jù)磁盤



除了以上六點(diǎn)外,還有一點(diǎn)需要考慮的,WSFC 2016 的部署模型,要采用工作組模式,還是基于AD域的模型,在 WSFC 2016時(shí)×××始支持使用完全工作組架構(gòu)來部署群集,但是部署出來的群集,能夠適用的應(yīng)用很少,其中最為典型的是基于SA驗(yàn)證的SQL Server群集,后面老王也會專門發(fā)博客講解這種部署模型。


本文我們還是主要專注于傳統(tǒng)的群集模型,即使用AD的群集,使用AD做身份驗(yàn)證,這樣可以確保大部分應(yīng)用都可以支持


那么如果我們決定了要在Azure上面部署AD則又有一些需要需要注意的地方


1.盡量為虛擬機(jī)使用靜態(tài)IP

2.AD數(shù)據(jù)庫不要存放C盤,Azure的虛擬機(jī)Wndows C盤是經(jīng)過緩存優(yōu)化的,而AD數(shù)據(jù)庫不能和這種緩存協(xié)同工作,一定要單獨(dú)附加一塊無緩存的磁盤用做AD數(shù)據(jù)庫

3.如果確認(rèn)Azure的虛擬機(jī)要使用域控制器,那么需要實(shí)現(xiàn)在規(guī)劃VNET的時(shí)候規(guī)劃好,域控制器應(yīng)該是那個(gè)DIP,然后把這個(gè)DIP保留,并配置為VNET的DNS服務(wù)器,這樣所有同VNET下的WSFC節(jié)點(diǎn),安裝好了后就能看到DNS是域控的IP,可以正常加入Azure上面的IAAS域。


DC On Azure 有幾個(gè)典型的場景


1.使用Azure上面虛擬機(jī)安裝DC,然后和本地AD網(wǎng)絡(luò)打通,使用Azure作為AD站點(diǎn)的遠(yuǎn)程站點(diǎn)

2.Azure上面跑了一些虛擬機(jī),這些虛擬機(jī)需要為用戶提供Web服務(wù),但是身份驗(yàn)證每次都需要×××回到本地域控驗(yàn)證,不僅有安全隱患,而且影響性能,可以選擇云端部署一臺域控,這樣云端用戶訪問都是使用云端域控驗(yàn)證,本地用戶訪問都是使用本地端域控驗(yàn)證

3.只是純粹為Azure上面虛擬機(jī)使用而需要部署一臺域控制器提供集中身份驗(yàn)證,確保最大control度


實(shí)驗(yàn)驗(yàn)證


創(chuàng)建規(guī)劃虛擬網(wǎng)絡(luò),選擇位置在中國北部地區(qū)

WSFC2016 On Azure

編輯虛擬網(wǎng)絡(luò)訪問空間,對應(yīng)到VMM的概念這里應(yīng)該是VM Network與VM Subnet

WSFC2016 On Azure

規(guī)劃虛擬網(wǎng)絡(luò)DNS服務(wù)器統(tǒng)一為10.0.0.4,這里注意,如果我們希望在Azure上面部署WSFC,虛擬機(jī)務(wù)必要使用手動規(guī)劃的虛擬網(wǎng)絡(luò),否則默認(rèn)的話,每個(gè)虛擬機(jī)都會單獨(dú)自動創(chuàng)建虛擬網(wǎng)絡(luò),不會在同個(gè)子網(wǎng)下面

WSFC2016 On Azure


完成第一步網(wǎng)絡(luò)規(guī)劃后,我們創(chuàng)建一個(gè)存儲賬號,用于后期做云端見證,但是在中國版Portal門戶上面我們可以發(fā)現(xiàn)已經(jīng)不能操作存儲賬號,操作存儲賬號會被重定向到新的portal上面


創(chuàng)建存儲賬號,選擇標(biāo)準(zhǔn),復(fù)制保持默認(rèn),位置選擇中國北部,確保資源盡可能得到靠近

WSFC2016 On Azure

WSFC2016 On Azure

創(chuàng)建china16dc,node1,node2虛擬機(jī),三臺虛擬機(jī)都選擇同一個(gè)云服務(wù)下面,確保使用相同虛擬網(wǎng)絡(luò),虛擬網(wǎng)絡(luò)子網(wǎng),相同存儲賬號,針對于node1,node2 WSFC節(jié)點(diǎn),我們可以創(chuàng)建設(shè)置可用集,利用Azure云平臺提供的rack faultdomain能力,保證我們的兩臺機(jī)器始終位于不同機(jī)架,不會同時(shí)被維護(hù)

WSFC2016 On Azure

WSFC2016 On Azure

針對于Node1 ,Node2 WSFC節(jié)點(diǎn),需開啟443終結(jié)點(diǎn),以便后期節(jié)點(diǎn)可以聯(lián)系到云端見證

WSFC2016 On Azure

在新portal上面可以手動選擇三臺機(jī)器IP地址為靜態(tài),我們選擇為靜態(tài),對于域控制器我們按照規(guī)劃設(shè)置為10.0.0.4,其它兩個(gè)節(jié)點(diǎn)5和6

WSFC2016 On Azure

WSFC2016 On Azure

WSFC2016 On Azure

打開域控制器虛擬機(jī)可以看到IP地址已經(jīng)按照我們的規(guī)劃進(jìn)行了配置

WSFC2016 On Azure

正常安裝DC On Azure IaaS,創(chuàng)建用于安裝WSFC群集的cluadmin賬戶,加入DomainAdmins組

WSFC2016 On Azure

確保活動目錄數(shù)據(jù)庫在E盤,總之,一定要是個(gè)非C盤,非D盤的無緩存的數(shù)據(jù)磁盤!

WSFC2016 On Azure

正常把Node1,Node2加入DC on IAAS的ha.com域

WSFC2016 On Azure


WSFC2016 On Azure


WSFC2016 On Azure

到這里我們已經(jīng)邁出第一大步,構(gòu)建了一套Azure上面可以正常提供服務(wù)的iaas域環(huán)境,我們再通過遠(yuǎn)程登錄時(shí)可以通過ha.com\cluadmin,直接管理WSFC節(jié)點(diǎn)虛擬機(jī)


接下來我們準(zhǔn)備部署S2D Cluster On Azure,為Node1,Node2分別附加兩個(gè)相同大小的數(shù)據(jù)磁盤

WSFC2016 On Azure

WSFC2016 On Azure

對于S2D節(jié)點(diǎn)的數(shù)據(jù)磁盤,我們可以使用默認(rèn)的的存儲賬號,我們也可以單獨(dú)再創(chuàng)建一個(gè)高級性能類型的存儲賬號,然后在里面創(chuàng)建SSD類型的數(shù)據(jù)磁盤附加給虛擬機(jī),以獲取更高的性能,如果您的群集應(yīng)用需要獲取更高的性能,那么您有必要這樣做。


上面我們討論過S2D 讓W(xué)SFC on Azure有了很多可能,那么現(xiàn)在Azure具體有那些WSFC場景呢


  1. 使用Express Route打通本地ISCSI Server到Azure WSFC群集

  2. 使用第三方插件構(gòu)建復(fù)制節(jié)點(diǎn)本地存儲為群集磁盤

  3. 不使用S2D的SQL AG(AG本身并不一定需要共享存儲,可在應(yīng)用級別完成復(fù)制)

  4. 基于S2D的SQL群集

  5. 基于S2D的SQL AG 

  6. 基于S2D提供SOFS,并公開給同VNET下的SQL群集,實(shí)現(xiàn)SQL文件存SOFS(或本群集)

  7. 基于S2D提供SOFS,用于RDS UPD存放路徑,RDS可以是公有云,或打通×××給本地私有云

  8. 基于S2D的WSFC群集,用于其他群集負(fù)載,例如傳統(tǒng)文件服務(wù)器,通用程序,通用服務(wù)等

  9. 基于S2D的WSFC群集,實(shí)現(xiàn)跨Region群集對群集的存儲復(fù)制


接下來老王將為大家大家實(shí)作第四種場景出來,我們通過在WSFC on Azure上面構(gòu)建一個(gè)S2D的存儲模型,然后上層提供一個(gè)SOFS路徑,這個(gè)SOFS可以被用于本群集,或交付給同VNET下的其它群集。


接下來我們要在WSFC on Azure上面啟S2D了,根據(jù)實(shí)驗(yàn),老王發(fā)現(xiàn)Azure上面啟動S2D和本地端不太一樣,我們不能使用Enable-ClusterStorageSpacesDirect命令來構(gòu)建,但可以使用Enable-ClusterS2D,此外對于每個(gè)S2D節(jié)點(diǎn),需要執(zhí)行winrm /quickconfig


針對于Node1,Node2執(zhí)行winrm /quickconfig

WSFC2016 On Azure

為Node1,Node2安裝故障轉(zhuǎn)移群集功能,然后執(zhí)行以下命令,創(chuàng)建群集

New-Cluster –Name sofs –Node Node1,Node2  -StaticAddress 10.0.0.12 –NoStorage

WSFC2016 On Azure

創(chuàng)建完成后我們得到了一個(gè)正常的WSFC on Azure,但現(xiàn)在群集沒有存儲,除非使用SQL AG等不需要共享存儲的應(yīng)用。

WSFC2016 On Azure


接下來我們需要為群集開啟S2D,讓群集去收集各節(jié)點(diǎn)本地磁盤,匯集成可用的群集存儲池


如果是使用Enable-ClusterStorageSpacesDirect創(chuàng)建S2D,你會發(fā)現(xiàn)一個(gè)83頁VPD的警告,隨后SDS報(bào)錯無法找到合適磁盤

WSFC2016 On Azure

WSFC2016 On Azure

這時(shí)使用Enable-ClusterS2D命令則可規(guī)避此問題,由于我們都是HDD環(huán)境,所以不需要進(jìn)行緩存設(shè)置

Enable-ClusterS2D -CacheState disabled -Autoconfig 0 -SkipEligibilityChecks

WSFC2016 On Azure

創(chuàng)建完成后提示警告,打開所屬htm,可以看到只是我們執(zhí)行的結(jié)果,2塊系統(tǒng)磁盤無法被收集進(jìn)入可以存儲池,各節(jié)點(diǎn)兩塊數(shù)據(jù)磁盤,共計(jì)四塊,已被添加至群集可以的存儲池。

WSFC2016 On Azure

WSFC2016 On Azure

打開群集機(jī)箱可以看到已有的機(jī)箱信息

WSFC2016 On Azure

點(diǎn)擊池,新建存儲池,輸入名字后,可以看到S2D收集上來的可用磁盤組,這和2012R2 JBOD的顯示還不太一樣

WSFC2016 On Azure

2012R2 JBOD架構(gòu)構(gòu)建群集存儲池直接顯示為Clustered Storage Spaces

WSFC2016 On Azure

選擇可用物理磁盤,如果這里磁盤少于3塊,則會提示無法進(jìn)行下一步創(chuàng)建存儲池。

WSFC2016 On Azure

創(chuàng)建完成后,我們現(xiàn)在有了群集存儲池,點(diǎn)擊新建虛擬磁盤,構(gòu)建群集存儲空間

WSFC2016 On Azure

創(chuàng)建結(jié)果如下,大家可以看到,我們可以為每一個(gè)虛擬磁盤,選擇存儲數(shù)據(jù)布局,簡單,鏡像,校驗(yàn)

WSFC2016 On Azure

一般情況下,創(chuàng)建完成的群集存儲空間虛擬磁盤,就可以直接在群集存儲中看到磁盤,應(yīng)該是群集和存儲存儲空間達(dá)成了一些合作,一旦檢測到存儲空間分出來的虛擬磁盤,那就是分配給所有節(jié)點(diǎn)的,那就是應(yīng)該用做群集磁盤,所以自動拿了過來

WSFC2016 On Azure

添加磁盤為CSV,注意,可用存儲需要被格式化為NTFS格式,才可以被用于CSV

WSFC2016 On Azure最終,我們要交付一個(gè)SOFS路徑,通過群集添加角色即可,需要注意,由于SOFS需要在CNO同OU下產(chǎn)生VCO,所以需要賦予CNO對象對于OU的管理權(quán)限,以及對于DNS區(qū)域可以創(chuàng)建DNS記錄的權(quán)限,否則SOFS不會創(chuàng)建成功

WSFC2016 On Azure

WSFC2016 On Azure

DNS正常添加了DNN記錄

WSFC2016 On Azure

SOFS文件服務(wù)器也經(jīng)可以正?;贑SV添加,隨之我們創(chuàng)建一個(gè)路徑,給SQL群集使用,現(xiàn)在我們得到了一個(gè)SOFS On S2D Cluster On Windows Azure!

WSFC2016 On Azure


通過實(shí)驗(yàn),相信大家已經(jīng)了解了云平臺上面跑WSFC群集的S2D架構(gòu)流程


云平臺級別附加虛擬機(jī)磁盤 -> 創(chuàng)建WSFC群集  -> 開啟S2D功能收集磁盤  -> 創(chuàng)建群集存儲池  -> 創(chuàng)建存儲空間 -> 得到群集磁盤 ->構(gòu)建群集共享卷 -> 交付SOFS


雖然有點(diǎn)復(fù)雜,但只要理清了思路,并不難,關(guān)鍵還是思維的轉(zhuǎn)變,說簡單些,我們只是找到了一種新的群集存儲架構(gòu)模式,利用一整套存儲虛擬化帶來的好處,通過S2D可以為群集構(gòu)建群集磁盤,而不再需要提供商公開存儲。通過使用S2D技術(shù)為我們在公有云上面部署WSFC帶來了很多新的可能,未來也希望微軟推出更多方便好的技術(shù),幫我們在各種云平臺部署WSFC,把WSFC帶到任何地方


相比之下,云見證技術(shù)并不如S2D在WSFC on Azure上面發(fā)揮了那么重要的作用,但是云見證技術(shù)也可以幫我們優(yōu)化群集,不論是本地WSFC,或是WSFC On Azure,本地WSFC節(jié)點(diǎn)打通到Azure的443端口就可以使用云見證,WSFC on Azure,雖然我們可以通過S2D構(gòu)建起來群集,但是我們需要考慮群集的見證磁盤,如果就是WSFC本節(jié)點(diǎn)通過S2D啟一個(gè)見證磁盤,也可以啟,但是這不是最佳實(shí)踐,我們可以利用完全獨(dú)立于WSFC S2D之外的云見證技術(shù)來完成群集的見證,利用Azure上面的存儲blob來幫助我們保證群集見證。


對于云見證,我們不需要準(zhǔn)備太多,確保WSFC節(jié)點(diǎn)443端口得到正常開放,可以和Azure存儲通信,之后準(zhǔn)備一個(gè)標(biāo)準(zhǔn)的存儲賬號即可


復(fù)制事先準(zhǔn)備好存儲賬號的主鍵值

WSFC2016 On Azure

打開群集仲裁向?qū)?,選擇高級仲裁配置

WSFC2016 On Azure

選擇仲裁見證為,配置云見證

WSFC2016 On Azure

輸入存儲賬戶名,復(fù)制的存儲賬戶主訪問鍵,如果是Global Azure,服務(wù)終結(jié)點(diǎn)保持默認(rèn)即可,國內(nèi)版Azure 需要更改為core.chinacloudapi.cn

WSFC2016 On Azure

點(diǎn)擊下一步,WSFC 2016節(jié)點(diǎn)會通過443端口去聯(lián)系A(chǔ)zure存儲賬號,follow 服務(wù)終結(jié)點(diǎn)去尋找一個(gè)可以被寫入的存儲路徑,之后把WSFC的ClusterInstanceID記錄下來,生成一個(gè)塊blob,我們WSFC的云見證仲裁就是由這個(gè)blob提供

WSFC2016 On Azure

配置成功后可以在群集上面看到當(dāng)前見證已經(jīng)變?yōu)樵埔娮C

WSFC2016 On Azure

WSFC2016 On Azure


云見證很好,是一項(xiàng)很好的技術(shù),在我們沒有第三個(gè)站點(diǎn)的情況下,可以幫助本地多站點(diǎn)架構(gòu)遵循最佳實(shí)踐,使用公有云作為見證仲裁,由Azure存儲幫我們保證見證的可用性,唯獨(dú)要求打通443端口,對于WSFC on Azure來說,第三個(gè)站點(diǎn)見證也不便于部署,所以可以利用云見證技術(shù)


在面對一個(gè)集群網(wǎng)絡(luò)分區(qū)的時(shí)候,例如兩個(gè)節(jié)點(diǎn)之間不通時(shí),那個(gè)節(jié)點(diǎn)可以和云見證通過443建立連接,那個(gè)節(jié)點(diǎn)就可以獲勝繼續(xù)提供服務(wù),只要云見證在我們的群集就可以支撐到最后一個(gè)節(jié)點(diǎn)


如果說您的 WSFC on Azure 群集不需要遵循最佳實(shí)踐,可以正常用就行,那么您也可以選擇通過一臺其它的Azure機(jī)器,例如DC,來構(gòu)建一個(gè)文件共享,用于WSFC on Azure的共享見證


與云見證類似的,還有一種看起來可行的方案,Azure File Services,很多朋友也會想到使用一個(gè)Azure File路徑來為群集做文件共享,但實(shí)際操作你會發(fā)現(xiàn)群集會拒絕一個(gè)Azure File Services的Azure文件共享見證,因?yàn)槭褂肁zure File Service 必須要輸入Azure分配的特定身份驗(yàn)證信息,所以如果要借助Azure技術(shù)實(shí)現(xiàn)WSFC見證,只有云見證技術(shù)可以選擇

WSFC2016 On Azure


那么之前文章里面挖過的坑,也是時(shí)候該填上了,云見證到底能不能處理時(shí)間分區(qū)


時(shí)間分區(qū)即是說其它節(jié)點(diǎn)不在線的的情況下,我修改群集信息,新增資源,之后shutdown,之前群集信息修改不在線的節(jié)點(diǎn)再開機(jī),是否可以繼續(xù)提供服務(wù),2012R2時(shí)代,磁盤見證可以,因?yàn)榇疟P見證里面有一份群集數(shù)據(jù)庫,即便其它節(jié)點(diǎn)修改資源時(shí)我不在線,我也可以從磁盤見證里面撈回來最新的群集數(shù)據(jù)庫,而文件共享見證則不可以,文件共享見證在這種情況下,之前修改群集信息時(shí)不在的節(jié)點(diǎn),再開機(jī),會發(fā)現(xiàn)群集無法啟動,因?yàn)闆]有最新的群集數(shù)據(jù)庫,只有等待之前之前修改信息的節(jié)點(diǎn)啟動才行。


實(shí)驗(yàn)驗(yàn)證,云見證同樣無法處理時(shí)間分區(qū),原因是云見證blob里面不會有群集數(shù)據(jù)庫

WSFC2016 On Azure

能處理時(shí)間分區(qū)的只有磁盤見證,因此如果您擔(dān)心會發(fā)生時(shí)間分區(qū)場景,那么您需要想辦法讓群集使用磁盤見證,可以是S2D構(gòu)建或express route打通,或者您可以選擇在Azure上面部署奇數(shù)節(jié)點(diǎn)的群集,這樣有百分之66左右的幾率可以支撐到最后一個(gè)節(jié)點(diǎn)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI