火星艙CDP無限IO記錄技術

熟悉存儲的朋友可能會問,這樣的I/O級CDP是否會對性能產生不利影響呢?從常理來看,可回滾的顆粒精細度,和應用存儲訪問性能之間是魚與熊掌難以兼顧。那火星艙是如何解決這一問題的?

首先,火星艙CDP可選分鐘級快照,以及I/O記錄兩種保護方式。對于回滾精度和一致性要求相對不高的用戶,可以選擇快照方式以降低處理開銷。

至于I/O記錄方面,火星艙專門打造了被稱為“多級緩存隊列”的技術來優化性能。

SSD緩存加快讀寫速度

把固態硬盤當作讀/寫緩存,能夠為 I/O 密集型應用優化,從而提升存儲系統的性能??梢宰詣訉?ldquo;熱數據”工作負載分擔到SSD上,如隨機讀寫,從而獲得更高的性能。

首先,每一臺火星艙(不只是CDP)都支持SSD讀/寫緩存功能,針對同步數據寫入可以先寫到高速的SSD日志緩存中,再選擇時機刷新至硬盤。該選項可對CDP等I/O密集型應用的性能帶來幫助。

為了進一步應對業務數據的集中突發寫入,火星艙CDP在SSD寫緩存之上又增加了一層——那就是內存緩沖。我們知道傳統磁盤陣列都是有DRAM寫緩存來改善性能的,而且這個容量隨著存儲系統檔次的提高而增加。內存在寫入性能特別是延時表現方面是閃存無法相比的?;鹦桥揅DP配置的32GB-256GB甚至更大的內存,在這里派上了用武之地。

火星艙CDP數據復制流程

火星艙采用基于數據塊的CDP功能,直接運行在邏輯卷管理器層面上,提供了系統內核 I/O 級別的保護。當數據塊寫入生產存儲設備時,CDP分流器實時捕獲數據并將其同時寫入到火星艙中。

對于DRAM存儲介質的斷電易失性,火星高科持有這樣的觀點:首先火星艙在這里是作為后備存儲設備出現;其次,CDP設備應對的漸進式數據破壞不包括停電,即使停電火星艙丟失的也只是緩存中有限的臨時寫入數據;在有更高要求的場合,可以選配UPS。

Kernel Mode(內核態)vs. User Mode(用戶態)

筆者不是程序設計方面的專家,這里簡單談下。代碼在操作系統的內核態執行,不會像基于用戶態那樣要做反復的地址空間映射,因此效率會高出很多。

但是有許多廠商的CDP產品,其代碼都是執行在用戶態的。這是由于Linux的GPL開源協議,如果編程時對內核模塊做了改動,就必須公開所有源代碼?;鹦桥摯鎯癈DP能做到內核態,且擁有完全自主知識產權的原因是,其底層操作系統基于CDDL開源協議的Unix定制開發而來。這樣就能更高效地優化數據讀寫性能。

可以看出通過對SSD、內存緩存的合理應用以及操作系統內核態執行,火星艙CDP(持續數據保護)數據塊級I/O記錄技術,在最大限度保護用戶數據的同時,還充分考慮優化了應用存儲性能。

未經允許不得轉載:存儲在線-存儲專業媒體 » 火星艙寫入隊列緩存:I/O級CDP與性能可否兼得?
分享到

renxinbo

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走