国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于Ceph優(yōu)化企業(yè)云后端存儲(chǔ)方案的研究

2019-05-23 08:47解辰輝劉承亮曲左陽(yáng)
關(guān)鍵詞:硬盤(pán)集群架構(gòu)

解辰輝,劉承亮,曲左陽(yáng)

(中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081)

OpenStack是目前流行的開(kāi)源云平臺(tái)技術(shù),是企業(yè)實(shí)現(xiàn)私有云平臺(tái)提供IaaS形式服務(wù)的重要解決方案[1]。OpenStack所包含的組件相對(duì)較多,各個(gè)組件間存在依賴關(guān)系,如每個(gè)組件都會(huì)依賴Keystone,Nova還依賴于G lance,Neutron和Cinder;Sw ift,Glance和Cinder需要后端存儲(chǔ)的支持。

原生的OpenStack并不支持統(tǒng)一存儲(chǔ),云主機(jī)服務(wù)Nova、鏡像服務(wù)Glance、云硬盤(pán)服務(wù)Cinder的后端存儲(chǔ)各不相同。后果是內(nèi)耗嚴(yán)重,單純從創(chuàng)建虛擬機(jī)這一操作來(lái)看,通常需要1~3 m in。這樣的設(shè)計(jì)缺乏合理的橫向擴(kuò)展性,當(dāng)系統(tǒng)壓力增大時(shí),必然會(huì)出現(xiàn)各種問(wèn)題。在構(gòu)建云平臺(tái)時(shí),須對(duì)存儲(chǔ)進(jìn)行重新設(shè)計(jì)。早先業(yè)界不少學(xué)者或企業(yè)在為OpenStack優(yōu)化Sw ift上做了大量的工作。本文嘗試將云平臺(tái)所有數(shù)據(jù)存儲(chǔ)在Ceph資源池里,包括創(chuàng)建虛擬機(jī),遷移,擴(kuò)容,縮容等所有操作都可以避免不必要的數(shù)據(jù)傳輸[2]。提出一套更加適用于企業(yè)生產(chǎn)環(huán)境的優(yōu)化方案:通過(guò)調(diào)整元數(shù)據(jù)備份策略,網(wǎng)絡(luò)傳輸方式以及根據(jù)企業(yè)環(huán)境調(diào)整配置策略,提升整體性能。

1 Ceph分布式存儲(chǔ)關(guān)鍵技術(shù)

Ceph是一種高性能的統(tǒng)一分布式存儲(chǔ)系統(tǒng),具有高可靠性和可擴(kuò)展性。Ceph可以通過(guò)一套存儲(chǔ)系統(tǒng)同時(shí)提供對(duì)象存儲(chǔ)、塊存儲(chǔ)和文件存儲(chǔ)系統(tǒng)3種功能,以便在滿足不同應(yīng)用需求的前提下簡(jiǎn)化部署和運(yùn)維。其中,對(duì)象存儲(chǔ),既可以通過(guò)使用Ceph的庫(kù),利用C、C++、Java、Python、PHP代碼訪問(wèn),也可以通過(guò)Restfu l網(wǎng)關(guān)以對(duì)象的形式訪問(wèn)或存儲(chǔ)數(shù)據(jù),兼容亞馬遜的S3和OpenStack的Sw ift。塊存儲(chǔ),作為塊設(shè)備,可像硬盤(pán)一樣直接掛載。文件系統(tǒng)如同網(wǎng)絡(luò)文件系統(tǒng)一樣掛載,兼容POSIX接口。在Ceph系統(tǒng)中分布式意味著真正的去中心化結(jié)構(gòu)以及沒(méi)有理論上限的系統(tǒng)規(guī)??蓴U(kuò)展性[2]。Ceph的系統(tǒng)層次,如圖1所示。

在Ceph的架構(gòu)中,對(duì)象存儲(chǔ)由LIBRADOS和RADOSGW提供,塊存儲(chǔ)由RBD提供,文件系統(tǒng)由CEPH FS提供,而RADOSGW, RBD, CEPH FS均需要調(diào)用LIBRADOS的接口,而最終都是以對(duì)象的形式存儲(chǔ)于RADOS里[3]。Ceph集群的節(jié)點(diǎn)有3種角色:

(1)M onitor,監(jiān)控集群的健康狀況,向客戶端發(fā)送最新的Crush map(含有當(dāng)前網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu))。

(2)OSD,維護(hù)節(jié)點(diǎn)上的對(duì)象,響應(yīng)客戶端請(qǐng)求,與其他OSD節(jié)點(diǎn)同步。

(3)M DS,提供文件的M etadata,提供高層應(yīng)用接口CephFS[4]。

Ceph是分布式的存儲(chǔ),它將文件分割后均勻隨機(jī)地分散在各個(gè)節(jié)點(diǎn)上,Ceph采用了CRUSH算法來(lái)確定對(duì)象的存儲(chǔ)位置,只要有當(dāng)前集群的拓?fù)浣Y(jié)構(gòu),Ceph客戶端就能直接計(jì)算出文件的存儲(chǔ)位置,直接跟 OSD節(jié)點(diǎn)通信獲取文件而不需要詢問(wèn)中心節(jié)點(diǎn)獲得文件位置,這樣就避免了單點(diǎn)風(fēng)險(xiǎn)。Ceph已經(jīng)是一套比較成熟的存儲(chǔ)系統(tǒng)了,是OpenStack比較理想的存儲(chǔ)后端,也可以作為Hadoop的存儲(chǔ)后端。

Ceph和Gluster都是靈活存儲(chǔ)系統(tǒng),在云環(huán)境中表現(xiàn)非常出色。在速率上兩者通過(guò)各自不同的方式,結(jié)果不相伯仲[5]。這里之所以選用Ceph除了因?yàn)槠涓菀着cLinux做集成且對(duì)于W indow s較為友好,更是看重Ceph 訪問(wèn)存儲(chǔ)的不同方法有可能使其成為更流行的技術(shù)。Ceph已經(jīng)是主線Linux內(nèi)核(2.6.34)的一部分,由于其具有高性能,高可靠和高擴(kuò)展性,Ceph作為一個(gè)優(yōu)秀的開(kāi)源項(xiàng)目得到更多的關(guān)注。

圖1 Ceph的系統(tǒng)層次

2 企業(yè)云后端存儲(chǔ)集成Ceph

使用Ceph作為企業(yè)云(基于OpenStack)的后端存儲(chǔ)主要有2種思路:(1)由于私有云本身包含Sw ift組件作為對(duì)象存儲(chǔ),Ceph用C++編寫(xiě)而Sw ift用Py thon編寫(xiě),性能上應(yīng)當(dāng)是Ceph占優(yōu)。但是與Ceph不同,Sw ift專注于對(duì)象存儲(chǔ),作為OpenStack組件之一經(jīng)過(guò)大量生產(chǎn)實(shí)踐的驗(yàn)證,與OpenStack結(jié)合很好,目前,不少人使用Ceph為OpenStack提供塊存儲(chǔ),但仍舊使用Sw ift提供對(duì)象存儲(chǔ)[6]。(2)將Ceph統(tǒng)一作為Nova/Glance/Cinder的存儲(chǔ)后端[7],如此一來(lái),Nova, Glance, Cinder之間沒(méi)有數(shù)據(jù)傳輸,快速創(chuàng)建虛擬機(jī),只需要管理一個(gè)統(tǒng)一存儲(chǔ)[8]。本文采取第2種實(shí)現(xiàn)方式進(jìn)行更深一步的探討。

2.1 實(shí)驗(yàn)環(huán)境簡(jiǎn)介

整合項(xiàng)目實(shí)驗(yàn)資源(包含設(shè)備利舊),搭建實(shí)驗(yàn)集群[9]??傮w集群部署分布,如圖2所示。

圖2 實(shí)驗(yàn)集群部署功能示意圖

出于未來(lái)業(yè)務(wù)發(fā)展需要,集群中部分物理存儲(chǔ)節(jié)點(diǎn)選配了3.2 TB NVM E SSD卡。所有存儲(chǔ)節(jié)點(diǎn)標(biāo)配2塊2.5寸600 GB 10K SAS熱插拔硬盤(pán),2塊480 GB SSD(intel S3520系列)熱插拔硬盤(pán),8塊6T 7.2K SATA熱插拔硬盤(pán)。

宿主機(jī)集群通過(guò)部署節(jié)點(diǎn)進(jìn)行PXE網(wǎng)絡(luò)部署,操作系統(tǒng)發(fā)行版為CentOS Linux release 7.3.1611(Core),部署基于M版OpenStack深度開(kāi)發(fā)的企業(yè)云,部署的網(wǎng)絡(luò)架構(gòu),如圖3所示。

控制節(jié)點(diǎn):存儲(chǔ)pub lic網(wǎng)-雙萬(wàn)兆,L3 pub lic網(wǎng)-雙萬(wàn)兆,業(yè)務(wù)Private網(wǎng)-雙萬(wàn)兆,部署和物理機(jī)監(jiān)控IPM I-單千兆,管理網(wǎng)-雙萬(wàn)兆(管理網(wǎng)和存儲(chǔ)Public網(wǎng)合并)。

計(jì)算節(jié)點(diǎn):存儲(chǔ)Public網(wǎng)-雙萬(wàn)兆,業(yè)務(wù)Private網(wǎng)-雙萬(wàn)兆,部署和物理機(jī)監(jiān)控IPM I-單千兆,管理網(wǎng)-雙萬(wàn)兆(管理網(wǎng)和存儲(chǔ)Public網(wǎng)合并)。

存儲(chǔ)節(jié)點(diǎn):存儲(chǔ)Public網(wǎng)-雙萬(wàn)兆, 存儲(chǔ)Private網(wǎng)-雙萬(wàn)兆(可用IB),部署和物理機(jī)監(jiān)控IPM I-單千兆,管理網(wǎng)-雙萬(wàn)兆(管理網(wǎng)和存儲(chǔ)Public網(wǎng)合并)。

圖3 集群部署網(wǎng)絡(luò)架構(gòu)圖

2.2 社區(qū)Ceph支持企業(yè)云后端存儲(chǔ)

將Ceph FS作為Nova節(jié)點(diǎn)的本地文件系統(tǒng)。作為OpenStack中的共享實(shí)例存儲(chǔ),可以在OpenStack中使用Ceph塊設(shè)備鏡像,Ceph塊設(shè)備鏡像被當(dāng)作集群對(duì)象。還可以使用OpenStack G lance將鏡像存儲(chǔ)在Ceph塊設(shè)備中。這樣OpenStack的Nova G lance和Cinder之間沒(méi)有數(shù)據(jù)傳輸。高可用集群只需管理一個(gè)統(tǒng)一存儲(chǔ)[10]。本實(shí)驗(yàn)采用社區(qū)版本的Ceph version 10.2.5。

在本文的實(shí)驗(yàn)場(chǎng)景中,Ceph資源池總?cè)萘考s為479 TB,設(shè)置為3副本,可用容量約為159 TB。所有節(jié)點(diǎn)上2塊ssd作為日志盤(pán),ssd分為4個(gè)區(qū),每個(gè)分區(qū)大小為 40 G,每個(gè)ssd分區(qū)對(duì)應(yīng)一個(gè)osd。ceph中分為image、volumes、backups 3個(gè)池,每個(gè)池設(shè)置為3副本。由于宿主節(jié)點(diǎn)有2種不同的存儲(chǔ)介質(zhì),為了發(fā)揮硬件資源的最大效力將高速SSD存儲(chǔ)和普通機(jī)械SATA存儲(chǔ)劃歸不同的資源池進(jìn)行測(cè)試[11]。按照官方推薦架構(gòu)做融合,修改OpentStack控制節(jié)點(diǎn)中/etc目錄下的配置文件。融合架構(gòu),如圖4所示。

在企業(yè)云平臺(tái)上,實(shí)例化1臺(tái)Ubuntu14.04 LTS am d_64的云主機(jī),之后分別在2個(gè)不同存儲(chǔ)介質(zhì)的Ceph池中實(shí)例化2塊80 G的云硬盤(pán)。啟動(dòng)云主機(jī),分別掛載2塊云硬盤(pán)進(jìn)行fio測(cè)試;將ssd掛載到主機(jī)后fdisk -l顯示硬盤(pán)路徑為/dev/vdb;采用讀寫(xiě)混合模式fio測(cè)試如下:

f io-f ilen am e=/d ev/vdb -direct=1 -iodepth 1 -thread -rw=randrw -rwm ixread=70 -ioengine=psync -bs=16k -size=80G -numjobs=30 -runtime=100 -group_reporting -name=ssd

將ssd卸載,掛載sata硬盤(pán)重復(fù)上述步驟并進(jìn)行讀寫(xiě)混合模式fio測(cè)試,測(cè)試如下:

fio -filenam e=/dev/vdb -d irect=1 -iodep th 1-thread -rw=randrw -rwm ixread=70 -ioengine=psync-bs=16k -size=80G -num jobs=30 -run tim e=100-group_reporting -name=sata

圖4 融合架構(gòu)

隨后,卸載云硬盤(pán),注銷實(shí)例后重新申請(qǐng),重復(fù)上述步驟6次。測(cè)試結(jié)果如表1、表2所示。

所測(cè)試的主要指標(biāo)包括IO:總的輸入輸出量;bw:磁盤(pán)吞吐量;iops:磁盤(pán)每秒IO次數(shù);depths:隊(duì)列深度,為1;blocksize:塊大小,默認(rèn)16 K。

從上述測(cè)試結(jié)果中可以看出,使用社區(qū)版Ceph池化資源之后,SSD資源池的讀寫(xiě)速率只有SATA資源池的2倍左右。

表1 社區(qū)版Ceph-FIO-SSD池測(cè)試結(jié)果

表2 社區(qū)版Ceph-FIO-SATA池測(cè)試結(jié)果

圖5 改進(jìn)優(yōu)化的Ceph

2.3 優(yōu)化Ceph對(duì)于企業(yè)云后端存儲(chǔ)的支持

如上文所述結(jié)果,社區(qū)版Ceph存在一定的性能損耗。根據(jù)行業(yè)統(tǒng)計(jì),社區(qū)版Ceph如果沒(méi)有好的運(yùn)維開(kāi)發(fā)團(tuán)隊(duì),存儲(chǔ)節(jié)點(diǎn)數(shù)很難超過(guò)20個(gè)節(jié)點(diǎn)以上。在網(wǎng)絡(luò)通信,線程調(diào)度,內(nèi)存管理等方面都有很大的提升空間,可以做如下改進(jìn):

(1)Ceph在讀寫(xiě)數(shù)據(jù)的過(guò)程中使用FileStore,在寫(xiě)數(shù)據(jù)塊時(shí)先寫(xiě)日志再寫(xiě)數(shù)據(jù),由于雙寫(xiě)導(dǎo)致性能大打折扣。因此,可將元數(shù)據(jù)和data分離,只將元數(shù)據(jù)寫(xiě)入日志,以此來(lái)提升效率。

(2)增加熱點(diǎn)預(yù)讀冷池休眠功能,通過(guò)將訪問(wèn)頻次較高的熱數(shù)據(jù)存儲(chǔ)在高速緩存中,提升讀寫(xiě)性能。將熱度下降的數(shù)據(jù)逐步在機(jī)械硬盤(pán)里落盤(pán),同時(shí)控制冷存儲(chǔ)池硬件,減少能耗,增長(zhǎng)磁盤(pán)壽命。如此一來(lái)提高整體的效率。

(3)針對(duì)網(wǎng)絡(luò)通信進(jìn)行優(yōu)化,主要通過(guò)聚合TCP鏈路來(lái)實(shí)現(xiàn)。同時(shí)增加對(duì)數(shù)據(jù)接口的支持,包括FC,ISCSI在內(nèi)的冗余鏈路,保證業(yè)務(wù)鏈路的安全。并添加壓縮和災(zāi)備策略,包括1~6的數(shù)據(jù)副本,糾刪碼等不同的策略。改進(jìn)架構(gòu),如圖5所示。

在具體的使用過(guò)程中,可根據(jù)集群狀況對(duì)一些具體配置進(jìn)行優(yōu)化。本文中的配置優(yōu)化簡(jiǎn)述如下:

(1)由于Ceph-OSD進(jìn)程和Ceph-M SD進(jìn)程都會(huì)消耗大量的CPU資源,因此,通過(guò)在節(jié)點(diǎn)主機(jī)BIOS設(shè)置CPU等硬件為最佳性能模式(默認(rèn)為均衡模式),提高效率,是一個(gè)較為簡(jiǎn)單卻行之有效的方案。

(2)關(guān)閉NUMA,可以在BIOS中關(guān)閉NUMA或者修改Ceph節(jié)點(diǎn)的配置,在/etc/grub.conf文件添加numa=off來(lái)關(guān)閉NUMA。

(3)調(diào)整PG數(shù)量。在本文的實(shí)驗(yàn)環(huán)境中共有118個(gè)osd;使用3副本;劃分6個(gè)poo l,因此,Total PGs=5 900,每個(gè)pool的PG計(jì)算結(jié)果為983,按照以2為底的指數(shù)函數(shù)取近似,設(shè)為1 024。

TotalPGs=(Total_number_of_OSD*100)/max_replication_count

(4)設(shè)置預(yù)讀,通過(guò)數(shù)據(jù)預(yù)讀并且記載隨機(jī)訪問(wèn)內(nèi)存方式,提高磁盤(pán)讀操作。

echo "8192" > /sys/block/sda/queue/read_ahead_kb

總之,高性能硬件帶來(lái)效率提升的同時(shí)也會(huì)增加成本,需要企業(yè)根據(jù)自身情況和應(yīng)用場(chǎng)景進(jìn)行權(quán)衡。在架構(gòu)和配置調(diào)優(yōu)的過(guò)程中,不能僅僅關(guān)注性能,系統(tǒng)的穩(wěn)定性同樣重要,上述調(diào)優(yōu)方式較為保守但行之有效。按照2.2節(jié)所述測(cè)試步驟,進(jìn)行測(cè)試。優(yōu)化Ceph-FIO-SSD池測(cè)試結(jié)果,如表3所示。

通過(guò)上述測(cè)試結(jié)果可知,優(yōu)化后,Ceph的效率較之社區(qū)版Ceph效率有較為明顯的提升,為原有效率的130%。

3 結(jié)束語(yǔ)

Ceph是面向大型存儲(chǔ)的應(yīng)用,用以解決企業(yè)各種存儲(chǔ)業(yè)務(wù)上的復(fù)雜問(wèn)題。雖然Ceph的設(shè)計(jì)初衷定位為PB級(jí)的分布式文件系統(tǒng),但在落地生產(chǎn)環(huán)境的過(guò)程中尚有很大的提升空間。本文探討了一種可用于實(shí)際生產(chǎn)環(huán)境的Ceph實(shí)施優(yōu)化方案,較之原生Ceph性能得到了顯著提升,但在生產(chǎn)環(huán)境中也需要專業(yè)的技術(shù)服務(wù)團(tuán)隊(duì)作技術(shù)支撐。

表3 優(yōu)化Ceph-FIO-SSD池測(cè)試結(jié)果

猜你喜歡
硬盤(pán)集群架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
功能架構(gòu)在電子電氣架構(gòu)開(kāi)發(fā)中的應(yīng)用和實(shí)踐
HiFi級(jí)4K硬盤(pán)播放機(jī) 億格瑞A15
Egreat(億格瑞)A10二代 4K硬盤(pán)播放機(jī)
構(gòu)建富有活力和效率的社會(huì)治理架構(gòu)
海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
服務(wù)器更換硬盤(pán)后的同步問(wèn)題
培育世界級(jí)汽車產(chǎn)業(yè)集群
一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
勤快又呆萌的集群機(jī)器人
临武县| 含山县| 德兴市| 东平县| 莎车县| 洛宁县| 化隆| 南汇区| 兴文县| 香港| 汪清县| 阿巴嘎旗| 德格县| 沙田区| 旌德县| 浮梁县| 巨野县| 开化县| 封丘县| 嵊州市| 阳高县| 加查县| 沅江市| 镶黄旗| 雅安市| 佳木斯市| 台湾省| 建宁县| 米泉市| 安图县| 广州市| 专栏| 马鞍山市| 南开区| 吉林省| 南丹县| 碌曲县| 外汇| 花莲县| 仪陇县| 上高县|