郭斌
摘要:業(yè)務(wù)系統(tǒng)的容災(zāi)備份是非常重要的需求,尤其是在與人們的生產(chǎn)生活息息相關(guān)的業(yè)務(wù)系統(tǒng)中,必須要盡力提升服務(wù)的可用性和可靠性,業(yè)界的相關(guān)技術(shù)也在不斷的演進(jìn)與革新。本文探討了容災(zāi)備份技術(shù)的發(fā)展、現(xiàn)狀及局限性,并著重闡述了通過異地容災(zāi)備份技術(shù)確保業(yè)務(wù)系統(tǒng)持續(xù)可用、數(shù)據(jù)可靠的技術(shù)架構(gòu)。
關(guān)鍵詞:異地容災(zāi)備份;兩地三中心;分布式
1引言
信息化的飛速發(fā)展不斷地提升社會的生產(chǎn)效率并改善人們的生活方式,尤其是通訊、金融、安全、交通、互聯(lián)網(wǎng)等關(guān)鍵領(lǐng)域的各種信息化業(yè)務(wù)系統(tǒng),必須有足夠的手段去確保其服務(wù)的可用性和可靠性。災(zāi)害事件造成業(yè)務(wù)系統(tǒng)的網(wǎng)絡(luò)中斷、供電異常、數(shù)據(jù)丟失、設(shè)備損壞等,不僅給人們的生產(chǎn)生活帶來干擾,也給不少企業(yè)和單位的業(yè)務(wù)開展帶來沉重的打擊,因此需要容災(zāi)備份技術(shù)方法,更穩(wěn)妥的保障其可用性和可靠性。
2容災(zāi)備份技術(shù)現(xiàn)狀及局限性
容災(zāi)備份技術(shù)的發(fā)展歷經(jīng)多個階段,每一次技術(shù)革新都解決了前一代的某些局限性,體現(xiàn)了業(yè)界技術(shù)水平的提升和用戶預(yù)期的提高。
2.1冷備份技術(shù)
冷備份即業(yè)務(wù)系統(tǒng)定期或定量的把業(yè)務(wù)數(shù)據(jù)導(dǎo)出并備份到某種離線存儲介質(zhì)上。如業(yè)務(wù)系統(tǒng)故障或數(shù)據(jù)丟失,可通過之前備份的數(shù)據(jù)將業(yè)務(wù)系統(tǒng)恢復(fù)到近期的某個狀態(tài)。冷備份的技術(shù)局限性在于,最近一次備份完成后至在線業(yè)務(wù)系統(tǒng)故障時產(chǎn)生的數(shù)據(jù)變更是無法挽救的,且在數(shù)據(jù)恢復(fù)過程中,在線業(yè)務(wù)系統(tǒng)的服務(wù)是中斷的。
2.2RAID技術(shù)
RAID(Redundant Array of Independent Disks)技術(shù)即業(yè)務(wù)系統(tǒng)的數(shù)據(jù)保存在由多塊磁盤組成的具有冗余性的陣列中,某塊磁盤損壞后,數(shù)據(jù)仍然可用,不影響上層業(yè)務(wù)系統(tǒng)對數(shù)據(jù)的讀寫訪問。RAID通常可配置為RAID1,RAID5,RAID6等模式,寫數(shù)據(jù)時通過一定的規(guī)則額外保存冗余的副本或校驗,用于故障后的恢復(fù)。專用的RAID磁盤陣列產(chǎn)品通常配置了雙電源和雙控制器,數(shù)據(jù)的可靠性和可用性有極大的保障,但基于數(shù)據(jù)的業(yè)務(wù)系統(tǒng)整體的可靠性和可用性還需要其他機(jī)制來保障。
2.3雙機(jī)熱備份技術(shù)
雙機(jī)熱備份技術(shù),即兩臺業(yè)務(wù)系統(tǒng)服務(wù)器互為“主機(jī)”和“備機(jī)”,通過雙機(jī)軟件來管理。在同一時刻,只有做主機(jī)的服務(wù)器對外提供服務(wù),當(dāng)主機(jī)故障時,雙機(jī)軟件負(fù)責(zé)進(jìn)行主機(jī)和備機(jī)的身份切換,之前的備機(jī)立刻切換為主機(jī)并提供服務(wù)。雙機(jī)熱備份技術(shù)中,業(yè)務(wù)系統(tǒng)的數(shù)據(jù)通常由共享的磁盤陣列存儲,當(dāng)備機(jī)切換為主機(jī)時,直接使用該磁盤陣列上的數(shù)據(jù)提供服務(wù)。業(yè)務(wù)系統(tǒng)的雙機(jī)熱備份技術(shù)是現(xiàn)階段廣泛使用的一種應(yīng)用模式,其局限性在于:性能方面無法橫向的線性擴(kuò)展;備機(jī)不能對外提供服務(wù),其配備的計算能力長期閑置;安全性方面,雖然數(shù)據(jù)有冗余,但整個陣列仍然容易成為一個單點故障點。
2.4分布式多副本技術(shù)
分布式多副本技術(shù)中,業(yè)務(wù)系統(tǒng)由多臺服務(wù)器節(jié)點組成一個集群。業(yè)務(wù)系統(tǒng)的數(shù)據(jù)集通常被分割為多個分區(qū),每個分區(qū)有一個主副本和多個從副本,這些分區(qū)的各數(shù)據(jù)副本根據(jù)一定規(guī)則分布在集群中不同的服務(wù)器節(jié)點上,這些服務(wù)器有各自獨立的存儲。寫數(shù)據(jù)時通常會先在某個分區(qū)的主副本上寫入,然后相繼更新該分區(qū)所有副本上的數(shù)據(jù),并確保副本間的數(shù)據(jù)一致性。當(dāng)某分區(qū)的主副本故障時,系統(tǒng)會立刻選舉某個從副本承擔(dān)主副本的角色,無縫的提供不間斷的服務(wù);當(dāng)故障節(jié)點恢復(fù)正常后,其數(shù)據(jù)會在有限的時間內(nèi)與其他副本上的最新數(shù)據(jù)保持同步。此技術(shù)架構(gòu)下,集群可以橫向線性擴(kuò)展,并且在一定場景下從副本也可提供數(shù)據(jù)的只讀服務(wù),計算資源利用率有提升。但其局限性在于,因為總體上要保存多份數(shù)據(jù),存儲資源利用率較低。
2.5分布式糾刪碼技術(shù)
分布式糾刪碼(Erasure Coding,EC)技術(shù)本質(zhì)上是通過數(shù)學(xué)運算,用計算資源去交換存儲資源的一種時空權(quán)衡。糾刪碼首先針對原始數(shù)據(jù)進(jìn)行分片(例如分為m片),然后基于這些分片數(shù)據(jù)進(jìn)行矩陣運算,編碼生成若干備份數(shù)據(jù)分片(例如n片),最后將原始數(shù)據(jù)分片和備份數(shù)據(jù)分片分別寫入分布式系統(tǒng)中的不同節(jié)點。數(shù)據(jù)恢復(fù)是編碼的逆運算,在m+n片中取任意m片數(shù)據(jù),即可恢復(fù)出完整的原始數(shù)據(jù)。糾刪碼技術(shù)有效克服了多副本技術(shù)中存儲資源利用率低的問題。
3異地容災(zāi)備份關(guān)鍵技術(shù)
綜上所述,容災(zāi)備份技術(shù)發(fā)展過程中不斷提升系統(tǒng)的可靠性和可用性,但仍然難以應(yīng)對區(qū)域性的災(zāi)害,如大面積停電、斷網(wǎng)等情況。因此對非常關(guān)鍵的業(yè)務(wù)系統(tǒng)來說,跨地域的容災(zāi)備份是非常必要的。
3.1同集群同城部署
同集群部署可以運用在同城多數(shù)據(jù)中心的異地容災(zāi)業(yè)務(wù)系統(tǒng)中?;谇笆龅姆植际蕉喔北炯夹g(shù),將同一個集群各個數(shù)據(jù)分區(qū)的多個副本分布到不同的數(shù)據(jù)中心(相當(dāng)于把單個集群“拉遠(yuǎn)”)。同城的數(shù)據(jù)中心間使用高速的網(wǎng)絡(luò)專線連接,確保盡可能低的網(wǎng)絡(luò)延遲和足夠的網(wǎng)絡(luò)帶寬。當(dāng)某個數(shù)據(jù)中心失聯(lián)時,業(yè)務(wù)系統(tǒng)仍然有正常服務(wù)的能力。
3.2多集群異地部署
多集群異地的部署方式能夠更大程度上保障系統(tǒng)的可靠性和可用性,比如“兩地三中心”的方式,即業(yè)務(wù)系統(tǒng)總體部署于同城兩個數(shù)據(jù)中心,加上異地一個數(shù)據(jù)中心。同城兩數(shù)據(jù)中心可以是同一個集群,也可以是兩個獨立的集群,同城兩個數(shù)據(jù)中心間實時或準(zhǔn)實時的同步數(shù)據(jù),當(dāng)其中一個數(shù)據(jù)中心失聯(lián)時,其服務(wù)優(yōu)先由同城另一個數(shù)據(jù)中心承擔(dān)。如果業(yè)務(wù)系統(tǒng)在同城的兩個數(shù)據(jù)中心都可以同時提供服務(wù)(而不只是在另一個失聯(lián)時才承擔(dān)工作),這時可以叫做“同城雙活”模式。處于異地的數(shù)據(jù)中心因為距離較遠(yuǎn),與其他兩個數(shù)據(jù)中心間的網(wǎng)絡(luò)延遲和帶寬都得不到保障,因此只能異步的將自己的數(shù)據(jù)逐漸與其他集群保持一致。假如不幸發(fā)生地震、颶風(fēng)等大面積災(zāi)害,處于同城的2個數(shù)據(jù)中心都出現(xiàn)了問題,則處于異地的數(shù)據(jù)中心(通常在人工確認(rèn)后)可以立即承擔(dān)業(yè)務(wù)系統(tǒng)的服務(wù)工作。
4結(jié)束語
在高速發(fā)展的互聯(lián)網(wǎng)時代,確保關(guān)鍵業(yè)務(wù)系統(tǒng)中數(shù)據(jù)的高可用和高可靠具有極其重要的意義,相關(guān)技術(shù)也是業(yè)界研究和應(yīng)用的重要方向。本文探討了容災(zāi)備份技術(shù)的歷次迭代,分析了其局限性的和解決方案,并著重闡述了通過異地容災(zāi)備份技術(shù)確保業(yè)務(wù)系統(tǒng)持續(xù)可用、數(shù)據(jù)可靠的問題。具體到商用案例中,往往面臨著成本與目標(biāo)的權(quán)衡,最合適的方案才是最好的方案。隨著技術(shù)的發(fā)展和應(yīng)用需求的變化,業(yè)界對容災(zāi)備份方案也會提出更高的要求,需要持續(xù)針對業(yè)務(wù)系統(tǒng)的需求進(jìn)行研究,利用新技術(shù)不斷改善現(xiàn)有方案。
(作者單位:南京中興新軟件有限責(zé)任公司)