李正 黎斌 董非非 查小惠 項(xiàng)月文
【摘 要】通過(guò)對(duì)ceph集群的三種接口的學(xué)習(xí)與實(shí)踐,利用老舊的X86服務(wù)器,構(gòu)建基于ceph的分布式存儲(chǔ)系統(tǒng),實(shí)現(xiàn)觀測(cè)數(shù)據(jù)的分布式存儲(chǔ)。
【關(guān)鍵詞】ceph mds osd;文件系統(tǒng);對(duì)象存儲(chǔ)
中圖分類(lèi)號(hào): TP333 文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)20-0107-002
DOI:10.19694/j.cnki.issn2095-2457.2019.20.050
0 引言
地震觀測(cè)數(shù)據(jù)具有數(shù)量大,連續(xù)性等特點(diǎn),由于服務(wù)器存儲(chǔ)空間的限制,我局往往通過(guò)數(shù)據(jù)刻盤(pán)的形式進(jìn)行離線數(shù)據(jù)備份。但是數(shù)據(jù)的應(yīng)用研究和共享往往需要連續(xù)的在線數(shù)據(jù)波形,這就對(duì)我局的數(shù)據(jù)存儲(chǔ)提出了更高的要求。
傳統(tǒng)存儲(chǔ)能解決數(shù)據(jù)連續(xù)在線的問(wèn)題,但是也存在一些弊端。首先是傳統(tǒng)存儲(chǔ)設(shè)備采購(gòu)和維護(hù)成本高,其次是傳統(tǒng)存儲(chǔ)設(shè)備硬盤(pán)擴(kuò)展到一定數(shù)量后,硬盤(pán)的讀寫(xiě)效率會(huì)降低,影響用戶體驗(yàn)。根據(jù)現(xiàn)有在硬件資源,經(jīng)過(guò)比選后,作者對(duì)目前應(yīng)用比較廣泛的分布式存儲(chǔ)系統(tǒng)Ceph進(jìn)行研究,用于存儲(chǔ)地震觀測(cè)數(shù)據(jù),以達(dá)到海量數(shù)據(jù)在線存儲(chǔ),高可用性、高并發(fā)訪問(wèn)的目的。
1 Ceph系統(tǒng)分析
圖1 Ceph文件系統(tǒng)架構(gòu)圖
Ceph是一個(gè)可靠地、自動(dòng)重均衡、自動(dòng)恢復(fù)的分布式存儲(chǔ)系統(tǒng),根據(jù)場(chǎng)景劃分可以將Ceph分為三大塊,分別是對(duì)象存儲(chǔ)、塊設(shè)備存儲(chǔ)和文件系統(tǒng)服務(wù),本次主要研究文件系統(tǒng)服務(wù)。Ceph相比其它存儲(chǔ)的優(yōu)勢(shì)點(diǎn)在于它不單單是存儲(chǔ),同時(shí)還充分利用了存儲(chǔ)節(jié)點(diǎn)上的計(jì)算能力,在存儲(chǔ)每一個(gè)數(shù)據(jù)時(shí),都會(huì)通過(guò)計(jì)算得出該數(shù)據(jù)存儲(chǔ)的位置,盡量將數(shù)據(jù)分布均衡,同時(shí)由于Ceph的良好設(shè)計(jì),采用了CRUSH算法、HASH環(huán)等方法,使得它不存在傳統(tǒng)的單點(diǎn)故障的問(wèn)題,且隨著規(guī)模的擴(kuò)大性能并不會(huì)受到影響。
一套ceph集群通常由諾干個(gè)守護(hù)進(jìn)程(Ceph Object Storage Device、OSD)、至少1個(gè)元數(shù)據(jù)服務(wù)器(Ceph Metadata Server、MDS)和一組監(jiān)控組件(Monitor)組成,每個(gè)OSD就是一個(gè)存儲(chǔ)節(jié)點(diǎn),能夠支持上千個(gè)存儲(chǔ)節(jié)點(diǎn)的規(guī)模,達(dá)到PB級(jí)的數(shù)據(jù)容量。
2 研究思路
江西省地震局近期完成了技術(shù)系統(tǒng)和核心機(jī)房的升級(jí)改造,將大部分業(yè)務(wù)系統(tǒng)遷移到了私有云平臺(tái),有大部分老舊的物理服務(wù)器閑置,挑選幾臺(tái)服務(wù)器進(jìn)行磁盤(pán)擴(kuò)容,就可以搭建模擬環(huán)境進(jìn)行部署。在客戶端上部署最新的版地震臺(tái)網(wǎng)數(shù)據(jù)處理系統(tǒng)(以下簡(jiǎn)稱jppens程序),通過(guò)對(duì)jopens程序的修改,將連續(xù)的波形文件存儲(chǔ)到分布式存儲(chǔ)空間,用戶可以通過(guò)其他客戶端訪問(wèn)分布式存儲(chǔ)空間,直接調(diào)用這部分連續(xù)的波形文件。當(dāng)服務(wù)器發(fā)生故障,需要重裝系統(tǒng)時(shí),也不會(huì)丟失數(shù)據(jù)。
3 系統(tǒng)實(shí)現(xiàn)
測(cè)試環(huán)境準(zhǔn)備了5臺(tái)服務(wù)器,一臺(tái)用于部署mon和mds等,1臺(tái)作為客戶端,3臺(tái)作為osd節(jié)點(diǎn),詳情如表1。
為了集群更加穩(wěn)定,建議用源碼進(jìn)行編譯安裝。源碼下載地址為http://download.ceph.com/tarballs/ceph_x.x.x.orig.tar.gz (x.x.x為版本號(hào),建議下載最新版)。
(1)統(tǒng)一各服務(wù)器hosts文件,并運(yùn)行服務(wù)器之間SSH免密碼登錄,hosts文件。
(2)將源碼包上傳到服務(wù)器后進(jìn)行編譯安裝,主要步驟如下。
(3)根據(jù)配置架構(gòu)圖進(jìn)行配置
配置的一個(gè)繁雜的過(guò)程,需要修改很多文件并初始化。編輯/etc/ceph/ceph.conf把,fsid、初始監(jiān)視器主機(jī)名、初始監(jiān)視器IP等信息加入到ceph主配置文件。
為集群創(chuàng)建密鑰環(huán)、并生成監(jiān)視器密鑰,生成管理員密鑰環(huán),生成 client.admin 用戶并加入密鑰環(huán)ceph.client.admin.keyring。
初始化磁盤(pán)、準(zhǔn)備并 激活OSD,將用于分布式集群存儲(chǔ)的磁盤(pán)掛載到服務(wù)器。
(4)創(chuàng)建資源池并啟動(dòng)集群
配置完成后可以根據(jù)創(chuàng)建存儲(chǔ)資源池,一個(gè)ceph文件系統(tǒng)需要至少2個(gè)RADOS存儲(chǔ)資源池,一個(gè)用于存儲(chǔ)數(shù)據(jù),一個(gè)用于存儲(chǔ)元數(shù)據(jù)。完成創(chuàng)建后在管理節(jié)點(diǎn)上啟動(dòng)服務(wù),會(huì)自動(dòng)將配置文件同步到其他節(jié)點(diǎn),并后臺(tái)進(jìn)行相應(yīng)的操作。
(5)常見(jiàn)的管理命令及掛載方式
ceph集群自帶了強(qiáng)大的狀態(tài)監(jiān)控服務(wù),通過(guò)命令可以查看集群的各種狀態(tài)信息。常用的命令有:
為了數(shù)據(jù)傳輸安全,系統(tǒng)在編譯安裝時(shí)啟用了cephx認(rèn)證,所有在掛載時(shí)需要加上用戶名和密鑰,建議通過(guò)修改/etc/fstab方式進(jìn)行內(nèi)核驅(qū)動(dòng)掛載。
(6)jopens程序的修改及部署
新版本的jopens程序是將實(shí)時(shí)波形以文件的形式存儲(chǔ)到磁盤(pán)空間,在掛載了ceph集群數(shù)據(jù)資源池的服務(wù)器上部署jopens程序并進(jìn)行修改,可以將實(shí)時(shí)波形存儲(chǔ)到掛載目錄。由于實(shí)時(shí)波形文件不同分量、不同時(shí)間段分開(kāi)存放,會(huì)產(chǎn)生大量的小文件,而ceph適合用于海量小文件的存儲(chǔ)。
4 結(jié)果與討論
初步實(shí)現(xiàn)了地震觀測(cè)數(shù)據(jù)的分布式存儲(chǔ),但是由于受條件限制,暫時(shí)未能在生產(chǎn)環(huán)境進(jìn)行測(cè)試。系統(tǒng)除了需要進(jìn)行功能測(cè)試外,還需要進(jìn)行壓力測(cè)試。
【參考文獻(xiàn)】
[1]何漢東、張倩.Ceph分布式系統(tǒng)的ISCSI高可用集群[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017.26(7):104-109.
[2]梁坤榮.分布式存儲(chǔ)系統(tǒng)ceph研究與試用[J].數(shù)碼世界,2017:106-106.
[3]卡倫·辛格.Ceph分布式存儲(chǔ)學(xué)習(xí)指南[M].機(jī)械工業(yè)出版社,2017.
[4]Ceph中國(guó)社區(qū).Ceph分布式存儲(chǔ)實(shí)戰(zhàn)[M].機(jī)械工業(yè)出版社,2016.
[5]王亞飛,王剛.CentOS7系統(tǒng)管理與運(yùn)維實(shí)戰(zhàn)[M].清華大學(xué)出版社,2017.
[6]劉軍軍.基于Ceph的企業(yè)分布式存儲(chǔ)方案[J].電子技術(shù)與軟件工程,2016(11):210-212.
[7]楊飛,朱志祥,梁小江.基于Ceph對(duì)象存儲(chǔ)的云網(wǎng)盤(pán)設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2015(10):96-99.
[8]楊飛,朱志祥,梁小江.基于Ceph對(duì)象存儲(chǔ)集群的高可用設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2016(1):60-64.
[9]劉莎,楚傳仁.基于文件等級(jí)的Ceph數(shù)據(jù)冗余存儲(chǔ)策略的研究[J].信息網(wǎng)絡(luò)安全,2016(4):50-54.