“塊”是IT存儲(chǔ)中十分常見(jiàn)的概念,而所謂的塊存儲(chǔ)就是事先在存儲(chǔ)空間中畫(huà)好整齊的格子(格式化),然后以一個(gè)格子為最小單位進(jìn)行存取,即每次存取至少涉及一個(gè)格子的空間?;谶@樣的存儲(chǔ)方式,便衍生出了諸如讀寫(xiě)、復(fù)制、傳輸?shù)认嚓P(guān)技術(shù)。
不過(guò),在云計(jì)算時(shí)代,曾經(jīng)無(wú)限風(fēng)光的“塊”技術(shù)卻遭遇了不少的尷尬。
首先是有限帶寬下的數(shù)據(jù)傳輸問(wèn)題
在一切向“云”看的當(dāng)下,一個(gè)企業(yè)如果想轉(zhuǎn)向云計(jì)算,那或多或少會(huì)需要改變企業(yè)網(wǎng)絡(luò)帶寬。大部分企業(yè)選擇的云計(jì)算都是最簡(jiǎn)單的帶有數(shù)據(jù)保護(hù)機(jī)制的云存儲(chǔ)解決方案就要面臨一個(gè)問(wèn)題,即企業(yè)現(xiàn)有的帶寬是否能支持上云所需的龐大的數(shù)據(jù)流。
這里將塊塊級(jí)與字節(jié)級(jí)復(fù)制進(jìn)行對(duì)比:假設(shè)某系統(tǒng)下的一個(gè)文件中發(fā)生了一次大小為512B(例如將某一個(gè)A改成了B)更改,這時(shí)如果是數(shù)據(jù)塊級(jí)復(fù)制的話,即使在一些數(shù)據(jù)處理方式下,其災(zāi)備系統(tǒng)仍需要傳輸至少64KB的網(wǎng)絡(luò)包到災(zāi)備機(jī)上以完成數(shù)據(jù)保護(hù),而如果是字節(jié)級(jí)復(fù)制的話,災(zāi)備系統(tǒng)則只需要傳輸512B字節(jié)的網(wǎng)絡(luò)包到災(zāi)備機(jī)上以完成數(shù)據(jù)保護(hù),如果是海量數(shù)據(jù)的傳輸?shù)?,字?jié)級(jí)的復(fù)制技術(shù)的這一優(yōu)勢(shì)將會(huì)更加明顯,因此,在帶寬已經(jīng)成為稀缺資源的云計(jì)算時(shí)代,字節(jié)級(jí)數(shù)據(jù)捕獲與復(fù)制技術(shù)顯然更加符合“云”的要求。
其次是,數(shù)據(jù)的刪除問(wèn)題
云端環(huán)境下,對(duì)于云端的選型能力較弱,所以只能進(jìn)行源端的數(shù)據(jù)重刪,無(wú)法做到目標(biāo)段數(shù)據(jù)的刪除。固定塊的大小可能為8KB或64KB,區(qū)別在于塊越小,被判定為冗余的概率越大。這也就意味著消除的冗余更多,存儲(chǔ)的數(shù)據(jù)更少。如果文件發(fā)生變化,而重復(fù)數(shù)據(jù)刪除產(chǎn)品依然利用上次檢查到的固定塊,那就可能無(wú)法監(jiān)測(cè)冗余部分。
有了冗余就涉及到了數(shù)據(jù)刪除問(wèn)題,但塊級(jí)刪除技術(shù)仍然無(wú)法給出令人滿意的答案。塊級(jí)刪除技術(shù)需要利用主索引匹配數(shù)據(jù)塊和該數(shù)據(jù)塊的指針,從而“重新組裝”數(shù)據(jù)塊。塊級(jí)重復(fù)數(shù)據(jù)刪除所需的索引較多,因此,在數(shù)據(jù)重復(fù)確定時(shí)所需要耗費(fèi)的計(jì)算時(shí)間也就更多,備份功能也因此在重復(fù)數(shù)據(jù)刪除過(guò)程中受到更大的影響。
最后,我們?cè)賮?lái)了解一下基于塊的CDP技術(shù):
CDP(Continuous Data Protection,持續(xù)數(shù)據(jù)保護(hù))實(shí)現(xiàn)的關(guān)鍵技術(shù)是對(duì)數(shù)據(jù)變化的記錄和保存,以便實(shí)現(xiàn)任意時(shí)間點(diǎn)的快速恢復(fù)。數(shù)據(jù)基于數(shù)據(jù)塊的CDP功能直接運(yùn)行在物理的存儲(chǔ)設(shè)備或邏輯的卷管理器上,甚至是數(shù)據(jù)傳輸層上。當(dāng)數(shù)據(jù)塊寫(xiě)入生產(chǎn)數(shù)據(jù)的存儲(chǔ)設(shè)備時(shí),CDP系統(tǒng)可以捕獲數(shù)據(jù)的拷貝并將其存放在備份服務(wù)器中,當(dāng)災(zāi)難發(fā)生后,簡(jiǎn)單地選擇需要恢復(fù)到的時(shí)間點(diǎn)即可實(shí)現(xiàn)數(shù)據(jù)的快速恢復(fù)。
基于塊的CDP主要包括兩個(gè)技術(shù):COW(copy-on-write)和ROW(redirect-on-write)。COW技術(shù)具有如下兩個(gè)缺點(diǎn):明顯的寫(xiě)延遲以及無(wú)法實(shí)現(xiàn)系統(tǒng)級(jí)別的全景恢復(fù),僅能恢復(fù)由于誤操作導(dǎo)致的局部數(shù)據(jù)污染。而結(jié)合了快照備份數(shù)據(jù)的ROW技術(shù)雖然可以實(shí)現(xiàn)系統(tǒng)級(jí)別的全量恢復(fù),但由于備份數(shù)據(jù)量的增加,數(shù)據(jù)版本之間形成相互依賴的鏈條,使得數(shù)據(jù)管理越來(lái)越復(fù)雜,數(shù)據(jù)塊在存儲(chǔ)層進(jìn)行異步的傳輸過(guò)程中,很難保證數(shù)據(jù)庫(kù)的一致性,進(jìn)而影響數(shù)據(jù)的可恢復(fù)性和恢復(fù)效率。雖然有企業(yè)希望采用獨(dú)立硬件的方式解決上述問(wèn)題,但這樣做需要額外的服務(wù)器和網(wǎng)絡(luò)硬件,每臺(tái)代理服務(wù)器上的虛擬機(jī)的數(shù)量受到嚴(yán)格的限制,所以成本和性能往往也難以接受。
當(dāng)然,“塊”技術(shù)在銀行、保險(xiǎn)等行業(yè)依然被廣泛應(yīng)用,但隨著新技術(shù)、新需求的不斷出現(xiàn),任何一種技術(shù)都不可能停下迭代的腳步,比如分布式塊存儲(chǔ)和OpenStack等開(kāi)源項(xiàng)目之間的聯(lián)系正在進(jìn)一步加深,未來(lái),塊存儲(chǔ)、塊復(fù)制等技術(shù)將在企業(yè)私有云平臺(tái)上做更好的集成和運(yùn)維。