大部分人可能只知道Hyper-V復(fù)制是2012新引入的虛擬機(jī)復(fù)制功能,但卻不知道其實(shí)Hyper-V復(fù)制支持非常靈活的架構(gòu),如單機(jī)對單機(jī),單機(jī)對群集,群集對單機(jī),群集對群集,那么Hyper-V復(fù)制和群集扯上關(guān)系到底是怎么回事呢
在仲巴等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站建設(shè),仲巴網(wǎng)站建設(shè)費(fèi)用合理。在WSFC 2012開始,WSFC新增加了一個Hyper-V副本代理角色,如下圖所示
老王認(rèn)為這個角色應(yīng)該叫做群集對外復(fù)制代理比較合適,不然很容易讓人誤會是群集內(nèi)部的復(fù)制,可以理解為微軟將hyper-v復(fù)制與WSFC的整合實(shí)現(xiàn)為一個群集對外復(fù)制協(xié)調(diào)引擎,當(dāng)我們配置這個角色時(shí)會輸入一個名稱,這個名稱就作為復(fù)制代理角色的客戶端訪問點(diǎn),不論此群集作為來源端或者目的端,在復(fù)制向?qū)顚懨Q時(shí)都會填寫復(fù)制代理名稱,而非單個節(jié)點(diǎn),復(fù)制代理會自動協(xié)調(diào)群集內(nèi)參與虛擬機(jī)復(fù)制節(jié)點(diǎn),當(dāng)一個外面的復(fù)制請求丟到群集,復(fù)制代理引擎接到請求會自動協(xié)調(diào)出來一個節(jié)點(diǎn)參與復(fù)制,當(dāng)被挑選參與復(fù)制的節(jié)點(diǎn)宕機(jī),則虛擬機(jī)將被故障轉(zhuǎn)移到群集內(nèi)其它節(jié)點(diǎn)繼續(xù)復(fù)制,利用WSFC故障轉(zhuǎn)移和復(fù)制引擎機(jī)制確保不會因?yàn)閱蝹€主機(jī)宕機(jī)而影響虛擬機(jī)復(fù)制
總結(jié)群集對外復(fù)制代理功能如下
作為群集統(tǒng)一的對外代理,對外提供統(tǒng)一的復(fù)制名稱
挑選協(xié)調(diào)群集內(nèi)主機(jī)參與復(fù)制,感知故障轉(zhuǎn)移,告知外面復(fù)制請求流量最終應(yīng)到達(dá)主機(jī)。
確保群集內(nèi)添加節(jié)點(diǎn)時(shí)不會對正在進(jìn)行的復(fù)制產(chǎn)生影響
Broker角色將復(fù)制配置寫入群集數(shù)據(jù)庫并觸發(fā)通知,每個節(jié)點(diǎn)上的虛擬機(jī)管理服務(wù)都會得到復(fù)制配置,并且每個節(jié)點(diǎn)都會使用復(fù)制設(shè)置的最新副本
支持副本虛擬機(jī)在群集內(nèi)實(shí)時(shí)遷移,當(dāng)副本虛擬機(jī)被遷移到其它節(jié)點(diǎn),復(fù)制流量自動重新路由,不需要人工干預(yù)。
2012R2,Hyper-V復(fù)制還引入了重磅新功能,擴(kuò)展復(fù)制,更進(jìn)一步的貼近實(shí)際應(yīng)用,利用這個功能我們可以實(shí)現(xiàn) 群集-群集-群集,群集-單機(jī)-單機(jī),單機(jī)-單機(jī)-群集,群集-單機(jī)-群集等更加靈活的場景。
站在跨站點(diǎn),跨群集的角度來看Hyper-V復(fù)制
首先,Hyper-V復(fù)制對比存儲復(fù)制,WSFC來說,大的一個優(yōu)勢就是架構(gòu)靈活,可以不受架構(gòu)的限制,不受存儲的限制,支持足夠多的場景,但是,如果不和群集整合,單獨(dú)Hyper-V單機(jī)對單機(jī)復(fù)制的話,也有一個大的弊病,即計(jì)劃內(nèi)維護(hù)需要宕機(jī),經(jīng)過老王和好友張俊森的實(shí)際測驗(yàn),發(fā)現(xiàn)在一個計(jì)劃內(nèi)維護(hù)的場景下,如果要維護(hù)宿主機(jī),竟然要把虛擬機(jī)關(guān)機(jī)才可以進(jìn)行Hyper-V復(fù)制計(jì)劃內(nèi)故障轉(zhuǎn)移,這個是單機(jī)場景下的不足,但是如果可以搭建群集則不會有這個問題,通過復(fù)制代理引擎會自動挑選參與復(fù)制的節(jié)點(diǎn),那怕其中一個節(jié)點(diǎn)宕機(jī),或者計(jì)劃內(nèi)要維護(hù)關(guān)機(jī),復(fù)制代理引擎也會立刻挑選其它主機(jī)來參與復(fù)制,從可用性的角度來講,利用復(fù)制代理能在外面Hyper-V復(fù)制機(jī)制里面再加上一層復(fù)制代理雙保險(xiǎn),通過協(xié)調(diào)群集內(nèi)復(fù)制節(jié)點(diǎn),確保只要群集活著就始終有能參與復(fù)制的節(jié)點(diǎn)。
除此之外Hyper-V復(fù)制還有以下優(yōu)點(diǎn),支持多個還原點(diǎn),不需要使用其它備份工具,直接通過Hyper-V窗口就能夠回滾到不同的時(shí)間節(jié)點(diǎn),支持應(yīng)用程序一致性感知,支持證書驗(yàn)證 SSL 443加密,支持固定端口發(fā)布到其它網(wǎng)絡(luò)對接復(fù)制,支持Azure云端整合復(fù)制。
缺點(diǎn)來說,除了單機(jī)對單機(jī)的維護(hù)問題,還有通過和好友張俊森討論認(rèn)為Hyper-V復(fù)制的復(fù)制間隔還是過長,兩方復(fù)制30秒 5分鐘 15分鐘,擴(kuò)展復(fù)制5分鐘 15分鐘,對于一些核心關(guān)鍵的業(yè)務(wù)可能會希望更短的復(fù)制間隔時(shí)間,以減少數(shù)據(jù)的丟失。
實(shí)際環(huán)境中使用Hyper-V復(fù)制的建議,如果是單機(jī)對單機(jī)的場景下,老王不建議跑重要業(yè)務(wù),一般的業(yè)務(wù)可以由Hyper-V復(fù)制負(fù)責(zé),降低成本,計(jì)劃內(nèi)維護(hù)關(guān)閉虛擬機(jī)需在維護(hù)窗口時(shí)間完成,如果環(huán)境允許的話,處于可用性的考慮,老王建議至少組建一個群集對單機(jī)的場景,這樣就可以放心的跑一些業(yè)務(wù),虛擬機(jī)正常情況下在群集內(nèi)一個節(jié)點(diǎn)運(yùn)作,由群集再將虛擬機(jī)異步復(fù)制到單機(jī),以防止群集崩潰,一旦群集內(nèi)單個節(jié)點(diǎn)宕機(jī),復(fù)制代理協(xié)調(diào)另外一個節(jié)點(diǎn)自動參與復(fù)制,一旦群集崩潰,手動在單機(jī)節(jié)點(diǎn)故障轉(zhuǎn)移虛擬機(jī)。
WSFC對比Hyper-V復(fù)制來說大的優(yōu)勢就是自動故障轉(zhuǎn)移,Hyper-V復(fù)制不論是單機(jī)對單機(jī),群集對單機(jī),群集對群集,假設(shè)其中一方突然宕機(jī),管理員都需要手動完成故障轉(zhuǎn)移,跨站點(diǎn)的情況下可能更會延遲宕機(jī)時(shí)間,如果是搭建了WSFC,在跨站點(diǎn)的情況下,只要合理設(shè)計(jì)好網(wǎng)絡(luò),存儲,仲裁,DNS延遲,放置策略,應(yīng)用重試等群集配置,應(yīng)用可以很快的自動故障轉(zhuǎn)移。不論是Hyper-V復(fù)制還是WSFC,如果設(shè)計(jì)跨站點(diǎn)的可用性方案,都需要考慮到網(wǎng)絡(luò)和存儲,Hyper-V復(fù)制對于存儲沒有要求,可以是共享存儲也可以是本機(jī)存儲,需要注意的是網(wǎng)絡(luò)延遲,不同的復(fù)制頻率對網(wǎng)絡(luò)帶寬的質(zhì)量要求也就越高,如果真的考慮跨站點(diǎn)應(yīng)用Hyper-V復(fù)制,可能也需要搭建專線。
WSFC目前跨站點(diǎn)可用性方案有兩種模型
WSFC 2016+自帶存儲復(fù)制,構(gòu)建成延伸群集
WSFC 2008R2/2012R2/2016+第三方存儲復(fù)制/設(shè)備復(fù)制
從目前的架構(gòu)上面來講,WSFC的跨站點(diǎn)還是要考慮到存儲的問題,原因是目前S2D不能跨站點(diǎn)分布存儲數(shù)據(jù),只能做到跨機(jī)架級別,因此需要考慮存儲的可用性,不論是那種方案,WSFC跨站點(diǎn)的話對于網(wǎng)絡(luò)質(zhì)量也是要求很高。
Hyper-V復(fù)制與WSFC兩種方案,Hyper-V復(fù)制更加廉價(jià),沒有存儲限制,異步復(fù)制,架構(gòu)靈活,但需要和群集整合來實(shí)現(xiàn)更高的可用性,故障轉(zhuǎn)移恢復(fù)時(shí)間較長,需手動進(jìn)行計(jì)劃外故障轉(zhuǎn)移,WSFC可以做到自動的故障轉(zhuǎn)移,但是對于管理員技術(shù)有所要求,要求管理員必須熟悉精通跨站點(diǎn)群集的網(wǎng)絡(luò),存儲,仲裁,DNS延遲,放置策略,應(yīng)用重試等概念設(shè)計(jì),兩種方案均對網(wǎng)絡(luò)要求較高,想要做跨站點(diǎn)高可用應(yīng)該想到這一點(diǎn),實(shí)際決定采納方案時(shí),還應(yīng)該結(jié)合管理人員對hyper-v復(fù)制和WSFC的熟悉程度決定。
跨站點(diǎn)還是跨群集
WSFC從2008開始支持群集多子網(wǎng),真正推進(jìn)了跨站點(diǎn)群集的場景,支持調(diào)整跨子網(wǎng)心跳檢測閥值,2008R2引入HostRecordTTL機(jī)制降低跨站點(diǎn)故障轉(zhuǎn)移時(shí)DNS復(fù)制延遲,引入RegisterAllProvidersIP屬性讓支持的應(yīng)用可以進(jìn)行多子網(wǎng)的快速重試,支持調(diào)整跨網(wǎng)絡(luò)群集檢測通信加密屬性。2012R2新增動態(tài)仲裁,反相關(guān)性,增強(qiáng)優(yōu)先級設(shè)置以便于跨站點(diǎn)故障轉(zhuǎn)移時(shí)的可用性策略。2016時(shí)代對于跨站點(diǎn)新增了不少新功能,站點(diǎn)感知,存儲站點(diǎn)感知,群集組站點(diǎn)感知,選站點(diǎn),跨站點(diǎn)心跳檢測閥值,通過配置能夠?qū)崿F(xiàn)應(yīng)用默認(rèn)本地站點(diǎn)轉(zhuǎn)移,本地站點(diǎn)全部宕機(jī)跨站點(diǎn)故障轉(zhuǎn)移,虛擬機(jī)followCSV,CSV轉(zhuǎn)移到其它站點(diǎn)則虛擬機(jī)也跟隨轉(zhuǎn)移,通過配置群集組站點(diǎn)感知實(shí)現(xiàn)多個群集組始終在不同站點(diǎn)運(yùn)行。通過站點(diǎn)屬性配置50/50情況獲勝,通過站點(diǎn)屬性配置本地子網(wǎng)跨子網(wǎng)外的閥值規(guī)則。一切都源于2016引入了故障域的概念,管理員可以手動定義Site,Rack,Chassis等故障域?qū)傩?,隨后應(yīng)用會感知到故障域定義以進(jìn)行故障轉(zhuǎn)移或策略應(yīng)用,例如前面介紹的幾個新功能都是圍繞著故障域定義的Site屬性來應(yīng)用設(shè)計(jì)跨站點(diǎn)故障轉(zhuǎn)移的策略,故障轉(zhuǎn)移層面S2D實(shí)現(xiàn)效果最好,例如檢測到rack故障域定義 可以將extent撒到不同rack
WSFC 2016的故障域,站點(diǎn)感知等策略,在設(shè)計(jì)2016群集架構(gòu)時(shí)是必不可少要思考的地方,合理的規(guī)劃可以幫助減少很多的宕機(jī)時(shí)間,到了WSFC 2019,所有的2016新功能得到延續(xù),并且新增了ClusterSet新功能。
ClusterSet和Hyper-V復(fù)制代理有點(diǎn)像,但也不全像
說他倆像是因?yàn)樗鼈z都有一個共同的效果,不把雞蛋放在一個籃子里,不全部押寶單個群集
ClusterSet前面已經(jīng)單獨(dú)寫文章和大家聊過,簡單來說它就是一種基于統(tǒng)一的命名空間路徑運(yùn)行虛擬機(jī),以及管理群集調(diào)度成員群集的機(jī)制,讓多個群集形成一個大的Set,所有群集虛擬機(jī)都在同一個大命名空間下面流動,虛擬機(jī)可以跨群集/跨可用性集進(jìn)行實(shí)時(shí)遷移,故障轉(zhuǎn)移,目的主要有四,擴(kuò)展單個群集虛擬化或S2D邊界,實(shí)現(xiàn)虛擬機(jī)跨群集跨可用性集流動,便于群集生命周期管理,兼容不同存儲架構(gòu)群集。
ClusterSet完全是一個WSFC新引入的機(jī)制,這項(xiàng)技術(shù)的缺點(diǎn)就是太耗費(fèi)資源,要構(gòu)建管理群集,成員群集,管理員也需要理解2019SOFS的概念,并且目前階段配置也完全只能用Powershell,技術(shù)難度較大,因此更加適用于準(zhǔn)備構(gòu)建大型數(shù)據(jù)中心,私有云,混合云的企業(yè)用戶
Hyper-V復(fù)制代理這項(xiàng)技術(shù)相對來說更容易理解,沒有ClusterSet那么復(fù)雜,但是它的缺點(diǎn)就是,一旦其中一方全部崩潰,整個復(fù)制關(guān)系要計(jì)劃外故障轉(zhuǎn)移時(shí),只能通過手動故障轉(zhuǎn)移,ClusterSet則可以自動化完成。
ClusterSet與Hyper-V復(fù)制有一個共同的好處就是都不需要Care群集的跨站點(diǎn)配置,設(shè)想一下,ClusterSet的話 北京一個管理群集,天津一個成員群集,張家口一個成員群集,每一個群集都是本地站點(diǎn),就不需要考慮跨站點(diǎn)的網(wǎng)絡(luò),存儲,仲裁,站點(diǎn)策略等概念。Hyper-V復(fù)制也是一個道理,如果北京群集復(fù)制到天津群集,兩邊群集也都是本地站點(diǎn),因此這種跨群集的解決方案,還有存儲復(fù)制的跨群集復(fù)制,都不需要關(guān)注單群集跨站點(diǎn)時(shí)所涉及到的概念,稍微省心一點(diǎn)
但是缺點(diǎn)就是Hyper-V復(fù)制代理,存儲復(fù)制,跨群集故障轉(zhuǎn)移時(shí)都需要手動執(zhí)行,如果不跨群集的話那就考慮單群集跨站點(diǎn)的方案,結(jié)合存儲復(fù)制,可以達(dá)到高的可用性,但需要管理員熟悉跨站點(diǎn)的群集策略,實(shí)際應(yīng)用的時(shí)候大家可以結(jié)合自己的場景多多思考,到底有沒有必要跨群集,還是跨站點(diǎn),采用那項(xiàng)技術(shù)最為適合。
實(shí)驗(yàn)環(huán)境
本文最后老王將為大家實(shí)作群集對群集Hyper-V復(fù)制的場景,北京站點(diǎn)12node1,12node2,天津站點(diǎn)12node3,12node4,分別連接各自站點(diǎn)的共享存儲,我將在兩個群集之間建立復(fù)制代理對復(fù)制代理的Hyper-V復(fù)制關(guān)系,并且逐個宕機(jī)宿主機(jī)驗(yàn)證理論。
北京群集
天津群集
北京群集添加Hyper-V副本代理群集角色
輸入客戶端訪問點(diǎn)名稱,之后不論此群集作為Hyper-V復(fù)制來源端或目的端都會通過此名稱統(tǒng)一對外復(fù)制,一個小技巧,如果希望限定復(fù)制時(shí)使用的網(wǎng)絡(luò),可以在這里選擇其中群集網(wǎng)絡(luò)類型1的網(wǎng)絡(luò)子網(wǎng)作為客戶端訪問點(diǎn)IP,隨后在對面各群集節(jié)點(diǎn)或單機(jī)添加復(fù)制代理客戶端訪問點(diǎn)的FQDN名稱,NetBIOS名稱進(jìn)入hosts文件,因?yàn)閺?fù)制代理的名稱僅在復(fù)制時(shí)使用,并不對外,所以可以通過hosts文件限定網(wǎng)絡(luò)
配置天津站點(diǎn)復(fù)制代理
當(dāng)前北京站點(diǎn)存在一臺虛擬機(jī),虛擬機(jī)存儲位于北京站點(diǎn)CSV
右鍵點(diǎn)擊虛擬機(jī),啟用復(fù)制
進(jìn)入復(fù)制配置向?qū)?,輸入天津站點(diǎn)群集對外復(fù)制代理名稱
分別配置兩邊群集Hyper-V復(fù)制代理配置,存儲位置可以是SOFS或CSV路徑
其它配置視實(shí)際情況而定
點(diǎn)擊群集虛擬機(jī),右鍵,查看復(fù)制運(yùn)行狀況,可以整體檢視Hyper-V復(fù)制運(yùn)作,如果有擴(kuò)展復(fù)制也會在這里顯示,可以看到當(dāng)前北京站點(diǎn)復(fù)制代理,天津站點(diǎn)復(fù)制代理分別挑選的復(fù)制主機(jī)
虛擬機(jī)不停機(jī)實(shí)時(shí)遷移到北京站點(diǎn)12node2,此時(shí)移走12node1上面其它角色即可不停機(jī)維護(hù)12node1
再次檢視復(fù)制運(yùn)行狀況,發(fā)現(xiàn)復(fù)制主機(jī)已經(jīng)自動挑選為12node2
直接宕機(jī)12node2,復(fù)制引擎感知故障轉(zhuǎn)移,重新協(xié)調(diào)由12node1進(jìn)行復(fù)制
宕機(jī)12node1 北京站點(diǎn)群集全部關(guān)閉,天津站點(diǎn)此時(shí)虛擬機(jī)處于關(guān)閉狀態(tài),需手動進(jìn)行故障轉(zhuǎn)移
右鍵點(diǎn)擊虛擬機(jī) - 復(fù)制 - 故障轉(zhuǎn)移
選擇要使用的恢復(fù)點(diǎn)
虛擬機(jī)跨群集復(fù)制啟動成功。
此時(shí)如果天津站點(diǎn)12node4崩潰,虛擬機(jī)和復(fù)制代理角色會故障轉(zhuǎn)移到12node3,只要仲裁設(shè)計(jì)合理 ,虛擬機(jī)可以存活至最后一個節(jié)點(diǎn)
隨后各節(jié)點(diǎn)陸續(xù)恢復(fù),在天津站點(diǎn)群集上右鍵點(diǎn)擊虛擬機(jī) - 復(fù)制 - 反向復(fù)制,將數(shù)據(jù)反向同步回北京站點(diǎn)。
Hyper-V跨群集復(fù)制,不像ClusterSet那么復(fù)雜,也不需要精通跨站點(diǎn)的群集調(diào)優(yōu)策略,它很簡單,但也能實(shí)現(xiàn)很好的效果,只要正確掌握操作方法,發(fā)現(xiàn)故障及時(shí)手動故障轉(zhuǎn)移,就可以將宕機(jī)時(shí)間盡量降到最低,也許你值得擁有。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。