999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CEPH—BlueStore與BCACHE應用研究

2018-09-29 05:46:30沈磊李凱林云
中國科技縱橫 2018年16期

沈磊 李凱 林云

摘 要:為了實現基于ceph的BlueStore存儲引擎在SSD和HDD混合模式場景下有更好的性能,本文提出了基于bcache提升ceph性能的解決方案。該方案是將bcache技術應用到BlueStore引擎解決方案中。通過實驗驗證,使用bcache可以讓BlueStore在混合模式下發揮更好的性能。

關鍵詞:CEPH;BlueStore;BCACHE

中圖分類號:TP333 文獻標識碼:A 文章編號:1671-2064(2018)16-0038-02

1 引言

在分布式存儲CEPH高速發展過程中誕生了filestore和bluestore存儲引擎,filestore一開始只是對于機械盤進行設計的,沒有專門針對ssd做優化考慮,因此誕生的bluestore初衷就是為了減少寫放大,并針對ssd做優化,而且直接管理裸盤,從理論上進一步減少文件系統如ext4/xfs等部分的開銷。然而,使用bluestore存儲引擎拋棄了原有的journal機制。因此,本文提出使用bcache技術來提升bluestore存儲引擎下SSD和HDD混合場景的最大性能。

2 BCACHE技術分析

bcache是linux內核塊層cache。它使用類似SSD來作為HDD硬盤的cache,從而起到加速作用。HDD硬盤便宜并且空間更大,SSD速度快但更貴。bcache設計目標是等同于SSD。最大程度上去最小化寫放大,并避免隨機寫。bcache將隨機寫轉換為順序寫,首先寫到SSD,然后回寫緩存使用SSD緩存大量的寫,最后將寫有序寫到磁盤或者陣列上。

bcache的優勢在于可以將SSD資源池化,一塊SSD可對應多塊HDD,形成一個緩存池。bcache還支持從緩存池中劃出瘦分配的純flash卷(thin-flash lun)單獨使用。一個cache pool包含一個journal,緩存所有未完成操作的連續日志。

bcache用B+樹來管理緩存數據與HDD上數據塊的對應關系,B+樹所索引的k-v結構在bcache中稱為bkey。

將一個緩存池中的多塊HDD空間編址為一個地址空間;以HDD的id + IO請求的LBA為索引建立B+樹;每個B+樹的節點對應一個btree bucket,這個bucket里存的就是一個個的bkey;為每個btree bucket申請一塊連續內存作為metadata緩存;利用Journal/WAL加速B+tree的修改, 寫完journal以及內存中的B+tree節點緩存后寫IO就可以返回了。

3 BlueStore技術分析

在BlueStore存儲引擎中,沒有了journal的機制,也拋開了文件系統層面,直接對裸盤進行讀寫;在默認的配置中將一個磁盤劃分為兩個分區,第一個分區100MB用于存儲METDATA;第二個分區存儲數據。

RocksDB:存儲預寫式日志、數據對象元數據、Ceph的omap數據信息、以及分配器的元數據。

BlueRocksEnv:與RocksDB交互的接口。

BlueFS:小文件系統,解決元數據、文件空間及磁盤空間的分配和管理,并實現了rocksdb::Env接口(存儲RocksDB日志和sst文件)。

HDD:物理塊設備,存儲實際的數據。

3.1 元數據

在之前的存儲引擎filestore里,對象的表現形式是對應到文件系統里的文件,默認4MB大小的文件,但是在bluestore里,已經沒有傳統的文件系統,而是自己管理裸盤,因此需要有元數據來管理對象,對應的就是Onode,Onode是常駐內存的數據結構,持久化的時候會以kv的形式存到rocksdb里。

在onode里又分為lextent,表示邏輯的數據塊,用一個map來記錄,一個onode里會存在多個lextent,lextent通過blob的id對應到blob(bluestore_blob_t),blob里通過pextent對應到實際物理盤上的區域(pextent里就是offset和length來定位物理盤的位置區域)。一個onode里的多個lextent可能在同一個blob里,而一個blob也可能對應到多個pextent。

另外還有Bnode這個元數據,它是用來表示多個object可能共享extent,目前在做了快照后寫I/O觸發的cow進行clone的時候會用到。

3.2 I/O處理

到達bluestore的I/O的offset和length都是對象內(onode)的,offset是相對于這個對象起始位置的偏移,在_do_write里首先就會根據最小分配單位min_alloc_size進行判斷,從而將I/O分為對齊和非對齊的。

當一個寫請求按照min_alloc_size進行拆分后,就會分為對齊寫,對應到do_write_big,非對齊寫(即落到某一個min_alloc_size區間的寫I/O(對應到do_write_small)。

do_write_big

對齊到min_alloc_size的寫請求處理起來比較簡單,有可能是多個min_alloc_size的大小,在處理時會根據實際大小新生成lextent和blob,這個lextent跨越的區域是min_alloc_size的整數倍,如果這段區間是之前寫過的,會將之前的lextent記錄下來便于后續的空間回收。

do_write_small

在處理落到某個min_alloc_size區間的寫請求時,會首先根據offset去查找有沒有可以復用的blob,因為最小分配單元是min_alloc_size,默認64KB,如果一個4KB的寫I/O就只會用到blob的一部分,blob里剩余的還能放其它的。

4 BlueStore與BCACHE應用

在使用Ceph BlueStore中使用SSD的方式主要有兩種:cache tiering與OSD cache,眾所周知,Ceph的cache tiering機制目前還不成熟,策略比較復雜,IO路徑較長,在有些IO場景下甚至還會導致性能下降,promotion的粒度較大也有較多的負面影響。所以在SSD的使用上,我們選擇了給OSD所在塊設備加速的方式。

下面將基于bcache完成對ceph bluestore的支持。具體實施步驟如下:

(1)內核實施步驟:

Step1.內核源碼開啟bcache的支持。

Step2.拷貝當前環境的Module.symvers。

Step3.生成bcache.ko。

Step4.創建目錄。

Mkdir /usr/lib/modules/$(uname -r)/kernel/drivers/md/bcache

Step5.拷貝ko。

cp /home/bcache.ko /usr/lib/modules/$(uname -r)/kernel/drivers/md/bcache

Step6.加載內核。

Step7.安裝bcache-tools。

(2)bluestore實施步驟:

Step1.配置磁盤(圖1)。

Step2.以manual形式部署ceph。如圖2所示。

5 測試結果分析

本節將通過實驗,主要針對混合磁盤采用bluestore存儲引擎和bcache進行測試,證明通過bcache可以提升存儲性能,比ceph自身的cache tier性能更優更穩定。

(1)實驗平臺配置。三臺戴爾R720服務器構成實驗的硬件平臺,每個服務上安裝Centos 7.3操作系統。服務器詳細配置信息為:Intel 24核 2000MHZ的Xeon E5-2620 CPU,物理內存為196584M。(2)實驗設計。3個節點通過千兆交換機連接,每個服務器既是計算節點也是存儲節點;每個節點配置4個千兆網卡,1個400GB SSD和3個1TB 7200rpm SATA磁盤。(3)實驗結果分析。使用fio測試bcache環境下三臺服務器組成的集群能提供的最大IOPS,如圖3所示。

使用fio測試使用cache tier模式下集群提供的最大IOPS,如圖4所示。

6 結語

本文的重點是通過bcache與bluestore結合在SSD和HDD下如何得到最佳性能的解決方案。通過實驗驗證,得到以下結論:使用bcache可以在混合磁盤場景下提升bluestore存儲引擎模式的整體性能,并且比ceoh自身提供的cache tier更優。

參考文獻

[1]陳莉君.深入分析Linux內核源碼[M].北京:人民郵電出版社,2002.

[2]楊洪波.高性能網絡虛擬化技術研究[D].上海:上海交通大學,2012.

主站蜘蛛池模板: 欧美一区二区啪啪| 一本大道无码日韩精品影视| 国产av无码日韩av无码网站 | 91精品啪在线观看国产91九色| 很黄的网站在线观看| 国产精品久久精品| 亚洲高清日韩heyzo| 成人韩免费网站| 欧美日韩导航| 欧美午夜理伦三级在线观看| 国内精品一区二区在线观看| 永久成人无码激情视频免费| 国产综合精品日本亚洲777| 999精品在线视频| 亚洲精品手机在线| 自偷自拍三级全三级视频| 国产白浆视频| 97成人在线视频| 巨熟乳波霸若妻中文观看免费| 国产剧情国内精品原创| 青青草国产免费国产| 国产波多野结衣中文在线播放| 日韩精品毛片| 国产99精品久久| 国产99免费视频| 在线va视频| www.亚洲一区| 亚洲天堂啪啪| 久久毛片免费基地| 国产精品视频白浆免费视频| 国产白丝av| 午夜精品福利影院| 国产伦精品一区二区三区视频优播 | 成人精品亚洲| 波多野结衣中文字幕一区| AV无码一区二区三区四区| 小说 亚洲 无码 精品| 国产网站免费| 99成人在线观看| 亚洲国产成人久久精品软件| 国产在线自乱拍播放| 国产精品国产主播在线观看| 亚洲国产AV无码综合原创| 国产成人精品男人的天堂下载| 重口调教一区二区视频| 原味小视频在线www国产| 最新加勒比隔壁人妻| 国产精品观看视频免费完整版| a级毛片毛片免费观看久潮| 欧美特级AAAAAA视频免费观看| 国产成人乱码一区二区三区在线| 91视频日本| 国产欧美日韩va另类在线播放| 成人午夜天| 国产麻豆aⅴ精品无码| 久青草免费在线视频| AV不卡在线永久免费观看| 国产打屁股免费区网站| 欧美区一区二区三| 亚洲成人网在线观看| 亚洲一区国色天香| 一级全免费视频播放| 欧美www在线观看| 国产在线视频欧美亚综合| 国产自在线拍| 色精品视频| 国产主播福利在线观看| 99re精彩视频| 久久香蕉国产线看观看精品蕉| 99成人在线观看| 久久综合九色综合97网| 亚洲愉拍一区二区精品| 久久久噜噜噜| 秋霞午夜国产精品成人片| 国产一区二区三区在线精品专区| A级全黄试看30分钟小视频| 视频二区亚洲精品| 国产亚洲精品资源在线26u| 国产视频a| 高清不卡一区二区三区香蕉| 999精品免费视频| 国产精品亚洲一区二区三区在线观看|