眾所周知,冗余策略對(duì)于云存儲(chǔ)供應(yīng)商十分重要,它是規(guī)避有可能導(dǎo)致停機(jī)事件或者數(shù)據(jù)丟失的最為常見(jiàn)的做法,因此如何提高冗余云存儲(chǔ)的可用性成為了云存儲(chǔ)商的重中之重。
正如高可用性和靈活性是本地存儲(chǔ)應(yīng)用的重要性能要素一樣,這兩個(gè)性能指標(biāo)對(duì)于使用云存儲(chǔ)服務(wù)的組織也是同等重要的。云存儲(chǔ)供應(yīng)商幾乎都是使用了冗余的硬件,從而能夠以服務(wù)水平協(xié)議(SLA)為客戶提供服務(wù),而采用這樣的冗余策略來(lái)規(guī)避有可能導(dǎo)致停機(jī)事件或者甚至數(shù)據(jù)丟失的現(xiàn)有保護(hù)漏洞也是較為常見(jiàn)的做法。
雖然云供應(yīng)商通常都會(huì)在他們的各級(jí)基礎(chǔ)設(shè)施中增加冗余,但是單獨(dú)使用冗余策略并不足以防止停機(jī)事件的發(fā)生。本地組件故障、WAN故障或者云供應(yīng)商中斷都會(huì)導(dǎo)致數(shù)據(jù)變得不可用。至少,使用云存儲(chǔ)服務(wù)的組織應(yīng)當(dāng)部署冗余的云存儲(chǔ)網(wǎng)關(guān)和冗余的WAN鏈路。另外,如果預(yù)算允許,應(yīng)通過(guò)采用冗余獨(dú)立云(BRIC)集合架構(gòu)以實(shí)施更高級(jí)別的冗余措施。
確定云存儲(chǔ)服務(wù)的高可用性的第一步就是驗(yàn)證你從你的云算儲(chǔ)服務(wù)供應(yīng)商那里得到的保護(hù)等級(jí)。確定你的云存儲(chǔ)服務(wù)供應(yīng)商針對(duì)你的業(yè)務(wù)需求而提供的冗余等級(jí)是非常重要的工作。例如,如果你的企業(yè)的數(shù)據(jù)存儲(chǔ)策略要求所有數(shù)據(jù)都有三個(gè)副本,那么僅僅把用戶數(shù)據(jù)復(fù)制至二級(jí)數(shù)據(jù)中心的云存儲(chǔ)供應(yīng)商可能就無(wú)法滿足你的數(shù)據(jù)存儲(chǔ)策略需求了。你可能會(huì)發(fā)現(xiàn)你需要更高層次的服務(wù)才能實(shí)現(xiàn)你所需的冗余等級(jí)。
正如云存儲(chǔ)冗余是非常重要的一樣,還有必須予以考慮的其它注意事項(xiàng)。為了實(shí)現(xiàn)云存儲(chǔ)的真正高可用性,你還需要把冗余策略應(yīng)用于你與云存儲(chǔ)的連接方式上。云計(jì)算供應(yīng)商們是以一種“首先失敗”的心理在建設(shè)他們自己的基礎(chǔ)設(shè)施的,但是供應(yīng)商們對(duì)于在你的本地基礎(chǔ)設(shè)施中所使用架構(gòu)是沒(méi)有控制權(quán)的。
需要考慮應(yīng)用冗余策略的關(guān)鍵所在:WAN連接,網(wǎng)關(guān)
通常,我們會(huì)使用兩種組件來(lái)提供云存儲(chǔ)的連接性:一個(gè)WAN連接和一個(gè)云存儲(chǔ)網(wǎng)關(guān),也就是所謂的云存儲(chǔ)控制器。這是兩個(gè)為實(shí)現(xiàn)高可用性而必須被解決的問(wèn)題。
WAN冗余的一個(gè)通用解決方案就是從不同的WAN供應(yīng)商那里租用冗余的網(wǎng)絡(luò)連接。從理論上來(lái)說(shuō),如果其中有一家供應(yīng)商發(fā)生了中斷事件,那么你應(yīng)當(dāng)能夠通過(guò)另一個(gè)供應(yīng)商的鏈路來(lái)保持云的連接性。
大多數(shù)的云存儲(chǔ)服務(wù)都是基于一個(gè)對(duì)象存儲(chǔ)平臺(tái)的。因?yàn)榇蟛糠值谋镜卮鎯?chǔ)都是基于塊存儲(chǔ)的,所有我們需要有一個(gè)機(jī)制來(lái)執(zhí)行塊存儲(chǔ)和對(duì)象存儲(chǔ)之間的轉(zhuǎn)換。通常,這樣的一個(gè)任務(wù)是由云存儲(chǔ)網(wǎng)關(guān)設(shè)施來(lái)完成的,它可以為本地和云存儲(chǔ)提供一個(gè)全局的命名空間。
有鑒于云存儲(chǔ)網(wǎng)關(guān)的重要性,防止云存儲(chǔ)網(wǎng)關(guān)因出現(xiàn)單點(diǎn)故障而造成整體系統(tǒng)停機(jī)是至關(guān)重要的。如果云網(wǎng)關(guān)是一個(gè)物理設(shè)施,那么顯而易見(jiàn)的解決方案就是根據(jù)你企業(yè)的具體冗余需求來(lái)部署一個(gè)或多個(gè)附加的設(shè)施。但是物理設(shè)施的價(jià)格是相當(dāng)昂貴的。如果附加設(shè)施并不在你的預(yù)算中,那么你還可以與你的供應(yīng)商溝通以確定是否可能有其它選擇方案存在。如果高可用性是你的唯一目標(biāo),那么你可能會(huì)發(fā)現(xiàn)你可以使用一個(gè)較低端的設(shè)施或者甚至一個(gè)虛擬設(shè)施來(lái)達(dá)到目的。
在使用虛擬云存儲(chǔ)網(wǎng)關(guān)設(shè)施的情況下,你將不得不考慮所需的冗余等級(jí)。因?yàn)椋粋€(gè)虛擬云網(wǎng)關(guān)設(shè)施真的只不過(guò)就是一個(gè)虛擬機(jī)(VM),通過(guò)在你的服務(wù)器虛擬化基礎(chǔ)設(shè)施中的冗余措施,你就可以保護(hù)該設(shè)施。值得一提的是,雖然諸如Hyper-V故障轉(zhuǎn)移這樣的高可用性功能可以保護(hù)虛擬設(shè)施出現(xiàn)物理硬件故障,但是硬件集群對(duì)于防止發(fā)生在虛擬機(jī)中的故障并沒(méi)有發(fā)揮任何作用。因此,你應(yīng)考慮是否可能需要通過(guò)部署并行虛擬設(shè)施來(lái)提供附加的保護(hù),這是有必要的。
當(dāng)談及云存儲(chǔ)的高可用性時(shí),從過(guò)去的經(jīng)歷中獲得經(jīng)驗(yàn)是比較重要的。例如,在2011年,亞馬遜網(wǎng)絡(luò)服務(wù)就由于單一可用區(qū)域中的彈性塊存儲(chǔ)資源發(fā)生故障而遭遇了一次重大的中斷事件,進(jìn)而無(wú)法對(duì)讀寫操作請(qǐng)求作出響應(yīng)。雖然這種類型的大問(wèn)題并沒(méi)有再次出現(xiàn),但這也說(shuō)明了,即便云供應(yīng)商擁有他們內(nèi)置的高可用性機(jī)制,他們還是有可能發(fā)生問(wèn)題的。所以,制定一個(gè)針對(duì)云存儲(chǔ)供應(yīng)商遭遇數(shù)據(jù)丟失事件的到位的應(yīng)急預(yù)案是一個(gè)好主意。
BRIC架構(gòu)保護(hù)數(shù)據(jù)和訪問(wèn)
傳統(tǒng)觀點(diǎn)一直認(rèn)為,當(dāng)談及確保存儲(chǔ)可用性時(shí),客戶往往會(huì)聽(tīng)任云存儲(chǔ)供應(yīng)商的擺布。畢竟,如果一個(gè)供應(yīng)商出現(xiàn)了一次亞馬遜曾遭遇過(guò)的中斷事件,這終究還是會(huì)影響到他們客戶的。但是,BRIC的架構(gòu)是大有裨益的。
BRIC的工作方式類似于一個(gè)RAID存儲(chǔ)陣列,所以用戶不必?fù)?dān)憂單個(gè)磁盤出現(xiàn)問(wèn)題,BRIC可跨多個(gè)云運(yùn)行。通過(guò)使用這種方法,如果云供應(yīng)商發(fā)生了故障或數(shù)據(jù)丟失事件,數(shù)據(jù)也將可以得到保護(hù),同時(shí)在其它云中保持了數(shù)據(jù)的可訪問(wèn)性。
使用BRIC架構(gòu)的最大缺點(diǎn)就是成本。雖然也有諸如Tahoe Least-Authority文件系統(tǒng)(Tahoe-LAFS)這樣免費(fèi)的開(kāi)源BRIC實(shí)施,但是云計(jì)算存儲(chǔ)供應(yīng)商通常會(huì)根據(jù)用戶所消費(fèi)的存儲(chǔ)資源數(shù)量來(lái)計(jì)費(fèi)。如果某家組織使用BRIC在單獨(dú)的幾個(gè)云中存儲(chǔ)數(shù)據(jù)的多個(gè)副本,那么他們的云存儲(chǔ)成本將成倍增加。情況就是如此,如果某家組織想要考慮實(shí)施一個(gè)BRIC架構(gòu),那么他們應(yīng)準(zhǔn)確地預(yù)測(cè)他們未來(lái)的存儲(chǔ)量需求并選擇一個(gè)能夠以最小化成本實(shí)現(xiàn)最大限度保護(hù)的存儲(chǔ)方法,這是非常重要的。否則,客戶的云存儲(chǔ)成本很快就會(huì)失控。
(原標(biāo)題:冗余云存儲(chǔ)如何確保高可用性)