任新勃 發(fā)表于:14年06月25日 17:22 [原創(chuàng)] DOIT.com.cn
信息伴隨互聯(lián)網(wǎng)的快速發(fā)展,無論是企業(yè)還是個人的數(shù)據(jù)量都呈現(xiàn)幾何增長,數(shù)據(jù)的價值也越來越凸顯。隨著備份的數(shù)據(jù)量越來越大、數(shù)據(jù)類型越來越復雜,在這個大背景下,CDP(Continuous Data Protection,持續(xù)數(shù)據(jù)保護)技術(shù)開始誕生并刮起了一股數(shù)據(jù)保護的熱潮。與傳統(tǒng)的備份與恢復方式不同,CDP技術(shù)通過記錄每一個IO變化,將數(shù)據(jù)所有變化以實時、“錄像”的方式進行保存,這種方式對用戶最有價值的部分就是其快速恢復性,當災難發(fā)生之后,通過CDP的I/O記錄回滾技術(shù),可以回滾到過去任意指定時間點的數(shù)據(jù)狀態(tài),而且恢復速度極為快速,遠非傳統(tǒng)的磁帶備份或者VTL所能比擬。
這個時候人們可能產(chǎn)生一個疑問,如果要實現(xiàn)任意時間點的歷史數(shù)據(jù)回滾支持,為每個IO變化進行記錄,IT系統(tǒng)硬件軟件是否能滿足其性能,或者說起存儲系統(tǒng)性能是否受到影響?本篇文章以火星艙為例,說明火星艙寫入隊列緩沖是如何解決IO級CDP對系統(tǒng)性能影響的。
我們曾經(jīng)介紹過,火星艙CDP(持續(xù)數(shù)據(jù)保護)的一大優(yōu)勢特色是數(shù)據(jù)塊級I/O記錄技術(shù)。也就是對鏡像寫入到火星艙中的數(shù)據(jù),為每個I/O打上時間戳,在需要的時候可以回滾到任意歷史數(shù)據(jù)狀態(tài),甚至1毫秒(ms)內(nèi)的多次寫操作都會被標記下來。
火星艙CDP無限IO記錄技術(shù)
熟悉存儲的朋友可能會問,這樣的I/O級CDP是否會對性能產(chǎn)生不利影響呢?從常理來看,可回滾的顆粒精細度,和應用存儲訪問性能之間是魚與熊掌難以兼顧。那火星艙是如何解決這一問題的?
首先,火星艙CDP可選分鐘級快照,以及I/O記錄兩種保護方式。對于回滾精度和一致性要求相對不高的用戶,可以選擇快照方式以降低處理開銷。
至于I/O記錄方面,火星艙專門打造了被稱為“多級緩存隊列”的技術(shù)來優(yōu)化性能。
SSD緩存加快讀寫速度
把固態(tài)硬盤當作讀/寫緩存,能夠為 I/O 密集型應用優(yōu)化,從而提升存儲系統(tǒng)的性能。可以自動將“熱數(shù)據(jù)”工作負載分擔到SSD上,如隨機讀寫,從而獲得更高的性能。
首先,每一臺火星艙(不只是CDP)都支持SSD讀/寫緩存功能,針對同步數(shù)據(jù)寫入可以先寫到高速的SSD日志緩存中,再選擇時機刷新至硬盤。該選項可對CDP等I/O密集型應用的性能帶來幫助。
為了進一步應對業(yè)務數(shù)據(jù)的集中突發(fā)寫入,火星艙CDP在SSD寫緩存之上又增加了一層——那就是內(nèi)存緩沖。我們知道傳統(tǒng)磁盤陣列都是有DRAM寫緩存來改善性能的,而且這個容量隨著存儲系統(tǒng)檔次的提高而增加。內(nèi)存在寫入性能特別是延時表現(xiàn)方面是閃存無法相比的;鹦桥揅DP配置的32GB-256GB甚至更大的內(nèi)存,在這里派上了用武之地。
火星艙CDP數(shù)據(jù)復制流程
火星艙采用基于數(shù)據(jù)塊的CDP功能,直接運行在邏輯卷管理器層面上,提供了系統(tǒng)內(nèi)核 I/O 級別的保護。當數(shù)據(jù)塊寫入生產(chǎn)存儲設備時,CDP分流器實時捕獲數(shù)據(jù)并將其同時寫入到火星艙中。
對于DRAM存儲介質(zhì)的斷電易失性,火星高科持有這樣的觀點:首先火星艙在這里是作為后備存儲設備出現(xiàn);其次,CDP設備應對的漸進式數(shù)據(jù)破壞不包括停電,即使停電火星艙丟失的也只是緩存中有限的臨時寫入數(shù)據(jù);在有更高要求的場合,可以選配UPS。
Kernel Mode(內(nèi)核態(tài))vs. User Mode(用戶態(tài))
筆者不是程序設計方面的專家,這里簡單談下。代碼在操作系統(tǒng)的內(nèi)核態(tài)執(zhí)行,不會像基于用戶態(tài)那樣要做反復的地址空間映射,因此效率會高出很多。
但是有許多廠商的CDP產(chǎn)品,其代碼都是執(zhí)行在用戶態(tài)的。這是由于Linux的GPL開源協(xié)議,如果編程時對內(nèi)核模塊做了改動,就必須公開所有源代碼。火星艙存儲及CDP能做到內(nèi)核態(tài),且擁有完全自主知識產(chǎn)權(quán)的原因是,其底層操作系統(tǒng)基于CDDL開源協(xié)議的Unix定制開發(fā)而來。這樣就能更高效地優(yōu)化數(shù)據(jù)讀寫性能。
可以看出通過對SSD、內(nèi)存緩存的合理應用以及操作系統(tǒng)內(nèi)核態(tài)執(zhí)行,火星艙CDP(持續(xù)數(shù)據(jù)保護)數(shù)據(jù)塊級I/O記錄技術(shù),在最大限度保護用戶數(shù)據(jù)的同時,還充分考慮優(yōu)化了應用存儲性能。