頻道欄目
首頁 > 資訊 > 云計算 > 正文

[解析]BeeGFS將是高性能計算領域的一匹黑馬

17-06-30        來源:[db:作者]  
收藏   我要投稿

ThinkParQ成立于2013年底,由BeeGFS背后的一些關鍵人物組成,為BeeGFS客戶提供專業的支持,服務和咨詢。BeeGFS原名為FhGFS,是由Fraunhofer Institute為工業數學計算而設計開發,由于在歐洲和美國的中小型HPC系統性能表現良好,在2014年改名注冊為BeeGFS并受到科研和商業的廣泛應用。

BeeGFS既是一個網絡文件系統也是一個并行文件系統?蛻舳送ㄟ^網絡與存儲服務器進行通信(具有TCP/IP或任何具有RDMA功能的互連,如InfiniBand,RoCE或Omni-Path,支持native verbs 接口)。通過BeeGFS添加更多的服務器,其容量和性能被聚合在單個命名空間中。

BeeGFS是遵循GPL的“免費開源”產品,文件系統沒有許可證費用。無論誰想要自己使用。由ThinkParQ提供專業支持,系統集成商可以為客戶構建使用BeeGFS的解決方案。

BeeGFS操作系統兼容性

BeeGFS具備良好的兼容性,支持包括x86,x86_64,ARM和OpenPower等硬件平臺和RHEL、Scientific Linux、CentOS、SuSE linux Enterprise Server、SuSE Linux Enterprise Desktop、OpenSuSE、Debian和Ubuntu在內的Linux操作系統版本。

BeeGFS系統架構

BeeGFS實現了ObjectData和MetaData的分離。ObjectData是用戶希望存儲的數據,而MetaData是包括訪問權限、文件大小和位置的“關于數據的數據”,MetaData中最重要的是如何從多個文件服務器中找到具體對應的文件,這樣才能使客戶端獲取特定文件或目錄的MetaData后,可以直接與ObjectData服務器對話以檢索信息。

BeeGFS可以面向需要大型或快速存儲的每個人服務,如傳統領域是高性能、高吞吐量計算和大型研究數據。Object Storage Servers和MetaData Servers的數量可以彈性伸縮。因此,可以通過擴展到適當數量的服務器來滿足不同性能要求。

BeeGFS是一個基于Linux的文件系統,BeeGFS所有的部分(如客戶端,服務器)都在Linux操作系統下運行,到目前為止還不支持其他平臺。搭建一套BeeGFS至少需要管理服務器(MS)、對象存儲服務器(OSS)、元數據服務器(MDS)和文件系統Client四個主要組件和有兩個守護進程。

Helper-daemon守護進程,文件系統客戶端需要一個“helper-daemon”才能在客戶端上運行。

Admon守護進程在存儲集群中運行,并讓系統管理員更好地了解發生了什么,但它不是必需的組件,BeeGFS在沒有它的情況下也是完全可運行操作的。

在設計上,BeeGFS旨在與符合POSIX標準的本地文件系統(例如ext4,xfs或zfs)一起用于數據存儲。 這樣系統管理員可以選擇他們喜歡和熟練的本地文件系統,減少其他系統或工具的學習成本。

Management Server(MS)

系統中必須要有一個MS, BeeGFS安裝的所有配置文件必須指向同一個MS。MS維護所有文件系統組件的列表,包括Client,MetaData Servers,MetaData Targets,Storage Servers和Storage Targets。此外,MS具有正常、低和關鍵三個標簽選項來標記Storage Targets和MetaData Targets。當創建新文件時,這些標簽會影響目標選擇的方式,標簽是根據目標可用空間分配的。運行在MetaData Server上目標選擇器將優選標記為正常的目標。

MetaData Server(MDS)

MDS包含系統中Meta Data的信息。MetaData服務器無限制可擴展。每個MDS都有一個MetaData Target(MDT,存儲MDS的Meta Data)。MDT上文件系統的推薦選擇是ext4,因為它對小文件和小文件操作提供很好性能。MDT通常由SSD組成并推薦采用RAID1或RAID10進行RAID保護,選擇RAID5/6對元數據隨機小IO訪問模式將導致MetaData性能嚴重下降。

BeeGFS全局文件系統中的每個目錄都附加到處理其內容的一個MDS。如果目錄A的MetaData由MDS#1處理,則位于A中的文件的MetaData存儲在存儲#1上。由于將目錄分配給MDS是隨機BeeGFS可以有效利用大量的MDS。只要目錄數量明顯大于MDS的數量,則每個MDS上的分配的目錄數量和大致相等。

有一個例外,根級別目錄始終在MDS#1上,這樣就定義了一個入口點。頂級目錄具有指向MDS的鏈接,其中包含有關子目錄的信息。有了這個信息,客戶端可以走路徑目錄樹,找到負責特定目錄的MDS。與機械驅磁盤相比,SSD可以降低時延并提供大量的隨機IOPS,強烈推薦把SSD使用在MetaDataTarget上。

對于不同應用場景來說,線程的數量的選擇有沒有完美的建議,一方面,如果線程太多將浪費系統內存和CPU資源,并且可能會因為許多任務切換而對性能產生負面影響。 另一方面,線程太少限制了系統的性能。

ObjectStorage Server(OSS)

OSS是存儲文件內容的主要服務。每個OSS可能具有一個或多個Object Storage Targets(OST),OST可以是本地文件系統(如xfs,ext4或zfs)或LUN。典型的OST推薦6到12個硬盤并采用RAID6級別,因此具有36個驅動器的OSS可能會組成3個OST,每個OST都是帶有12個磁盤。

OSS是用戶空間啟動的完全多線程的守護進程。它將適用于任何符合POSIX標準的本地文件系統,底層文件系統可能根據工作負載或個人喜好和經驗來挑選。OSS線程數量取決于OSS服務的OST的性能和數量。與MDS不同,OST上的IO通常是大的順序IO。

BeeGFS的主要功能之一就是條帶,在BeeGFS文件系統中,每個目錄都有兩個非常重要的屬性,定義了這些目錄中的文件的處理方式。

numtargets定義文件創建的目標數量。如果選擇4,則每個文件將獲得4個OST,分配給該文件的數據存儲在這些OST中。

chunksize指定在客戶端移動到下一個目標之前,在該分配的目標OST上存儲多少數據。

文件條帶的目標是提高單個文件的性能以及容量,假設OST容量大小為30 TB,提供500MB/s性能,那么4個OST目標之間的文件大小可以增長到120TB,并以2 GB/s進行訪問。

文件系統客戶端(Client)

BeeGFS客戶端是在Linux中運行的一個內核模塊,必須編譯以匹配使用的內核?蛻舳耸荊PL提供的開源產品。BeeGFS客戶端服務提供了一個正常的掛載點,使您的應用程序可以直接訪問BeeGFS存儲系統,客戶端包含兩個守護進程服務。

beegfs-helperd守護程序為beegfs-client提供了一些輔助功能(DNS和寫日志文件功能等),它是由同一主機上運行的beegfs-client訪問,不需要任何其他配置。

beegfs-client加載客戶端內核模塊,如果需要,它將重新編譯內核模塊。重新編譯使用自動構建過程完成,該過程在內核版本更改時啟動。

為了展示BeeGFS存儲集群中通常存在哪些服務,前面分析都是基于所有服務都在不同的主機上運行 。

一般在小型應用場景,BeeGFS的相關服務(Client和Server組件)的任意組合(如上圖)也可以在同一臺機器上一起運行。當BeeGFS完全使用沒有獨立的專用存儲服務器時,我們稱之為“融合設備”。

BeeGFS安裝和設置

有兩種方式可以安裝BeeGFS,一種是基于GUI(使用圖形化Java界面),另一種是手動(使用shell命令)。

圖形化安裝是基于圖形化Java界面連接到BeeGFS Admon(Administration and Monitoring)服務實現。一般來說,無經驗的用戶建議基于GUI的安裝,但對老司機來說,手動安裝是最佳選擇,因為GUI不能提供手動安裝的完全靈活性。

BeeGFS調優和配置

BeeGFS的調優包含了存儲服務器格式化調優、元數據服務器調優、客戶端調優、條帶化、網絡(Infiniband和以太網)調優和高速緩存調優,具體請參考BeeGFS配置指導,這里不再贅述。

beegfs-ctl工具從默認位置讀取BeeGFS的配置文件(beegfs-client.conf),雖然該工具也可以在沒有客戶端配置文件的情況下使用,但在相應機器上存在這樣的基本客戶端配置時,通常更方便。

BeeOND Burst Buffer

BeeOND(BeeGFS On Demand)用來創建一個或多個BeeGFS實例來滿足云環境中臨時工作文件系統需求。另外,BeeOND在計算節點內部聚本地SSD或硬盤的性能和容量提供了額外的性能和Burst Buffer能力。

如今,大多數HPC集群系統使用專用全局并行文件系統提供高吞吐量,但是計算節點通常配備(或可以輕松配備)本地硬盤或固態硬盤,BeeOND就是很好利用特定計算任務的計算節點磁盤資源來提供更高的系統性能。

Beeond可以獨立于全局共享并行文件系統,這就意味著無論并行文件系統是BeeGFS還是其他技術都可以使用Beeond。Beeond使用時需要創建一個新的單獨文件系統掛載點。任何如cp或rync標準工具都可將數據寫入和遷出BeeOND,但Beeond軟件包本身包含一個并行copy工具,用于在BeeOND實例和另一個文件系統之間傳輸數據。

由于BeeOND啟動非常簡單,所以可以輕松將BeeOND與Torque或Slurm工作負載管理器集成,可以通過一個命令啟動和停止新的BeeGFS實例,所以當計算作業啟動時,您可以輕松地添加腳本命令,以便在作業完成時停止。另外,在計算節點使用BeeOND帶來了以下幾方面的優勢:

BeeOND很容易消除全局并行文件系統的IO重載和令人難以接受的浪涌性IO。無論如何,在作業運行時創建的臨時數據不必一定需要移動到全局持久并行文件系統中。即使在作業結束后,應該持久化保存的數據也可以更好地先存儲到Beeond實例中,然后以大塊的順序IO復制到全局持久并行文件系統中,獲得最大的帶寬。

在BeeOND上運行的應用程序不會干擾全局持久并行文件系統中的其他用戶,反過來,也可以在不受其他用戶影響的情況下獲得BeeOND提供的性能。

采用運行在SSD之上的BeeOND可以極大地加速高性能計算任務,結合多個計算節點的SSD不僅可以輕松實現高帶寬,還可以提供高IOPS性能,以便處理大文件小IO型的IOPS業務。

BeeOND Burst Buffer軟件直接部署在計算節點服務器上,不會增加任何硬件成本。

BeeOND在BeeGFS中呈現為一個標準的軟件包,可以通過使用發行版的包管理器進行安裝。BeeOND也是依賴BeeGFS服務器和客戶端組件,這種依賴體現在相應的包依賴關系,并將自動安裝。BeeOND基于計算節點在軟件層面實現了Burst Buffer功能,可以廣泛兼容不同并行文件系統。

相關TAG標簽
上一篇:公鑰加密算法那些事|RSA與ECC系統對比
下一篇:Solr初步探索(一)
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片