宋 龍,李延杰,韓錦寧
(1.65014部隊(duì),遼寧 沈陽 110000;2.61206部隊(duì),遼寧 大連 116023)
基于Lustre文件系統(tǒng)的分布式地理環(huán)境構(gòu)建
宋 龍1,李延杰2,韓錦寧1
(1.65014部隊(duì),遼寧 沈陽 110000;2.61206部隊(duì),遼寧 大連 116023)
通過分析分布式地理環(huán)境的特點(diǎn),將Lustre文件系統(tǒng)與分布式地理環(huán)境相結(jié)合,設(shè)計了一種基于Lustre的分布式戰(zhàn)場仿真系統(tǒng)結(jié)構(gòu),總結(jié)了該結(jié)構(gòu)在平臺擴(kuò)展、安全性、穩(wěn)定性等方面的優(yōu)勢。
虛擬地理環(huán)境;Lustre;分布式
虛擬地理環(huán)境構(gòu)成一個以視覺感受為主,包括聽覺、觸覺等的綜合可感知的環(huán)境,給用戶提供了一個可以用自然的方式與虛擬環(huán)境進(jìn)行交互操作的平臺,改變了人類除了親身經(jīng)歷就只能間接了解環(huán)境的方式,從而有效地擴(kuò)展了自己的認(rèn)知手段和領(lǐng)域[1]。這種與真實(shí)世界十分相似的環(huán)境為用戶提供了更廣闊的想象空間和更方便的操作方式。將虛擬地理環(huán)境與網(wǎng)絡(luò)相結(jié)合,將有利于更多的用戶體驗(yàn)操作,但由于受到網(wǎng)絡(luò)速度的限制或者是海量空間數(shù)據(jù)信息存儲的影響,研究應(yīng)用范圍較小,這并不能滿足廣大企業(yè)、團(tuán)體應(yīng)用的需求。雖然研究人員在瀏覽速度、服務(wù)器效率等方面作了很大的努力,也取得了眾多成果,但還是存在許多缺陷,例如建設(shè)成本較高,或是以一方面的犧牲來換取另一方面的提升。
高性能計算機(jī)系統(tǒng)在最近的10 a中有迅猛的發(fā)展,目前的集群系統(tǒng)已成為高性能計算機(jī)系統(tǒng)的發(fā)展趨勢。Lustre是近幾年來在大型集群環(huán)境中應(yīng)用最為廣泛的并行文件系統(tǒng)。在目前最快的前10名計算機(jī)系統(tǒng)中,有7個采用了Lustre文件系統(tǒng),而且包括排名前3位的系統(tǒng)。這也充分說明了Lustre文件系統(tǒng)的特性良好,其在擴(kuò)展性和穩(wěn)定性方面也較強(qiáng),十分適合應(yīng)用于分布式地理數(shù)據(jù)的存儲。當(dāng)前對Lustre文件系統(tǒng)的研究有很多。錢迎進(jìn)等對分布式文件系統(tǒng)Lustre分布式鎖管理器進(jìn)行改進(jìn),不僅提高了I/O性能,降低了訪問延遲,而且提高了文件鎖服務(wù)的可靠性[2];熊安萍等人也對分布式鎖機(jī)制進(jìn)行了較深入的研究[3];關(guān)于將分布式文件系統(tǒng)應(yīng)用于地理信息數(shù)據(jù)方面,李井杰等人主要研究了使用DFS分布式文件系統(tǒng)進(jìn)行數(shù)字化生產(chǎn)管理的方法,提高了局域網(wǎng)內(nèi)分散地理信息數(shù)據(jù)資源的管理能力[4];陰桂梅主要是將云計算應(yīng)用在分布式地理信息系統(tǒng)中,建立了基于Google App Engine系統(tǒng)的分布式地理信息系統(tǒng)體系結(jié)構(gòu)[5]。
Lustre文件系統(tǒng)是Cluster File Systems公司開發(fā)的基于對象的網(wǎng)絡(luò)存儲文件系統(tǒng),它所關(guān)注的焦點(diǎn)是集群文件系統(tǒng)的性能(performance)和可伸縮性(scalability)[6]。
Lustre將系統(tǒng)中的節(jié)點(diǎn)按功能劃分為3種:Client、OST(object storage targets)和MDS(meta-data service)(如圖1)。物理上任一節(jié)點(diǎn)都可充當(dāng)其中一種或多種角色,如一個節(jié)點(diǎn)既可以是Client又可以是OST。Lustre設(shè)計采用客戶/服務(wù)器模式,即將Client的一次I/O請求分散到多個OST,各OST節(jié)點(diǎn)上的服務(wù)進(jìn)程并行訪問本地磁盤后,再將數(shù)據(jù)返回。所有并行文件的管理由MDS節(jié)點(diǎn)承擔(dān)[7]。
圖1 Lustre文件系統(tǒng)結(jié)構(gòu)[8]
Lustre是公開源碼的文件系統(tǒng),遵循GNU的GPL協(xié)議,它具有以下優(yōu)勢:
1)分布式元數(shù)據(jù)。NAS文件系統(tǒng)使用單一的或者集中的文件服務(wù)器作為元數(shù)據(jù)管理器,而一些SAN文件系統(tǒng)采用的是集中的鎖管理器,這些方式都會使元數(shù)據(jù)的管理成為一個瓶頸問題。Lustre文件系統(tǒng)沒有其他存儲系統(tǒng)的元數(shù)據(jù)管理器瓶頸問題,它可以將MDS分離出來,將90%左右的元數(shù)據(jù)管理工作交給OST完成,并且該文件系統(tǒng)可以支持多個OST。在Lustre1.4.2以前,最多可以支持200個OST;Lustre1.4.2就已經(jīng)可以支持512個OST。良好的元數(shù)據(jù)管理手段,也使得系統(tǒng)的性能得到了很大的提升。
2)智能化。因?yàn)閷鹘y(tǒng)文件系統(tǒng)中的存儲管理組件下放到OST中,使得OST具有了強(qiáng)大的管理功能,可以簡化系統(tǒng)存儲管理的任務(wù)和數(shù)據(jù)優(yōu)化分布的任務(wù)。新增的存儲容量可以自動合并到存儲系統(tǒng)中,將負(fù)載分布到多個智能的OST中,并用網(wǎng)絡(luò)和軟件將它們有機(jī)結(jié)合起來,消除了不可擴(kuò)展問題。如果Lustre文件系統(tǒng)沒有足夠的存儲處理能力,可以增加OST,確保線性增加性能。
3)并行數(shù)據(jù)訪問。每個用戶通過專門的對象協(xié)議與元數(shù)據(jù)服務(wù)器和OSS進(jìn)行通信,從而讀取Lustre中的文件,并允許從多個OST中進(jìn)行并行讀寫,極大地提高了單個節(jié)點(diǎn)用戶的吞吐率,同時用戶訪問文件系統(tǒng)中的數(shù)據(jù)也相當(dāng)于處理本地磁盤中的數(shù)據(jù)一樣方便。從整體上來說,單個Lustre文件系統(tǒng)支持的用戶數(shù)量已有數(shù)千個。
4)安全。傳統(tǒng)的存儲系統(tǒng)通常依賴于Client的身份認(rèn)證和私有的網(wǎng)絡(luò)確保系統(tǒng)安全。基于對象存儲的Lustre文件系統(tǒng)在每個級別都提供安全功能,主要包括存儲設(shè)備的身份認(rèn)證、計算結(jié)點(diǎn)的身份認(rèn)證、計算結(jié)點(diǎn)命令的身份認(rèn)證、所有命令的完整性檢查、基于IPSec的私有數(shù)據(jù)和命令等。這些安全級別可以確保用戶使用更高效、更易獲得的網(wǎng)絡(luò),如以太網(wǎng)等。
虛擬地理環(huán)境中主要包含了地形數(shù)據(jù)和紋理數(shù)據(jù)等。這些數(shù)據(jù)是所有其他內(nèi)容進(jìn)行顯示、交互、操作的基礎(chǔ)。當(dāng)需要展示的地形環(huán)境范圍較大時,這部分基礎(chǔ)數(shù)據(jù)將占據(jù)很大一部分物理存儲空間?,F(xiàn)今,對地形、紋理的現(xiàn)勢性要求越來越高,將這部分?jǐn)?shù)據(jù)進(jìn)行分布式存儲,就顯得十分必要。根據(jù)分布式虛擬地理環(huán)境的功能需求,將其主要劃分為如圖2所示的4個模塊。
圖2 分布式地理環(huán)境構(gòu)成方式
1)總體控制模塊。分布式地理環(huán)境可以根據(jù)實(shí)際應(yīng)用情況,調(diào)度數(shù)據(jù)的存儲、顯示以及其他一些功能,保證分布在不同位置的服務(wù)端與客戶端能夠協(xié)調(diào)一致。一旦出現(xiàn)不一致或其他意外情況,也可以由這一模塊進(jìn)行處理。
2)數(shù)據(jù)存儲模塊。該部分主要應(yīng)用Lustre文件系統(tǒng)對各種數(shù)據(jù)文件進(jìn)行存儲。通過采用該文件系統(tǒng)進(jìn)行數(shù)據(jù)的存儲,可以充分利用網(wǎng)絡(luò)的開放性,以及Lustre文件系統(tǒng)的安全和高效性,極大地方便了對虛擬地理環(huán)境的管理和使用。
3)數(shù)據(jù)顯示模塊。數(shù)據(jù)顯示模塊主要側(cè)重于為用戶提供虛擬地理環(huán)境的顯示、操作等功能,并可根據(jù)用戶的不同需求進(jìn)行定制。
4)其他功能模塊。根據(jù)用戶的不同需求,還可以設(shè)計其他額外的功能,如數(shù)據(jù)的分析、統(tǒng)計、查詢等。
在該分布式地理環(huán)境中,Lustre文件系統(tǒng)主要完成分布式地理環(huán)境中數(shù)據(jù)存儲模塊的工作,并以該文件系統(tǒng)為基礎(chǔ),負(fù)責(zé)所有地理數(shù)據(jù)的輸入輸出、數(shù)據(jù)調(diào)度管理、響應(yīng)客戶端的訪問請求等。其工作原理主要是在數(shù)據(jù)存儲模塊中啟動一個數(shù)據(jù)響應(yīng)服務(wù),當(dāng)客戶端的數(shù)據(jù)顯示模塊向元數(shù)據(jù)服務(wù)器提出數(shù)據(jù)請求時,元數(shù)據(jù)服務(wù)器在存儲服務(wù)器中查詢數(shù)據(jù),并控制多臺存儲服務(wù)器同時向客戶端發(fā)送數(shù)據(jù),完成數(shù)據(jù)請求。以該方式提供數(shù)據(jù)服務(wù)的主要優(yōu)勢有以下2點(diǎn):
1)數(shù)據(jù)傳輸安全。數(shù)據(jù)的請求和發(fā)送都是通過元數(shù)據(jù)服務(wù)器控制完成實(shí)現(xiàn)的,使得數(shù)據(jù)發(fā)送和傳輸過程有一定的穩(wěn)定性保障,當(dāng)部分存儲服務(wù)器出現(xiàn)問題時,還可以通過元數(shù)據(jù)服務(wù)器控制啟動備份的存儲服務(wù)器來完成數(shù)據(jù)傳輸工作。
2)工作效率高。元數(shù)據(jù)服務(wù)器只負(fù)責(zé)數(shù)據(jù)請求響應(yīng),而數(shù)據(jù)的發(fā)送是由多臺存儲服務(wù)器完成的,這樣可以保證高效率地完成多用戶的數(shù)據(jù)請求過程,而不影響數(shù)據(jù)發(fā)送進(jìn)程,提高了工作效率。
系統(tǒng)環(huán)境:3節(jié)點(diǎn)架構(gòu),1臺客戶端(CLS),2臺元數(shù)據(jù)服務(wù)器(MDS)(其中1臺作為備份),2臺對象存儲服務(wù)器(OSS),設(shè)置1臺作為總控制端(如圖3)。
圖3 試驗(yàn)系統(tǒng)架構(gòu)
操作系統(tǒng):3臺機(jī)器操作系統(tǒng)統(tǒng)一(Red Hat Enterprise Linux AS4 UP2,2.6.9-22.EL),選擇完全安裝。安裝Lustre相關(guān)rpm包,本次測試安裝1.60版本,嚴(yán)格按照文件系統(tǒng)規(guī)定,依次安裝文件。
模塊配置:編修grub.conf文件,啟動Lustre補(bǔ)丁內(nèi)核。
創(chuàng)建并且啟動文件系統(tǒng),在MD服務(wù)器上執(zhí)行以下操作:
mkfs.lustre --fsname=testfs --mdt --mgs /dev/sdb1
mkdir -p /mnt/test/mdt
mount -t lustre /dev/sda1 /mnt/test/mdt
在OS 服務(wù)器上執(zhí)行以下操作:
mkfs.lustre --fsname=testfs --ost --mgsnode =MDS@tcp0 /dev/sdb2
mkdir -p /mnt/test/ost0
mount -t lustre /dev/sdb2 /mnt/test/ost0
在客戶端服務(wù)器上執(zhí)行以下操作:
mkdir -p /mnt/testfs
mount -t lustre MDS@tcp0:/testfs /mnt/testfs
可以看到,客戶端已經(jīng)掛載了Lustre文件系統(tǒng),也可以同樣用OS服務(wù)器掛載。通過客戶端上掛載的文件系統(tǒng)創(chuàng)建一個文件夾,并在OSS服務(wù)器上掛載后也能看見相同的文件。這些操作都可以通過控制端統(tǒng)一完成。
本文分析了目前分布式地理環(huán)境發(fā)展的一些不足,通過總結(jié)Lustre文件系統(tǒng)的優(yōu)勢,將該文件系統(tǒng)引入到分布式地理環(huán)境中。應(yīng)用Lustre文件系統(tǒng),不但可以在系統(tǒng)兼容性方面帶來更多便利,而且該文件系統(tǒng)本身所具備的備份機(jī)制和安全機(jī)制,也極大地提高了整個分布式地理環(huán)境數(shù)據(jù)存儲和數(shù)據(jù)服務(wù)的穩(wěn)定性。另外,Lustre文件系統(tǒng)以開源的Linux操作系統(tǒng)為平臺開發(fā),主要以網(wǎng)絡(luò)應(yīng)用為基礎(chǔ),在未來也必將有更加廣泛的應(yīng)用前景。從某種角度上看,Lustre在技術(shù)發(fā)展上也存在著一些不足,主要體現(xiàn)在對Windows平臺的兼容性方面。Lustre文件系統(tǒng)從誕生開始就只應(yīng)用在Linux平臺上,而目前的廣大用戶還是以Windows操作系統(tǒng)為主,因此將已開發(fā)的軟件平臺進(jìn)行整合還存在一定的難度。但由于Linux無論在高性能計算還是在通用事務(wù)處理領(lǐng)域的發(fā)展都有明顯的上升趨勢,在未來的應(yīng)用中,Lustre文件系統(tǒng)仍然有很好的發(fā)展前景。
[1] 高俊,夏運(yùn)均,游雄,等.虛擬現(xiàn)實(shí)在地形環(huán)境仿真中的應(yīng)用[M].北京:電子工業(yè)出版社,1999
[2] 錢迎進(jìn),金士堯,肖儂.Lustre文件系統(tǒng)I/O鎖的應(yīng)用與優(yōu)化[J].計算機(jī)工程與應(yīng)用,2011(3):1-5
[3] 熊安萍,葛軍,鄒洋.Lustre文件系統(tǒng)中范圍鎖機(jī)制的應(yīng)用研究[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2011(4):242-246
[4] 李井杰,薛瑩,姚正明.DFS在地理信息數(shù)字化生產(chǎn)管理中的應(yīng)用[J].測繪與空間地理信息,2010(8):77-79
[5] 陰桂梅,劉耀軍,郭廣行.云計算在分布式地理信息系統(tǒng)中的應(yīng)用[J].山西電子技術(shù),2010(6):28-29
[6] 聶剛,卿秀華.基于對象存儲的Lustre文件系統(tǒng)的研究[J].信息技術(shù),2007(9):16-18
[7] 郭玉東.基于對象的網(wǎng)絡(luò)存儲[M] .北京:電子工業(yè)出版社,2007
[8] 周順坡,王楠.Lustre文件系統(tǒng)的管理與使用[J].高性能計算機(jī)技術(shù),2007(10):26-30
P208
B
1672-4623(2015)02-0073-03
10.3969/j.issn.1672-4623.2015.02.027
宋龍,工程師,研究方向?yàn)榫C合戰(zhàn)場環(huán)境仿真與虛擬現(xiàn)實(shí)。
2013-08-12。