您當(dāng)前的位置是:  首頁(yè) > 新聞 > 國(guó)內(nèi) >
 首頁(yè) > 新聞 > 國(guó)內(nèi) >

零宕機(jī)方案 vSphere Fault Tolerance

2016-12-14 11:33:31   作者:   來(lái)源:CTI論壇   評(píng)論:0  點(diǎn)擊:


  Google 的工程師大牛 Jeff Dean 說(shuō)過(guò):“如果你有一萬(wàn)臺(tái)計(jì)算機(jī)在運(yùn)行,那么每天一定會(huì)有電腦死機(jī)發(fā)生。”事實(shí)上的確如此,無(wú)論服務(wù)器設(shè)計(jì)得有多可靠,總是有宕機(jī)的可能性存在,哪怕是 IBM 號(hào)稱永不宕機(jī)的大型機(jī) (z 系列主機(jī),z 代表 zero down time)。所以數(shù)據(jù)中心的管理員們一直在尋找提高系統(tǒng)可靠性的解決方案,最常見(jiàn)的就是雙機(jī)熱備方案。
  VMware vCenter 就能夠提供高可靠的集群 (Cluster) 方案,在 vSphere 集群中,任何一臺(tái)服務(wù)器發(fā)生嚴(yán)重故障了(如系統(tǒng)宕機(jī)、網(wǎng)絡(luò)故障、存儲(chǔ)失聯(lián)等),上面運(yùn)行的工作負(fù)載就會(huì)被 vCenter 轉(zhuǎn)移到其他正常運(yùn)行的服務(wù)器繼續(xù)運(yùn)行。這種高可靠架構(gòu)可以滿足絕大多數(shù)業(yè)務(wù)的需求,在共享存儲(chǔ)或 vSAN 上都能實(shí)現(xiàn) RPO=0 的效果,但是需要一點(diǎn)時(shí)間在其他服務(wù)器上重啟相關(guān)應(yīng)用和服務(wù),所以 RTO>0。
  漲姿勢(shì):RTO 和 RPO
  在設(shè)計(jì)高可靠系統(tǒng)時(shí)經(jīng)常涉及到 RTO 和 RPO 兩個(gè)指標(biāo):
  • RTO (Recovery Time Objective) 就是企業(yè)能容忍的恢復(fù)時(shí)間。災(zāi)難發(fā)生后,從 IT 系統(tǒng)宕機(jī)導(dǎo)致業(yè)務(wù)停頓,到 IT 系統(tǒng)恢復(fù)至可以恢復(fù)業(yè)務(wù)運(yùn)營(yíng)之間的時(shí)間。
  • RPO (Recovery Point Objective) 可簡(jiǎn)單地描述為企業(yè)能容忍的最大數(shù)據(jù)丟失量。假設(shè)系統(tǒng)一天做一次備份,如果第二天出現(xiàn)錯(cuò)誤,那從備份完成后到錯(cuò)誤出現(xiàn)時(shí)所寫(xiě)入的數(shù)據(jù)都無(wú)法挽回了,從上一次備份到發(fā)生錯(cuò)誤之間的時(shí)間就是 RPO。
  但是還是有一部分關(guān)鍵應(yīng)用不允許有任何中斷,要求達(dá)到 RTO=0 的高可靠性,這時(shí)候就可以采用 vSphere Fault Tolerance 容錯(cuò)技術(shù)。
  FT 工作原理
  FT 技術(shù)的工作原理是把需要保護(hù)的虛機(jī)運(yùn)行在主服務(wù)器上,指定集群中的另一臺(tái)服務(wù)器為備份,vSphere 在備份服務(wù)器上也創(chuàng)建一個(gè)跟受保護(hù)虛機(jī)一模一樣的虛機(jī)。主虛機(jī)和備份虛機(jī)的數(shù)據(jù)和狀態(tài)是完全一致的,通過(guò) vLockStep (virtual Lockstep) 技術(shù)來(lái)保證兩臺(tái)虛機(jī)的同步運(yùn)行。vSphere 通過(guò)網(wǎng)絡(luò)把主虛機(jī)的 FT 日志 (FT Logging) 傳遞給備份虛機(jī),保證兩臺(tái)虛機(jī)在同一時(shí)間內(nèi)處理相同的指令,并且處理相同的非確定性事件,如網(wǎng)絡(luò)數(shù)據(jù)包、用戶輸入、硬件時(shí)鐘等,這些非確定性事件在物理機(jī)上幾乎是無(wú)法同步的,但是虛機(jī)的所有硬件和 I/O 輸入都是由 vSphere 來(lái)控制的,所以就可以做到。
  漲姿勢(shì):Lockstep 技術(shù)
  Lockstep 技術(shù)是容錯(cuò)計(jì)算機(jī) (Fault Tolerance Computer) 的關(guān)鍵實(shí)現(xiàn)技術(shù)之一,通過(guò)使用相同的、冗余的硬件組件來(lái)保持多個(gè) CPU、內(nèi)存精確的同步,在正確的相同時(shí)鐘周期內(nèi)執(zhí)行相同的指令。該技術(shù)能夠保證發(fā)現(xiàn)任何錯(cuò)誤,即使短暫的錯(cuò)誤,系統(tǒng)也能在不間斷處理和不損失數(shù)據(jù)的情況下恢復(fù)正常運(yùn)行。
  vSphere 把發(fā)送給主虛機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包也完全復(fù)制給備份虛機(jī),備份虛機(jī)執(zhí)行跟主虛機(jī)完全一致的指令流,按照相同的順序來(lái)對(duì)網(wǎng)絡(luò)服務(wù)請(qǐng)求做出響應(yīng),產(chǎn)生完全一致的運(yùn)算結(jié)果。唯一的區(qū)別在于,主虛機(jī)對(duì)外的輸出是實(shí)際生效的,磁盤(pán)寫(xiě)操作會(huì)提交給硬盤(pán)、網(wǎng)絡(luò)數(shù)據(jù)包會(huì)被發(fā)送出去;備份虛機(jī)的所有對(duì)外輸出都會(huì)被 vSphere 屏蔽,外界不會(huì)感知到備份虛機(jī)的存在。
\
  只有當(dāng)主虛機(jī)失效時(shí) (主服務(wù)發(fā)生故障),備份虛機(jī)才會(huì)真正生效。因?yàn)閮蓚(gè)虛機(jī)的 CPU 指令順列、內(nèi)存狀態(tài)都是完全一致的,vSphere 馬上進(jìn)行故障轉(zhuǎn)移 (failover),即刻讓備份虛機(jī)變成新的主虛機(jī), 所有的 TCP 網(wǎng)絡(luò)連接都沒(méi)有中斷,虛機(jī)中的應(yīng)用可以繼續(xù)運(yùn)行。對(duì)外界用戶而言,受保護(hù)的虛機(jī)完全沒(méi)有中斷運(yùn)行,實(shí)現(xiàn)了 RPO=0 和 RTO=0 的最高等級(jí)容錯(cuò)。為了繼續(xù)保護(hù)新的主虛機(jī),vSphere 會(huì)在集群中尋找一臺(tái)合適的服務(wù)器作為新的備份服務(wù)器,然后在上面復(fù)制一個(gè)新的備份虛機(jī)出來(lái),從而形成新的容錯(cuò)保護(hù)機(jī)制。
\
  換一個(gè)角度,我們也可以把 FT 技術(shù)看作是一種特殊的 vMotion。vMotion 的過(guò)程是把虛機(jī)的內(nèi)存逐塊地復(fù)制到另一臺(tái)服務(wù)器上,在復(fù)制的過(guò)程中虛機(jī)還在正常運(yùn)行,所以內(nèi)存還在被不斷的改寫(xiě),最后一塊被復(fù)制的內(nèi)存被稱之 vMotion checkpoint,這塊內(nèi)存復(fù)制完成之后虛機(jī)就被完全切換到新的服務(wù)器上運(yùn)行,從而完成 vMotion 的整個(gè)過(guò)程。FT 技術(shù)則是持續(xù)地復(fù)制 checkpoint 內(nèi)存塊,正常情況下并不結(jié)束這一操作,只有當(dāng)故障轉(zhuǎn)移時(shí),才真正完成 vMotion 操作。
  FT 適用條件
  FT 技術(shù)不要求對(duì)應(yīng)用進(jìn)行改寫(xiě),或是對(duì)操作系統(tǒng)進(jìn)行特殊的配置,所以一般的應(yīng)用可以很方便地使用 FT 技術(shù)來(lái)進(jìn)行保護(hù)。vSphere 6.0 可以保護(hù)的虛機(jī)最多可以有 4 個(gè) vCPU、64 GB 內(nèi)存,不超過(guò)這個(gè)資源限制的應(yīng)用都可以采用 FT 技術(shù)來(lái)保護(hù)。而且這是 vSphere 標(biāo)準(zhǔn)版就內(nèi)置的功能,不用采購(gòu)額外的軟件許可證,凡是 vSphere 的用戶都可以隨時(shí)激活對(duì)于虛機(jī)的 FT 保護(hù)。
  FT 的工作機(jī)制要求主備虛機(jī)之間進(jìn)行同步,只有等備份虛機(jī)上的同步操作完成之后,主虛機(jī)上的數(shù)據(jù)包傳輸才會(huì)真正完成。對(duì)于網(wǎng)絡(luò)上的用戶而言,發(fā)給主虛機(jī)的網(wǎng)絡(luò)請(qǐng)求就有一個(gè)額外的延遲,一般這個(gè)延遲從幾毫秒到幾百毫秒不等,一個(gè)低速的 FT 日志同步網(wǎng)絡(luò)(如1GB)可能加劇這種等待,搭建 vSphere FT 環(huán)境要求主備服務(wù)器之間是專用的 10GB 高速低延遲同步網(wǎng)絡(luò),以保證主備服務(wù)器之間的 FT 日志同步速度,否則就會(huì)給受保護(hù)的應(yīng)用帶來(lái)嚴(yán)重的性能影響。所以 FT 技術(shù)不適用于對(duì)于延遲敏感的應(yīng)用或者是實(shí)時(shí)應(yīng)用,也不適用于對(duì)于內(nèi)存進(jìn)行大量修改的應(yīng)用(因?yàn)闀?huì)產(chǎn)生大量的 FT 日志同步)。
  傳統(tǒng)的容錯(cuò)計(jì)算是由昂貴的專用服務(wù)器實(shí)現(xiàn)的,現(xiàn)在 vSphere 在普通的 x86 服務(wù)器上就能實(shí)現(xiàn)同樣的功能,容錯(cuò)計(jì)算終于成為一種大家都用得起的技術(shù)。

相關(guān)熱詞搜索: VMware vCenter 零宕機(jī)

上一篇:Asterisk課堂-IAX2 介紹

下一篇:最后一頁(yè)

專題