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.

主站蜘蛛池模板: 精品中文字幕一区在线| 99视频精品全国免费品| 欧美午夜在线观看| 国产一区二区三区夜色| 无码精品福利一区二区三区 | 幺女国产一级毛片| 午夜限制老子影院888| 色综合激情网| 色综合天天综合| 欧美一级专区免费大片| 国产精品自拍露脸视频| 国内精自线i品一区202| 全部免费毛片免费播放| 国产一级片网址| 一区二区午夜| 亚洲h视频在线| 日韩成人高清无码| 国产极品粉嫩小泬免费看| 97在线碰| 精久久久久无码区中文字幕| 日韩精品高清自在线| 亚洲国产中文欧美在线人成大黄瓜 | 久久99精品久久久久纯品| 国产精品无码影视久久久久久久| 91色综合综合热五月激情| 精品国产Av电影无码久久久| 国内毛片视频| 老色鬼久久亚洲AV综合| 九色视频线上播放| 日韩在线视频网站| 欧美一级色视频| 国产大片黄在线观看| 色综合久久无码网| 国产特一级毛片| 日韩黄色在线| 亚洲午夜福利在线| 波多野结衣在线se| 很黄的网站在线观看| 国产精品成人一区二区| 国产免费久久精品99re丫丫一| 美女无遮挡被啪啪到高潮免费| 好紧太爽了视频免费无码| 欧美a在线视频| 成人综合久久综合| 亚洲福利网址| 国产精品尤物在线| 99热这里只有精品免费| 呦视频在线一区二区三区| 国产产在线精品亚洲aavv| 国产精品无码久久久久久| 成人综合在线观看| 日韩欧美国产精品| 国产尤物jk自慰制服喷水| 国产精品分类视频分类一区| 国产成人精品亚洲77美色| 毛片在线区| 国产97色在线| 国产成人艳妇AA视频在线| 国产一线在线| 国产精品私拍99pans大尺度| 色噜噜综合网| 在线观看av永久| 免费一极毛片| 拍国产真实乱人偷精品| 亚洲aaa视频| 99热这里都是国产精品| 黄色污网站在线观看| 91精品aⅴ无码中文字字幕蜜桃| 久996视频精品免费观看| 亚洲欧州色色免费AV| 日韩欧美中文字幕在线精品| 美女潮喷出白浆在线观看视频| 国产精品流白浆在线观看| 国产精品极品美女自在线看免费一区二区| 午夜福利视频一区| 丰满人妻被猛烈进入无码| 十八禁美女裸体网站| 亚洲第一网站男人都懂| 四虎在线观看视频高清无码| 在线精品亚洲国产| 亚洲欧洲日产国码无码av喷潮| 国产婬乱a一级毛片多女|