胡豆豆,羅飛,張園
(1. 中國電信股份有限公司上海研究院,上海 200122;2. 華東理工大學(xué),上海 200237)
對(duì)象存儲(chǔ)系統(tǒng)的自動(dòng)化管理技術(shù)
胡豆豆1,羅飛2,張園1
(1. 中國電信股份有限公司上海研究院,上海 200122;2. 華東理工大學(xué),上海 200237)
物聯(lián)網(wǎng)視頻監(jiān)控領(lǐng)域中的對(duì)象存儲(chǔ)系統(tǒng)不僅輕松突破了傳統(tǒng)存儲(chǔ)系統(tǒng)SAN的性能瓶頸,而且可以實(shí)現(xiàn)性能與容量的線性擴(kuò)展;然而,對(duì)象存儲(chǔ)系統(tǒng)資源的遠(yuǎn)程管理成為困擾管理者的一個(gè)問題。針對(duì)該問題,研究能夠?qū)崿F(xiàn)對(duì)象存儲(chǔ)集群的自動(dòng)化管理的方法和相關(guān)技術(shù),提高存儲(chǔ)集群的使用效率。該自動(dòng)化管理系統(tǒng)功能主要包括:集群組件的遠(yuǎn)程啟動(dòng)、停止、重啟;運(yùn)行狀態(tài)監(jiān)測(cè);集群擴(kuò)張和日志查看及存儲(chǔ)等功能?;贑eph對(duì)象存儲(chǔ)集群,實(shí)現(xiàn)了面向Web應(yīng)用服務(wù)平臺(tái)的存儲(chǔ)集群自動(dòng)化管理系統(tǒng),最終有效地對(duì)對(duì)象存儲(chǔ)系統(tǒng)進(jìn)行監(jiān)視和管理,并能夠自動(dòng)化擴(kuò)展集群的節(jié)點(diǎn)和存儲(chǔ)容量。
對(duì)象存儲(chǔ);自動(dòng)化;云計(jì)算
隨著互聯(lián)網(wǎng)、Web 2.0的快速發(fā)展,Web應(yīng)用創(chuàng)建出數(shù)百億的小文件,上傳海量的照片、視頻、音樂,F(xiàn)acebook每天新增數(shù)十億條內(nèi)容,每天發(fā)送數(shù)千億封郵件。據(jù)IDC統(tǒng)計(jì),未來10年間數(shù)據(jù)將增長(zhǎng)44倍,2020年全球數(shù)據(jù)將增長(zhǎng)到 35 ZB,其中,80%為非結(jié)構(gòu)化的數(shù)據(jù),且大部分是非活躍數(shù)據(jù)[1-3]。
在物聯(lián)網(wǎng)視頻監(jiān)控領(lǐng)域中,隨著高清化、智能化的推進(jìn)以及平安城市等城市公共安防的發(fā)展,面對(duì)如此龐大的數(shù)據(jù)量,僅具備PB級(jí)擴(kuò)展能力的塊存儲(chǔ)和文件存儲(chǔ)顯得無能為力;人們需要一種全新的架構(gòu)存儲(chǔ)系統(tǒng),這樣的存儲(chǔ)系統(tǒng)需要具備極高的可擴(kuò)展性,能夠滿足人們存儲(chǔ)視頻數(shù)據(jù)時(shí)對(duì)存儲(chǔ)容量TB到EB規(guī)模的擴(kuò)展需求[4,5]。
對(duì)象存儲(chǔ)是一種基于對(duì)象的存儲(chǔ)設(shè)備,具備智能、自我管理能力,通過 Web服務(wù)協(xié)議(如REST、SOAP)實(shí)現(xiàn)對(duì)象的讀寫和對(duì)象資源的訪問。對(duì)象存儲(chǔ)以對(duì)象 ID 為基礎(chǔ),扁平化管理所有存儲(chǔ)和桶,根據(jù)對(duì)象 ID 便可直接訪問數(shù)據(jù),解決NAS復(fù)雜的目錄樹結(jié)構(gòu)在海量數(shù)據(jù)情況下數(shù)據(jù)查找耗時(shí)長(zhǎng)的問題,這使得對(duì)象存儲(chǔ)具備極強(qiáng)的擴(kuò)展性,能夠輕松實(shí)現(xiàn)單一名字空間內(nèi)支持?jǐn)?shù)百萬級(jí)文件的存儲(chǔ)。
對(duì)象存儲(chǔ)系統(tǒng)的出現(xiàn)滿足了數(shù)據(jù)歸檔和云服務(wù)兩大需求。通過面向?qū)ο蟮母拍顦?gòu)建的存儲(chǔ)系統(tǒng),能夠有效地利用集群各個(gè)節(jié)點(diǎn)的性能,并且有效地將多個(gè)客戶端請(qǐng)求均勻地分布到集群中的各個(gè)節(jié)點(diǎn),充分地利用了對(duì)象存儲(chǔ)集群的特性。集群管理員可以通過集群管理系統(tǒng)實(shí)時(shí)地監(jiān)視集群各個(gè)部分的狀態(tài),也可以根據(jù)需要調(diào)整單個(gè)節(jié)點(diǎn)上組件的運(yùn)行狀態(tài)。當(dāng)存儲(chǔ)集群需要擴(kuò)張時(shí),通過自動(dòng)化的管理系統(tǒng)也能夠很快地對(duì)集群進(jìn)行調(diào)整以及在各個(gè)存儲(chǔ)節(jié)點(diǎn)之間進(jìn)行動(dòng)態(tài)的數(shù)據(jù)遷移,從而保持服務(wù)的持續(xù)可用[6]。
但隨著存儲(chǔ)資源的堆積和存儲(chǔ)集群節(jié)點(diǎn)數(shù)量的不斷上升,如何通過集群自動(dòng)化管理系統(tǒng)進(jìn)行高效的管理和控制成為了一個(gè)困擾企業(yè)的問題[7]。本文針對(duì)該問題,研究基于對(duì)象存儲(chǔ)文件系統(tǒng) Ceph的自動(dòng)化管理系統(tǒng)。在Ceph存儲(chǔ)集群上,通過構(gòu)建一個(gè)Web項(xiàng)目,實(shí)現(xiàn)對(duì)Ceph集群的遠(yuǎn)程監(jiān)視和控制(包括集群的常用操作、存儲(chǔ)節(jié)點(diǎn)的增加和刪除等);以此來模擬如何對(duì)Ceph存儲(chǔ)集群進(jìn)行自動(dòng)化管理,從而推進(jìn)它的商用價(jià)值[8-10]。
自動(dòng)化管理的目的是幫助用戶解決存儲(chǔ)集群在運(yùn)行時(shí)的遠(yuǎn)程監(jiān)視、管理和控制的問題,即管理員通過瀏覽器隨時(shí)隨地以訪問Web應(yīng)用程序的形式來訪問對(duì)象存儲(chǔ)系統(tǒng),實(shí)現(xiàn)對(duì)遠(yuǎn)程對(duì)象存儲(chǔ)集群各組件的監(jiān)視、控制、節(jié)點(diǎn)的橫向擴(kuò)展及收縮,進(jìn)而改善集群資源的使用性能、提高利用率和降低運(yùn)營成本。
對(duì)象存儲(chǔ)系統(tǒng)自動(dòng)化管理的需求主要可歸納為如下幾點(diǎn)。
(1)監(jiān)視功能
包括集群當(dāng)前運(yùn)行狀態(tài)監(jiān)視、存儲(chǔ)節(jié)點(diǎn)分布和狀態(tài)監(jiān)視、單個(gè)節(jié)點(diǎn)上運(yùn)行的集群組件監(jiān)視、集群中已添加節(jié)點(diǎn)的分布和運(yùn)行狀態(tài)監(jiān)視。
(2)組件的常規(guī)操作
包括MON的重啟、MDS的停止/啟動(dòng)、OSD的停止/啟動(dòng)等。
(3)存儲(chǔ)節(jié)點(diǎn)動(dòng)態(tài)調(diào)整
包括OSD的添加/刪除。
(4)群日志的查看
包括管理員操作記錄查看、集群狀態(tài)日志查看、存儲(chǔ)節(jié)點(diǎn)監(jiān)視日志查看、單節(jié)點(diǎn)組件運(yùn)行狀態(tài)日志查看、集群節(jié)點(diǎn)分布和運(yùn)行狀態(tài)的監(jiān)視日志查看。
系統(tǒng)采用基于 MVC 框架開發(fā)的 B/S(瀏覽器/服務(wù)器)模式的Web應(yīng)用程序。用戶可通過訪問Web瀏覽器的方式對(duì)存儲(chǔ)集群進(jìn)行簡(jiǎn)單的控制和管理。本文系統(tǒng)的模型擁有較多的處理任務(wù),將集群的監(jiān)視、操作調(diào)用與實(shí)現(xiàn)和與數(shù)據(jù)庫中日志信息的交互都放在該層來實(shí)現(xiàn)。只要網(wǎng)絡(luò)連接正常,互聯(lián)網(wǎng)用戶就可以通過打開瀏覽器隨時(shí)隨地訪問應(yīng)用系統(tǒng),從而實(shí)現(xiàn)對(duì)局域網(wǎng)內(nèi)集群的所有機(jī)器的訪問并進(jìn)行遠(yuǎn)程管理和控制。模塊劃分為:集群監(jiān)視模塊、存儲(chǔ)節(jié)點(diǎn)添加/刪除模塊、組件控制模塊、日志存儲(chǔ)/調(diào)用模塊4個(gè)主要模塊,系統(tǒng)功能結(jié)構(gòu)如圖1所示。
為了提高管理系統(tǒng)的用戶體驗(yàn),采用名為Bootstrap的 Web前端開發(fā)框架。Bootstrap是Twitter推出的一個(gè)開源的、用于前端開發(fā)的工具包。當(dāng)管理員需要監(jiān)視、操作或者調(diào)整集群時(shí),需要在Web頁面填寫相應(yīng)的表格,并提交到Web服務(wù)器進(jìn)行相關(guān)操作。但是和集群相關(guān)的操作并不能在很短的時(shí)間內(nèi)完成,例如:集群中各個(gè)節(jié)點(diǎn)是否都已啟動(dòng)、添加存儲(chǔ)節(jié)點(diǎn)OSD等。因此當(dāng)提交此類操作時(shí),即使忽視數(shù)據(jù)在廣域網(wǎng)中的傳輸和建立SSH連接的時(shí)間,都很難將操作的反饋瞬間呈現(xiàn)在頁面上。所以,介于上述原因,本文使用了AJAX(asynchronous JavaScript XML)技術(shù),實(shí)現(xiàn)了頁面和Web服務(wù)器之間的異步通信。
當(dāng)用戶在Web頁面點(diǎn)擊提交事件處理的按鈕時(shí),視圖會(huì)將該請(qǐng)求的相關(guān)信息傳遞到控制器,控制器對(duì)用戶請(qǐng)求進(jìn)行查看并作出判斷,執(zhí)行相應(yīng)的模型操作,即對(duì)應(yīng)的功能模塊會(huì)創(chuàng)建一個(gè)SSH協(xié)議,打開Java 項(xiàng)目與SSH服務(wù)器的會(huì)話,通過該會(huì)話可以遠(yuǎn)程執(zhí)行命令和Shell訪問。本文采用了一個(gè)名為Ganymed SSH-2 for Java的包,專門用于實(shí)現(xiàn)SSH協(xié)議,建立SSH服務(wù)器連接,并支持SSH會(huì)話。Ganymed SSH2 for Java是一個(gè)以純 Java的形式實(shí)現(xiàn) SSH-2協(xié)議的庫(支持J2SE1.4.2和5.0以上的版本)。它使得在Java項(xiàng)目中與 SSH 服務(wù)器建立連接,同時(shí)支持SSH的會(huì)話(遠(yuǎn)程命令執(zhí)行和Shell訪問),本地和遠(yuǎn)程端口交互,本地流轉(zhuǎn)發(fā)、X11轉(zhuǎn)發(fā)和SCP功能等。
自動(dòng)化管理系統(tǒng)的后臺(tái)除了關(guān)于 MySQL數(shù)據(jù)庫的日志操作外,其余的集群控制都是遠(yuǎn)程調(diào)用集群上的腳本實(shí)現(xiàn)的。這些腳本均存放在存儲(chǔ)集群的主管理節(jié)點(diǎn)上,所以當(dāng)Ganymed SSH2 for Java與集群主管理節(jié)點(diǎn)建立SSH會(huì)話后,調(diào)用對(duì)應(yīng)的Shell腳本即可執(zhí)行所需要的管理操作。
系統(tǒng)中Web控制頁面顯示的數(shù)據(jù)都是通過執(zhí)行后臺(tái)腳本,截取到所需的特征數(shù)據(jù),并經(jīng)過整理后呈現(xiàn)出來的。
圖1 系統(tǒng)功能結(jié)構(gòu)
全局狀態(tài)監(jiān)測(cè)在終端輸入ceph -s指令時(shí)可以查看集群整體的當(dāng)前狀態(tài),快速地查看需要的關(guān)鍵信息,見表1。首先從指令ceph -s輸出集群當(dāng)前的通用狀態(tài)信息,進(jìn)而通過grep和sed的篩選和替換功能實(shí)現(xiàn)對(duì)集群特征數(shù)據(jù)的采集。
表1 集群整體狀態(tài)
Ceph是一個(gè)高可用性和高可靠性的管理硬件和軟件。它不具備單點(diǎn)故障,并且可以為數(shù)據(jù)提供還原服務(wù)。假如系統(tǒng)出現(xiàn)故障,需要到放置組和相關(guān)的守護(hù)進(jìn)程下查找問題。當(dāng)Ceph集群遇到一些故障時(shí),還可能阻止用戶訪問特定的對(duì)象,但可能訪問其他對(duì)象。當(dāng)運(yùn)行時(shí)遇到故障,只需要按照步驟監(jiān)測(cè)守護(hù)進(jìn)程和放置組就能知道故障原因,然后排除。
由圖2可知,在集群中一個(gè) OSD 的狀態(tài)或者在這個(gè)集群中(in)或者在這個(gè)集群外(out)的;并且,它或者是運(yùn)行中(up)的,或者是不運(yùn)行(down)的。如果一個(gè)OSD的狀態(tài)是up,它或者在集群(可以讀取和寫入數(shù)據(jù))或者在out狀態(tài)。如果它曾是in狀態(tài)但最近被移出集群了,Ceph將會(huì)遷移配置至其他OSD 中。如果 OSD不在集群中,基于 Ceph的CRUSH算法,該OSD將不會(huì)配置在一個(gè)放置組中。如果OSD的狀態(tài)是down,它也會(huì)是out狀態(tài)。
圖2 OSD狀態(tài)轉(zhuǎn)換
執(zhí)行 Ceph Osd tree 指令能夠確定 ceph-osd后臺(tái)是否正常運(yùn)行,根據(jù)控制臺(tái)的輸出,可以很容易地從中獲取所需要的特征數(shù)據(jù),并且有效地組織在一起,作為日志存儲(chǔ)到日志并刷新頁面中的對(duì)應(yīng)部分視圖。
由于集群中的節(jié)點(diǎn)會(huì)逐漸增多,所以需要在Web頁面上直觀表示節(jié)點(diǎn)名稱和IP地址,形式見表2。
表2 集群節(jié)點(diǎn)配置
為了獲取集群中加入的節(jié)點(diǎn)IP地址和相關(guān)的Hostname,前提必須是將Hostname和IP地址寫入系統(tǒng)文件/etc/hosts 中。
同時(shí),管理系統(tǒng)能夠自動(dòng)化管理存儲(chǔ)節(jié)點(diǎn)OSD的添加/刪除操作。集群上放置的每一個(gè)對(duì)象(object)都可以根據(jù)Ceph的CRUSH算法計(jì)算出具體的存放位置。所以,當(dāng)OSD發(fā)生變化時(shí),集群也需要做相應(yīng)的調(diào)整。CRUSH算法是Ceph對(duì)象存儲(chǔ)的核心,決定了每一個(gè)對(duì)象的存放位置。當(dāng)需要存放一個(gè)對(duì)象時(shí),只需要知道對(duì)象的ID、集群架構(gòu)圖和存放策略,就可以計(jì)算出應(yīng)該存放在哪個(gè)OSD上。因此Ceph的元數(shù)據(jù)不需要包含位置信息,每個(gè)客戶端都可以自己計(jì)算出對(duì)應(yīng)的OSD,大大減少了對(duì)元數(shù)據(jù)的請(qǐng)求。
RADOS是使用CRUSH算法的分布式對(duì)象存儲(chǔ),由OSD和MON組成,OSD承擔(dān)數(shù)據(jù)的存儲(chǔ)、備份以及恢復(fù)工作,MON保證集群架構(gòu)圖與實(shí)際情況相符。RADOS的特點(diǎn)之一就是數(shù)據(jù)的備份、同步以及恢復(fù)等都由OSD自發(fā)地完成。
RADOS中OSD獨(dú)自管理數(shù)據(jù)的能力是建立在CRUSH算法上的,CRUSH 算法又是建立在CRUSH map(包含OSD的數(shù)量、組織結(jié)構(gòu)以及存儲(chǔ)策略)上的。因此擁有一份最新的CRUSH map,對(duì)OSD是至關(guān)重要的,否則OSD無法確定隸屬同一個(gè)PG的OSD,也就無法完成數(shù)據(jù)的備份、同步等操作。
RADOS使用一個(gè)由MON組成的小集群生成最新的CRUSH map。當(dāng)增/減OSD、修改OSD組織結(jié)構(gòu)、修改存放策略或者發(fā)現(xiàn)OSD失效時(shí),更新請(qǐng)求被發(fā)送到MON集群,MON生成一份新的CRUSH map。同時(shí)MON集群也對(duì)外提供CRUSH map的訪問服務(wù),其他節(jié)點(diǎn)可以從 MON集群中獲取一份最新的CRUSH map。MON集群中采用Lease機(jī)制確保每個(gè) MON對(duì)外提供的 CRUSH map的一致性,采用 Paxos 協(xié)議選舉出一個(gè)leader,由leader負(fù)責(zé)生成新的CRUSH map。
另外,OSD 節(jié)點(diǎn)之間互相通信時(shí)會(huì)比較各自擁有的CRUSH map的epoch,用最新的CRUSH map替換舊的CRUSH map。當(dāng)客戶端要從OSD中讀取對(duì)象時(shí),如果客戶端中還沒有 CRUSH map:客戶端首先從MON集群中讀取一份最新的CRUSH map,然后計(jì)算出存放該對(duì)象的PG對(duì)應(yīng)的 OSD,然后客戶端與目標(biāo) OSD比較各自的CRUSH map的 epoch,同步到最新的 CRUSH map。如果客戶端中已經(jīng)有 CRUSH map,在和OSD通信時(shí),如果OSD的CRUSH map版本更新,那么更新客戶端的 CRUSH map。如果客戶端和OSD的CRUSH map版本一致了,但都不是最新的,使用舊的CRUSH map計(jì)算出的OSD上可能沒有存放要訪問的對(duì)象,導(dǎo)致操作失敗,這時(shí)客戶端從mon集群讀取最新的CRUSH map。
3.3.1 OSD 添加
新增一個(gè) OSD需要分為兩個(gè)部分:準(zhǔn)備(prepare)和激活(activate)。準(zhǔn)備步驟的指令為:ceph-deploy osd prepare ceph1:/dev/vdb,步驟如下所示:
push 配置文件到 ceph1:/etc/ceph/ceph.conf
push ceph.bootstrap-osd.keyring到ceph1:/var/lib/ ceph/bootstrap-osd/ceph.keyring
udevadm trigger –subsystem-match=block–action=add
ceph-disk-prepare –fs-type xfs –cluster ceph --/dev/vdb //創(chuàng)建分區(qū)、格式化等操作
激活步驟的指令為:ceph-deploy osd active ceph1:/dev/vdb,步驟如下所示:
ceph-disk-activate -mark-init upstart -mount/dev/vdb //掛載Ceph分區(qū)
initctl emit –no-wait – ceph-osd cluster=ceph id=0 //添加ID為0的OSD守護(hù)進(jìn)程,并使其處于非等待狀態(tài),即添加完該osd.0后直接啟動(dòng)。
3.3.2 OSD 刪除
刪除OSD守護(hù)進(jìn)程時(shí)需要根據(jù)該OSD的不同狀態(tài)執(zhí)行一些列的指令,從而達(dá)到有效的集群CRUSH調(diào)整,并且完成該OSD上存儲(chǔ)對(duì)象的完整遷移,最后完全將該OSD守護(hù)進(jìn)程從集群中移除。步驟如下所示:
service ceph stop osd.0 //停止該設(shè)備
ceph osd crush remove osd.0 //從CRUSH中移除與該OSD相關(guān)的數(shù)據(jù),此時(shí)運(yùn)行ceph osd tree指令可以看到該存儲(chǔ)進(jìn)程osd.0處于down狀態(tài)
ceph auth del osd.0 //從認(rèn)證中刪除
ceph osd rm 0 //從集群中完全移除該OSD的所有數(shù)據(jù)
為了完成系統(tǒng)測(cè)試,本文在Ubuntu12.04的虛擬機(jī)上搭建基于 Ceph的初始集群。該集群初始化規(guī)模為 3個(gè)節(jié)點(diǎn),并通過ceph-deploy完成Ceph的安裝。首先將 Ceph資料庫添加到ceph-deploy的管理節(jié)點(diǎn),然后安裝ceph-deploy。注意:以不同的用戶登錄上節(jié)點(diǎn)安裝ceph-deploy時(shí)不需要在命令前面添加sudo或者以root身份執(zhí)行,因?yàn)檫h(yuǎn)程的主機(jī)將不會(huì)執(zhí)行 sudo命令。測(cè)試過程包括監(jiān)視功能測(cè)試、存儲(chǔ)節(jié)點(diǎn)添加/刪除功能測(cè)試等。
監(jiān)視功能所顯示當(dāng)前集群的狀態(tài)如圖3所示,包括:mon節(jié)點(diǎn)的個(gè)數(shù)、所在節(jié)點(diǎn)、運(yùn)行狀態(tài);mds節(jié)點(diǎn)的個(gè)數(shù)、所在節(jié)點(diǎn)、運(yùn)行狀態(tài);OSD節(jié)點(diǎn)的個(gè)數(shù)、運(yùn)行狀態(tài)、存儲(chǔ)容量等信息;其中,OSD存儲(chǔ)容量已用部分13 838 MB,剩余可用部分為4 210 MB,總共的存儲(chǔ)容量為19 021 MB。
圖3 集群狀態(tài)監(jiān)視
集群中各存儲(chǔ)節(jié)點(diǎn)狀態(tài)如圖4所示,顯示了集群中存儲(chǔ)節(jié)點(diǎn)OSD的分布情況:ID為0的OSD節(jié)點(diǎn)的權(quán)重為 0.019 99(1 TB大小的容量權(quán)重為1,所以0.019 9 權(quán)重說明 ID 為0的OSD存儲(chǔ)容量大約為 20 GB左右)以及狀態(tài)為 up。
圖4 集群存儲(chǔ)節(jié)點(diǎn)分布
集群內(nèi)節(jié)點(diǎn)狀態(tài)統(tǒng)計(jì)如圖5所示,這里顯示的節(jié)點(diǎn)是已經(jīng)被添加到集群的,包括節(jié)點(diǎn)IP地址、節(jié)點(diǎn)名稱以及該節(jié)點(diǎn)是否在運(yùn)行中。從圖5可以看到,目前只有節(jié)點(diǎn)IP地址為192.168.232.158、節(jié)點(diǎn)名為server01 的節(jié)點(diǎn)power欄顯示的是up,即在運(yùn)行中。
圖5 集群內(nèi)節(jié)點(diǎn)狀態(tài)統(tǒng)計(jì)
在 server02 上添加一個(gè) OSD 守護(hù)進(jìn)程,操作和結(jié)果分別如圖6和圖7所示。
圖6 添加OSD.1操作
圖7 OSD.1添加結(jié)果
將主管理節(jié)點(diǎn) server01 上面的 OSD 守護(hù)進(jìn)程 osd.0 刪除,操作和結(jié)果分別如圖8和圖9所示。
圖8 刪除 OSD.0 操作示意
查看某個(gè)時(shí)間段的存儲(chǔ)節(jié)點(diǎn)分布情況,結(jié)果如圖10所示。
圖9 刪除 OSD.0的結(jié)果
圖10 某時(shí)間日志查看結(jié)果
基于對(duì)象存儲(chǔ)系統(tǒng) Ceph,研究了一個(gè)對(duì)象存儲(chǔ)集群的自動(dòng)化管理系統(tǒng)。管理系統(tǒng)的功能主要集中在3個(gè)部分——集群狀態(tài)監(jiān)視、OSD 存儲(chǔ)節(jié)點(diǎn)添加與刪除和集群狀態(tài)日志查看。以平臺(tái)化方式設(shè)計(jì),采用基于 MVC 框架進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。用戶可通過訪問 Web 瀏覽器的方式對(duì)存儲(chǔ)集群進(jìn)行簡(jiǎn)單的控制和管理。
作為底層存儲(chǔ)集群的管理系統(tǒng),這些功能都是必備的,但還是遠(yuǎn)遠(yuǎn)不夠的。要真正實(shí)現(xiàn)自動(dòng)化的存儲(chǔ)集群管理系統(tǒng),故障排除與恢復(fù)和負(fù)載均衡優(yōu)化是不可缺失的主要功能。而本系統(tǒng)中僅有的一些功能做得也不是非常完善,這些工作都有待在未來進(jìn)行優(yōu)化。
[1] 郭立, 金海, 韓宗芬. 集群系統(tǒng)的單一系統(tǒng)映像研究[D]. 武漢: 華中科技大學(xué), 2003.GUO L, JIN H, HAN Z F. Research on single system image for cluster[D]. Wuhan: Huazhong University of Science and Technology, 2003.
[2] 孫喬, 鄧卜僑, 王志強(qiáng), 等. 一種基于分布式服務(wù)器集群的可擴(kuò)展負(fù)載均衡策略技術(shù)[J]. 電信科學(xué), 2017, 33(9):190-196.SUN Q, DENG B Q, WANG Z Q, et al. A scalable load balancing strategy based on distributed server cluster[J]. Telecommunications Science, 2017, 33(9): 190-196.
[3] 鄔延輝, 陳征, 龔松春. 一個(gè)集群文件系統(tǒng)的虛擬化支持平臺(tái)研究與實(shí)現(xiàn)[J]. 電信科學(xué), 2012, 28(9): 34-37.WU Y H, CHEN Z, GONG S C. Research and implementation of virtual platform on cluster file system[J]. Telecommunications Science, 2012, 28(9): 34-37.
[4] 蘭超, 張勇, 邢春曉. 面向復(fù)雜數(shù)據(jù)的對(duì)象存儲(chǔ)系統(tǒng)[J]. 計(jì)算機(jī)科學(xué)與探索, 2014, 8(2): 128.LAN C, ZHANG Y, XING C X. Elastic object store system for complex data[J]. Journal of Frontiers of Computer Science &Technology, 2014, 8(2): 128.
[5] 蔣多元, 陳海雄. 云數(shù)據(jù)中心集群間網(wǎng)絡(luò)性能優(yōu)化的探討[J].電信科學(xué), 2015, 31(5): 138-142.JIANG D Y, CHEN H X. Discussion of inter-cluster network performance optimization in cloud data center[J]. Telecommunications Science, 2015, 31(5): 138-142.
[6] WEIL S A, POLLACK K T, BRANDT S A, et al. Dynamic metadata management for petabyte-scale file systems[C]//2004 ACM/IEEE Conference on Supercomputing (SC’04), November 6-12, 2004, Tucson, AZ, USA. New York: ACM Press,2004.
[7] XIN Q, MILLER E L, SCHWARZ T J E. Evaluation of distributed recovery in large-scale storage systems[C]//IEEE International Symposium on High Performance Distributed Computing(HPDC), June 4-6, 2004, Honolulu, Hawaii, USA. New Jersey: IEEE Press, 2004.
[8] 藤本和久, 細(xì)谷睦, 島田健太郎, 等. 集群型存儲(chǔ)系統(tǒng)及其管理方法: CN200410045333.2[P]. 2004-05-20.FUJIMOTO W, SAGO M, SHIMADA K, et al. Cluster storage system and its management method: CN200410045333.2[P].2004-05-20.
[9] 胡學(xué)慶. 集群環(huán)境下海量數(shù)據(jù)存儲(chǔ)管理技術(shù)的研究[D]. 大慶: 東北石油大學(xué), 2010.HU X Q. Research on massive data storage management technology in cluster environment[D]. Daqing: Northeast Petroleum University, 2010.
[10] 黃昌華, 康慕寧, 韓樸杰. Hyper_v 虛擬機(jī)集群管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)與現(xiàn)代化, 2013(4): 166-170.HUANG C H, KANG M N, HAN P J. Design and implementation of integrated management system for cluster of Hyper_v virtualMachine[J]. Computer and Modernization, 2013(4):166-170.
Automatic management technology of object storage systems
HU Doudou1, LUO Fei2, ZHANG Yuan1
1. Shanghai Research Institute of China Telecom Co., Ltd., Shanghai 200122, China 2. East China University of Science and Technology, Shanghai 200237, China
The object storage system not only breaks the bottleneck of the traditional SAN storage system, but also achieves the expansion of performance and capacity linearly in video monitoring field. However, the remote management for the resources of the object storage system has become a problem for managers. Aiming at this problem,the method and related technology of automatic management of object storage cluster was studied, so as to improve the efficiency of storage cluster. The functions of the automatic management system included remote lauching, stopping and resetting of cluster components, monitoring of running status, cluster expansion and log viewing and storage.Based on Ceph object storage cluster, the automated management system for Web application service platform was achieved, monitoring and management was realized effectively ultimately, and the nodes of the cluster and the storage capacity were expanded automatically.
object storage, automation, cloud computing
TP315
A
10.11959/j.issn.1000?0801.2017306
2017?09?30;
2017?11?10
胡豆豆(1985?),男,現(xiàn)就職于中國電信股份有限公司上海研究院,主要從事視頻監(jiān)控系統(tǒng)智能、云存儲(chǔ)方向產(chǎn)品開發(fā)及研究工作。參與多項(xiàng)工業(yè)和信息化部物聯(lián)網(wǎng)專項(xiàng)、“863”計(jì)劃等科研項(xiàng)目工作,累計(jì)發(fā)表專利4項(xiàng),發(fā)布ITU-T視頻監(jiān)控類國際標(biāo)準(zhǔn)2項(xiàng),2013年獲得上海市科學(xué)技術(shù)進(jìn)步獎(jiǎng)二等獎(jiǎng)。
羅飛(1978?),男,博士,華東理工大學(xué)副教授、碩士生導(dǎo)師,主要從事嵌入式系統(tǒng)、云計(jì)算、大數(shù)據(jù)等方面的開發(fā)與研究工作。曾獲得 2012年上海市科學(xué)技術(shù)進(jìn)步獎(jiǎng)一等獎(jiǎng)、2013年上海產(chǎn)學(xué)研合作優(yōu)秀項(xiàng)目獎(jiǎng)。
張園(1986?),女,現(xiàn)就職于中國電信股份有限公司上海研究院,主要從事視頻監(jiān)控系統(tǒng)智能、云存儲(chǔ)方向產(chǎn)品開發(fā)及研究工作。參與多項(xiàng)工業(yè)與信息化部物聯(lián)網(wǎng)專項(xiàng)、“863”計(jì)劃等科研項(xiàng)目工作,累計(jì)發(fā)表專利3項(xiàng),發(fā)布ITU-T視頻監(jiān)控類國際標(biāo)準(zhǔn)2項(xiàng)。