楊 盛,祝世東,姜 柳,戴 亮
(1.沈陽工程學(xué)院信息學(xué)院,遼寧沈陽110136;2.沈陽市第七人民醫(yī)院,遼寧 沈陽110003)
在高校實(shí)驗(yàn)教學(xué)中,許多課程的實(shí)驗(yàn)項(xiàng)目需要多次課程分步完成,尤其是綜合性、設(shè)計(jì)性實(shí)驗(yàn),歷時(shí)數(shù)周,連續(xù)性強(qiáng)。實(shí)驗(yàn)中有大量的中間數(shù)據(jù)需要保存,以便在下次實(shí)驗(yàn)中繼續(xù)使用。目前,學(xué)生通常使用U盤來存儲(chǔ)這些數(shù)據(jù),使用起來很不方便,面對(duì)越來越龐大的電子資料U盤的存儲(chǔ)能力明顯不足。有一些高校通過構(gòu)建FTP服務(wù)器,應(yīng)用傳統(tǒng)網(wǎng)絡(luò)存儲(chǔ)的方式來解決這一問題,不過卻存在管理比較繁瑣,對(duì)服務(wù)器資源要求較高,無法直接處理學(xué)生提交的作業(yè)、報(bào)告電子文檔等問題。因此,如何構(gòu)建一個(gè)大容量、低成本、管理方便、可用性高的存儲(chǔ)平臺(tái)成為高校實(shí)驗(yàn)中心急需解決的問題。
Seafile是一個(gè)由國內(nèi)技術(shù)團(tuán)隊(duì)開發(fā)的開源云存儲(chǔ)平臺(tái)。它特別針對(duì)團(tuán)隊(duì)文件同步和協(xié)作進(jìn)行了優(yōu)化處理,因而更適合高校私有云存儲(chǔ)的應(yīng)用。利用seafile可以方便地構(gòu)建屬于自己的云存儲(chǔ),搭建文件同步和協(xié)作服務(wù)。Seafile是第一個(gè)在產(chǎn)品功能上和穩(wěn)定性上能同時(shí)與Dropbox相比的開源項(xiàng)目。而seafile使用的“分布式文件同步技術(shù)”更是打破了以Dropbox為代表的傳統(tǒng)“同步網(wǎng)盤”產(chǎn)品使用的“集中式”文件存儲(chǔ)和同步解決方案,使用戶不需要依賴于某個(gè)特定的服務(wù)器即可實(shí)現(xiàn)文件同步與共享。
Seafile的開源云存儲(chǔ)系統(tǒng)在高校中應(yīng)用有以下幾個(gè)優(yōu)勢(shì)。
1)Seafile采用分步式文件同步技術(shù)為不同需求的用戶提供完整的解決方案。無論是公司還是個(gè)人都能通過其免費(fèi)提供的客戶端和服務(wù)器端軟件構(gòu)建自己的私人文件存儲(chǔ)平臺(tái),并且用戶可在多個(gè)同步服務(wù)器之間自由切換。比如,可針對(duì)教師的科研需求建立特有的服務(wù)器來同步工作文件,用公用服務(wù)器同步教學(xué)資源等文件,兩者互不干擾,可確保其私密性。
2)Seafile有更高的數(shù)據(jù)可靠性。Seafile會(huì)在用戶的本地計(jì)算機(jī)上保留每個(gè)被同步的文件的所有歷史版本。這樣,即使服務(wù)器上的數(shù)據(jù)丟失了,也可以在本地找到文件的歷史版本,還可以把數(shù)據(jù)遷移到新的服務(wù)器上。這一特性看似占用了較多資源,但對(duì)于教學(xué)和科研應(yīng)用都是很有必要的。學(xué)生在實(shí)驗(yàn)過程中往往存儲(chǔ)大量的中間數(shù)據(jù),而實(shí)驗(yàn)中因錯(cuò)誤操作而使數(shù)據(jù)丟失也是常有的事,seafile對(duì)歷史文件的存儲(chǔ)就有效解決了這一問題,方便學(xué)生隨時(shí)找到歷史數(shù)據(jù)。
3)Seafile有更強(qiáng)的私密性。Seafile允許用戶為每個(gè)同步文件夾設(shè)置獨(dú)立的數(shù)據(jù)加密密碼,文檔資料在上傳之前,系統(tǒng)會(huì)先使用該密碼對(duì)數(shù)據(jù)進(jìn)行加密。并且這個(gè)密碼不會(huì)被上傳。也就是說,即使擁有同步服務(wù)器的管理員權(quán)限也無法查看用戶的私人數(shù)據(jù)。這一特性在規(guī)模較小的私有云存儲(chǔ)中尤為重要,相比之下,其他云存儲(chǔ)產(chǎn)品就很難完全避免由于第三方原因而導(dǎo)致的數(shù)據(jù)泄密問題。
4)seafile提供群組功能,用戶可以創(chuàng)建和加入群組,在群組中共享文件。在Dropbox中,用戶一般是通過創(chuàng)建公共的賬號(hào)來做多人協(xié)作。群組功能使得多人協(xié)作更加的直觀流暢,也為高校中教師與學(xué)生中的資源共享提供了方便。
5)同步和協(xié)作結(jié)合更自然。Seafile中文件組織成資料庫,每個(gè)資料庫可以單獨(dú)共享到多個(gè)群組和多個(gè)用戶。用戶可以選擇性地單獨(dú)同步一個(gè)資料庫到一臺(tái)電腦上。
6)在線文件協(xié)作。提供對(duì)常見格式文檔的在線預(yù)覽、評(píng)論和推薦等功能,對(duì)于一些文本格式文檔可以直接在線編輯。
另外,Seafile采用了類似GIT的數(shù)據(jù)模型和分布式同步技術(shù),并且針對(duì)自動(dòng)同步和大文件管理做了優(yōu)化。目前seafile客戶端支持所有主流平臺(tái),包括Windows,Linux,Mac,Andoird 和 iOS。服務(wù)器支持 Linux,Windows等平臺(tái),高效可靠易于創(chuàng)建。
私有云存儲(chǔ)系統(tǒng)體系結(jié)構(gòu)按層次劃分可分為3層。
1)資源層。用于構(gòu)建私有云存儲(chǔ)系統(tǒng)的底層硬件系統(tǒng)包括服務(wù)器、存儲(chǔ)、交換機(jī)、路由器、防火墻等。
高校私有云存儲(chǔ)系統(tǒng)的硬件配置可根據(jù)高校自己的信息量及吞吐量來確定,也可對(duì)現(xiàn)有的硬件設(shè)備進(jìn)行整合。由于私有云存儲(chǔ)具有良好的可擴(kuò)展性,也可考慮分期添加硬件的方式逐步完成系統(tǒng)構(gòu)建。從經(jīng)濟(jì)角度考慮也可使用機(jī)架式服務(wù)器和大容量本地硬盤,但其整體性能也會(huì)隨之下降。
2)平臺(tái)層。通過軟件對(duì)底層硬件系統(tǒng)資源進(jìn)行整合封裝,構(gòu)建虛擬化資源池,同時(shí)對(duì)應(yīng)用層提供應(yīng)用接口為用戶服務(wù)。
平臺(tái)層是私有云存儲(chǔ)系統(tǒng)的核心,其主要完成對(duì)虛擬化存儲(chǔ)的整合構(gòu)建資源池和通過軟件管理資源池為用戶提供存儲(chǔ)服務(wù)。構(gòu)建資源池可選用V MWare的虛擬服務(wù)器技術(shù)來完成,而對(duì)資源池的管理則可使用seafile Server私有云存儲(chǔ)平臺(tái)軟件完成。
3)應(yīng)用層。通過終端軟件為用戶提供云存儲(chǔ)終端接口,方便用戶使用系統(tǒng)資源。
使用私有云存儲(chǔ)技術(shù)在我校搭建的云存儲(chǔ)平臺(tái)按3層結(jié)構(gòu)逐步建立,目前已經(jīng)投入使用,為4 000余名師生提供數(shù)據(jù)、資料存儲(chǔ)服務(wù)。平臺(tái)的搭建過程如下。
1)資源層構(gòu)建
根據(jù)高校的資金投入情況和未來數(shù)據(jù)中心建設(shè)的規(guī)模綜合考慮,我中心采用如下硬件配置。
服務(wù)器:專用機(jī)架式服務(wù)器(Intel Xeon*2,128 GB RAM)5臺(tái)
存儲(chǔ):高速多協(xié)議存儲(chǔ)100 T;
網(wǎng)絡(luò):核心層萬兆網(wǎng)絡(luò)。
2)平臺(tái)層構(gòu)建
平臺(tái)層構(gòu)建主要完成資源池建設(shè)和seafile Server安裝。資源池通常由多個(gè)擴(kuò)展單元組成,而擴(kuò)展單元通常由服務(wù)器和共享存儲(chǔ)組成。每個(gè)擴(kuò)展單元建議包含5-10臺(tái)虛擬服務(wù)器,并配置20 TB共享存儲(chǔ),如圖1所示。資源池建議至少包含3個(gè)擴(kuò)展單元。由于網(wǎng)絡(luò)通信的原因,最好不要跨廣域網(wǎng)構(gòu)建,否則大量的數(shù)據(jù)通信會(huì)對(duì)網(wǎng)絡(luò)造成很大的壓力,影響網(wǎng)絡(luò)傳輸?shù)男阅堋R虼?,一個(gè)云存儲(chǔ)系統(tǒng)可構(gòu)建有一個(gè)或多個(gè)資源池;而一個(gè)資源池一般只歸屬于一個(gè)云存儲(chǔ)系統(tǒng)內(nèi)。本案的資源池使用了VMware ESXi Server構(gòu)建。
圖1 資源池結(jié)構(gòu)
為每臺(tái)服務(wù)器安裝VMware ESXi,并在其中一臺(tái)服務(wù)器中安裝vCenter Server用于對(duì)物理服務(wù)器的統(tǒng)一管理。通過共享的SAN存儲(chǔ)架構(gòu),最大化地發(fā)揮虛擬架構(gòu)的優(yōu)勢(shì),在線地遷移正在運(yùn)行的虛擬機(jī)(VM-ware VMotion),進(jìn)行動(dòng)態(tài)的資源管理(VMware DRS)實(shí)現(xiàn)即插即用的數(shù)據(jù)中心。
Seafile server是基于Linux的開源軟件,可以安裝在一臺(tái)或多臺(tái)Linux服務(wù)器中。https://github.com/haiwen/seafile網(wǎng)站提供Seafile Server的免費(fèi)下載,其包括源碼版和編譯版兩個(gè)版本。如果通過源碼自己編譯安裝需要提前裝載支持類庫。
編譯后的版本可直接解壓安裝,其目錄結(jié)構(gòu)見圖2。
圖2 seafile目錄結(jié)構(gòu)
安裝前請(qǐng)確認(rèn)系統(tǒng)中裝有python2.7 python-setuptools python-simplejson python-imaging sqlite3軟件工具。安裝完成后分別啟動(dòng)seafile和seahub兩個(gè)服務(wù)即可。
3)應(yīng)用層構(gòu)建
Seafile應(yīng)用終端支持大多數(shù)的系統(tǒng)平臺(tái),如PC機(jī)的Windows、Linux、MAC OSX系統(tǒng);手機(jī)或平板電腦的Android和IOS系統(tǒng)都找到對(duì)應(yīng)的客戶端支持。只要在相應(yīng)系統(tǒng)上安裝其客戶端即可完成應(yīng)用層構(gòu)建,操作過程方便快捷,圖3為在windows系統(tǒng)seafile客戶端的頁面截圖。
基于seafile的高校私有云存儲(chǔ)平臺(tái),能夠?yàn)楦咝?shí)驗(yàn)中心提供一種快速高效、管理方便的數(shù)據(jù)存儲(chǔ)解決方案。同時(shí)其良好的擴(kuò)展性又滿足了高校以后擴(kuò)容的需求?;趕eafile實(shí)現(xiàn)的資源平臺(tái)滿足了高校群組管理、文件同步和在線協(xié)作等特殊要求,使學(xué)生實(shí)驗(yàn)數(shù)據(jù)保存、師生文件交互更加方便快捷。經(jīng)測(cè)試存儲(chǔ)平臺(tái)連續(xù)讀寫可達(dá)到600 MB/S以上,性能完全滿足實(shí)驗(yàn)中心的存儲(chǔ)性能需求。
圖3 seafile客戶端頁面
[1]朱洪松,黃芳棟.企業(yè)中的云存儲(chǔ)整合[J].計(jì)算機(jī)科學(xué),2011(10):920-923。
[2]孫福權(quán),張達(dá)偉,程 勛,等.基于Hadoop企業(yè)私有云存儲(chǔ)平臺(tái)的構(gòu)建[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào):自然科學(xué)版,2011(6):427-430.
[3]王勝川.基于云計(jì)算的存儲(chǔ)技術(shù)研究[J].石油工業(yè)計(jì)算機(jī)應(yīng)用,2011,4(2):45-46.
[4]朱曉蒙.基于云存儲(chǔ)的高校教育資源平臺(tái)[D].西安:西安科技大學(xué),2012.
[5]張 虎,李明東.云存儲(chǔ)技術(shù)及應(yīng)用[J].宜賓學(xué)院學(xué)報(bào),2012(12):1203-1205.