Lustre架構介紹的閱讀筆記-基礎知識

jackieathome發表於2024-04-06

本文是在閱讀Introduction to Lustre* Architecture的如下章節時的筆記。

  • Lustre – Fast, Scalable Storage for HPC
  • Lustre Scalable Storage
  • Lustre Building Blocks
  • Lustre Storage Scalability

Lustre software services are implemented entirely within the Linux kernel, as loadable modules.

Lustre作為Linux核心的模組,工作在核心態。
相對於其它儲存軟體,開發、除錯、定位問題時,困難程度會大一些,對參與相關的業務的開發人員、運維人員的技能和經驗有一定的要求。

A file in Lustre is comprised of a metadata inode object and one or more data objects.

在Lustre叢集中,一個檔案由一個後設資料物件和多個資料物件組成。

Lustre is a client-server, parallel, distributed, network file system.

關鍵資訊,如下:
CS模式,即客戶端、服務端模式,由多個客戶端和多個服務端組成。上層應用訪問儲存提供的服務時,需要整合客戶端,透過客戶端來訪問儲存伺服器的例項。
並行,即多個應用、多個客戶端可以和並行和儲存伺服器的例項通訊,各個業務操作之間沒有順序的依賴。多個檔案的訪問操作、單個檔案的不同部分的訪問操作,均可以同時執行。
分散式系統,客戶和儲存伺服器叢集均可以水平擴容,具備分散式系統的優點和約束。
NFS,即網路檔案系統,相容POSIX規範。

Lustre separates metadata (inode) storage from block data storage (file content).

儲存系統有三類職能:

  • 管理職能,管理叢集的後設資料和配置引數。
    • 叢集的後設資料,比如叢集中各節點,服務端節點、客戶端節點,儲存節點的容量等。
    • 配置引數,比如名稱空間、容量等。
  • 後設資料服務,管理目錄、檔案的後設資料。元比如:
    • 名稱
    • 許可權,比如uid/gid、UGO、ACL等
    • 屬性,比如時間類的屬性
      • crtime即檔案的建立時間
      • ctime即檔案的後設資料的變更時間
      • mtime即檔案的資料的變更時間
      • atime即檔案的最近訪問時間
    • 擴充套件屬性
    • 資料的分佈
  • 資料儲存服務,管理檔案的資料,檔案被切割為物件,分佈在叢集中的多個儲存服務節點上。

由上述分工可知,對於目錄、檔案的後設資料的操作,均可由後設資料服務實施,無需管理職能資料儲存服務參與。

This is the key concept of Lustre’s
design – separate small, random, IOPS-intensive metadata traffic from the large, throughputintensive, streaming block IO.

Lustre的設計思路,將檔案資料和檔案後設資料的訪問操作隔離,由不同的元件處理。這兩類資料有不同的訪問特徵。

  • 檔案後設資料的訪問,隨機、量小、時延敏感、IOPS要求高。
  • 檔案資料的訪問,流式、吞吐量敏感。

後設資料服務和資料儲存服務可以獨立擴容,依據不同的業務場景配置不同的數量比例。

承擔管理職能的服務,由MGS、MGT組成,MGS提供服務,MGT負責儲存資料。
承擔後設資料服務的服務,由MDS、MDT組成,MDS提供服務,MDT負責儲存資料。
承擔資料儲存服務的服務,由OSS、OST組成,OSS提供服務,OST負責儲存資料。

Lustre的客戶端,對客戶應用提供相容POSIX規範的API介面,因此客戶應用無需改造即可訪問儲存在Lustre叢集上的目錄、檔案。
Lustre的客戶端,與儲存服務端之間通訊時

  • 使用私有協議 LNetLustre Network protocol
  • 支援網路技術包括OPA/IB/Ethernet

In order to ensure that failover is handled seamlessly, data modifications in Lustre are
asynchronous and transactional. The client software maintains a transaction log.

原文中的客戶端,指的是部署在客戶應用節點上的Lustre戶端嗎?

All Lustre server types (MGS, MDS and OSS) support failover.

Lustre叢集中不存在單點故障,關鍵程序均有備份,遇到程序故障等現象時,均由後備接替服務,故障恢復時,實現客戶應用無感知的效果。

MGT、MDT支援使用LDISKFS或者ZFS作為後端儲存系統。
Lustre儲存叢集的技術規格項,如下:

  • 條帶的數量
  • 條帶的大小,包括最大值、最小值
  • 物件大小,最大值
  • 檔案大小,最大值
  • 檔案系統的容量,最大值
  • 單個目錄支援的檔案數量或者目錄數量,最大值
  • 檔案系統內支援的檔案數量,最大值
  • 檔名的長度,最大長度
  • 檔案的全路徑的長度,最大長度

上述技術規格項的具體取值和後端儲存的型別有關係。

相關文章