張娟
/中石化河南油田物探研究院
基于地震資料處理的lustre并行存儲系統的研究構建
張娟
/中石化河南油田物探研究院
隨著我院GPU集群的引進,迫切需要構建一個“優異的存儲系統”,兩者共同建設一個“高速運算、高速通訊、高速存儲”的地震勘探系統,解決長期困擾我院的勘探難題。本文通過Lustre技術研究,構建一個Lustre并行存儲系統,測試結果及生產應用驗證了該系統與GPU集群是一個完美的匹配,疊前時間偏移等耗時的技術納入常規化,進行規模化生產,解決了我院油氣勘探復雜構造成像難度大的的勘探難題。
Lustre;OSD;MDT
我院勘探任務主要在老區,老區勘探程度高,勘探面臨的對象復雜,且新區勘探開發難度大,勘探現狀需要采用多項高端地球物理成像技術,包括Kirchhoff疊前時間偏移、逆時偏移(RTM)等,有助于解決油氣勘探復雜構造成像難度大的問題,運算時間長卻是長期困擾我院的難題,為此,我院引進了GPU集群,將疊前時間偏移等耗時的技術納入常規化,進行規模化生產。
GPU集群具有高速運算、高速通訊和高度穩定的特征,要求高速存儲與之保持同步,建設一個“高速運算、高速通訊、高速存儲”地震勘探系統,才能解決我院勘探難題。本文采取開源的高性能分布式并行文件系統Lustre和低延遲、高帶寬的InfiniBand網絡實現“高速存儲”,Lustre確保存儲系統的內部數據的高速存取,InfiniBand確保存儲系統和GPU集群的高速數據通訊。
Lustre是應用廣泛的開源性的集群分布式并行文件系統,采用了數據和元數據分離技術、智能存儲技術和高速區域網技術,由OSD、MDD和client組成, OSD負責實際對象數據的存儲及智能管理,多個OSD以并行的方式被直接的訪問,增加更多的OSD會增加存儲的容量,同時線性增加數據吞吐量。MDD管理整個系統的命名空間、控制client與 OSD 上對象的交互,client和OSD直接進行實際對象數據的交互。client在需要訪問文件系統的文件數據時,先訪問MDS,獲取文件相關的元數據信息,然后就直接和相關的OSD通信,取得文件的實際數據。通過子網LNET實現文件系統的內部通訊。MDS、OSS和Client通過InfiniBand高速網相互通訊,連接成一個“高速存儲”的Lustre并行存儲系統。
2.1 OSD
OSD是一種網絡存儲磁盤設備,它有自己的磁盤、處理器、RAM存儲器和網絡接口。OSD用其自身的存儲器和處理器優化磁盤的數據分布并從磁盤預取數據。
OSD由OSS和OST構成,OSS提供了文件I/O服務和用來處理一個或多個當地OST的網絡請求。每個OSS節點可以有多個OST。OST負責實際數據的存儲,處理所有客戶端和物理存儲之間的交互。OST和實際的物理存儲設備之間通過設備驅動方式來實現交互。通過驅動程式的作用,Lustre能繼承新的物理存儲技術及文件系統,實現對物理存儲設備的擴展。
2.2 MDD
MDD存儲了文件系統的基本信息,負責管理整個系統的命名空間,維護整個文件系統的目錄結構、用戶權限,并負責維護文件系統數據的一致性。
MDD由MDS和MDT構成。Client通過MDS讀取保存到MDT上的元數據,得到文件信息,從OSS中得到數據。通過MDS的文件和目錄訪問管理,Lustre能夠控制Client對文件系統中文件和目錄的創建、刪除、修改,控制Client與 OSD 上對象的交互。
2.3 Client
Client通常是典型的集群計算節點,它們運行Lustre客戶端軟件并通過以太網或InfiniBand與Lustre 服務器進行通信。客戶端軟件由Lustre服務器和運行在計算節點上的應用程序之間的接口組成。為了使計算節點能夠直接從OSD讀、寫對象,必須配置一個文件系統。
2.4 Lustre
Lustre文件系統為其上層的應用提供一個透明的POSIX接口,它允許應用去執行標準的文件系統操作。文件系統在Client計算節點上為輸入的數據提供Caching以補充 OSD中的Cache。文件系統在每個對象的基礎上處理跨越多個OSD的對象的條帶。由于對象以并行的方式讀寫,條帶的寬度將直接與對象的帶寬相關。
2.5 Network
Lustre并行存儲系統是由LNET守護進程來控制網絡環境,Client通過LNET協議和MDS/OSS通信。通過Infiniband和客戶端計算節點、OSD、MDD進行物理互聯,Infiniband體系架構(IBA)的本質是把網絡技術引入I/O體系之中,形成一個“I/O交換網”。IBA物理構建減少了傳輸過程中對CPU的使用,硬件承擔許多I/O通信操作,減輕了CPU的負擔。因此,多個進程同時通信時,沒有相關的管理開銷,這是與現有通訊協議的一個主要不同之處。為了更好地支持現有網絡,Infiniband使用IPOIB提供了對IP網絡的支持。
在GPU集群的1個管理節點和9個計算節點上安裝Lustre客戶端,作為Lustre并行存儲系統的客戶端,使用5臺OSD、1臺MDD和Infiniband交換機共同構成140TB(裸盤)的Lustre并行存儲系統,可用存儲110TB。

表 3-1 存儲設備表

圖3-1 存儲系統物理連接圖
3.1 配置安裝
存儲系統的OSD、MDD、Client都安裝Lustre支持的Centos5.6 X86_64操作系統,存儲節點gfs01(MDD)包含兩個磁盤,sda為操作系統盤,sdb上100G分區作為mdt元數據存儲盤。gfs02-gfs06(OSD)等5個存儲節點都有兩個磁盤,sda為操作系統盤,sdb分出三個8T分區為OST數據存儲盤。在gpu00-gpu09等GPU集群節點上實現存儲系統的Client,安裝Lustre文件系統客戶端程序,并掛載Lustre文件系統。OSD、MDD、Client都需要經過內核編譯、驅動安裝與軟件安裝配置等實現并行存儲系統。
主要配置安裝內容如下:
(1)內核編譯:將lustre文件系統主程序及Infiniband驅動編譯進內核,以保證文件系統在高負荷運行情況下穩定使用。

(2)驅動安裝:陣列卡驅動在內核編譯時已被自動加載進去。以下是Infiniband網口驅動配置內容。

(3)軟件安裝:lustre軟件包和內核版本有非常嚴格的對應關系,根據實際內核版本選擇軟件包。內核編譯包括lustre主程序和lustre內置文件系統軟件ldiskfs。

(4)格式化用軟件工具e2fsprogs。

(5)系統配置:Lustre文件存儲系統是由LNET守護進程來控制網絡環境,LNET是Lustre的網絡子系統。通過修改/etc/modprobe.conf文件配置LNET參數。

(6)MDT、OST和Client的創建。

3.2 性能測試
1個客戶端讀寫數據時,文件系統讀寫速度可達到999MB/s。

圖3-2 單客戶端讀寫性能
2個客戶端同時讀寫同一個數據時,總速度可達1924MB/s,每個客戶端讀寫速率在511MB/s與987MB/s之間,隨著客戶端數目增加,幾乎感受不到彼此的操作,反映了lustre并行存儲系統優異的并行性能。

圖3-3 雙客戶端讀寫性能
對我院某地區達330平方公里三維逆時偏移處理測試,分選12TB輸出數據,抽取道集,只用了不到5小時完成,證明數據存儲的方式是合理的,合并數據的效率可以達到應用要求。
3.3 生產應用
我院某地區逆時偏移項目:處理炮數49680、面積220km2、深度 12000米;處理前的原始數據2.4TB,過程數據48TB;該并行存儲系統中所有Client參與處理,所有存儲設備參與存取,逆時偏移耗時7天。

圖3-4 逆時偏后單炮

圖3-5 逆時偏前后剖面質量對比
lustre并行存儲系統的研究構建、性能測試及生產應用表明,該系統與GPU集群是一個完美的匹配,為我院建設了一個“高速運算、高速通訊、高速存儲”地震勘探系統,疊前時間偏移等耗時的技術納入常規化,進行規模化生產,解決了長期困擾我院的勘探難題。
[1]聶剛,卿秀華.基于對象存儲的Lustre文件系統的研究[J].信息技術.2007(09).
[2]賈志國,趙青蘋,董小社,吳維剛.InfiniBand:一種新型的高速互連網絡[J].計算機工程與應用.2003(09).
[3]張曉波.基于高性能集群計算的并行文件系統關鍵技術研究[D].西安電子科技大學 2011.
[4]董勇,周恩強,陳娟.基于Infiniband技術構建高性能分布式文件系統-Lustre.計算機工程與應用2005.
[5]錢迎進.大規模Lustre集群文件系統關鍵技術的研究.國防科學技術大學2011.