殷 脂
(上海電力學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
基于插件模式的私有云存儲(chǔ)系統(tǒng)的存儲(chǔ)池設(shè)計(jì)
殷 脂
(上海電力學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
為滿足私有云存儲(chǔ)系統(tǒng)中采用不同底層存儲(chǔ)介質(zhì)的需求,提出了一種基于插件模式的私有云存儲(chǔ)系統(tǒng)的存儲(chǔ)池設(shè)計(jì).在數(shù)據(jù)存儲(chǔ)層與數(shù)據(jù)管理層之間建立統(tǒng)一存儲(chǔ)層,包含各類插件并基于適配插件提供的動(dòng)態(tài)性能參數(shù),由統(tǒng)一存儲(chǔ)層管理器制定存儲(chǔ)策略和IO策略,以平衡存儲(chǔ)節(jié)點(diǎn)流量,提高存儲(chǔ)池的整體性能.實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)可以提高企業(yè)存儲(chǔ)資源利用率,提升異構(gòu)存儲(chǔ)橫向擴(kuò)展能力,有效降低私有云存儲(chǔ)服務(wù)的整體運(yùn)營(yíng)成本.
存儲(chǔ)池; 云存儲(chǔ)服務(wù); 插件模式
云存儲(chǔ)服務(wù)是通過(guò)網(wǎng)絡(luò)連接單個(gè)計(jì)算機(jī)節(jié)點(diǎn)資源,使用相關(guān)的集群連接技術(shù)、網(wǎng)絡(luò)計(jì)算技術(shù)、資源定位和查找算法等,將互聯(lián)網(wǎng)中計(jì)算機(jī)節(jié)點(diǎn)協(xié)同起來(lái),并向用戶提供數(shù)據(jù)存儲(chǔ)和備份等服務(wù).與公有云相比較,私有云更具有安全性優(yōu)勢(shì),企業(yè)私有云存儲(chǔ)模式實(shí)現(xiàn)了企業(yè)現(xiàn)有數(shù)據(jù)資源的存儲(chǔ)、共享和交互,可以應(yīng)對(duì)企業(yè)級(jí)用戶高速增長(zhǎng)的數(shù)據(jù)存儲(chǔ)業(yè)務(wù)和數(shù)據(jù)處理業(yè)務(wù)的問(wèn)題.
目前,大多數(shù) IT 組織部署私有云存儲(chǔ)服務(wù),用于文件協(xié)同、數(shù)據(jù)庫(kù)及多媒體流服務(wù)等,但存儲(chǔ)架構(gòu)經(jīng)常被忽視,導(dǎo)致存儲(chǔ)效率較低[1].理想情況下,云存儲(chǔ)應(yīng)該能以最低的成本處理延時(shí)敏感和不敏感的應(yīng)用,還能充分發(fā)揮自動(dòng)精簡(jiǎn)設(shè)備、存儲(chǔ)介質(zhì)生命周期管理、自動(dòng)分層以及故障點(diǎn)實(shí)時(shí)遷移等優(yōu)勢(shì).SkyShare是一款自主研發(fā)的云端文件存儲(chǔ)與共享系統(tǒng),提供了多種不同類型的客戶端接入,多個(gè)客戶端實(shí)時(shí)地與服務(wù)器保持同步,方便用戶在云端對(duì)文件進(jìn)行同步與共享.本文的理論研究與實(shí)踐評(píng)測(cè)基于該系統(tǒng)進(jìn)行.
SkyShare系統(tǒng)架構(gòu)如圖1所示.其從上到下由如下4部分組成.
(1) Client端 支持3種不同類型的客戶端、手機(jī)端和Web客戶端,方便用戶在不同場(chǎng)景下對(duì)存儲(chǔ)端文件進(jìn)行上傳、下載、共享等操作.
(2) Service端 SkyShare系統(tǒng)的服務(wù)端,具備文件管理、個(gè)人文件同步、文件存儲(chǔ)管理、共享等功能.
(3) 遠(yuǎn)程存儲(chǔ) 支持多種不同的存儲(chǔ)介質(zhì)(包括開(kāi)發(fā)存儲(chǔ)服務(wù)),為屏蔽異構(gòu)存儲(chǔ)的差異性,SkyShare采取了插件式的架構(gòu)設(shè)計(jì)方案,使得異構(gòu)的存儲(chǔ)能夠靈活地集成到SkyShare系統(tǒng)中.在插件層專門設(shè)立參數(shù)動(dòng)態(tài)收集機(jī)制,服務(wù)層會(huì)根據(jù)收集的參數(shù)動(dòng)態(tài)調(diào)整存儲(chǔ)策略,實(shí)現(xiàn)存儲(chǔ)性能的最優(yōu)化[2].
(4) 文件系統(tǒng)元數(shù)據(jù)和用戶信息存儲(chǔ) 采用提供系統(tǒng)良好管理功能的MYSQL數(shù)據(jù)庫(kù).
圖1 SkyShare架構(gòu)
存儲(chǔ)池是多個(gè)存儲(chǔ)介質(zhì)模塊的管理容器,為使用者提供大容量、高數(shù)據(jù)傳輸性能的存儲(chǔ)系統(tǒng),也稱為虛擬存儲(chǔ)池[3].存儲(chǔ)資源池支持多種類型存儲(chǔ)資源共存的集成方式,文件的位置選擇采用定義好的存儲(chǔ)規(guī)則.存儲(chǔ)資源池的邏輯架構(gòu)設(shè)計(jì)如圖2所示.
管理員用戶能對(duì)存儲(chǔ)資源池進(jìn)行有效管理,如接入新的被SkyShare支持的任意種類的存儲(chǔ)資源;移除不需要的存儲(chǔ)資源;數(shù)據(jù)的備份與遷移;存儲(chǔ)資源池可用信息的監(jiān)測(cè);存儲(chǔ)資源歷史性能分析;存儲(chǔ)資源的分配;存儲(chǔ)規(guī)則的定義等.
1.2.1 存儲(chǔ)管理
(1) 存儲(chǔ)資源的接入 最簡(jiǎn)單的實(shí)現(xiàn)方法是使用配置文件,管理員通過(guò)在配置文件中提供相應(yīng)存儲(chǔ)資源的連接參數(shù),將存儲(chǔ)資源接入到存儲(chǔ)資源池中.可以更進(jìn)一步提供可視化編輯界面給管理員使用,以增加用戶體驗(yàn),而且能防止管理員錯(cuò)誤地更改配置文件[4].
(2) 存儲(chǔ)資源的移除 操作方式同存儲(chǔ)資源接入,只刪除配置文件相應(yīng)的storage節(jié)點(diǎn).
(3) 存儲(chǔ)數(shù)據(jù)管理 提供數(shù)據(jù)的刪除、遷移等操作.
(4) 存儲(chǔ)資源的分配 按部門分配存儲(chǔ)資源,或按用途(備份、共享)分配存儲(chǔ)資源等.
(5) 存儲(chǔ)規(guī)則的定義 暫不支持存儲(chǔ)規(guī)則定義,采用以文件為單位的隨機(jī)存儲(chǔ)規(guī)則.
圖2 存儲(chǔ)資源池的邏輯架構(gòu)
1.2.2 請(qǐng)求處理器
(1) 上傳文件 如圖3所示.服務(wù)層先向存儲(chǔ)層傳遞一次位置請(qǐng)求信息,需要傳遞的參數(shù)為
(2) 下載文件 如圖4所示.服務(wù)層向存儲(chǔ)層發(fā)送一次文件請(qǐng)求信息,需要將文件信息(如文件名)傳遞給Request Handler,Request Handler 根據(jù)文件名信息查找存儲(chǔ)元數(shù)據(jù)信息,創(chuàng)建相應(yīng)的Plugin 對(duì)象返回給服務(wù)層;服務(wù)層使用收到的Plugin對(duì)象以便直接從底層存儲(chǔ)獲取文件塊再進(jìn)行重組[5-6].
接口通過(guò)對(duì)元數(shù)據(jù)服務(wù)器進(jìn)行I/O(input/output)請(qǐng)求,經(jīng)過(guò)元數(shù)據(jù)服務(wù)器的映射操作,找到目標(biāo)數(shù)據(jù)塊,對(duì)目標(biāo)塊進(jìn)行I/O操作;每次I/O操作產(chǎn)生的多個(gè)相同PV(physical volume)的I/O,請(qǐng)求被重定向,并分解到多個(gè)存儲(chǔ)設(shè)備,最終形成一個(gè)多表頭.多列表異步處理系統(tǒng)提高了I/O帶寬的利用率,緩解了I/O高并發(fā)時(shí)的瓶頸問(wèn)題.
圖3 上傳文件及插件選擇序列示意
圖4 下載文件及插件選擇序列示意
1.2.3 存儲(chǔ)監(jiān)測(cè)器
主要監(jiān)測(cè)存儲(chǔ)資源池的使用情況,包括可用存儲(chǔ)資源列表、存儲(chǔ)資源總量、可用容量,以及存儲(chǔ)資源在歷史使用中表現(xiàn)出的性能等[7-8].管理員可根據(jù)監(jiān)測(cè)信息進(jìn)行存儲(chǔ)資源的接入等維護(hù)工作,并根據(jù)歷史性能對(duì)存儲(chǔ)資源池作適當(dāng)調(diào)整.
由于文件私有云存儲(chǔ)服務(wù)需要應(yīng)對(duì)不同客戶端高并發(fā)的文件上傳下載請(qǐng)求,因此存儲(chǔ)池的性能至關(guān)重要.為了考察該存儲(chǔ)池設(shè)計(jì)方案的性能,我們主要對(duì)客戶端與服務(wù)器端的文件傳輸進(jìn)行了重點(diǎn)試驗(yàn),分別考察文件大小為100 M,300 M,500 M,800 M,1 000 M,1 500 M的傳輸情況.
實(shí)驗(yàn)環(huán)境配置如下.
(1) 硬件環(huán)境 3臺(tái)1U服務(wù)器,Dell poweredge-6300 P-III Xeon,8G內(nèi)存.1臺(tái)作元數(shù)據(jù)服務(wù)器,2臺(tái)做存儲(chǔ)節(jié)點(diǎn).1臺(tái)NAS,希捷 FreeAgent GoFlex Home 2TB(STAM2000200).
(2) 軟件 OS,Ubuntu;JVM,Java HotSpot(TM) Client VM (build 20.7-b02,mixed mode,sharing);數(shù)據(jù)庫(kù)為MySql 5.5.0;應(yīng)用服務(wù)器為Jetty 7.6.3.
(3) 網(wǎng)絡(luò) 局域網(wǎng)訪問(wèn),千兆交換機(jī),千兆網(wǎng)卡.
實(shí)驗(yàn)結(jié)果如圖5所示.由圖5可以看出,文件大小在100~1 500 M,在應(yīng)用服務(wù)器與存儲(chǔ)之間傳輸時(shí)間與文件大小基本呈線性關(guān)系,使用虛擬存儲(chǔ)池系統(tǒng)的性能略優(yōu)于NFS掛載存儲(chǔ).
圖5 文件傳輸用時(shí)試驗(yàn)
以上試驗(yàn)結(jié)果表明,本文的存儲(chǔ)池設(shè)計(jì)是可行的,同時(shí)在SkyShare的實(shí)踐中表明,需要基于應(yīng)用級(jí)的策略將存儲(chǔ)池中高性能節(jié)點(diǎn)分配給關(guān)鍵應(yīng)用,以滿足私有云服務(wù)小文件高頻率的讀寫特性.
如何通過(guò)構(gòu)建虛擬存儲(chǔ)池建立高性價(jià)比的云存儲(chǔ)服務(wù),以及如何保證存儲(chǔ)服務(wù)高可用性是云存儲(chǔ)服務(wù)平臺(tái)的關(guān)鍵.本文提出了一種基于插件模式的支持異構(gòu)存儲(chǔ)設(shè)備的存儲(chǔ)池設(shè)計(jì)方案,利用靈活的插件機(jī)制來(lái)適配底層存儲(chǔ)設(shè)備或存儲(chǔ)服務(wù),可以實(shí)現(xiàn)可靠的易擴(kuò)展的云存儲(chǔ)服務(wù).
[1] GUPTA D,SAGAR K.Remote file synchronization single-round algorithms[J].International Journal of Computer Applications,2010,4(1):32-36.
[2] ZHOU Dongyun,SUBBRAMANIAM S.Sunvivability in optical network[J].IEEE Network,2009,14(6):16-23.
[3] 周旭.面向Internet的大規(guī)模分布式存儲(chǔ)技術(shù)研究[D].成都:成都電子科技大學(xué),2004.
[4] 周可,王樺,李春花.云存儲(chǔ)服務(wù)及其應(yīng)用[J].中興通信,2010(4):25-27.
[5] ARMBRUST M,FOX A,GRIFFTH R.A view of cloud computing[J].Communications of the ACM,2010,53(4):50-58.
[6] CHAISIRI S,LEE B S.Optimal virtual machine placement across multiple cloud providers[C]//Services Computing Conference,IEEE Asia-Pacific,2009:128-136.
[7] 張建勛,古志民,鄭超.云計(jì)算研究進(jìn)展綜述[J].計(jì)算機(jī)應(yīng)用研究,2010(2):430-433.
[8] AJTAI M,BURNS R,FAGIN R,etal.Compactly encoding unstructured inputs with differential[J].Journal of the ACM (JACM),2002,49(3):318-367.
(編輯 胡小萍)
APluginModelBasedStoragePoolDesignforPrivateCloudStorageSystem
YINZhi
(SchoolofComputerScienceandTechnology,ShanghaiUniversityofElectricPower,Shanghai200090,China)
In order to satisfy private cloud storage system using different underlying storages,a new plug-in model based storage pool design model for private cloud storage is proposed.A unified storage layer between data storage and data management is established,which contains various plugins and provides dynamic performance parameters based on the adapter plug-in,for managing storage strategy and IO policy,balancing dataflow of storage nodes,and improving the overall performance of the storage pool.Practice shows that it can improve utilization of storage resources and improve horizontal scalability for heterogeneous storage,effectively reducing the overall operating costs of private cloud storage service.
storage pool; cloud storage service; plugin model
10.3969/j.issn.1006-4729.2017.04.001
2017-03-09
殷脂(1981-),女,博士,副教授,江蘇泰興人.主要研究方向?yàn)橹悄芩惴?人工智能.E-mail:yzzhizhi@163.com.
國(guó)家自然科學(xué)基金(61572311,41672114).
TP333
A
1006-4729(2017)04-0313-04