国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 行業(yè)動態(tài) > Client捕獲用戶寫IO

Client捕獲用戶寫IO

時間:2022-04-30 15:36:01 | 來源:行業(yè)動態(tài)

時間:2022-04-30 15:36:01 來源:行業(yè)動態(tài)

方舟備份存儲集群獨立于UDisk存儲集群,是我們重要的設(shè)計前提,這保證了即使出現(xiàn)了UDisk集群遭遇故障而導(dǎo)致數(shù)據(jù)丟失的極端事件,用戶仍能從備份存儲集群中恢復(fù)數(shù)據(jù)。對此,我們實現(xiàn)了一個ark plug-in,集成到了UDisk的client中,這個plug-in會異步的捕獲UDisk的寫IO,并將其推送到方舟備份存儲集群。



如何高效的捕獲UDisk IO是個重要的問題,我們希望對UDisk的IO路徑影響到最低。對于SSD UDisk client和RSSD UDisk client,IO的捕獲模式是完全不同的。



對于SSD UDisk,Bdev線程在接受一個IO后,先提交到UDisk的IO線程中,如果是寫IO還需要推送至方舟備份存儲集群。對此Bdev線程會構(gòu)建一個ArkIORequest,拷貝一份包含data的智能指針對象,加入到無鎖隊列中。ArkHandle線程從無鎖隊列中獲取IO,轉(zhuǎn)發(fā)給ArkIO線程進行推送。UDisk IO完成后,無需等待方舟IO完成即可返回成功。UDisk IO和方舟IO均完成后,data才會被釋放。

對于RSSD UDisk,由于采用SPDK Vhost方案,Vhost和guest VM共享內(nèi)存,UDisk IO完成后,data內(nèi)存空間會立即被guest VM使用。為此我們加入了一個copy線程,由copy線程從無鎖隊列中獲取bdev_io,進行數(shù)據(jù)copy,數(shù)據(jù)copy完畢后再構(gòu)建一個ArkIORequest轉(zhuǎn)發(fā)給ArkIO線程進行推送,方舟IO完成后data由方舟plug-in中的ArkHandle進行釋放。

我們模擬了各種類型的IO場景,研究方舟plug-in對UDisk性能的影響。發(fā)現(xiàn)在低io_depth的場景下,方舟功能對于UDisk性能的影響最大不會超過5%,在高io_depth的場景下,方舟功能對于UDisk性能的影響接近0%。可見方舟plug-in實現(xiàn)了高效的數(shù)據(jù)捕獲與轉(zhuǎn)發(fā),不會影響用戶的線上業(yè)務(wù)。

塊層IO可以理解為一個三元組(sector, sector_num, data),代表讀寫位置、讀寫大小和實際數(shù)據(jù)。對于CDP系統(tǒng),IO的三元組信息是不夠的,需要標(biāo)記額外信息,才能夠恢復(fù)到任何一個時間點。在數(shù)據(jù)捕獲時,所有的寫IO都會標(biāo)記好序列號(seq_num),序列號保證嚴(yán)格連續(xù)遞增,這是我們保證塊級數(shù)據(jù)一致性的基礎(chǔ)。并且所有的寫IO也會打上時間戳,方舟plug-in會保證即使在出現(xiàn)時鐘跳變的情況下,時間戳也不會出現(xiàn)回退。這樣數(shù)據(jù)變化及其時間戳都被保存下來,后端可以根據(jù)這些信息通過某種方式回放,恢復(fù)到過去的任意時刻,這就是CDP技術(shù)的基本原理。在推送到方舟備份存儲集群前,方舟plug-in會對IO進行合并,這可以顯著減少方舟接入層的IOPS。

關(guān)鍵詞:用戶,捕獲

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉