日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

存储调研:BeeGFS并行文件系统体系结构

發布時間:2023/12/8 windows 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 存储调研:BeeGFS并行文件系统体系结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

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

1.BeeGFS操作系統兼容性

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

2.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中運行的一個內核模塊,必須編譯以匹配使用的內核。客戶端是GPL提供的開源產品。BeeGFS客戶端服務提供了一個正常的掛載點,使您的應用程序可以直接訪問BeeGFS存儲系統,客戶端包含兩個守護進程服務。

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

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

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

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

3.BeeGFS安裝和設置

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

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

4.BeeGFS調優和配置

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

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

5.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功能,可以廣泛兼容不同并行文件系統。

? ? ? BeeOND 聚合計算節點內部的性能和 SSD 容量,并在計算任務計算期間以 Burst Buffer的方式持續增加性能,這在云環境或者 scratch數據場景是非常有用的。接下來的時間,我們一起談談 BeeGFS 的其他特性,如配額、鏡像、網絡等特性。

6.BeeGFS 配額特性

? ? ? BeeGFS 配額支持基于用戶和組的配額,通過兩個步驟實現。第一步首先查詢用戶和組在 BeeGFS 上使用的數據量和塊文件數,第二步實施配額,允許定義用戶和組的配額限制。?目前只支持基與 ZFS使用的空間配額,而不支持 ZFS 用戶和組使用文件數配額。

? ? ? BeeGFS 配額系統需要使用存儲服務器 Target 目標上的底層本地文件系統(例如 XFS 和 EXT4)的配額信息。因此,存儲 Target目標的底層文件系統也需要支持配額跟蹤。在元數據 Target 目標上不需要配額支持。當啟用配額執行時, BeeGFS 管理守護程序會定期從 BeeGFS 存儲 Target 目標中收集配額信息,檢查是否超出的配額限制.

? ? ? BeeGFS 的內置配額功能跟蹤和執行基于用戶和組配額。如果要跟蹤使用的空間或基于子目錄樹的文件數量,您可能需要查看Robin hood 策略引擎, Robin hood 可以定期對文件系統進行并行掃描,并將發現的文件和目錄信息存儲在 SQL 數據庫中。一方面采用數據庫的各種查詢可以快速檢索結果。另一方面可以在 Robin hood 中定義某些事件的自動操作。

? ? ? 由于 BeeGFS 在元數據服務器(通常為閃存存儲)上保留所有掃描元數據,為了確保 Robin hood 的 SQL 數據庫不會降低掃描速度,建議將 Robin hood 數據庫存儲在閃存上。

7.BeeGFS的 Buddy 鏡像

? ? ? 從 2012.10 發行版開始, BeeGFS 提供對元數據和文件鏡像的支持。鏡像功能集成到 BeeGFS 服務中,因此該功能不需要單獨的服務或第三方工具支持。元數據鏡像和文件內容鏡像可以彼此獨立使用。

? ? ? ?從 BeeGFS v6.0 開始,元數據鏡像也以高可用性功能擴展,高可用性和據鏡像基于所謂的 Buddy 組實現。一般來說, Buddy 組是一對內部管理數據副本的兩個 Target 目標。

? ? ???存儲服務器 Buddy Mirroring 也可以與奇數個存儲服務器一起使用(偶數當時是可以的),這是因為 BeeGFS 的 Buddy 組由獨立的存儲 Target 目標組成,獨立于服務器的,如以下示例圖所示, 采用 3 個服務器和 2 個 Target 存儲目標,存儲 Buddy 組由不同服務器提供的 Target 目標組成,甚至可以由連接到同一服務器的 2 個 Target目標組成。

? ? ? 需要注意的是元數據服務器要求是偶數,在正常操作中,Buddy 組中的一個 Target 存儲目標(或元數據服務器)被認為是primary 的,而另一個是 secondary 的。更新操作將始終發送到primary 服務器負責鏡像過程。?文件和元數據采用同步鏡像方式完成,數據在兩個 Target 存儲目前完成后才返回客戶端。

? ? ? 如果 Buddy 組的 Primary 存儲目標或 Primary 元數據服務器無法訪問,它將被標記為 Offline,并切換到 Secondary 上。Secondary 將變成新的 Primary, 故障透明切換,改變的數據將同步到所有節點以證系統的一致性。

? ? ??默認情況下,新文件系統實例的鏡像功能是被禁用。可以使用命令行工具啟用鏡像功能。在啟用元數據或存儲鏡像之前,首先需要定義 Buddy 組,因為 Buddy 組是鏡像的基礎。

8.BeeGFS 支持 API 概述

? ? ? 除了 POSIX 接口外, BeeGFS 還提供了其他 API 來更好地控制數據存放位置,查詢附加信息或通過其他接口訪問數據。

  • 條帶化 API 允許應用程序開發人員創建具有單獨條帶模式的文件,這些文件將針對特定文件的訪問模式進行調整或調優。

  • 緩存 API 提供了在 BeeGFS 緩存文件系統(通常為 Beeond 實例)和全局BeeGFS 之間復制數據的功能。從緩存文件系統預取和刷新數據支持同步和異步方式。

  • Hadoop BeeGFS 連接器 API 為 BeeGFS 提供了 Hadoop 文件系統(HDFS)的支持功能,使得 Hadoop 應用程序開發人員可以使用通用 Hadoop API來訪問 BeeGFS

9.BeeGFS 系統配置要求

? ? ?目前,本地 BeeGFS Client 和服務器組件適用于 x86,x86_64 和 PowerPC/ Cell 架構上的 Linux 操作系統。一般來說, 所有 BeeGFS 組件都可以在單個機器上運行,甚至只有單個 CPU 內核,單個硬盤和 RAM 小于 1GB 規格。但實際運用中這可能不是你想做的,所以下面是一些關于硬件配置的建議。

存儲服務器配置

  • 存儲服務器應具有至少?4GB 的 RAM?以具有足夠的可用于緩存和客戶端連接緩沖區的內存。根據磁盤的實際類型和文件系統客戶端的數量,每個附加磁盤的?1GB RAM?通常是一個不錯的選擇。

  • 如果您使用傳統的 SATA 硬盤(即不是固態硬盤或快速 SAS 驅動器),則通常需要使用每個服務器至少有 8 個硬盤的 RAID

  • 即使存儲服務器任務通常不是非常 CPU 密集型, Linux 緩沖區高速緩存可以通過快速 RAID 陣列產生高 CPU 負載,因此在這里使用快速 CPU可以實現高吞吐量,特別是在高速網絡上通常是件好事。

  • 注意磁盤數量(整個系統和每個服務器),網絡互連帶寬和文件系統客戶端數量之間的平衡。(例如,根據您的用例,如果服務器僅配備 10Gb互連,則每個服務器使用超過 12 個硬盤驅動器可能無意義)。

元數據服務器配置

  • 如果您正在主要使用大文件,那么元數據服務器的工作不會太多,您可能只想在與存儲服務器和同一硬盤分區上運行的相同的計算機上運行它。

  • 在具有不同類型工作負載的群集上,您可能希望在存儲服務器上運行元數據服務守護程序(擁有大量元數據服務器,而不需要為專用計算機花費額外的資金),但是應該使用專用磁盤用于元數據存放。?由于元數據服務器正在進行大量的小型磁盤隨機訪問(例如,它們正在讀取和寫入大量小文件),因此如果兩者位于同一磁盤上,則可能會對存儲和元數據訪問產生顯著的性能影響,因此您可能希望在單獨的存儲上存放元數據。

  • 如果您有大量客戶端處理許多(小)文件,則元數據服務器上的 CPU 使用率可能會很高。因此,確保使用快速的 CPU 和快速磁盤(通常為 SSD)來保證元數據的低訪問延遲。

  • 與總存儲容量相比,元數據所需的空間量取決于實際使用情況(存儲的文件總數)。對于臨時文件系統,元數據所需的空間通常約為總存儲容量的 0.3%至 0.5%左右。

客戶端服務器配置

  • 客戶端不需要特定的 Linux 發行版,即使是最近的內核也可以自由使用。由于 BeeGFS 的客戶端組件設計非常輕便,因此沒有特殊的 RAM內存或 CPU 要求。

管理守護進程配置

  • 管理守護程序僅使用最少的 CPU 周期和內存。訪問管理守護程序與文件系統性能無關。只需在任何存儲/元數據服務器或群集主服務器上運行此守護程序。

  • Admon 守護程序經常存儲和查詢其內部數據庫中的大量值,因此它將運行一些存儲事務并使用適量的 RAM 和 CPU 周期。在任何其他存儲/元數據服務器計算機上運行它通常很好,但是您的集群主機可能是此守護程序更好的位置,以確保對文件系統性能沒有影響。

9.BeeGFS 支持的網絡類型

? ? ? BeeGFS 支持?TCP/IP 網絡、 InfiniBand 協議(基于 OFED verbs 框架)、 Omni-Path 和 RDMA over Converged Ethernet(RoCE)協議。存儲服務器和客戶端 Client 可以同時支持混合網絡請求(例如,存儲服務器配備 Infiniband 和以太網互連,一些客戶端 Client 通過本地 InfiniBand 連接,而其他的 Client 通過 TCP/IP 的 Ethernet進行連接)。

? ? ?如 果 主 連 接 路 徑 發 生 故 障 , 具 有 多 個 連 接 路 徑 ( 如InfiniBand 和以太網或多個以太網端口)的客戶端也可以接管實現網絡故障轉移。

10. 通過 NAS 導出 BeeGFS

? ? 在 BeeGFS 中可以導出成 SMB 或 CIFS 標準 NAS 文件系統。將 BeeGFS 客戶端主機配置為 Samba 服務器。通過在 BeeGFS 配置權限和掛載點。重新啟動 Samba 服務器服務,就可以從 windows Samba 客戶端訪問 BeeGFS 文件系統。通過 NAS 導出 BeeGFS

? ? ? 在 BeeGFS 中可以導出成 NFS 標準 NAS 文件系統。從 2014.01發行版開始, BeeGFS 支持 Linux 內核 NFS 服務器導出。?通過 NFS 導出 BeeGFS ,通常它比 Samba(SMB)具有更好的性能。為了以 NFS 方式提供文件,請將 BeeGFS 客戶端主機配置為 NFS 服務器,并通過 NFS重新導出 BeeGFS 客戶端掛載點。

11.BeeGFS 生態和合作

? ? ? 由于 BeeGFS 是免費的,因此其全球部署情況沒有得到精準的統計。 然而,全球約有 100 多個客戶使用的 BeeGFS 是得到Fraunhofer 的支持的(BeeGFS 由 Fraunhofer 高性能計算中心開發和維護,由 ThinkParQ 提供交付和服務支持)。其中包括大學和研究機構等學術用戶,以及金融或石油和天然氣行業的營利性公司,目前BeeGFS 已經得到全球合作伙伴的加盟和支持(如下所示)。

? ? ?值得注意的是全球 TOP500 排名的超算系統中,有多家就是采用BeeGFS,包括德國法蘭克福歌德大學的 Loewe-CSC 集群,奧地利維也納大學的維也納科學集群(安裝時排名為#56)(數據來源基維百科),以及挪威奧斯陸大學的?Abel 集群(安裝時排名為#96)。從現 BeeGFS在全球客戶群體來看,已經快速從教育科研行業滲透到金融或石油和天然氣等行業。

? ? ? BeeGFS 的輕量級架構設計和對現在高性能計算中對Burst Buffer 技術需求的精確把握,加上對開源趨勢和勢態的開懷擁抱將力助 BeeGFS 在商業上獲得成功。這種種跡象表明, BeeGFS 無疑將會是下一個高性能計算領域的 Lustre。

總結

以上是生活随笔為你收集整理的存储调研:BeeGFS并行文件系统体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。