亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CEPH—BlueStore與BCACHE應(yīng)用研究

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

        沈磊 李凱 林云

        摘 要:為了實(shí)現(xiàn)基于ceph的BlueStore存儲(chǔ)引擎在SSD和HDD混合模式場(chǎng)景下有更好的性能,本文提出了基于bcache提升ceph性能的解決方案。該方案是將bcache技術(shù)應(yīng)用到BlueStore引擎解決方案中。通過(guò)實(shí)驗(yàn)驗(yàn)證,使用bcache可以讓BlueStore在混合模式下發(fā)揮更好的性能。

        關(guān)鍵詞:CEPH;BlueStore;BCACHE

        中圖分類號(hào):TP333 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2018)16-0038-02

        1 引言

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

        2 BCACHE技術(shù)分析

        bcache是linux內(nèi)核塊層cache。它使用類似SSD來(lái)作為HDD硬盤的cache,從而起到加速作用。HDD硬盤便宜并且空間更大,SSD速度快但更貴。bcache設(shè)計(jì)目標(biāo)是等同于SSD。最大程度上去最小化寫放大,并避免隨機(jī)寫。bcache將隨機(jī)寫轉(zhuǎn)換為順序?qū)?,首先寫到SSD,然后回寫緩存使用SSD緩存大量的寫,最后將寫有序?qū)懙酱疟P或者陣列上。

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

        bcache用B+樹來(lái)管理緩存數(shù)據(jù)與HDD上數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系,B+樹所索引的k-v結(jié)構(gòu)在bcache中稱為bkey。

        將一個(gè)緩存池中的多塊HDD空間編址為一個(gè)地址空間;以HDD的id + IO請(qǐng)求的LBA為索引建立B+樹;每個(gè)B+樹的節(jié)點(diǎn)對(duì)應(yīng)一個(gè)btree bucket,這個(gè)bucket里存的就是一個(gè)個(gè)的bkey;為每個(gè)btree bucket申請(qǐng)一塊連續(xù)內(nèi)存作為metadata緩存;利用Journal/WAL加速B+tree的修改, 寫完journal以及內(nèi)存中的B+tree節(jié)點(diǎn)緩存后寫IO就可以返回了。

        3 BlueStore技術(shù)分析

        在BlueStore存儲(chǔ)引擎中,沒有了journal的機(jī)制,也拋開了文件系統(tǒng)層面,直接對(duì)裸盤進(jìn)行讀寫;在默認(rèn)的配置中將一個(gè)磁盤劃分為兩個(gè)分區(qū),第一個(gè)分區(qū)100MB用于存儲(chǔ)METDATA;第二個(gè)分區(qū)存儲(chǔ)數(shù)據(jù)。

        RocksDB:存儲(chǔ)預(yù)寫式日志、數(shù)據(jù)對(duì)象元數(shù)據(jù)、Ceph的omap數(shù)據(jù)信息、以及分配器的元數(shù)據(jù)。

        BlueRocksEnv:與RocksDB交互的接口。

        BlueFS:小文件系統(tǒng),解決元數(shù)據(jù)、文件空間及磁盤空間的分配和管理,并實(shí)現(xiàn)了rocksdb::Env接口(存儲(chǔ)RocksDB日志和sst文件)。

        HDD:物理塊設(shè)備,存儲(chǔ)實(shí)際的數(shù)據(jù)。

        3.1 元數(shù)據(jù)

        在之前的存儲(chǔ)引擎filestore里,對(duì)象的表現(xiàn)形式是對(duì)應(yīng)到文件系統(tǒng)里的文件,默認(rèn)4MB大小的文件,但是在bluestore里,已經(jīng)沒有傳統(tǒng)的文件系統(tǒng),而是自己管理裸盤,因此需要有元數(shù)據(jù)來(lái)管理對(duì)象,對(duì)應(yīng)的就是Onode,Onode是常駐內(nèi)存的數(shù)據(jù)結(jié)構(gòu),持久化的時(shí)候會(huì)以kv的形式存到rocksdb里。

        在onode里又分為lextent,表示邏輯的數(shù)據(jù)塊,用一個(gè)map來(lái)記錄,一個(gè)onode里會(huì)存在多個(gè)lextent,lextent通過(guò)blob的id對(duì)應(yīng)到blob(bluestore_blob_t),blob里通過(guò)pextent對(duì)應(yīng)到實(shí)際物理盤上的區(qū)域(pextent里就是offset和length來(lái)定位物理盤的位置區(qū)域)。一個(gè)onode里的多個(gè)lextent可能在同一個(gè)blob里,而一個(gè)blob也可能對(duì)應(yīng)到多個(gè)pextent。

        另外還有Bnode這個(gè)元數(shù)據(jù),它是用來(lái)表示多個(gè)object可能共享extent,目前在做了快照后寫I/O觸發(fā)的cow進(jìn)行clone的時(shí)候會(huì)用到。

        3.2 I/O處理

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

        當(dāng)一個(gè)寫請(qǐng)求按照min_alloc_size進(jìn)行拆分后,就會(huì)分為對(duì)齊寫,對(duì)應(yīng)到do_write_big,非對(duì)齊寫(即落到某一個(gè)min_alloc_size區(qū)間的寫I/O(對(duì)應(yīng)到do_write_small)。

        do_write_big

        對(duì)齊到min_alloc_size的寫請(qǐng)求處理起來(lái)比較簡(jiǎn)單,有可能是多個(gè)min_alloc_size的大小,在處理時(shí)會(huì)根據(jù)實(shí)際大小新生成lextent和blob,這個(gè)lextent跨越的區(qū)域是min_alloc_size的整數(shù)倍,如果這段區(qū)間是之前寫過(guò)的,會(huì)將之前的lextent記錄下來(lái)便于后續(xù)的空間回收。

        do_write_small

        在處理落到某個(gè)min_alloc_size區(qū)間的寫請(qǐng)求時(shí),會(huì)首先根據(jù)offset去查找有沒有可以復(fù)用的blob,因?yàn)樽钚》峙鋯卧莔in_alloc_size,默認(rèn)64KB,如果一個(gè)4KB的寫I/O就只會(huì)用到blob的一部分,blob里剩余的還能放其它的。

        4 BlueStore與BCACHE應(yīng)用

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

        下面將基于bcache完成對(duì)ceph bluestore的支持。具體實(shí)施步驟如下:

        (1)內(nèi)核實(shí)施步驟:

        Step1.內(nèi)核源碼開啟bcache的支持。

        Step2.拷貝當(dāng)前環(huán)境的Module.symvers。

        Step3.生成bcache.ko。

        Step4.創(chuàng)建目錄。

        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.加載內(nèi)核。

        Step7.安裝bcache-tools。

        (2)bluestore實(shí)施步驟:

        Step1.配置磁盤(圖1)。

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

        5 測(cè)試結(jié)果分析

        本節(jié)將通過(guò)實(shí)驗(yàn),主要針對(duì)混合磁盤采用bluestore存儲(chǔ)引擎和bcache進(jìn)行測(cè)試,證明通過(guò)bcache可以提升存儲(chǔ)性能,比ceph自身的cache tier性能更優(yōu)更穩(wěn)定。

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

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

        6 結(jié)語(yǔ)

        本文的重點(diǎn)是通過(guò)bcache與bluestore結(jié)合在SSD和HDD下如何得到最佳性能的解決方案。通過(guò)實(shí)驗(yàn)驗(yàn)證,得到以下結(jié)論:使用bcache可以在混合磁盤場(chǎng)景下提升bluestore存儲(chǔ)引擎模式的整體性能,并且比ceoh自身提供的cache tier更優(yōu)。

        參考文獻(xiàn)

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

        [2]楊洪波.高性能網(wǎng)絡(luò)虛擬化技術(shù)研究[D].上海:上海交通大學(xué),2012.

        亚洲三区在线观看内射后入| 亚洲国产综合性感三级自拍 | 伊人婷婷综合缴情亚洲五月| 亚洲成a∨人片在线观看无码 | 胳膊肘上有白色的小疙瘩| 国产免费网站在线观看不卡| 香港三级午夜理论三级| 日韩亚洲av无码一区二区不卡| 国产麻豆一精品一AV一免费软件| 白白白色视频在线观看播放| 国产日本精品一二三四区| 成人无码α片在线观看不卡| 精品一级毛片| 丰满人妻一区二区三区免费| 91精品国产综合久久熟女| 被黑人猛躁10次高潮视频| 亚洲AⅤ无码日韩AV中文AV伦| 久久久精品国产亚洲av网不卡| 亚洲精品第一页在线观看| 国产乱码精品一区二区三区四川人| 正在播放国产多p交换视频| 偷拍av一区二区三区| 日韩av在线播放人妻| 亚洲av成人中文无码专区| 麻豆变态另类视频在线观看| 日韩精品一区二区在线视| 久久久久成人精品免费播放动漫| 丰满少妇高潮惨叫正在播放| 久久精品国产亚洲av大全相关| 国产精品国产三级国产an不卡| 放荡的少妇2欧美版| 国产精品 视频一区 二区三区| 青青青伊人色综合久久| 亚洲高清中文字幕视频| a级特黄的片子| 久久99精品久久久66| 亚洲一区二区综合精品| 全免费a敌肛交毛片免费| 99久久久久国产| 色婷婷一区二区三区四| 三级全黄裸体|