999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

對象存儲系統的自動化管理技術

2017-12-04 02:43:03胡豆豆羅飛張園
電信科學 2017年11期

胡豆豆,羅飛,張園

(1. 中國電信股份有限公司上海研究院,上海 200122;2. 華東理工大學,上海 200237)

對象存儲系統的自動化管理技術

胡豆豆1,羅飛2,張園1

(1. 中國電信股份有限公司上海研究院,上海 200122;2. 華東理工大學,上海 200237)

物聯網視頻監控領域中的對象存儲系統不僅輕松突破了傳統存儲系統SAN的性能瓶頸,而且可以實現性能與容量的線性擴展;然而,對象存儲系統資源的遠程管理成為困擾管理者的一個問題。針對該問題,研究能夠實現對象存儲集群的自動化管理的方法和相關技術,提高存儲集群的使用效率。該自動化管理系統功能主要包括:集群組件的遠程啟動、停止、重啟;運行狀態監測;集群擴張和日志查看及存儲等功能。基于Ceph對象存儲集群,實現了面向Web應用服務平臺的存儲集群自動化管理系統,最終有效地對對象存儲系統進行監視和管理,并能夠自動化擴展集群的節點和存儲容量。

對象存儲;自動化;云計算

1 引言

隨著互聯網、Web 2.0的快速發展,Web應用創建出數百億的小文件,上傳海量的照片、視頻、音樂,Facebook每天新增數十億條內容,每天發送數千億封郵件。據IDC統計,未來10年間數據將增長44倍,2020年全球數據將增長到 35 ZB,其中,80%為非結構化的數據,且大部分是非活躍數據[1-3]。

在物聯網視頻監控領域中,隨著高清化、智能化的推進以及平安城市等城市公共安防的發展,面對如此龐大的數據量,僅具備PB級擴展能力的塊存儲和文件存儲顯得無能為力;人們需要一種全新的架構存儲系統,這樣的存儲系統需要具備極高的可擴展性,能夠滿足人們存儲視頻數據時對存儲容量TB到EB規模的擴展需求[4,5]。

對象存儲是一種基于對象的存儲設備,具備智能、自我管理能力,通過 Web服務協議(如REST、SOAP)實現對象的讀寫和對象資源的訪問。對象存儲以對象 ID 為基礎,扁平化管理所有存儲和桶,根據對象 ID 便可直接訪問數據,解決NAS復雜的目錄樹結構在海量數據情況下數據查找耗時長的問題,這使得對象存儲具備極強的擴展性,能夠輕松實現單一名字空間內支持數百萬級文件的存儲。

對象存儲系統的出現滿足了數據歸檔和云服務兩大需求。通過面向對象的概念構建的存儲系統,能夠有效地利用集群各個節點的性能,并且有效地將多個客戶端請求均勻地分布到集群中的各個節點,充分地利用了對象存儲集群的特性。集群管理員可以通過集群管理系統實時地監視集群各個部分的狀態,也可以根據需要調整單個節點上組件的運行狀態。當存儲集群需要擴張時,通過自動化的管理系統也能夠很快地對集群進行調整以及在各個存儲節點之間進行動態的數據遷移,從而保持服務的持續可用[6]。

但隨著存儲資源的堆積和存儲集群節點數量的不斷上升,如何通過集群自動化管理系統進行高效的管理和控制成為了一個困擾企業的問題[7]。本文針對該問題,研究基于對象存儲文件系統 Ceph的自動化管理系統。在Ceph存儲集群上,通過構建一個Web項目,實現對Ceph集群的遠程監視和控制(包括集群的常用操作、存儲節點的增加和刪除等);以此來模擬如何對Ceph存儲集群進行自動化管理,從而推進它的商用價值[8-10]。

2 系統方案

自動化管理的目的是幫助用戶解決存儲集群在運行時的遠程監視、管理和控制的問題,即管理員通過瀏覽器隨時隨地以訪問Web應用程序的形式來訪問對象存儲系統,實現對遠程對象存儲集群各組件的監視、控制、節點的橫向擴展及收縮,進而改善集群資源的使用性能、提高利用率和降低運營成本。

對象存儲系統自動化管理的需求主要可歸納為如下幾點。

(1)監視功能

包括集群當前運行狀態監視、存儲節點分布和狀態監視、單個節點上運行的集群組件監視、集群中已添加節點的分布和運行狀態監視。

(2)組件的常規操作

包括MON的重啟、MDS的停止/啟動、OSD的停止/啟動等。

(3)存儲節點動態調整

包括OSD的添加/刪除。

(4)群日志的查看

包括管理員操作記錄查看、集群狀態日志查看、存儲節點監視日志查看、單節點組件運行狀態日志查看、集群節點分布和運行狀態的監視日志查看。

系統采用基于 MVC 框架開發的 B/S(瀏覽器/服務器)模式的Web應用程序。用戶可通過訪問Web瀏覽器的方式對存儲集群進行簡單的控制和管理。本文系統的模型擁有較多的處理任務,將集群的監視、操作調用與實現和與數據庫中日志信息的交互都放在該層來實現。只要網絡連接正常,互聯網用戶就可以通過打開瀏覽器隨時隨地訪問應用系統,從而實現對局域網內集群的所有機器的訪問并進行遠程管理和控制。模塊劃分為:集群監視模塊、存儲節點添加/刪除模塊、組件控制模塊、日志存儲/調用模塊4個主要模塊,系統功能結構如圖1所示。

為了提高管理系統的用戶體驗,采用名為Bootstrap的 Web前端開發框架。Bootstrap是Twitter推出的一個開源的、用于前端開發的工具包。當管理員需要監視、操作或者調整集群時,需要在Web頁面填寫相應的表格,并提交到Web服務器進行相關操作。但是和集群相關的操作并不能在很短的時間內完成,例如:集群中各個節點是否都已啟動、添加存儲節點OSD等。因此當提交此類操作時,即使忽視數據在廣域網中的傳輸和建立SSH連接的時間,都很難將操作的反饋瞬間呈現在頁面上。所以,介于上述原因,本文使用了AJAX(asynchronous JavaScript XML)技術,實現了頁面和Web服務器之間的異步通信。

當用戶在Web頁面點擊提交事件處理的按鈕時,視圖會將該請求的相關信息傳遞到控制器,控制器對用戶請求進行查看并作出判斷,執行相應的模型操作,即對應的功能模塊會創建一個SSH協議,打開Java 項目與SSH服務器的會話,通過該會話可以遠程執行命令和Shell訪問。本文采用了一個名為Ganymed SSH-2 for Java的包,專門用于實現SSH協議,建立SSH服務器連接,并支持SSH會話。Ganymed SSH2 for Java是一個以純 Java的形式實現 SSH-2協議的庫(支持J2SE1.4.2和5.0以上的版本)。它使得在Java項目中與 SSH 服務器建立連接,同時支持SSH的會話(遠程命令執行和Shell訪問),本地和遠程端口交互,本地流轉發、X11轉發和SCP功能等。

自動化管理系統的后臺除了關于 MySQL數據庫的日志操作外,其余的集群控制都是遠程調用集群上的腳本實現的。這些腳本均存放在存儲集群的主管理節點上,所以當Ganymed SSH2 for Java與集群主管理節點建立SSH會話后,調用對應的Shell腳本即可執行所需要的管理操作。

3 系統實現

系統中Web控制頁面顯示的數據都是通過執行后臺腳本,截取到所需的特征數據,并經過整理后呈現出來的。

圖1 系統功能結構

3.1 全局狀態監控

全局狀態監測在終端輸入ceph -s指令時可以查看集群整體的當前狀態,快速地查看需要的關鍵信息,見表1。首先從指令ceph -s輸出集群當前的通用狀態信息,進而通過grep和sed的篩選和替換功能實現對集群特征數據的采集。

表1 集群整體狀態

3.2 存儲節點分布狀態監測

Ceph是一個高可用性和高可靠性的管理硬件和軟件。它不具備單點故障,并且可以為數據提供還原服務。假如系統出現故障,需要到放置組和相關的守護進程下查找問題。當Ceph集群遇到一些故障時,還可能阻止用戶訪問特定的對象,但可能訪問其他對象。當運行時遇到故障,只需要按照步驟監測守護進程和放置組就能知道故障原因,然后排除。

由圖2可知,在集群中一個 OSD 的狀態或者在這個集群中(in)或者在這個集群外(out)的;并且,它或者是運行中(up)的,或者是不運行(down)的。如果一個OSD的狀態是up,它或者在集群(可以讀取和寫入數據)或者在out狀態。如果它曾是in狀態但最近被移出集群了,Ceph將會遷移配置至其他OSD 中。如果 OSD不在集群中,基于 Ceph的CRUSH算法,該OSD將不會配置在一個放置組中。如果OSD的狀態是down,它也會是out狀態。

圖2 OSD狀態轉換

執行 Ceph Osd tree 指令能夠確定 ceph-osd后臺是否正常運行,根據控制臺的輸出,可以很容易地從中獲取所需要的特征數據,并且有效地組織在一起,作為日志存儲到日志并刷新頁面中的對應部分視圖。

3.3 集群節點分布監測

由于集群中的節點會逐漸增多,所以需要在Web頁面上直觀表示節點名稱和IP地址,形式見表2。

表2 集群節點配置

為了獲取集群中加入的節點IP地址和相關的Hostname,前提必須是將Hostname和IP地址寫入系統文件/etc/hosts 中。

同時,管理系統能夠自動化管理存儲節點OSD的添加/刪除操作。集群上放置的每一個對象(object)都可以根據Ceph的CRUSH算法計算出具體的存放位置。所以,當OSD發生變化時,集群也需要做相應的調整。CRUSH算法是Ceph對象存儲的核心,決定了每一個對象的存放位置。當需要存放一個對象時,只需要知道對象的ID、集群架構圖和存放策略,就可以計算出應該存放在哪個OSD上。因此Ceph的元數據不需要包含位置信息,每個客戶端都可以自己計算出對應的OSD,大大減少了對元數據的請求。

RADOS是使用CRUSH算法的分布式對象存儲,由OSD和MON組成,OSD承擔數據的存儲、備份以及恢復工作,MON保證集群架構圖與實際情況相符。RADOS的特點之一就是數據的備份、同步以及恢復等都由OSD自發地完成。

RADOS中OSD獨自管理數據的能力是建立在CRUSH算法上的,CRUSH 算法又是建立在CRUSH map(包含OSD的數量、組織結構以及存儲策略)上的。因此擁有一份最新的CRUSH map,對OSD是至關重要的,否則OSD無法確定隸屬同一個PG的OSD,也就無法完成數據的備份、同步等操作。

RADOS使用一個由MON組成的小集群生成最新的CRUSH map。當增/減OSD、修改OSD組織結構、修改存放策略或者發現OSD失效時,更新請求被發送到MON集群,MON生成一份新的CRUSH map。同時MON集群也對外提供CRUSH map的訪問服務,其他節點可以從 MON集群中獲取一份最新的CRUSH map。MON集群中采用Lease機制確保每個 MON對外提供的 CRUSH map的一致性,采用 Paxos 協議選舉出一個leader,由leader負責生成新的CRUSH map。

另外,OSD 節點之間互相通信時會比較各自擁有的CRUSH map的epoch,用最新的CRUSH map替換舊的CRUSH map。當客戶端要從OSD中讀取對象時,如果客戶端中還沒有 CRUSH map:客戶端首先從MON集群中讀取一份最新的CRUSH map,然后計算出存放該對象的PG對應的 OSD,然后客戶端與目標 OSD比較各自的CRUSH map的 epoch,同步到最新的 CRUSH map。如果客戶端中已經有 CRUSH map,在和OSD通信時,如果OSD的CRUSH map版本更新,那么更新客戶端的 CRUSH map。如果客戶端和OSD的CRUSH map版本一致了,但都不是最新的,使用舊的CRUSH map計算出的OSD上可能沒有存放要訪問的對象,導致操作失敗,這時客戶端從mon集群讀取最新的CRUSH map。

3.3.1 OSD 添加

新增一個 OSD需要分為兩個部分:準備(prepare)和激活(activate)。準備步驟的指令為: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 //創建分區、格式化等操作

激活步驟的指令為:ceph-deploy osd active ceph1:/dev/vdb,步驟如下所示:

ceph-disk-activate -mark-init upstart -mount/dev/vdb //掛載Ceph分區

initctl emit –no-wait – ceph-osd cluster=ceph id=0 //添加ID為0的OSD守護進程,并使其處于非等待狀態,即添加完該osd.0后直接啟動。

3.3.2 OSD 刪除

刪除OSD守護進程時需要根據該OSD的不同狀態執行一些列的指令,從而達到有效的集群CRUSH調整,并且完成該OSD上存儲對象的完整遷移,最后完全將該OSD守護進程從集群中移除。步驟如下所示:

service ceph stop osd.0 //停止該設備

ceph osd crush remove osd.0 //從CRUSH中移除與該OSD相關的數據,此時運行ceph osd tree指令可以看到該存儲進程osd.0處于down狀態

ceph auth del osd.0 //從認證中刪除

ceph osd rm 0 //從集群中完全移除該OSD的所有數據

4 系統測試

為了完成系統測試,本文在Ubuntu12.04的虛擬機上搭建基于 Ceph的初始集群。該集群初始化規模為 3個節點,并通過ceph-deploy完成Ceph的安裝。首先將 Ceph資料庫添加到ceph-deploy的管理節點,然后安裝ceph-deploy。注意:以不同的用戶登錄上節點安裝ceph-deploy時不需要在命令前面添加sudo或者以root身份執行,因為遠程的主機將不會執行 sudo命令。測試過程包括監視功能測試、存儲節點添加/刪除功能測試等。

4.1 監視功能測試

監視功能所顯示當前集群的狀態如圖3所示,包括:mon節點的個數、所在節點、運行狀態;mds節點的個數、所在節點、運行狀態;OSD節點的個數、運行狀態、存儲容量等信息;其中,OSD存儲容量已用部分13 838 MB,剩余可用部分為4 210 MB,總共的存儲容量為19 021 MB。

圖3 集群狀態監視

集群中各存儲節點狀態如圖4所示,顯示了集群中存儲節點OSD的分布情況:ID為0的OSD節點的權重為 0.019 99(1 TB大小的容量權重為1,所以0.019 9 權重說明 ID 為0的OSD存儲容量大約為 20 GB左右)以及狀態為 up。

圖4 集群存儲節點分布

集群內節點狀態統計如圖5所示,這里顯示的節點是已經被添加到集群的,包括節點IP地址、節點名稱以及該節點是否在運行中。從圖5可以看到,目前只有節點IP地址為192.168.232.158、節點名為server01 的節點power欄顯示的是up,即在運行中。

圖5 集群內節點狀態統計

4.2 存儲節點添加/刪除功能測試

在 server02 上添加一個 OSD 守護進程,操作和結果分別如圖6和圖7所示。

圖6 添加OSD.1操作

圖7 OSD.1添加結果

將主管理節點 server01 上面的 OSD 守護進程 osd.0 刪除,操作和結果分別如圖8和圖9所示。

圖8 刪除 OSD.0 操作示意

4.3 日志查看功能測試

查看某個時間段的存儲節點分布情況,結果如圖10所示。

圖9 刪除 OSD.0的結果

圖10 某時間日志查看結果

5 結束語

基于對象存儲系統 Ceph,研究了一個對象存儲集群的自動化管理系統。管理系統的功能主要集中在3個部分——集群狀態監視、OSD 存儲節點添加與刪除和集群狀態日志查看。以平臺化方式設計,采用基于 MVC 框架進行設計和實現。用戶可通過訪問 Web 瀏覽器的方式對存儲集群進行簡單的控制和管理。

作為底層存儲集群的管理系統,這些功能都是必備的,但還是遠遠不夠的。要真正實現自動化的存儲集群管理系統,故障排除與恢復和負載均衡優化是不可缺失的主要功能。而本系統中僅有的一些功能做得也不是非常完善,這些工作都有待在未來進行優化。

[1] 郭立, 金海, 韓宗芬. 集群系統的單一系統映像研究[D]. 武漢: 華中科技大學, 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] 孫喬, 鄧卜僑, 王志強, 等. 一種基于分布式服務器集群的可擴展負載均衡策略技術[J]. 電信科學, 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] 鄔延輝, 陳征, 龔松春. 一個集群文件系統的虛擬化支持平臺研究與實現[J]. 電信科學, 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] 蘭超, 張勇, 邢春曉. 面向復雜數據的對象存儲系統[J]. 計算機科學與探索, 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] 蔣多元, 陳海雄. 云數據中心集群間網絡性能優化的探討[J].電信科學, 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] 藤本和久, 細谷睦, 島田健太郎, 等. 集群型存儲系統及其管理方法: 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] 胡學慶. 集群環境下海量數據存儲管理技術的研究[D]. 大慶: 東北石油大學, 2010.HU X Q. Research on massive data storage management technology in cluster environment[D]. Daqing: Northeast Petroleum University, 2010.

[10] 黃昌華, 康慕寧, 韓樸杰. Hyper_v 虛擬機集群管理系統的設計與實現[J]. 計算機與現代化, 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?),男,現就職于中國電信股份有限公司上海研究院,主要從事視頻監控系統智能、云存儲方向產品開發及研究工作。參與多項工業和信息化部物聯網專項、“863”計劃等科研項目工作,累計發表專利4項,發布ITU-T視頻監控類國際標準2項,2013年獲得上海市科學技術進步獎二等獎。

羅飛(1978?),男,博士,華東理工大學副教授、碩士生導師,主要從事嵌入式系統、云計算、大數據等方面的開發與研究工作。曾獲得 2012年上海市科學技術進步獎一等獎、2013年上海產學研合作優秀項目獎。

張園(1986?),女,現就職于中國電信股份有限公司上海研究院,主要從事視頻監控系統智能、云存儲方向產品開發及研究工作。參與多項工業與信息化部物聯網專項、“863”計劃等科研項目工作,累計發表專利3項,發布ITU-T視頻監控類國際標準2項。

主站蜘蛛池模板: 久久精品aⅴ无码中文字幕| 国产特级毛片| 凹凸精品免费精品视频| 久热这里只有精品6| 婷婷色中文| 青青草原国产av福利网站| 久久这里只有精品国产99| h视频在线观看网站| 久久免费视频6| 一本大道香蕉久中文在线播放 | 免费国产福利| 国产精品永久免费嫩草研究院 | 国产欧美一区二区三区视频在线观看| 最新国产成人剧情在线播放| 尤物午夜福利视频| 在线毛片网站| 亚洲婷婷六月| 免费人成黄页在线观看国产| 精品国产91爱| 欧洲成人在线观看| 日本高清免费不卡视频| 色综合久久88色综合天天提莫 | 无码AV动漫| 激情综合婷婷丁香五月尤物| 国产欧美日韩18| 日韩中文无码av超清| 国内精品久久久久久久久久影视 | 精品国产免费观看| 亚洲精品桃花岛av在线| 国产综合另类小说色区色噜噜| 国产成人无码久久久久毛片| 亚洲欧美在线精品一区二区| 色窝窝免费一区二区三区 | 亚洲日韩AV无码一区二区三区人| 色偷偷av男人的天堂不卡| 国产性生交xxxxx免费| 毛片久久网站小视频| 色综合久久久久8天国| 成人精品免费视频| 亚洲国产欧美国产综合久久| 国产欧美视频在线观看| 国产成年无码AⅤ片在线| 五月丁香伊人啪啪手机免费观看| 国产成人亚洲精品蜜芽影院| 国产网站黄| 欧美日本在线| 亚洲欧美不卡中文字幕| 亚洲三级视频在线观看| 中文字幕乱码中文乱码51精品| 黄色网站在线观看无码| аⅴ资源中文在线天堂| 国产视频资源在线观看| 97se亚洲综合在线天天| 国产精品密蕾丝视频| 日韩成人免费网站| 亚洲日韩久久综合中文字幕| 欧美自慰一级看片免费| 欧美国产视频| 亚洲国产成人超福利久久精品| a级毛片一区二区免费视频| 欧美午夜在线视频| 亚洲中文无码av永久伊人| 国产欧美日韩在线一区| 亚洲资源站av无码网址| 亚洲水蜜桃久久综合网站| 中文字幕有乳无码| 国产丝袜第一页| 中文字幕第1页在线播| 狠狠做深爱婷婷久久一区| 国产在线97| 国产美女叼嘿视频免费看| 欧美亚洲国产视频| 国产高清无码第一十页在线观看| 老司机午夜精品视频你懂的| 亚洲天堂视频网站| A级毛片无码久久精品免费| 国产日韩av在线播放| 青青热久免费精品视频6| 亚洲三级视频在线观看| 九九热这里只有国产精品| 免费国产不卡午夜福在线观看| 热伊人99re久久精品最新地|