規劃GPFS
儘管您可以在設置GPFS配置後對其進行修改,但在安裝和初始設置之前需要考慮一些因素,這將使您獲得更高效且立即有用的文件系統。
在配置期間,GPFS要求您指定多個反映硬件資源和操作環境的操作參數。 在創建文件系統期間,您可以指定基於文件的預期大小的參數,也可以使默認值生效。
安裝工具包也可用於幫助在Linux節點上安裝GPFS。有關更多信息,請參見安裝工具包概述。
規劃GPFS包括:
- 硬件要求
- 軟件要求
- IBM Spectrum Scale產品版本
- 可恢復性注意事項
- GPFS集羣創建注意事項
- IBM Spectrum Scale許可證指定
- 磁盤注意事項
- 文件系統創建注意事項
硬件要求
您可以按照本主題中列出的步驟驗證硬件是否符合GPFS要求。
-
有關最新列表,請參閱IBM知識中心的IBM Spectrum Scale FAQ:
-
支持的服務器硬件
-
經過測試的磁盤配置
-
最大的集羣大小
-
協議的附加硬件要求
-
提供足夠的磁盤來包含文件系統。 磁盤可以是:
-
SAN連接到集羣中的每個節點
-
連接到一個或多個NSD服務器
-
直接連接的磁盤和連接到NSD服務器的磁盤的混合
有關其他信息,請參閱"網絡共享磁盤(NSD)創建注意事項"。
-
在進行基於網絡的NSD I/O時,GPFS在其守護進程之間傳遞大量數據。對於NSD服務器到客戶端通信,建議在下列情況下配置專用高速網絡,僅用於GPFS通信:
-
NSD磁盤配置有提供遠程磁盤功能的服務器。
-
多個GPFS集羣使用NSD網絡I/O共享數據。
有關其它信息,請參閱"磁盤注意事項"。
GPFS通信需要每個GPFS節點的靜態IP地址。 GPFS網絡不允許將地址傳輸到另一臺計算機的IP地址接管操作。 GPFS未使用的同一計算機中的其它IP地址可以參與IP接管。 爲了提供可用性或附加性能,GPFS可以使用通過使用交換機端口聚合(EtherChannel )或通道綁定等技術聚合多個網絡適配器而創建的虛擬IP地址。
集羣導出服務(CES)具有專用的網絡地址來支持SMB、NFS、對象和故障轉移或故障恢復操作。文件和對象客戶端使用公共IP訪問GPFS™文件系統上的數據。
有關其它信息,請參閱"IBM Spectrum Scale:管理指南"中的"CES網絡配置"。
軟件要求
GPFS規劃包括瞭解最新的軟件要求。
注意: 本主題列出了安裝成功後使用特定功能的附加軟件需求。它沒有列出安裝IBM Spectrum Scale軟件包的依賴項。
- AIX,Linux和Windows支持GPFS。
- 對於現有GPFS 3.5集羣,遠程羣集訪問需要OpenSSL。
- 在Linux節點上構建GPFS可移植層需要內核開發文件和編譯器實用程序。 每個受支持的Linux發行版所需的RPM或軟件包是:
– SLES Linux RPM包
-
kernel-default-devel
-
cpp
-
gcc
-
gcc-c++
-
binutils
– Red Hat Linux RPM包
-
kernel-devel
-
cpp
-
gcc
-
gcc-c++
-
binutils
– Ubuntu Linux 軟件包
-
linux-headers
-
cpp
-
gcc
-
g++
-
binutils
- 要使用活動文件管理(AFM),需要以下包:
nfs-utils
- 要使用CNFS,需要以下包:
ethtool
nfs-utils (在Ubuntu: nfs-common)
rpcbind
psmisc
iputils (在Ubuntu: iputils-arping)
- 要使用 memchconfig numaMemoryInterleave 參數,需要以下包:
numactl
- 要在Ubuntu Linux上使用 mmhealth 命令,需要以下包:
sqlite3
- 對於AIX和Linux上的IBM Spectrum Scale監視服務,需要以下包:
python 2.7或更高版本
注意: 建議在AIX上使用python 2.7.5或更高版本。 該軟件包是AIX Toolbox for Linux Applications的一部分。 但是,Linux或AIX不支持python 3.0。
- 要使用性能監視工具,需要以下軟件包:
– RHEL上的boost-regex
– SLES上的libboost_regex
– Ubuntu Linux上的libboost-regex-dev
要點:確保在安裝性能監視工具之前在系統上安裝了這些軟件包。
有關安裝先決條件的列表,包括那些特定於協議的前提條件,請參見"安裝先決條件"。
有關最新列表,請參閱IBM Knowledge Center中的IBM Spectrum Scale FAQ:
- AIX環境
- Linux發行版
- Linux內核版本
- Windows環境
可恢復性注意事項
健全的文件系統規劃需要幾個關於可恢復性的決策。做出這些決定後,GPFS參數使您能夠創建高可用性的文件系統,並從故障中快速恢復。
-
在磁盤級別,請考慮通過指定與每個磁盤關聯的故障組來準備用於文件系統的磁盤。 使用此配置,信息不易受單點故障的影響。 請參閱"網絡共享磁盤(NSD)創建注意事項"。
-
在文件系統級別,請考慮通過元數據和數據複製參數進行復制。 請參見"文件系統複製參數"。
此外,GPFS還提供多層保護,以防止各種類型的故障:
-
"節點故障"
-
"網絡共享磁盤服務器和磁盤故障"
-
"使用持續預留(PR)減少恢復時間"
節點故障
如果某個節點發生故障,GPFS將防止從故障節點繼續I/O,併爲故障節點重播文件系統元數據日誌。
GPFS通過稱爲磁盤租賃的GPFS特有的隔離機制,防止來自故障節點的I/O的繼續。當節點訪問文件系統時,它獲得允許提交I/O的磁盤租約。但是,當節點失敗時,該節點不能獲得或續訂磁盤租約。當GPFS選擇另一個節點爲故障節點執行恢復時,它首先等待,直到故障節點的磁盤租約到期。
這允許完成以前提交的I/O,並提供一致的文件系統元數據日誌。等待磁盤租約到期還可以避免後續恢復步驟中的數據損壞。
要減少磁盤租約到期所需的時間,可以使用持續預留(SCSI-3協議)。 如果啓用了Persistent Reserve(配置參數: usePersistentReserve ),則GPFS會通過屏蔽使用了名爲Persistent Reserve的磁盤子系統功能的故障節點來阻止I/O從故障節點繼續運行。 持續預留允許故障節點更快地恢復,因爲GPFS不需要等待故障節點上的磁盤租約到期。 有關其他信息,請參閱"使用持續預留減少恢復時間"。 有關從節點故障中恢復的詳細信息,請參閱"IBM Spectrum Scale:問題確定指南"中的"安裝和配置問題"。
在從節點故障恢復文件系統的過程中,I/O會受到暫時的影響。恢復涉及重建在故障時可能正在修改的元數據結構。如果故障節點在發生故障時充當文件系統管理器,則延遲會更長,並且與故障發生時文件系統上的活動級別成正比。在這種情況下,故障轉移文件系統管理任務自動發生在倖存節點上。
管理節點故障還需要適當調整解決方案的大小,以便集羣中的其餘節點能夠支持節點停機的情況,如計劃中的系統維護或在帶寬和吞吐量方面的非計劃節點故障。對於協議,這包括支持SMB、NFS或對象連接,如果某個節點發生故障,這些連接必須故障轉移到集羣中的另一個CES節點。
仲裁:
GPFS使用稱爲仲裁的集羣機制來在節點發生故障時保持數據一致性。
仲裁是根據少數服從多數原則運作的。這意味着在任何節點可以掛載和訪問文件系統之前,集羣中的大多數節點必須成功通信。這將使任何與集羣隔離的節點(例如,由於網絡故障)無法將數據寫入文件系統。
在節點故障情況下,需要維護仲裁以使集羣保持在線狀態。如果由於節點故障而未維護仲裁,GPFS將會澡其餘節點上卸載本地文件系統,並嘗試重新建立仲裁,此時文件系統將進行恢復。因此,必須仔細考慮仲裁節點集(有關其它信息,請參閱"選擇仲裁節點")。
必須在羣集內維護GPFS仲裁,GPFS才能保持活動狀態。如果仲裁語義被破壞,GPFS將執行恢復以嘗試再次達到仲裁。GPFS可以使用以下兩種方法中的一種來確定仲裁:
- 節點仲裁
- 帶有仲裁磁盤的節點仲裁
節點仲裁:
節點仲裁是GPFS的默認仲裁算法。
使用節點仲裁:
-
仲裁被定義爲GPFS集羣中_顯式定義_仲裁節點的一半加一。
-
無默認的仲裁節點; 您必須指定哪個節點具有此角色。
例如,在圖23中,有三個仲裁節點。在此配置中,只要有兩個仲裁節點可用,GPFS就保持活動狀態。
圖23.使用節點仲裁的GPFS配置
帶有仲裁磁盤的節點仲裁:
_ _ 在小型GPFS集羣上運行時,您可能希望在只有一個倖存節點的情況下使集羣保持聯機狀態。
_ _ 要實現此目的,您需要在仲裁配置中添加仲裁磁盤。 只要您可以訪問大多數仲裁磁盤,帶有仲裁磁盤的節點仲裁允許您使用少至一個可用的仲裁節點運行(請參閱圖24)。 啓用帶有仲裁磁盤的節點仲裁需首先將一個或多個節點指定爲仲裁節點。 然後使用 mmchconfig 命令中的 tiebreakerDisks 參數將一到三個磁盤定義爲仲裁磁盤。 您可以將任何磁盤指定爲仲裁盤。
當使用帶有仲裁磁盤的節點仲裁時,集羣節點和仲裁磁盤都有特定的規則。
集羣節點規則:
- 最多有八個仲裁節點。
- 所有仲裁節點都需要訪問所有仲裁磁盤。
- 在使用傳統的基於服務器(非CCR)配置存儲庫時,您應該將主和從集羣配置服務器作爲仲裁節點包括在內。
- 您可能擁有無限數量的非仲裁節點。
- 如果網絡連接失敗,導致仲裁丟失,並且仲裁是由仲裁磁盤維護的,則使用以下原理重新建立仲裁。如果一個組有集羣管理器,它就是"倖存者"。如果集羣管理器與少於 minQuorumNodes 配置參數定義的最小數量的仲裁節點進行通信,則可以放棄其角色。在這種情況下,具有最少仲裁節點數的其它組(如果存在)可以選擇新的羣集管理器。
更改仲裁語義:
使用羣集配置存儲庫(CCR)存儲配置文件時,無論仲裁語義如何,仲裁節點總數限制爲8,但可以通過發出 mmchconfig tiebreakerDisks 命令隨時啓用或禁用仲裁磁盤的使用。 更改將立即生效,並且在進行此更改時無需關閉GPFS。
當使用傳統的基於服務器的(非CCR)配置存儲庫時,可以定義8個以上的仲裁節點,但只有在沒有定義仲裁磁盤的情況下纔可以這樣做:
- 若要在基於服務器的(非CCR)配置存儲庫下配置8個以上的仲裁節點,必須禁用帶仲裁磁盤的節點仲裁併重新啓動GPFS守護進程。若要禁用帶仲裁磁盤的節點仲裁,請執行以下操作:
a.發出 mmshutdown -a 命令以關閉所有節點上的GPFS。
b.通過發出 mmchconfig tiebreakerdisks=no 來更改仲裁語義。
c.添加其它仲裁節點。
d.發出 mmstartup -a 命令以在所有節點上重新啓動GPFS。
- 如果刪除仲裁節點且新配置的仲裁節點少於8個,則可以將配置更改爲帶仲裁磁盤的節點仲裁。 要使用帶仲裁磁盤的節點仲裁,請執行以下操作:
a.發出 mmshutdown -a 命令以關閉所有節點上的GPFS。
b.刪除適當的仲裁節點,或者運行 mmchode --nonquorum 以便將它們放置到客戶端。
c.通過發出 mmchconfig tiebreakerdisks ="diskList"命令來更改仲裁語義。
- _ __diskLis_t包含仲裁磁盤的名稱。
- 該列表包含磁盤的NSD名稱,最好是一個或三個磁盤,用分號(;)分隔並用引號括起來。
d.發出 mmstartup -a 命令以在所有節點上重新啓動GPFS。
仲裁磁盤規則:
- 您可以擁有一個,兩個或三個仲裁磁盤。 但是,您應該使用奇數個仲裁磁盤。
- 在互連失敗後出現的仲裁節點組中,只有那些可以訪問大多數仲裁磁盤的人纔可以成爲倖存者組的候選者。
- 仲裁磁盤必須連接到所有仲裁節點。
- 在基於CCR的羣集中,添加仲裁磁盤時:
– 如果仲裁磁盤是文件系統的一部分,則GPFS應該啓動並運行。
– 如果仲裁磁盤不是文件系統的一部分,則GPFS可以正在運行或關閉。
在圖24中,GPFS保持活動狀態,只有一個可用的仲裁節點和兩個可用的仲裁緩衝磁盤。
圖24 使用帶仲裁磁盤的節點仲裁的GPFS配置
當仲裁節點檢測到網絡連接丟失時,但在GPFS運行決定該節點是否將保留在集羣中的算法之前, tiebreakerCheck 事件將被觸發。此事件僅在使用帶仲裁磁盤的仲裁節點的配置中生成。它還會由質詢-響應線程週期性地在集羣管理器上觸發,以驗證節點是否仍然可以繼續作爲集羣管理器。
選擇仲裁節點:
要使用有效的仲裁節點配置系統,請遵循以下規則。
- 選擇可能保持活動狀態的節點
– 如果某個節點可能重新啓動或需要維護,請不要將該節點選爲仲裁節點。
- 選擇具有不同故障點的節點,例如:
– 位於不同機架上的節點
– 連接到不同電源面板的節點
- 您應該選擇GPFS管理和服務功能所依賴的節點,例如:
– 主配置服務器
– 從配置服務器
– 網絡共享磁盤(NSD)服務器
- 選擇奇數個節點作爲仲裁節點
– 建議的最大值爲八個仲裁節點。
- 擁有大量仲裁節點可能會增加啓動和故障恢復所需的時間。
– 擁有七個以上的仲裁節點並不能保證更高的可用性。
– 所有仲裁節點都必須能夠訪問所有仲裁磁盤。
網絡共享磁盤服務器和磁盤故障
數據變得不可用的三個最常見原因是磁盤故障、無冗餘的磁盤服務器故障以及磁盤路徑故障。
如果出現GPFS無法讀取或寫入磁盤的磁盤故障,GPFS將停止使用該磁盤,直到它恢復到可用狀態。您可以通過以下方法防止磁盤故障導致的數據可用性損失:
- 利用獨立磁盤冗餘陣列(RAID)設備提供的硬件數據保護(參見圖25)
圖25. 用於GPFS文件系統的高可用SAN配置示例
- 利用GPFS數據和元數據複製功能(見"增加的數據可用性")以及故障組的指定(參見"網絡共享磁盤(NSD)創建注意事項"和圖26)
圖26.使用GPFS複製進行配置以提高可用性
建議您將RAID視爲數據的第一級冗餘,並在需要額外保護的情況下添加GPFS複製。
如果發生了導致GPFS客戶端無法再與提供遠程訪問磁盤的節點聯繫的NSD服務器故障,則GPFS將停止使用該磁盤。通過在多個NSD服務器節點上使用公共磁盤連接併爲每個公共磁盤指定多個網絡共享磁盤(NSD)服務器,可以防止失去NSD服務器的可用性。
注意: 如果磁盤路徑出現故障,GPFS將報告磁盤故障並將磁盤標記爲 down 。 要使磁盤重新聯機,請首先按照存儲供應商提供的說明確定並修復故障。
防止由於路徑故障而導致的數據可用性損失
通過執行以下操作,可以防止因磁盤路徑故障而導致數據可用性丟失:
-
爲每個磁盤創建多個NSD服務器
由於GPFS確定文件系統中磁盤的可用連接,因此建議您始終爲每個磁盤定義多個NSD服務器.GPFS允許您爲每個NSD定義最多八個NSD服務器。 在已定義NSD服務器的SAN配置中,如果物理連接斷開,GPFS將動態切換到下一個可用的NSD服務器(如服務器列表中所定義)並繼續提供數據。 當GPFS發現路徑已修復時,它將返回本地磁盤訪問。 這是默認行爲,可以通過指定文件系統掛載選項來更改。 例如,如果您從不希望節點使用磁盤的NSD服務器路徑,即使本地路徑失敗,也可以將 -o useNSDserver 掛載選項設置爲 never 。您可以使用 mmchfs , mmmount , mmremotefs 和 mount 命令設置掛載選項。
重要提示 :在Linux on Z中,必須有多個到一個SCSI磁盤(LUN)的路徑,以避免單條路徑失敗。將路徑合併到一個磁盤是由內核完成的(通過device-mapper組件)。一旦路徑合併,就會創建一個新的邏輯多路徑設備,用於任何進一步的(管理)任務。(不能再使用單一路徑。)
多路徑設備接口名稱取決於發行版,並且是可配置的:
**SUSE **
/dev/mapper/Unique_WW_Identifier
例如:/dev/mapper/36005076303ffc56200000000000010cc
Red Hat
/dev/mapper/mpath*
要獲取有關多路徑設備的信息,請使用多路徑工具,如以下示例所示:
multipath -ll
系統顯示類似如下所示的輸出:
36005076303ffc56200000000000010cc dm-0 IBM,2107900
[size=5.0G][features=1 queue_if_no_path][hwhandler=0]
_ round-robin 0 [prio=2][active]
_ 1:0:0:0 sdb 8:16 [active][ready]
_ 0:0:0:0 sda 8:0 [active][ready]
請參閱IBM Knowledge Center中的IBM Spectrum Scale FAQ中的問題"設置DM-MP多路徑服務時的注意事項"。
設置DM-MP多路徑服務時的注意事項
要設置DM-MP多路徑服務,根據節點分佈和存儲控制器固件級別,您可能需要修改 /etc/multipath.conf 文件以滿足各自的存儲要求。 可以從 /usr/share/doc 目錄複製 multipath.conf 文件的默認副本。
作爲示例,使用IBM產品DS3500(1746)、DS5020(1814)、DS4800(1815)和DS5300(1818)測試了以下屬性:
device {
vendor "IBM"
product "1746"
getuid\_callout "/sbin/scsi\_id -g -u -s /block/%n"
prio\_callout "/sbin/mpath\_prio\_rdac /dev/%n"
features "0"
hardware\_handler "1 rdac"
path\_selector "round-robin 0"
path\_grouping\_policy group\_by\_prio
failback immediate
rr\_weight uniform
no\_path\_retry fail
rr\_min\_io 1000
path\_checker rdac
}
注意
要進行GPFS故障轉移,必須執行以下步驟:
-
必須設置以下參數:
-
features "0"
-
failback immediate
-
no_path_retry fail
-
必須發出 mmnsddiscover -a 命令才能使NSD服務器重新發現磁盤。
另外,請參閱
-
有關詳細信息,請參閱每個發行版的多路徑文檔。 例如:
-
使用I/O驅動程序爲磁盤提供多條路徑以實現故障轉移
故障轉移是一種路徑管理算法,可提高設備的可靠性和可用性,因爲系統會自動檢測一個I/O路徑何時出現故障並通過備用路徑重新路由I/O.
使用持續預留(PR)減少恢復時間
持續預留(PR)提供了一種減少節點故障恢復時間的機制。
要啓用PR並獲得恢復性能改進,您的集羣需要特定的環境:
-
_ __所有_磁盤必須具有PR功能。要獲得受PR支持的設備的列表,請參閱IBM知識中心中的IBM Spectrum Scale FAQ中的這個問題。
-
在AIX上,所有磁盤都必須是hdisk。 從3.5.0.16開始,還可以將邏輯卷用作 descOnly 磁盤,而不禁用Persistent Reserve。 有關更多信息,請參閱IBM知識中心中的IBM Spectrum Scale FAQ。
在Linux上,通常所有磁盤必須是generic磁盤(/dev/sd*)或DM-MP(/dev/dm-*)磁盤。
但是,對於Z上的Linux,SCSI磁盤需要多路徑設備名稱,並且名稱取決於發行版,並且是可配置的。有關更多信息,請參見"防止由於路徑故障導致數據可用性損失"。
-
如果磁盤具有已定義的NSD服務器,則所有NSD服務器節點必須運行相同的操作系統(AIX或Linux)。
-
如果磁盤通過SAN連接到所有節點,則集羣中的所有節點必須運行相同的操作系統(AIX或Linux)。
要在使用PR時更快地恢復,請在mmchconfig命令上設置 failureDetectionTime 配置參數。 例如,爲了快速恢復,建議值爲10:mmchconfig failureDetectionTime = 10
必須通過在 mmchconfig 命令上指定 usePersistentReserve 參數來顯式啓用PR。如果設置usePersistentReserve=yes,GPFS將嘗試在所有具有PR功能的磁盤上設置PR。如果所有後續的NSD都具有PR功能,則它們都是啓用PR的。但是,僅在主集羣中支持PR。因此,從另一個集羣訪問支持PR的磁盤必須通過位於主集羣中的NSD服務器,而不是直接訪問磁盤(例如,通過SAN)。
GPFS集羣創建注意事項
使用 mmcrcluster 命令創建GPFS集羣。
在受支持的Linux發行版上,您可以使用安裝工具包創建GPFS集羣。 有關更多信息,請參閱"安裝工具包概述"。
表19詳細介紹了羣集創建選項,如何更改選項以及每個選項的默認值。
表19. GPFS集羣創建選項
選項 | 用於更改選項的命令 | 默認值 |
---|---|---|
"創建IBM Spectrum Scale集羣" | mmaddnode** mmdelnode** | 無 |
節點指定: manager 或 client 。 請參閱"創建IBM Spectrum Scale集羣" | mmchnode | client |
節點指定: quorum 或 nonquorum. 請參閱"創建IBM Spectrum Scale集羣" | mmchnode | nonquorum |
"遠程shell命令" | mmchcluster | /usr/bin/ssh |
"遠程文件複製命令" | mmchcluster | /usr/bin/scp |
"集羣名稱" | mmchcluster | 主GPFS集羣配置服務器的節點名稱。 |
集羣配置信息。 請參閱"IBM Spectrum Scale集羣配置信息" | mmchcluster | 啓用集羣配置存儲庫(CCR)。 |
GPFS管理適配器端口名稱。 請參閱"GPFS節點適配器接口名稱" | mmchnode | 與GPFS通信適配器端口名稱相同。 |
GPFS通信適配器端口名稱。請參閱"GPFS節點適配器接口名稱"。 | mmchnode | 無 |
"集羣的UID域" | mmchconfig | GPFS集羣的名稱。 |
"自動啓動GPFS" | mmchconfig | no |
"集羣配置文件" | 不適用 | 無 |
GPFS節點適配器接口名稱
適配器接口名稱指的是GPFS用於與節點通信的主機名或IP地址。具體來說,主機名或IP地址標識GPFS守護進程或GPFS管理命令所通信的通信適配器。
管理員可以爲集羣中的每個節點指定兩個節點適配器接口名稱:
GPFS節點名
指定GPFS守護進程用於節點間通信的節點適配器接口名稱。
GPFS管理節點名
指定GPFS管理命令在節點之間通信時使用的節點適配器接口的名稱。如果沒有指定,GPFS管理命令將使用GPFS守護進程使用的相同節點適配器接口 。
如圖所示
這些名稱可以通過傳遞給 mmaddnode 或 mmcrcluster 命令的節點描述符來指定,以後可以使用 mmchnode 命令進行更改。
如果節點上有多個適配器,則可以通過 mmchconfig 命令上的 subnets 參數將此信息傳遞給GPFS。
創建IBM Spectrum Scale集羣
創建IBM Spectrum Scale集羣時,您可以創建一個或多個節點的小集羣,然後向其中添加節點,也可以一步創建一個包含所有節點的集羣。
有兩種方法可用於創建IBM Spectrum Scale集羣:
-
運行 mmcrcluster 命令以創建包含一個或多個節點的集羣,然後根據需要運行 mmaddnode 命令以將節點添加到集羣。 當您想要逐步構建集羣時,此方法更靈活,更合適。
-
運行 mmcrcluster 命令以創建集羣,同時將一組節點添加到集羣。 當您已經知道要添加到羣集的節點時,此方法會更快。
無論選擇哪種方法,都可以使用 mmaddnode 命令將節點添加到集羣,或使用 mmdelnode 命令刪除節點。 有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考指南"中的"mmcrcluster命令和mmaddnode命令"主題。
使用這兩個命令,可以指定節點描述符以標識要添加到集羣的節點。 您可以在命令行或單獨的節點描述符文件中列出節點描述符。 節點描述符具有以下格式:
NodeName:NodeDesignations:AdminNodeName
_NodeName_是必需參數。 _NodeDesignations_和_AdminNodeName_是可選參數。
NodeName
用於GPFS守護進程到守護進程通信的節點的主機名或IP地址。
用於節點的主機名或IP地址必須引用GPFS守護進程所使用的通信適配器。不允許使用別名。
您可以在NSD創建時指定IP地址,但它將被轉換爲必須與GPFS節點名稱匹配的主機名。您可以使用以下任何一種形式指定節點:
- 短主機名(例如,h135n01)
- 長主機名(例如,h135n01.frf.ibm.com)
- IP地址(例如,7.111.12.102)
注意 :主機名應始終包含至少一個字母字符,並且不應以連字符(-)開頭。
無論您指定哪種形式,其他它種形式都必須在DNS或hosts文件中正確定義。
NodeDesignations
一個可選的、連字符"-"分隔的節點角色列表。
-
manager | client – 指示節點是否是可以從中選擇文件系統管理器和令牌管理器的節點池的一部分。 默認值爲 client ,這意味着不在管理器節點池中包含該節點。 有關管理器節點功能的詳細信息,請參閱"文件系統管理器"。
通常,最好將多個節點定義爲管理器節點。您指定多少節點爲管理器取決於工作負載和您擁有的GPFS服務器許可證的數量。如果運行大型並行作業,則可能需要比支持Web應用程序的四節點集羣中更多的管理器節點。作爲指南,在大型系統中,每個GPFS文件系統應該有一個不同的文件系統管理器節點。
-
quorum | nonquorum – 此指定是否應將節點包括在派生仲裁的節點池中。默認爲 nonquorum 。您至少需要將一個節點指定爲仲裁節點。建議您至少將主集羣配置服務器和從集羣配置服務器以及NSD服務器指定爲仲裁節點。
您指定的仲裁節點數取決於您是使用節點仲裁還是帶仲裁磁盤的節點仲裁。 請參閱"仲裁"。
AdminNodeName
指定可選字段,該字段由管理命令用於在節點間通信的節點名組成。
如果未指定_AdminNodeName_,則使用_NodeName_值。
將節點添加到IBM Spectrum Scale集羣時,請遵循以下規則:
- 雖然節點可以從多個集羣掛載文件系統,但節點本身可能只駐留在單個集羣中。 可使用 mmcrcluster 或 mmaddnode 命令將節點添加到羣集中。
- 添加到羣集時,節點必須可用。 如果在發出命令時列出的任何節點不可用,則會顯示列出這些節點的消息。 您必須更正每個節點上的問題,然後發出 mmaddnode 命令以添加這些節點。
- 將至少一個但不超過七個節點指定爲仲裁節點。 不使用仲裁磁盤時,可以指定更多的仲裁節點,但如果可能,建議使用少於8個仲裁節點。 使用基於服務器的配置存儲庫時,建議您將集羣配置服務器指定爲仲裁節點。 您將擁有多少個仲裁節點取決於您是否打算使用帶有仲裁磁盤算法的節點仲裁或常規的基於節點的仲裁算法。 有關更多詳細信息,請參閱"仲裁"。
IBM Spectrum Scale集羣配置信息
您可以使用集羣配置存儲庫(CCR)來維護集羣配置信息。
使用羣集配置存儲庫(CCR)來維護羣集配置信息是一種很好的做法。 默認情況下, mmcrcluste r命令啓用CCR。 有關更多信息,請參閱_"IBM Spectrum Scale:命令和編程參考指南_"中的"mmcrcluster命令和mmchcluster命令"主題。
如果不使用集羣配置存儲庫(CCR),則必須將IBM Spectrum Scale集羣中的一個節點指定爲主集羣配置服務器,以維護配置信息。 最好還指定從集羣配置服務器。 如果主服務器出現故障而您沒有從服務器,則無法訪問羣集配置數據文件,這會導致您輸入的任何IBM Spectrum Scale管理命令失敗。 請注意以下信息:
-
當GPFS守護進程啓動時,至少必須可以訪問兩個GPFS集羣配置服務器中的一個。請參見"集羣配置數據文件"。
-
如果主服務器出現故障,您可以使用帶 -p 選項的 mmchcluster 命令將另一個節點指定爲主集羣配置服務器。 同樣,您可以使用-s選項的mmchcluster命令來定義從集羣配置服務器。
有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考指南"中的"mmcrcluster命令和mmchcluster命令"主題。
遠程shell命令
GPFS命令需要能夠跨集羣中的所有節點進行通信。 爲此,GPFS命令使用您在 mmcrcluster 命令或 mmchcluster 命令上指定的遠程shell命令。
默認的遠程shell命令是ssh。 您可以通過在 mmcrcluster 命令或mmchcluster命令上指定其完全限定路徑名來指定使用其他遠程shell命令。遠程shell命令必須遵循與 ssh 相同的語法,但它可以實現另一種的身份驗證機制。
包含UNIX和Windows節點的集羣必須使用ssh作爲遠程shell命令。 有關更多信息,請參閱"在Windows節點上安裝和配置OpenSSH"。
僅包含Windows節點的集羣可以使用GPFS附帶的 mmwinrsh 實用程序。 完全限定的路徑名是 /usr/lpp/mmfs/bin/mmwinrsh 。 有關配置Windows GPFS集羣的更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmwinservctl命令"。
默認情況下,您可以從集羣中的任何節點發出GPFS管理命令。 (可選)您可以選擇能夠運行管理命令的節點子集。 在任何一種情況下,您計劃用於管理GPFS的節點必須能夠以 root 用戶身份在羣集中的任何其他節點上運行遠程shell命令,而無需使用密碼並且不會產生任何無關的消息。 您也可以使用sudo包裝器來實現此目的。
有關其它信息,請參閱"IBM Spectrum Scale:管理指南"中的"管理GPFS文件系統的要求"。
遠程文件複製命令
GPFS命令必須在集羣中的所有節點上維護許多配置文件。 爲此,GPFS命令使用您在 mmcrcluster 命令或 mmchcluster 命令上指定的遠程文件複製命令。
默認的遠程文件複製程序是 scp 。 您可以通過在 mmcrcluster 命令或 mmchcluster 命令上指定其完全限定的路徑名來指定使用其它遠程文件複製命令。 遠程文件複製命令必須遵循與 scp 相同的語法,但它可以實現另一種身份驗證機制。
包含UNIX和Windows節點的羣集必須使用 scp 作爲遠程複製命令。 有關更多信息,請參閱"在Windows節點上安裝和配置OpenSSH"。
文件複製命令 rcp 不能在包含Windows Server節點的集羣中使用。 但僅包含Windows節點的集羣可以使用GPFS附帶的 mmwinrcp 實用程序。 完全限定的路徑名是 /usr/lpp/mmfs/bin/mmwinrcp 。 有關配置Windows GPFS集羣的更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmwinservctl命令"。
您計劃用於管理GPFS的節點必須能夠使用遠程文件複製命令將文件複製到(或從)集羣中的任何其它節點,並且不需要使用密碼也不產生任何無關的消息。
有關其它信息,請參閱"IBM Spectrum Scale:管理指南"中的"管理GPFS文件系統的要求"。
集羣名稱
通過在 mmcrcluster 命令上發出 -C 選項爲集羣提供名稱。
如果用戶提供的名稱包含點,則假定它是完全限定的域名。 否則,要在多集羣環境中使集羣名稱唯一,GPFS會附加主集羣配置服務器的域名。 如果未指定-C選項,則集羣名稱默認爲主集羣配置服務器的主機名。 通過在 mmchcluster 命令上發出 -C 選項,可以稍後更改集羣的名稱。
當GPFS文件系統被屬於其它GPFS集羣的節點掛載時,適用於集羣名稱。請參閱 mmauth 和 mmremotecluster 命令。
集羣的UID域
此選項是當遠程訪問文件系統時集羣的UD域。
" IBM Spectrum Scale:管理指南"和"IBM知識中心"中名爲"多羣集環境中GPFS UID映射"的IBM白皮書中進一步說明了此選項。
自動啓動GPFS
您可以指定在節點啓動時是否自動啓動GPFS守護進程。
GPFS是否自動啓動是使用 mmchconfig 命令的 autoload 參數來確定的。默認情況下,不會在所有節點上自動啓動GPFS。您可以通過使用 mmchconfig 命令指定 autoload=yes 來改變這種情況。這消除了在啓動節點時發出 mmstartup 命令啓動GPFS的必要。
autoload 參數可以爲集羣中的每個節點設置相同或不同的參數。例如,在正在進行維護的節點上設置 autoload=no 可能很有用,因爲操作系統升級和其它軟件常常需要多次重新啓動才能完成。
集羣配置文件
GPFS提供默認配置值,因此創建集羣不需要集羣配置文件。
您可以在創建羣集時提供可選的集羣配置文件。 如果您已根據以前的測試知道正確的參數值,或者要還原集羣並且具有適用於大多數系統的配置值的備份副本,則此可選文件非常有用。 但是,通常,在創建集羣時不使用此選項,並且可以在創建集羣后修改配置參數(使用 mmchconfig 命令)。
有關集羣配置文件的更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的 mmcrcluster -c _ConfigFile_選項的說明。
磁盤注意事項
爲IBM Spectrum Scale文件系統設計合適的存儲基礎設施是實現性能和可靠性目標的關鍵。 在決定使用哪種磁盤配置時,請考慮三個關鍵方面:基礎設施、性能和磁盤訪問方法。
基礎設施
- 確保您有足夠的磁盤來滿足預期的I/O負載。 在IBM Spectrum Scale術語中,磁盤可以是物理磁盤或RAID設備。
- 確保磁盤和網絡共享磁盤服務器之間具有足夠的連接(適配器和總線)。
- 確定您是否在IBM Spectrum Scale限制範圍內。 從GPFS 3.1開始,文件系統中磁盤最大數量的結構限制從2048增加到4096;但是,IBM Spectrum Scale仍然強制執行2048的原始限制。如果您的環境需要支持超過2048個磁盤,請聯繫 IBM支持中心討論增加強制限制。(但是,系統中的磁盤數量通常受IBM Spectrum Scale以外的產品的限制。)
- 要獲得使用IBM Spectrum Scale測試過的存儲設備的列表,請參閱IBM知識中心中的IBM Spectrum Scale FAQ。
- 對於Linux on Z,請參閱Linux on Z庫概述中的"設備驅動程序,功能和命令"中的"存儲"主題"DASD設備驅動程序"和"SCSI–over-FC設備驅動程序"。
磁盤訪問方法
-
確定磁盤的連接方式。 支持的磁盤連接類型包括以下配置:
-
所有磁盤都通過SAN連接到訪問文件系統的所有羣集中的所有節點
在此配置中,每個節點同時看到相同的磁盤並具有相應的磁盤設備條目。
-
每個磁盤連接到多個NSD服務器節點(最多八個服務器),如服務器列表中指定的那樣
在此配置中,連接到磁盤的單個節點執行到所有其它節點的數據傳送。此節點是NSD服務器列表中指定的第一個NSD服務器。可以在服務器列表中定義其它NSD服務器。擁有多個NSD服務器可以防止單個NSD服務器的丟失。當使用多個NSD服務器時,所有NSD服務器必須連接到相同的磁盤。在此配置中,所有非NSD服務器的節點都將通過局域網從服務器列表中的第一個NSD服務器接收數據。如果第一個NSD服務器失敗,列表中的下一個可用NSD服務器將控制數據分發。
-
SAN連接和NSD服務器配置的組合。
配置考慮:
– 如果節點具有到磁盤的物理連接並且該連接失敗,則節點將切換到使用指定的NSD服務器來執行I/O. 因此,建議您使用多個服務器定義NSD,即使所有節點都具有到磁盤的物理連接。
– 在無NSD服務器的情況下配置IBM Spectrum Scale磁盤會在磁盤的直接路徑丟失時停止提供數據。對於需要通過SAN提供的高速數據連接的節點,這可能是更可取的選擇,而不是低速網絡NSD服務器連接。使用MPI的並行作業通常具有這一特性。
– mmmount , mount , mmchfs 和 mmremotefs 命令上的 -o useNSDserver 文件系統掛載選項可用於指定磁盤發現,限制或消除從本地訪問到NSD服務器訪問的切換,或者相反。
- 決定是否使用存儲池來管理磁盤。
存儲池允許您以組的形式管理文件系統的存儲。 您可以根據性能,位置和可靠性等因素對存儲進行分區。 根據已定義的策略將文件分配給存儲池。
策略規定如下:
– 創建文件時將文件放在特定存儲池中
– 將文件從一個存儲池遷移到另一個存儲池
– 根據文件特徵刪除文件
有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"存儲池"。
磁盤注意事項包括:
- "網絡共享磁盤(NSD)創建注意事項"
- "NSD服務器注意事項"
- "文件系統描述符仲裁"
- 爲NSD準備直接存取存儲設備(DASD)"
網絡共享磁盤(NSD)創建注意事項
您必須首先使用 mmcrnsd 命令將每個磁盤定義爲網絡共享磁盤(NSD),以準備要與GPFS一起使用的每個物理磁盤。
在Windows上,GPFS僅從空磁盤驅動器創建NSD。 mmcrnsd 接受Windows_基本_磁盤或_未知/非初始化_磁盤。 它總是重新初始化這些磁盤,以便它們成爲具有單個_GPFS分區_的基本GPT磁盤。 NSD數據存儲在GPFS分區中。 這允許其他操作系統組件識別磁盤已被使用。 mmdelnsd 刪除 mmcrnsd 創建的分區表。
GPFS 4.1引入了新的NSD格式。新格式稱爲NSDv 2,舊格式稱爲NSDv 1。NSDv 1格式與4.1之前的GPFS版本兼容。最新的GPFS版本可以同時識別NSDv 1和NSDv 2格式的磁盤。
NSD v2格式具有以下優點:
-
在linux上,它包含一個分區表,這樣可以很容易地將磁盤識別爲GPFS設備
-
調整數據對齊,以支持具有4KB物理塊大小的磁盤
-
添加一些關鍵GPFS數據結構的備份副本
-
擴大一些保留區域,以適應未來的增長
管理NSD時,管理員無需手動選擇NSD格式。 GPFS將始終基於集羣的 minReleaseLevel 和文件系統版本創建和使用正確的格式。 當 minReleaseLevel (由 mmlsconfig 報告)小於4.1.0.0時, mmcrnsd 將僅創建NSD v1格式的磁盤。 當 minReleaseLevel 至少爲4.1.0.0時, mmcrnsd 將僅創建NSD v2格式的磁盤。 但是,在第二種情況下,當NSD添加到文件系統時,NSD格式可能會動態更改,以便NSD與文件系統版本兼容。
在Linux上,NSD v2格式化磁盤包含帶有單個分區的GUID分區表(GPT)。 GPT允許其他操作系統實用程序識別GPFS何時擁有磁盤,這有助於防止無意中的數據損壞。 運行 mmcrnsd 之後,像 parted 這樣的Linux實用程序可以顯示分區表。 將NSD v2格式的磁盤添加到3.5或更舊的文件系統時,其格式將更改爲NSD v1,並且分區表將轉換爲MBR(MS-DOS兼容)類型。
注意:未用完的持續預留(PR)密鑰可能會導致多路徑中的預留衝突等問題,從而導致I/O故障。 在這種情況下,有必要在全新安裝時清理未用完的PR密鑰。 有關詳細過程,請參閱"IBM Spectrum Scale:問題確定指南"中的"清除未用完的PR預留"。
** mmcrnsd** 命令需要將stanza文件作爲輸入。 有關詳細信息,請參閱"IBM Spectrum Scale:命令和編程參考"和"IBM Spectrum Scale:管理指南"中的以下主題:
- Stanza文件
- mmchdisk 命令
- mmchnsd 命令
- mmcrfs 命令
- mmcrnsd 命令
NSD服務器注意事項
如果您計劃使用NSD服務器遠程向其他它點提供磁盤數據,而不是將磁盤通過SAN連接到所有節點,則應考慮這些節點上的總計算和I/O負載。
-
您的網絡共享磁盤服務器是專用服務器還是您也將使用它們來運行應用程序? 如果您將擁有非專用服務器,請考慮在這些節點上運行時間要求較低的應用程序。 如果在網絡共享磁盤服務器上運行時間要求嚴格的應用程序,則處理來自其他節點的磁盤請求可能會與這些應用程序的需求衝突。
-
文件系統管理器的特殊功能會佔用額外的處理時間。 如果可能,請避免使用網絡共享磁盤服務器作爲文件系統管理器。 網絡共享磁盤服務器消耗可能影響文件系統管理器操作的內存和處理器週期。 請參閱"文件系統管理器"。
-
網絡共享磁盤服務所需的實際處理能力是應用程序I/O訪問模式,節點類型,磁盤類型和磁盤連接的函數。 您可以稍後在服務器上運行 iostat ,以確定您的訪問模式將在網絡共享磁盤服務器上承載多少負載。
-
在系統上提供足夠的磁盤和適配器,以產生所需的I/O帶寬。專用網絡共享磁盤服務器應該有足夠的磁盤和適配器來驅動您期望它們處理的I/O負載。
-
瞭解您的數據大約需要多少存儲容量。
您應該考慮在發生故障時在本地訪問和NSD服務器訪問之間切換的默認行爲。 要設置此配置,請使用 mmmount , mount , mmchfs 和 mmremotefs 命令的 -o useNSDserver 文件系統掛載選項:
-
指定磁盤發現行爲
-
限制或消除以下任一切換:
– 本地訪問到NSD服務器訪問
– NSD服務器訪問到本地訪問
如果您計劃使用NSD服務器遠程向其他它點提供磁盤數據,而不是將磁盤通過SAN連接到所有節點,則應考慮這些節點上的總計算和I/O負載。
-
您的網絡共享磁盤服務器是專用服務器還是您也將使用它們來運行應用程序? 如果您將擁有非專用服務器,請考慮在這些節點上運行時間要求較低的應用程序。 如果在網絡共享磁盤服務器上運行時間要求嚴格的應用程序,則處理來自其他節點的磁盤請求可能會與這些應用程序的需求衝突。
-
文件系統管理器的特殊功能會佔用額外的處理時間。 如果可能,請避免使用網絡共享磁盤服務器作爲文件系統管理器。 網絡共享磁盤服務器消耗可能影響文件系統管理器操作的內存和處理器週期。 請參閱"文件系統管理器"。
-
網絡共享磁盤服務所需的實際處理能力是應用程序I/O訪問模式,節點類型,磁盤類型和磁盤連接的函數。 您可以稍後在服務器上運行 iostat ,以確定您的訪問模式將在網絡共享磁盤服務器上承載多少負載。
-
在系統上提供足夠的磁盤和適配器,以產生所需的I/O訪問模式,節點類型,磁盤類型和磁盤連接的函數。 您可以稍後在服務器上運行 iostat ,以確定您的訪問模式將在網絡共享磁盤服務器上承載多少負載。
-
在系統上提供足夠的磁盤和適配器,以產生所需的I/O帶寬。專用網絡共享磁盤服務器應該有足夠的磁盤和適配器來驅動您期望它們處理的I/O負載。
-
瞭解您的數據大約需要多少存儲容量。
您應該考慮在發生故障時在本地訪問和NSD服務器訪問之間切換的默認行爲。 要設置此配置,請使用 mmmount , mount , mmchfs 和 mmremotefs 命令的 -o useNSDserver 文件系統掛載選項:
-
指定磁盤發現行爲
-
限制或消除以下任一切換:
– 本地訪問到NSD服務器訪問
– NSD服務器訪問到本地訪問
您應該考慮指定在允許文件系統裝入失敗之前等待NSD服務器聯機的時間,因爲服務器不可用。 mmchconfig 命令具有以下選項:
nsdServerWaitTimeForMount
當節點嘗試掛載其磁盤依賴於NSD服務器的文件系統時,此選項指定等待這些服務器啓動的秒數。 如果正在進行服務器恢復,則使用此選項指定的等待時間將在恢復完成後開始。
有效值爲0 - 1200秒。 默認值爲300.值爲零表示不進行等待。 檢查間隔是10秒。 如果 nsdServerWaitTimeForMount 爲0,則 nsdServerWaitTimeWindowOnMount 無效。
當守護進程延遲以進行安全恢復時,掛載線程會等待。 在恢復到期後等待允許掛載線程繼續執行後,等待NSD服務器啓動的掛載會繼續進行(此選項涵蓋此選項)。
注意:等待服務器的決定由nsdServerWaitTimeWindowOnMount選項控制。
nsdServerWaitTimeWindowOnMount
指定一個時間窗口(以秒爲單位),在此期間,掛載可以等待NSD服務器,如 nsdServerWaitTimeForMount 選項所述。窗口在建立仲裁時(在集羣啓動時或隨後),或在執行掛載所需的NSD服務器的最後已知故障時間時開始。
有效值爲1 - 1200秒。 默認值爲600.如果 nsdServerWaitTimeForMount 爲0,則 nsdServerWaitTimeWindowOnMount 無效。
當節點因任何原因被刪除後重新加入集羣時,該節點將重置其知道的所有故障時間值。 因此,當節點重新加入集羣時,它認爲NSD服務器未發生故障。 從節點的角度來看,舊故障不再相關。
** 注意:**
- 當節點重新加入集羣時,它會重置該集羣內其知道的所有故障時間。
- 由於重新加入羣集的節點會重置其在該羣集內的失敗時間,因此NSD服務器失敗時間也會重置。
- 當節點嘗試掛載文件系統時,GPFS首先檢查羣集形成條件。如果該檢查落在窗口外,那麼它將檢查窗口中的nsd服務器故障時間。
文件系統描述符仲裁
名爲_文件系統描述符_的GPFS結構最初被寫入文件系統中的每個磁盤,並在文件系統發生更改(如添加或刪除磁盤)時複製到磁盤的子集上。
根據故障組和磁盤的數量,GPFS創建一到五個描述符副本:
-
如果至少有五個不同的故障組,則會創建五個副本。
-
如果至少有三個不同的磁盤,則會創建三個副本。
-
如果只有一個或兩個磁盤,則會在每個磁盤上創建副本。
一旦確定要創建多少個副本,GPFS就會選擇磁盤來保存副本,以便所有副本都位於不同的故障組中(如果可能),以降低多個故障的風險。 在選擇副本位置時,會考慮磁盤的當前狀態。 避免已停止或已掛起的磁盤。 同樣,當故障磁盤重新聯機時,GPFS可能會重新平衡文件系統描述符,以確保故障組的可靠性。 用於保存文件系統描述符副本的磁盤可以通過運行 mmlsdisk fsname -L 命令並在**備註(remarks)**列中查找字符串 desc 來查看。
GPFS要求磁盤子集上的大多數副本仍可用於支持文件系統操作:
-
如果至少有五個不同的副本,GPFS可以容忍丟失五個副本中的兩個。
-
如果至少有三個副本,GPFS可以容忍丟失三個副本中的一個。
-
如果少於三個副本,則丟失一個副本可能使描述符無法訪問。
丟失磁盤故障組中的所有磁盤可能會導致大多數文件系統描述符不可用並阻止進一步的文件系統操作。 例如,如果文件系統由分配給兩個單獨磁盤故障組的三個或更多磁盤備份,則其中一個故障組將分配兩個文件系統描述符副本,而另一個故障組將僅分配 一個副本。 如果磁盤故障組中包含兩個副本的所有磁盤都不可用,則文件系統也將變爲不可用。 爲避免出現這種情況,您可能需要引入第三個磁盤故障組,該故障組由指定爲 descOnly 磁盤的單個磁盤組成。 該磁盤僅用於包含文件系統描述符的副本(即,它不包含任何文件系統元數據或數據)。 此磁盤的大小至少應爲128MB。
有關詳細信息,請參閱"網絡共享磁盤(NSD)創建注意事項"和"IBM Spectrum Scale:管理指南"中的"爲GPFS集羣建立災難恢復"。
爲NSD準備直接訪問存儲設備(DASD)
在爲NSD準備直接訪問存儲設備(DASD)時,請參閱"IBM知識中心"中"IBM Spectrum Scale FAQ"中的"在 Linux on Z上使用GPFS測試過的磁盤硬件"表。
準備使用擴展計數密鑰數據(ECKD)設備的環境:
如果您的GPFS集羣包含Linux on Z實例,請不要使用虛擬預留/釋放。而是按照"不使用虛擬預留/釋放來共享DASD"中所述的過程。 數據完整性由GPFS本身處理。
爲GPFS準備ECKD™設備
要爲GPFS準備ECKD設備,請在單個節點上完成以下步驟:
- 確保ECKD設備處於聯機狀態。要將其設置爲聯機,請發出以下命令:
chccwdev -e_device_bus_id
其中_device_bus_id_標識要配置的設備。 _device_bus_id_是具有前導 0 _.n_的設備號,其中_n_是子通道集ID。 例如:
chccwdev -e 0.0.3352
- 使用以下命令之一對ECKD進行低級格式化。
注意: GPFS支持兼容磁盤佈局(CDL)格式或Linux磁盤佈局(LDL)格式的ECKD磁盤。 必須使用塊大小4096格式化DASD。
- 要指定CDL格式,請發出以下命令:
dasdfmt -d cdl device
無需指定塊大小值,因爲默認值爲4096。
- 要指定LDL格式,請發出以下命令:
dasdfmt -d ldl device
無需指定塊大小值,因爲默認值爲4096。
在這兩個命令中,device是設備的節點。 例如:
dasdfmt -d cdl /dev/dasda
- 此步驟_僅適用於CDL磁盤_。 這是一個可選步驟,因爲CDL磁盤的分區是_可選的_。如果您希望對ECKD進行分區並創建跨越整個設備的單個分區,請使用以下命令:
fdasd -a device
注意:
- LDL磁盤不需要此步驟,因爲在上一步中發出的 dasdfmt -d ldl 命令會自動在磁盤上創建單個Linux分區。
- 如果CDL磁盤已分區,則應在 mmcrnsd 的stanza輸入文件中指定分區名稱。 如果未對CDL磁盤進行分區,則應在stanza輸入文件中指定磁盤名稱。
有關所有這些命令的更多信息,請參閱以下內容:
-
Linux on Z庫概述中的"設備驅動程序,功能和命令"中的"Linux on Z的命令"主題。
-
"開始使用基於GPFS技術的Linux on Z上的彈性存儲"白皮書,可在IBM Knowledge Center的IBM Spectrum Scale的歡迎頁面上找到。
對於將與GPFS一起使用的每個ECKD重複這些步驟。
在準備好環境後,在其它節點上將ECKD設備設置爲聯機。
注意:在對ECKD設備進行分區和格式化之後,分區信息不會自動分發給其它集羣節點。當ECKD設備處於聯機狀態時,要與不同的集羣節點共享ECKD設備。建議將ECKD設備設置爲脫機,然後重新聯機。此過程將更新集羣節點上特定ECKD設備的分區信息。
在啓動GPFS之前,始終確保ECKD設備處於聯機狀態。 要在系統啓動時自動設置ECKD設備,請參閱Linux發行版的文檔。
文件系統創建注意事項
文件系統創建涉及預測文件系統的使用情況並考慮您的硬件配置。 在創建文件系統之前,請考慮將存儲多少數據以及對系統中文件的需求有多大。
這些因素中的每一個都可以幫助您確定要爲文件系統投入多少磁盤資源,選擇哪個塊大小,存儲數據和元數據的位置以及要維護的副本數量。 有關最新支持的文件系統大小,請參閱IBM Knowledge Center中的IBM Spectrum Scale FAQ。
通過發出 mmcrfs 命令創建GPFS文件系統。 表20詳細介紹了 mmcrfs 命令中指定的文件系統創建選項,稍後可以使用 mmchfs 命令更改這些選項,以及默認值。
要將現有文件系統移動到新的GPFS集羣,請參閱"IBM Spectrum Scale:管理指南"中的"在集羣之間導出文件系統定義"。
表20.文件系統創建選項
選項 | mmcrfs | mmchfs | 默認值 |
---|---|---|---|
文件系統的_設備_名稱。請參閱"文件系統的設備名稱"。 | X | X | 無 |
文件系統中每個磁盤的_DiskDesc_。 注意 :不鼓勵使用磁盤描述符。請參閱"文件系統的磁盤"。 | X | 發出 mmadddisk 或 mmdeldisk 命令,以從文件系統添加或刪除磁盤。 | 無 |
-F _StanzaFile_指定包含NSD stanzas列表的文件。有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的Stanza文件。 | X | 發出 mmadddisk 或 mmdeldisk 命令,以從文件系統添加或刪除磁盤。 | 無 |
-A { yes | no | automount }確定何時掛載文件系統。參見"決定如何掛載文件系統" | X |
-B _BlockSize_設置數據塊大小: 64K,128K,256K,512K,1M , 2M,4M,8M 或 16M 。請參閱"塊大小" | X | 如果不重新創建文件系統,則無法更改此值。 | 4 MiB** ** |
-D { posix | nfs4 }deny-write open鎖的語義參見"NFSV4 deny-write open lock" | X | X |
-E { yes | no }報告確切的 mtime 值。請參閱"mtime值" | X | X |
-i _InodeSize_設置inode的大小: 512 , 1024 或 4096 字節。 | X | 此值無法更改。 | 4096 |
-j { cluster | scatter }來確定塊分配圖類型。請參閱"塊分配圖"。 | X | NA |
-k { posix | nfs4 | all }確定文件系統支持的授權類型。請參閱"文件系統授權"。 | X |
-K { no | whenpossible | always }強制執行嚴格的複製。請參閱"複製類型"。 | X |
-L _ LogFileSize_指定內部日誌文件的大小。請參閱"GPFS恢復日誌"。 | X | X | 默認值爲 4 MiB 或元數據塊大小,以較大者爲準。 |
-m _DefaultMetadataReplicas_請參見"文件系統複製參數"。 | X | X | 1 |
- M _MaxMetadataReplicas_請參見"文件系統複製參數" | X | 此值無法更改 | 2 |
-n NumNodes,將掛載文件系統的節點數。請參閱"掛載文件系統的節點數" | X | X | 32 |
-o MountOptions(將傳遞給mount命令。)請參見"分配掛載命令選項" | NA | X | 無 |
-Q { yes | no} 激活配額。請參閱"啓用配額"。 | X | X |
-r _DefaultDataReplicas_請參見"文件系統複製參數"。 | X | X | 1 |
-R _MaxDataReplicas_請參見"文件系統複製參數"。 | X | 此值無法更改 | 2 |
-S { yes | no | relatime }來控制 atime 值的更新方式。請參閱"atime 值" | X |
-t _DriveLetter_請參閱"Windows驅動器號"。 | X | X | 無 |
-T _Mountpoint_請參見"Mountpoint目錄"。 | X | X | /gpfs/ DeviceName |
-V { full | compat } 將文件系統格式更改爲最新級別。請參閱"將文件系統格式更改爲最新級別"。 | NA | X |
-v { yes | no } 驗證磁盤使用情況。請參閱"驗證磁盤使用情況"。 | X | NA |
-W _NewDeviceName_爲文件系統分配新設備名稱。 | NA | X | 無 |
-z { yes | no }啓用DMAPI請參閱"啓用DMAPI"。 | X | X |
–filesetdf 指定(當對文件集強制執行配額時) df 命令是否將根據文件集的配額而不是總文件系統報告數字。 | X | X | –nofilesetdf |
–inode-limit MaxNumInodes _[:NumInodesToPreallocate]_確定文件系統中的最大文件數。請參閱"指定可以創建的最大文件數"。 | X | X | 文件系統大小/ 1 MiB |
–log-replicas _LogReplicas_指定恢復日誌副本的數量。 | X | X | 無 |
–metadata-block-size MetadataBlockSize,用於指定system存儲池的塊大小。請參閱"塊大小"。 | X | NA | |
–mount-priority Priority,用於控制在守護進行啓動時或在 mmmount 命令中指定 all 關鍵字其中一時掛載各個文件系統的順序。 | X | X | 0 |
–perfileset-quota ,用於將用戶和組配額限制檢查的範圍設置爲單個文件集級別。 | X | –noperfileset-quota | |
–rapid-repair 以在單個文件塊的基礎上跟蹤不完整的複製(而不是整個文件)。 | NA | X | 無 |
–version _VersionString_僅啓用與指定版本兼容的文件系統功能。 | X | NA | 默認值由羣集 minReleaseLevel 的當前已提交函數級別定義,例如4.2.2.0或其他值,具體取決於羣集。 |
注意: 1. X – 表示該選項在命令中可用。2. NA(不適用) - 表示該選項在命令中不可用。 |
文件系統的設備名稱
GPFS集羣中的文件系統名稱必須是唯一的。但是,兩個不同的集羣可以有兩個名稱相同的不同文件系統。
文件系統的設備名不需要完全限定。 fs0 和 /dev/fs0 一樣可以接受。名稱不能與 /dev 中的現有條目相同。
注意:如果羣集包含Windows節點,則文件系統名稱不應超過31個字符。
NFSv4 deny-write open lock
您可以指定deny-write open lock是否阻止寫入,這是NFSV4,Samba和Windows所期望和要求的。
有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"管理GPFS訪問控制列表"。
nfs4 必須爲支持NFS V4的文件系統和Windows上安裝的文件系統指定。 這是默認值。
posix 指定用於支持NFS V3的文件系統或未導出NFS的文件系統。
即使存在deny-write open lock, posix 也允許NFS寫入。
文件系統的磁盤
必須先將磁盤定義爲網絡共享磁盤(NSD),然後才能將其添加到GPFS文件系統。
使用 mmcrnsd 命令創建NSD。 使用 mmlsnsd -F 命令顯示可用NSD列表。 創建後,使用 mmadddisk 添加NSD。
請參閱"磁盤注意事項"。
決定如何掛載文件系統
指定何時掛載文件系統:
yes 當GPFS守護進程啓動時。這是默認設置。
no 手動掛載 。
automount 首次訪問文件系統時 。
稍後可以使用 mmchfs 命令的 -A 選項來更改這一點。
注意事項:
- 通過使用 automount 功能在首次訪問文件系統時而不是在GPFS啓動時掛載文件系統,可以減少GPFS掛載流量。 自動掛載僅在應用程序或用戶首次使用文件系統時產生額外的控制流量。 另一方面,在GPFS啓動時掛載會在每次GPFS啓動時產生額外的控制流量。 因此,通過使用自動掛載可以更好地一次啓動數百個節點。
- 如果節點沒有爲文件系統啓用操作系統的自動掛載支持,則自動掛載將失敗。
- 導出NFS掛載的文件系統時,在GPFS啓動時掛載文件系統可能很有用。
塊大小
根據文件系統的預計工作負載及其使用的存儲類型選擇文件系統塊大小。
塊是可以分配給文件的最大連續磁盤空間量,因此是單個I/O操作中可訪問的最大數據量。 子塊是可以分配的最小連續磁盤空間單元。 子塊的大小和塊中子塊的數量由塊大小確定。 IBM Spectrum Scale支持以下文件系統塊大小:64 KiB,128 KiB,256 KiB,512 KiB,1 MiB,2 MiB,4 MiB,8 MiB和16 MiB(僅適用於IBM Spectrum Scale RAID)。 您可以根據工作負載和存儲類型選擇文件系統塊大小。 有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmcrfs命令"主題。
注意: _分段_是一個或多個子塊的連續組。 小於一個塊大小的文件存儲在分段中。 大文件存儲在多個完整塊中,加上零個或多個子塊,以將數據保存在文件末尾。
有關建議的文件系統塊大小,請參閱下表。
表21.每個I / O類型的建議文件系統塊大小以及應用程序示例
IO類型 | 應用程序示例 | 塊大小 |
---|---|---|
大型順序IO | 科學計算,數字媒體,基於文件的分析 | 1 -16 MiB |
關係型數據庫 | DB2®,Oracle,ESS上的小文件 | 512 KiB |
小型順序IO | 常規文件服務,電子郵件,Web應用程序 | 256 KiB |
表22.每種工作負載和配置類型建議的文件系統塊大小
工作負載 | 配置類型 | 塊大小 |
---|---|---|
SAP HANA | ESS GL | 元數據:1 MiB數據:16 MiB |
SAP HANA | FPO | 單個池:1 MiB 僅元數據:256 KiB 僅數據:2 MiB |
Hadoop | ESS GL | 僅元數據:1 MiB僅數據:8 MiB |
Hadoop | FPO | 僅元數據:256 KiB僅數據:2 MiB |
Spark | FPO | 僅元數據:256 KiB僅數據:2 MiB |
SAP Sybase IQ | ESS GL | 僅元數據:256 KiB - 1 MiB僅數據:16 MiB |
醫療保健(醫學影像) | ESS GL | 僅元數據:256 KiB僅數據:1 MiB |
醫療保健(醫學影像) | 其它存儲 - 在後端使用塊存儲部署IBM Spectrum Scale。 請參閱下面的提示 | 元數據和數據:256 KiB |
歸檔 | 其它存儲 - 在後端使用塊存儲部署IBM Spectrum Scale。 請參閱下面的提示 | 取決於文件大小 |
ECM | 其它存儲 - 在後端使用塊存儲部署IBM Spectrum Scale。 請參閱下面的提示 | 256 KiB除非內容是非常大的文件(例如 - 視頻)。 |
Oracle | 其它存儲 - 在後端使用塊存儲部署IBM Spectrum Scale。 請參閱下面的提示 | 元數據和數據:256 KiB |
技術計算 | ESS GL | 元數據:1 MiB數據:4 - 16 MiB,取決於峯值順序性能的重要性。 |
SAS | ESS GL | 元數據:1 MiB數據:8 - 16 MiB,取決於SASBUF大小(128 KiB或256 KiB) |
企業文件(混合項目,數據共享) | 其它存儲 - 在後端使用塊存儲部署IBM Spectrum Scale。 請參閱下面的提示 | 元數據和數據:256 KiB |
注意: 要確定工作負載的理想文件系統塊大小,最好使用工作負載在IBM Spectrum Scale上運行性能測試,或使用具有不同文件系統塊大小的代表性文件系統基準測試運行性能測試
有關IBM Spectrum Scale RAID的更多信息,請參閱IBM Knowledge Center上Elastic Storage Server文檔中的"IBM Spectrum Scale RAID:管理"。
mmcrfs 命令上的 –metadata-block-size 選項允許爲system存儲池指定不同的塊大小,前提是其用法設置爲 metadataOnly 。 如果文件系統塊大小大於1 MB,這可能是有益的。 有效值與爲 -B 選項列出的值相同。
提示: 最佳的文件系統塊大小是512 KB(8個數據磁盤×64 KB條帶大小=512 KB)的整數倍。256 KB整數倍的塊大小會導致單個數據寫入包括8個數據磁盤和奇偶校驗磁盤的奇偶校驗寫入。
塊大小的選擇會影響某些元數據操作的性能,尤其是塊分配性能。 IBM Spectrum Scale塊分配圖存儲在塊中,類似於常規文件。 當塊大小很小時:
- 需要更多的塊來存儲給定數量的數據,從而導致分配這些塊的額外工作
- 一個分配圖數據塊包含較少的信息
注意: 塊大小的選擇對於大型文件系統尤爲重要。 對於大於100 TB的文件系統,應使用至少256 KB的塊大小。
atime值
atime 是一個標準文件屬性,表示上次訪問文件的時間。
文件屬性 atime 在內存中本地更新,但在文件關閉之前,該值對其它節點不可見。 要獲得準確的 atime 值,應用程序必須調用子例程 gpfs_stat 或 gpfs_fstat 。
您可以使用 mmcrfs 和 mmchfs 命令的 -S 選項控制 atime 的更新方式:
-S no
每當讀取文件時,都會更新 atime 屬性。 如果創建文件系統時集羣的最低發行版級別( minReleaseLevel )早於5.0.0,則此設置爲缺省設置。
-S yes
atime 屬性不更新。 子例程 gpfs_stat 和 gpfs_fstat 返回上次使用 -S no 掛載文件系統的時間。
注意: 如果您具有依賴於 ACCESS_TIME 屬性的文件管理策略,則此設置可能會導致問題。 有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"開放組織技術標準的例外"主題。
-S relatime
每當讀取文件時都會更新 atime 屬性,但僅當滿足下列條件之一時纔會如此:
-
當前文件訪問時間( atime )早於文件修改時間( mtime )。
-
當前文件訪問時間( atime )大於 atimeDeferredSeconds 屬性。 atimeDeferredSeconds 默認值爲24小時 。 有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmchconfig命令"主題
如果創建文件系統時羣集的最低發行版級別( minReleaseLevel )爲5.0.0或更高版本,則此設置爲缺省設置。
在掛載文件系統時,您可以通過指定一個特定於IBM Spectrum Scale的掛載選項來臨時覆蓋 -S 設置的值。掛載選項一直持續到卸載文件系統爲止。下表顯示了掛載選項如何與 -S 設置相對應:
表23. mount 選項與 mmcrfs 和 mmchfs 中的 -S 選項之間的對應關係
mmcrfs和mmchfs命令的-S選項 | 等效掛載選項; 持續到文件系統卸載爲止 | 效果 - 請參閱主題文字瞭解詳情 |
---|---|---|
no | norelatime | 允許對 atime 進行更新。 |
yes | noatime | 不允許對 atime 進行更新 |
relatime | relatime | 如果滿足條件,則允許更新 atime |
有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"特定於IBM Spectrum Scale的掛載選項"。
mtime值
** mtime** 是一個標準文件屬性,表示上次修改文件的時間。
-E 參數控制何時更新 mtime 。 默認值爲 -E yes ,這會產生標準接口,包括**stat()和fstat()調用報告精確的 mtime 值。 指定 -E no 會導致stat()和fstat()**調用報告在上一個同步週期完成時可用的 mtime 值。 這可能導致調用並不總是報告精確的 mtime 。 設置 -E no 會影響依賴於上次修改時間的備份操作,AFM和AFM DR功能或使用 MODIFICATION_TIME 文件屬性的策略操作。
有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"開放組織技術標準的例外"主題。
塊分配圖
GPFS有兩種不同的方法在文件系統中分配空間。 -j 參數指定在創建文件系統時要使用的塊分配圖類型。 創建文件系統後,無法更改塊分配圖類型。
爲給定文件分配塊時,GPFS首先使用循環算法將數據分散到文件系統中的所有磁盤上。 選擇磁盤後,磁盤上數據塊的位置由塊分配映射類型確定。
兩種類型的分配方法是 cluster 和 scatter :
cluster
GPFS試圖在集羣中分配塊。屬於給定文件的塊在每個集羣中彼此相鄰。
此分配方法爲相對較小的安裝中的某些磁盤子系統提供了更好的磁盤性能。 當集羣中的節點數量或文件系統中的磁盤數量增加,或者文件系統可用空間變得碎片化時,cluster塊分配的好處會減少。 cluster 分配方法是具有八個或更少節點的GPFS羣集以及具有八個或更少磁盤的文件系統的默認方法。
**scatter ** GPFS隨機選擇塊的位置
這種分配方法通過平均由於塊位置導致的性能變化來提供更一致的文件系統性能(對於許多磁盤子系統,數據相對於磁盤邊緣的位置對性能具有實質性影響)。 在大多數情況下,此分配方法是合適的,並且是具有八個以上節點的GPFS羣集或具有八個以上磁盤的文件系統的默認值。
給定文件系統的此參數在創建文件系統時通過使用 mmcrfs 命令上 -j 選項指定,或允許其爲默認值。 創建文件系統後,無法更改此值。
文件系統授權
文件系統的授權類型在 mmcrfs 命令的 -k 選項指定,或稍後使用 mmchfs 命令的 -k 選項更改。
posix 僅傳統GPFS訪問控制列表(ACL)(不允許使用NFS V4和Windows ACL)
nfs4 僅支持NFS V4和Windows ACL。 不允許用戶將傳統ACL分配給任何文件系統對象
all 允許POSIX、NFS V 4和Windows ACL在文件系統中共存。這是默認值
如果文件系統將用於NFS和Swift協議導出,則建議使用 nfs4 。
如果文件系統將用於SMB協議導出,則需要使用 nfs4 。
複製類型
您可以控制IBM Spectrum Scale使用的複製類型。
運行帶 -K 選項的 mmchfs 命令設置首選複製類型。 -K 選項可以具有以下值:
always
表示強制執行嚴格複製。
whenpossible
如果磁盤配置允許,則強制執行嚴格複製。 如果故障組的數量不足,則不會強制執行嚴格複製。 這是默認值。
no
不強制執行嚴格複製。 GPFS嘗試創建所需數量的副本,但如果它可以分配至少一個副本,則返回EOK的 錯誤 。
有關更改複製屬性的更多信息,請參閱 mmchfs 命令。
內部日誌文件
您可以指定內部日誌文件大小。 有關其他信息,請參閱"GPFS恢復日誌"。
文件系統複製參數
元數據(inode,目錄和間接塊)和數據複製參數在文件系統級別設置並應用於所有文件。 在發出 mmcrfs 命令時,它們最初是爲文件系統設置的。
可以使用 mmchfs 命令爲現有文件系統更改它們。 更改複製參數後,更改後創建的文件會受到影響。 要將新複製值應用於文件系統中的現有文件,請發出 mmrestripefs 命令。
元數據和數據複製是獨立指定的。每個都有一個默認複製係數1(無複製)和一個默認值爲2的最大複製係數。雖然就磁盤空間而言,元數據複製的成本低於文件數據複製,但元數據的過度複製也會影響GPFS的效率,因爲所有元數據副本都必須寫入。一般來說,更多的複製使用更多的空間。
默認的元數據副本:
文件系統中所有文件的默認元數據副本數可以通過使用 mmcrfs 命令的 -m 選項在文件系統創建時指定,也可以在稍後使用 mmchfs 命令的 -m 選項更改。
此值必須等於或小於_MaxMetadataReplicas_,並且不能超過具有可以存儲元數據的磁盤的故障組的數量。 允許值爲1,2或3,默認值爲1(無複製)。
最大元數據副本:
通過使用 mmcrfs 命令的 -M 選項,可以在創建文件系統時指定文件系統中所有文件的元數據的最大副本數。
默認值爲2.允許值爲1,2或3,但不能小於_DefaultMetadataReplicas_的值。 創建文件系統後,無法更改此值。
默認的數據副本:
在創建文件系統時使用 mmcrfs 命令的 -r 選項指定數據塊的默認複製係數,也可以在以後使用 mmchfs 命令的 -r 選項進行更改。
此值必須等於或小於_MaxDataReplicas_,並且該值不能超過具有可以存儲數據的磁盤的故障組的數量。 允許值爲1,2和3,默認值爲1(無複製)。
如果要更改整個文件系統的數據複製係數,則每個存儲池中的數據磁盤必須具有等於或大於複製係數的多個故障組。 例如,如果嘗試將文件系統的複製係數更在創建文件系統時,可以使用mmcrfs命令的-n選項指定將要掛載文件系統的估計節點數,或者允許默認設置爲32。改爲2但存儲池只有一個故障組,則會出現錯誤消息。
最大數據副本:
在創建文件系統時,可以使用 mmcrfs 命令的 -R 選項指定文件的數據塊的最大副本數。默認值是2。
允許值爲1,2和3,但不能小於_DefaultDataReplicas_的值。 創建文件系統後,無法更改此值。
掛載文件系統的節點數
在創建文件系統時,可以使用 mmcrfs 命令的 -n 選項指定將要掛載文件系統的估計節點數,或者允許默認設置爲32。
在創建GPFS文件系統時,會過高估計將掛載文件系統的節點數。此輸入用於創建GPFS數據結構,這些結構對於在文件系統操作中實現最大程度的並行性至關重要(參見"GPFS體系結構")。雖然較大的估計值會消耗更多的內存,但這些數據結構的分配不足會限制有效處理某些並行請求的能力,例如將磁盤空間分配給文件。如果無法預測節點的數量,則允許應用默認值。如果希望添加節點,請指定更大的數目,但要避免過高估計,因爲這可能會影響緩衝區操作。
可以使用 mmchfs 命令的 -n 選項更改節點數。更改此值會影響設置值後創建的存儲池;因此,例如,如果需要在存儲池中增加此值,可以更改該值,創建新的存儲池,並將數據從一個池遷移到另一個池。
Windows驅動器號
在Windows環境中,必須先將驅動器號與文件系統相關聯,然後才能掛載。可以使用 mmcrfs 和 mmchfs 命令的 -t 選項來指定和更改驅動器號。GPFS在未指定默認驅動器號時不會分配默認驅動器號。
可用驅動器號的數量限制了可以在Windows上掛載的文件系統的數量。
注意: 某些應用程序對驅動器號 A: , B: 和 C: 具有特殊含義,如果將它們分配給GPFS文件系統,則可能會導致問題。
掛載點目錄
每個GPFS文件系統都有一個與之關聯的默認掛載點。 可以使用 mmcrfs 和 mmchfs 命令的 -T 選項指定和更改此掛載點。
如果在創建文件系統時沒有指定掛載點,GPFS將默認掛載點設置爲 /gpfs/ DeviceName。
分配掛載命令選項
可以使用 mmchfs 命令的 -o 選項將選項傳遞給文件系統 mount 命令。
特別是,您可以選擇在掛載文件系統時自動執行配額激活的選項。
啓用配額
GPFS配額系統可以幫助您控制文件系統使用情況。
可以爲單個用戶,用戶組或文件集定義配額。 可以根據文件總數和消耗的數據空間總量設置配額。 爲文件系統設置配額限制時,系統管理員應考慮文件系統的複製係數。 在報告和確定是否已超過塊和文件使用的配額限制時,配額管理會將複製考慮在內。 在將數據複製或元數據複製設置爲值2的文件系統中, mmlsquota 和 mmrepquota 命令報告的值是 ls 命令報告的值的兩倍。
是否在掛載文件系統時啓用配額可以在創建文件系統時使用 mmcrfs 命令的 -Q 選項指定,也可以稍後使用 mmchfs 命令的 -Q 選項進行更改。 掛載文件系統後,通過發出 mmedquota 命令建立配額值,並通過發出 mmquotaon 命令激活配額值。 默認設置是不激活配額。
GPFS級別定義爲可以使用 mmedquota 和 mmdefedquota 命令顯式設置的三個限制:
軟限制
定義磁盤空間和文件的級別,低於該級別的用戶,用戶組或文件集可以安全地運行。
以千字節(k或K),兆字節(m或M)或吉字節(g或G)爲單位指定。 如果未提供後綴,則假定該數字以字節爲單位。
硬限制
定義用戶,用戶組或文件集可以累積的最大磁盤空間量和文件數。
以千字節(k或K),兆字節(m或M)或吉字節(g或G)爲單位指定。 如果未提供後綴,則假定該數字以字節爲單位。
過渡期
允許用戶,用戶組或文件集在指定的時間段內超過軟限制。默認時間段爲一週。 如果在此期間使用率沒有降低到低於軟限制的水平,則配額系統將軟限制解釋爲硬限制,並且不允許進一步分配。 用戶,用戶組或文件集可以通過將使用量降低到低於軟限制來重置此條件; 或者管理員可以使用 mmedquota 或 mmdefedquota 增加配額級別。
有關不同協議的配額含義,請參閱_"IBM Spectrum Scale:管理指南_"中的"不同協議的配額含義"。
默認配額:
應用默認配額爲所有新用戶、用戶組或文件集提供已建立的最低配額限制。如果未啓用默認配額值,則新用戶、新組或新文件集的配額值爲零,這對可以使用的空間大小沒有任何限制。
僅當 -Q yes 選項對文件系統有效時,才能設置或更改默認配額限制。 要在文件集級別設置默認配額, –perfileset-quota 選項也必須有效。 使用 mmcrfs 命令創建文件系統或使用 mmchfs 命令更改文件系統屬性時,指定 -Q yes 和 –perfileset-quota 選項。 使用 mmlsfs 命令顯示這些配額選項的當前設置。 然後可以通過發出 mmdefquotaon 命令啓用默認配額。 通過發出 mmdefedquota 命令建立默認值。
配額系統文件:
GPFS配額系統維護三個單獨的文件,其中包含有關使用和限制的數據。
啓用配額時,這些文件駐留在GPFS文件系統的根目錄中:
- user.quota
- group.quota
- fileset.quota
所有三個 .quota 文件都是:
- 使用 mmedquota 和 mmdefedquota 命令中提供的信息構建。
- 通過整個文件系統中的正常分配操作以及發出 mmcheckquota 命令時更新。
- 可通過 mmlsquota 和 mmrepquota 命令讀取。
掛載啓用了配額的文件系統時,將從根目錄中讀取 .quota 文件。 讀取這些文件時,會發生以下三種可能的操作之一:
- 這些文件包含配額信息,用戶希望使用這些文件。
- 這些文件包含配額信息,但是,用戶希望使用不同的文件。
要指定使用不同的文件,必須在裝入文件系統之前發出 mmcheckquota 命令。
- 這些文件不包含配額信息。 在這種情況下,掛載失敗併發出相應的錯誤消息。 有關掛載失敗的更多信息,請參閱_"IBM Spectrum Scale:問題確定指南_"。
啓用DMAPI
是否可以由GPFS數據管理API(DMAPI)監視和管理文件系統,可以在創建文件系統時使用 mmcrfs 命令的 -z 選項指定,也可以在稍後使用 mmchfs 命令的 -z 選項進行更改。
默認情況下_不_爲文件系統啓用DMAPI。
有關GPFS的DMAPI的更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"。
驗證磁盤使用情況
-v 選項控制 mmcrfs 命令是否檢查指定的磁盤是否可以安全地添加到文件系統。
默認( -v yes )是執行檢查,如果任何磁盤看起來屬於某個其它GPFS文件系統,則命令將失敗。 僅當mmcrfs命令拒絕磁盤並且您確定所有磁盤確實不屬於活動GPFS文件系統時,才應該指定 -v no來 覆蓋默認行爲。 適當使用 -v no 的示例是 mmcrfs 命令由於某種原因而中斷並且您重新發出該命令的情況。 另一個例子是,如果您正在重用未使用 mmdelfs 命令正式銷燬的舊GPFS文件系統中的磁盤。
重要提示 :在已經屬於文件系統的磁盤上使用 mmcrfs -v no 會損壞該文件系統。
將文件系統格式更改爲最新級別
您可以通過發出帶 -V full 選項或 -V compat 選項的 mmchfs 命令,將文件系統格式更改爲當前安裝的GPFS級別支持的最新格式。
full 選項可啓用需要不同磁盤數據結構的所有新功能。 這可能導致文件系統與早期版本的GPFS永久不兼容。 compat 選項僅啓用與先前GPFS版本向後兼容的更改。 如果正在訪問文件系統(本地和遠程)的所有GPFS節點都運行最新級別,則可以安全地使用 full 選項。 某些功能可能需要您運行 mmmigratefs 命令才能啓用它們。
有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"GPFS版本間的文件系統格式更改"。
啓用文件系統功能
默認情況下,創建新的文件系統時將啓用所有當前可用的功能。
由於這可能會阻止運行早期GPFS版本的羣集訪問文件系統,因此您只能通過發出帶有 –version 版本選項的 mmcrfs 命令來啓用與指定版本兼容的文件系統功能。 有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmcrfs命令"。
指定df命令是否將根據文件集的配額報告數字
您可以指定(當對文件集強制執行配額時) df 命令是否將根據文件集的配額而不是總文件系統報告數字。
爲此,請使用 mmchfs 命令或 mmcrfs 命令中的 –filesetdf | –nofilesetdf 選項。
有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmchfs命令和mmcrfs命令"。
指定可以創建的最大文件數
可以使用 mmcrfs 命令和 mmchfs 命令上的 –inode-limit 選項指定可以創建的最大文件數。
允許值範圍從當前創建的inode數量(通過發出帶 -F 選項的 mmdf 命令確定)到支持的文件的最大數量,該值受以下公式限制:
maximum number of files = (total file system space) / (inode size + subblock size)
您可以通過運行 mmlsfs 命令來確定文件系統的inode大小( -i )和子塊大小( -f )。 可以在創建文件系統時使用 mmcrfs 命令的 –inode-limit 選項指定文件系統中的最大文件數,也可以稍後通過 mmchfs 命令使用 –inode-limit 來增加文件系統中的最大文件數。 此值默認爲創建時文件系統的大小除以1 MB且不能超過體系結構限制。 創建文件系統時,默認使用4084個inode; GPFS將這些inode用於內部系統文件。
有關更多信息,請參閱"_IBM Spectrum Scale:命令和編程參考"_中的"mmcrfs命令和mmchfs命令"。
–inode-limit 選項僅適用於根文件集。 當存在多個inode空間時,請使用 mmchfileset 命令的 –inode-space 選項來更改獨立文件集的inode限制。 mmchfileset 命令也可用於修改根inode空間。 mmlsfs 命令的 –inode-space 選項顯示所有inode空間的總和。
Inode使用時被分配。 刪除文件時,將重用inode,但永遠不會釋放inode。 在文件系統中設置最大inode數時,可以選擇預分配inode。 但是,在大多數情況下,不需要預分配inode,因爲默認情況下,inode按需要分配。 如果您決定預先分配inode,請注意不要預先分配比使用的更多的inode; 否則,分配的inode將不必要地佔用無法回收的元數據空間。
這些選項限制文件系統中可能存在的最大文件數。 但是,GPFS可能會進一步限制文件系統中的最大文件數,因此與每個文件關聯的控制結構不會佔用所有文件系統空間。
管理inode時的進一步注意事項:
- 對於支持並行文件創建的文件系統,當空閒inode的總數降到inode總數的5%以下時,文件系統訪問可能會減慢。在創建或更改文件系統時要考慮到這一點。使用 mmdf 命令顯示空閒inode的數量。
- 過多地增加最大文件數的值可能會導致爲控制結構分配過多的磁盤空間。
控制掛載文件系統的順序
您可以在守護進程啓動時或使用帶爲文件系統指定的 all 關鍵字之一的 mmmount 命令時控制各個文件系統的掛載順序。
有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmlsfs命令和mmmount命令"。
爲此,請在 mmcrfs , mmchfs 或 mmremotefs 命令上使用 –mount-priority _Priority_選項。
用於協議的共享根文件系統必須在用於導出協議數據的其它文件系統之前掛載。
文件系統創建示例
要創建名爲gpfs2帶以下屬性的文件系統:
- 文件 /tmp/gpfs2dsk 中列出的文件系統磁盤
- GPFS守護進程啓動時自動掛載文件系統( -A yes )
- 使用256 KB的塊大小( -B 256K )
- 期望將其掛載在32個節點上( -n 32 )
- 將默認元數據複製和最大元數據複製都設置爲2( -m 2 -M 2 )
- 將默認數據複製設置爲1,將最大數據複製設置爲2( -r 1 -R 2 )
- 使用默認掛載點/gpfs 2( -T /gpfs2 )
輸入:
mmcrfs /dev/gpfs2 -F /tmp/gpfs2dsk -A yes -B 256K -n 32 -m 2 -M 2 -r 1 -R 2 -T /gpfs2
該系統顯示的信息類似於:
The following disks of gpfs2 will be formatted on node k194p03.tes.nnn.com:
hd25n09: size 17796014 KB
hd24n09: size 17796014 KB
hd23n09: size 17796014 KB
Formatting file system ...
Disks up to size 59 GB can be added to storage pool system.
Creating Inode File
56 % complete on Mon Mar 3 15:10:08 2014
100 % complete on Mon Mar 3 15:10:11 2014
Creating Allocation Maps
Clearing Inode Allocation Map
Clearing Block Allocation Map
44 % complete on Mon Mar 3 15:11:32 2014
90 % complete on Mon Mar 3 15:11:37 2014
100 % complete on Mon Mar 3 15:11:38 2014
Completed creation of file system /dev/gpfs2.
mmcrfs: Propagating the cluster configuration data to all
affected nodes.This is an asynchronous process.
要確認文件系統配置,請發出以下命令:
mmlsfs gpfs2
該系統顯示的信息類似於:
flag value description
------------------- ------------------------ -----------------------------------
-f 262144 Minimum fragment (subblock) size in bytes
-i 512 Inode size in bytes
-I 32768 Indirect block size in bytes
-m 2 Default number of metadata replicas
-M 2 Maximum number of metadata replicas
-r 1 Default number of data replicas
-R 2 Maximum number of data replicas
-j scatter Block allocation type
-D nfs4 File locking semantics in effect
-k all ACL semantics in effect
-n 32 Estimated number of nodes that will mount file system
-B 262144 Block size
-Q none Quotas accounting enabled
none Quotas enforced
none Default quotas enabled
--perfileset-quota yes Per-fileset quota enforcement
--filesetdf yes Fileset df enabled?
-V 15.01 (4.2.0.0) File system version
--create-time Wed Jan 18 17:22:25 2017 File system creation time
-z no Is DMAPI enabled?
-L 262144 Logfile size
-E yes Exact mtime mount option
-S yes Suppress atime mount option
-K whenpossible Strict replica allocation option
--fastea yes Fast external attributes enabled?
--encryption no Encryption enabled?
--inode-limit 2015232 Maximum number of inodes
--log-replicas 0 Number of log replicas (max 2)
--is4KAligned yes is4KAligned?
--rapid-repair yes rapidRepair enabled?
--write-cache-threshold 65536 HAWC Threshold (max 65536)
-P system Disk storage pools in file system
-d gpfs1001nsd;gpfs1002nsd Disks in file system
-A yes Automatic mount option
-o none Additional mount options
-T /gpfs2 Default mount point
--mount-priority 0 Mount priority
有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的"mmcrfs命令和mmlsfs命令"。
創建協議數據導出時的文件集注意事項
您可以在整個文件系統、文件系統的子目錄或文件集上創建導出。
文件集是一個文件系統對象,它使您能夠以比文件系統更細的粒度管理數據。您可以執行管理操作,例如定義配額、創建快照、定義文件放置策略和規則,以及在文件集級別指定inode空間值,特別是當文件集是獨立的時。
在IBM Spectrum Scale中,即使沒有文件集,也可以創建導出。 根據您的數據管理策略,選擇以下兩種方法之一來創建導出:
在整個文件系統或文件系統的子目錄上創建導出
在此選項中,導出表示較大的空間。 您可以在此空間中的目錄上創建獨立的文件集,並可以更好地控制導出目錄路徑。 需要部門多租戶解決方案的大學和組織可以選擇此選項。
查看以下示例以更好地理解此選項。
作爲組織的存儲管理員,您希望爲組織的每個部門和用戶創建單獨的存儲空間:
- 導出文件系統的根目錄。
```bash
mmnfs export add /gpfs/fs0
```
注意 :您可以在根目錄中創建子目錄並將其導出。 例如:
mmnfs export add /gpfs/fs0/home
有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的 mmnfs 命令。
- 在根目錄中創建獨立的文件集,鏈接到子目錄/gpfs/fs0/home。在以下示例中,假設有一個用戶user1是組group/HR的一部分。
mmcrfileset fs0 hr_fileset --inode-space=new
mmlinkfileset fs0 hr_fileset -J /gpfs/fs0/home/hr
mmcrfileset fs0 user1_fileset --inode-space=new
mmlinkfileset fs0 user1_fileset -J /gpfs/fs0/home/user1
有關更多信息,請參閱"IBM Spectrum Scale:命令和編程參考"中的以下命令。
-
mmcrfileset 命令
-
mmlinkfileset 命令
-
同樣,爲其它部門和用戶創建獨立的文件集。
您可以通過獨立文件集爲每個用戶和部門分配配額。
NFS和SMB客戶端現在可以掛載導出並訪問其目錄。
通過組和用戶ACL控制對導出目錄中數據的訪問。
在這種情況下,只有屬於HR組(HR組的ACL可以讀取/寫入hr目錄)的用戶才能訪問該目錄。組/HR中的用戶user1可以對user1目錄和hr目錄執行讀/寫操作。
在整個文件系統或文件系統的子目錄上創建導出
在獨立文件集上創建導出
在此選項中,獨立文件集表示離散項目。 可以在每個文件集上創建一個或多個導出。 您可以在文件集上應用信息生命週期管理(ILM)策略,以自動放置和管理文件數據。 您可以通過授予對特定工作站或IP地址的訪問權限來保護導出數據。 此外,導出中的數據可以由獨立文件集的快照策略保留。
查看以下示例以更好地理解此選項。
您是存儲攝像頭數據的私有云託管存儲系統的存儲管理員。您希望確保網絡攝像機只能訪問其存儲目錄。另外,您希望數據分析器訪問所有數據,以便它們能夠查找活動並生成分析報告。
-
創建一個獨立的文件集web_cam_data。
mmcrfileset fs0 web_cam_data --inode-space=new mmlinkfileset fs0 web_cam_data -J /gpfs/fs0/web_cam_data
所有網絡攝像頭的數據都存儲在/gpfs/fs 0/web_cam_data中。
-
爲兩個網絡攝像頭創建導出
mkdir /gpfs/fs0/web_cam_data/camera1
mkdir /gpfs/fs0/web_cam_data/camera2
mmnfs export add "/gpfs/fs0/web\_cam\_data/camera1" \
-c "198.51.100.2(Access_Type=RW);203.0.113.2(Access_Type=RO);203.0.113.3(Access_Type=RO)"
mmnfs export add "/gpfs/fs0/web_cam_data/camera2" \
-c "198.51.100.3(Access_Type=RW);203.0.113.2(Access_Type=RO);203.0.113.3(Access_Type=RO)"
webcam1(IP:198.51.100.2)掛載並記錄數據到camera1導出,而webcam2(IP:198.51.100.3)掛載並記錄數據到camera2導出。 數據分析器(IP:203.0.113.2和203.0.113.3)具有對兩個導出的讀訪問權限。 因此,只能從指定的IP地址訪問數據。
在獨立文件集上創建導出
規劃高可用寫緩存功能(HAWC)
瞭解高可用寫緩存功能(HAWC)。
與HAWC交互的組件
HAWC與IBM Spectrum Scale的幾個基本組件進行交互。 在閱讀HAWC之前,您可能想要檢查這些組件。
system存儲池
_system存儲池_或_system池_是必需的存儲池,其中包含IBM Spectrum Scale用於管理文件系統的信息。 每個文件系統只有一個系統存儲池,在創建文件系統時會自動創建。 系統存儲池包含以下類型的信息:
- 控制信息(如文件系統控制結構、保留文件、目錄、符號鏈接、特殊設備)
- 與常規文件關聯的元數據,包括間接塊和擴展屬性
- 常規文件數據,如果在NSD stanza中爲系統存儲池NSD設置_usage = dataAndMetadata_選項
- 文件系統恢復日誌(默認位置)
System.log存儲池
_system.log_存儲池是可選的專用存儲池,僅包含文件系統恢復日誌。 如果定義此池,那麼IBM Spectrum Scale會將其用於文件系統的所有文件系統恢復日誌。 否則,文件系統恢復日誌將保留在系統存儲池中。_system.log_池由一個與系統存儲池的存儲介質一樣快或更快的存儲介質組成,這是一個很好的做法。 如果存儲是非易失性的,則此池可用於高可用寫緩存(HAWC)。
文件系統恢復日誌
_文件系統恢復日誌_是I/O元數據的預寫日誌或日誌,用於描述文件系統節點的掛起寫入操作。 在IBM Spectrum Scale中,它有時也稱爲恢復日誌,GPFS日誌或IBM Spectrum Scale日誌。 IBM Spectrum Scale爲掛載文件系統的每個節點創建並維護單獨的恢復日誌。 恢復日誌默認存儲在系統存儲池中,如果已定義,則存儲在system.log存儲池中。 安裝文件系統的任何節點都可以讀取恢復日誌。 如果某個節點在其某個硬盤的寫操作處於掛起狀態時意外關閉,則IBM Spectrum Scale可以讀取故障節點的恢復日誌並將文件系統恢復到一致狀態。 恢復可以立即發生,而不必等待失敗的節點返回。
HAWC還使用恢復日誌臨時存儲HAWC寫數據和元數據.
頁池
頁池是固定的內存區域(永遠不會分頁到磁盤的內存),其中包含與正在進行的I / O操作關聯的文件數據和元數據。 當IBM Spectrum Scale處理文件寫操作時,第一步是將寫操作的寫入數據和元數據放入頁池中。 在適當的時候,另一個線程將數據寫入硬盤並將其從頁池中刪除。
HAWC操作
高可用寫緩存是一個磁盤緩存組件,包括緩存軟件和非易失性存儲。HAWC還使用文件系統恢復日誌(其中文件系統記錄有關其掛起的寫操作的元數據)。對於HAWC,恢復日誌必須位於非易失性存儲中。
當文件寫入操作到達節點時,無論HAWC是否處於活動狀態,處理的第一部分都是相同的。寫入數據和元數據被複制到頁池中的一個條目中,並且該條目被添加到等待處理的類似條目的列表中。處理條目時,處理取決於HAWC是否處於活動狀態。
注意: 如果寫操作是非同步的,則在將寫入數據和元數據複製到頁池條目之後,它將返回給調用方。如果寫入操作是同步的,則它將等待文件數據已寫入磁盤的通知。
當HAWC不處於活動狀態時,寫入數據將被從頁池條目中複製並被寫入至硬盤上的文件。如果寫操作是同步的,則系統通知寫操作成功,並將寫操作返回給它的調用方。
當HAWC處於活動狀態時,寫入數據可以採用以下兩種路徑之一:
-
如果寫入操作是同步的,並且文件數據的大小小於或等於寫入數據閾值,則HAWC將文件數據從頁池條目複製到恢復日誌中,同時將恢復所需的任何I/O元數據複製到恢復日誌中。_write data threshold_變量由 mmcrfs 命令或 mmchfs 命令設置。接下來,HAWC通知原始寫入操作文件數據已成功寫入硬盤。事實上,文件數據還沒有寫到硬盤上,儘管它作爲備份保存在恢復日誌中。然後,HAWC啓動一個後寫線程,最終將文件數據寫入硬盤。安全寫入數據後,HAWC將從恢復日誌中清除文件數據和I/O元數據,因爲不再需要這些數據。
-
如果寫入操作不是同步的,或者寫入數據的大小大於寫入緩存閾值,則寫入數據遵循的路徑與HAWC不活動時遵循的路徑相同。系統從頁池條目複製寫入數據並將其寫入硬盤。如果原始寫操作是同步的,則系統通知它文件數據已安全地寫入硬盤。
HAWC通過兩種方式提高了小文件同步寫操作的性能。首先,它允許同步寫操作在寫數據寫入恢復日誌時立即返回調用應用程序。調用應用程序不必等待更長的將數據寫入硬盤的過程。其次,HAWC緩存軟件可以將小的順序寫入合併爲一個更大的寫入。這種合併消除了除數據以多次寫入方式寫入時所需的所有初始磁盤查找之外的所有內容。
可以通過指定 mmchfs 命令的 –write-cache-threshold 參數的值來調整寫入緩存閾值變量。有效範圍是0-64K,倍數爲4K,您還可以在創建文件系統時通過在 mmcrfs 命令中指定相同的參數來設置這個變量。將寫緩存閾值設置爲0將禁用HAWC。您可以隨時更新寫入閾值變量;不必在節點上掛載文件系統。
HAWC存儲場景
您可以在兩種配置或方案中設置HAWC存儲。 在第一種情況下,非易失性存儲位於集中式快速存儲設備中,例如帶有SSD的控制器:
圖27.共享快速存儲
在這種情況下,當同步寫操作到達節點時,文件數據和元數據將以通常方式複製到頁池條目。 如果文件數據的大小小於寫入數據閾值,則HAWC將文件數據連同恢復所需的任何I/O元數據一起復制到恢復日誌中。 接下來,HAWC向寫操作返回一個確認,指示文件數據已成功寫入硬盤。 然後HAWC啓動一個後寫線程,最終將文件數據寫入硬盤。 安全地寫入數據時,HAWC會從恢復日誌中清除入操作的文件數據和I/O元數據。
在第二個場景中,非易失性存儲由多個存儲設備組成,這些存儲設備分佈在集羣中的一些或所有節點上:
圖28.分佈式快速存儲
雖然硬件配置在第二種情況下是不同的,但數據流與第一種情況的數據流類似。 同步寫操作到達節點,寫入數據和I/O元數據被寫入頁池條目。 如果寫入數據的大小小於寫入存儲閾值,則HAWC將文件數據和相關I/O元數據複製到恢復日誌。 數據在屬於恢復日誌存儲池的各種磁盤上進行條帶化。 HAWC向同步寫操作返回成功確認,並啓動後寫線程,稍後將頁池條目中的文件數據寫入硬盤。 安全地寫入數據時,HAWC會從恢復日誌中清除文件數據和I/O元數據
HAWC軟件配置
安裝非易失性存儲設備後,請完成以下步驟用於配置HAWC的IBM Spectrum Scale。 這些步驟假定您要將HAWC存儲添加到現有文件系統:
- 停止集羣中所有節點上的GPFS守護進程。
- 爲非易失性存儲設備創建NSD stanza。 在該stanza中,爲所有非易失性存儲設備指定一個存儲池,該存儲池必須是_system_池或_system.log_池。
- 運行 mmcrnsd 創建NSD。
- 運行 mmaddisk 以將NSD添加到文件系統,並在必要時創建_system.log_池。
- 在所有節點上啓動GPFS守護進程。
- (可選)運行帶 -L 參數的 mmchfs 命令,將恢復日誌的大小設置爲非默認值。
- (可選)運行帶 –log-replicas 參數的 mmchfs 命令,以將恢復日誌的副本數設置爲非默認值。 僅當恢復日誌存儲在_system.log_池中時,此選項才適用。
- 要激活HAWC,請運行 mmchfs 命令並將 –write-cache-threshold 參數設置爲非零值。
HAWC現已激活。
規劃systemd
IBM Spectrum Scale支持Linux操作系統上的systemd 219及更高版本。
IBM Spectrum Scale會在安裝了systemd 219或更高版本的系統中自動安裝和配置爲systemd服務。 服務單元文件安裝在systemd lib目錄中,如下面的列表所示:
-
Red Hat Enterprise Linux and SUSE Linux Enterprise Server:
/usr/lib/systemd/systemd
-
Ubuntu:
/lib/systemd/systemd
IBM Spectrum Scale包括以下systemd服務。 有關IBM Spectrum Scale守護進程的引用,請參閱緊跟此列表的說明:
**gpfs ** 啓動或停止GPFS守護進程( mmfsd )。
mmccrmonitor
啓動或停止 mmccrmonitor 守護進程。此服務可在引導時啓動。它一直在運行。如果它是由systemd systemctl 命令以外的其它方法殺死的,請使用 systemctl 命令手動重新啓動它。
mmautoload
在重新啓動節點後啓動 mmauotoload 守護進程,如果指定了自動啓動,還將啓動GPFS守護進程。此服務還會在操作系統關閉時關閉GPFS守護進程 。
當節點關閉或重新啓動時,systemd管理器調用此服務。在啓動 mmccrmonitor 之後,將啓用該服務在引導時啓動。它不能用systemd systemctl 命令啓動或停止。
mmsdrserv
啓動或停止 mmsdrserv 守護進程。此服務在重新啓動節點後啓動,並在GPFS守護進程啓動後停止。其它GPFS系統服務也會根據需要停止它。
mmsysmon
在啓用"集羣配置存儲庫"(CCR)的集羣中啓動或停止系統健康況監視。此服務可在節點啓動時啓動,並將持續運行,直到該節點關閉爲止。它也可以由其它服務啓動。
lxtrace
做跟蹤操作。該服務由 mmtracectl 命令控制。不要使用 systemctl 命令啓動或停止此服務。
IBM Spectrum Scale守護程序的描述:
- GPFS守護進程( mmfsd )是在節點上運行的主要IBM Spectrum Scale守護進程。
- 如果 mmfsd 未運行, mmccrmonitor 守護進程將啓動和停止 mmsdrserv 守護進程。
- 當 mmfsd 守護進程未運行時, mmsdrserv 守護進程向集羣中的其它節點提供對配置數據的訪問。
- mmauotoload 守護進程在操作系統啓動時設置GPFS資源。
防火牆建議
IBM Spectrum Scale系統管理員應遵循某些建議來設置防火牆,以保護IBM Spectrum Scale系統免受未經授權的訪問。
有關防火牆建議的更多信息,請參閱"IBM Spectrum Scale:管理指南"中的"使用防火牆保護IBM Spectrum Scale系統"。
GPFS應用程序的注意事項
應用程序設計應考慮與**stat()**系統調用和NFS V4ACL有關的開放組織技術標準的例外情況。
此外,還提供了一種用於確定文件系統是否由GPFS控制的技術。
有關更多信息,請參閱"IBM Spectrum Scale:管理指南"中的以下主題:
- 開放組織技術標準的例外情況
- 確定文件系統是否由GPFS控制
- GPFS異常和NFS V4 ACL的限制
- GPFS應用程序的注意事項
確定文件系統是否由GPFS控制
如果從**statfs()或fstatfs()**調用返回的 statfs 結構中的 f_type 字段的值爲0x47504653,即ASCII中的GPFS,則文件系統由GPFS控制。
此常量位於 gpfs.h 文件中,名稱爲 GPFS_SUPER_MAGIC 。 如果應用程序包含 gpfs.h ,它可以將 f_type 與 GPFS_SUPER_MAGIC 進行比較,以確定文件系統是否由GPFS控制。
使用直接IO(O_DIRECT)的注意事項
當文件以 O_DIRECT 模式(直接I/O模式)打開時,GPFS會在用戶緩衝區和磁盤上的文件之間直接傳輸數據。
在下列情況下,使用直接I/O可能會帶來一些性能上的好處:
- 該文件在隨機位置訪問。
- 沒有訪問位置。
只有滿足以下所有條件時,才能在用戶緩衝區和磁盤之間進行直接傳輸:
-
傳輸的字節數是512字節的倍數。
-
文件偏移量是512字節的倍數。
-
用戶內存緩衝區地址在512字節邊界對齊。
當這些條件_不全_爲真時,操作仍將繼續進行,但會像對待其它普通文件I/O那樣處理,使用 O_SYNC 標誌將髒緩衝區刷新到磁盤。
當這些條件都爲真時,GPFS頁池不會被使用,因爲數據是直接傳輸的;因此,在大多數I/O卷都是直接I/O造成的環境(如數據庫中的I/O)不會從大容量的頁池中受益。但是,請注意,仍然需要爲頁池配置足夠的大小,或者保持其默認值不變,因爲頁池還用於存儲文件元數據(特別是對於大型文件所需的間接塊)。
對於直接I/O,應用程序負責協調對文件的訪問,GPFS鎖定機制提供的開銷和保護都不起作用。 特別是,如果兩個線程或節點在文件的重疊部分上同時執行直接I/O,則結果是未定義的。 例如,當對同一文件偏移進行多次寫入時,在完成所有I/O時,不確定哪些寫入將出現在文件上。 此外,如果文件具有數據複製,則無法保證所有數據副本都包含來自同一編寫器的數據。 也就是說,每個副本的內容可能會有分歧。
即使I/O請求按前面列出的方式對齊,在下列情況下,GPFS也不會直接傳輸數據,而會恢復到較慢的緩衝行爲:
-
寫入會導致文件的大小增加。
-
寫入位於已預先分配(通過gpfs_prealloc())但尚未寫入的文件的一個區域中。
-
寫入位於文件中存在"空洞"的區域中;也就是,文件是稀疏的,並且有一些未分配的區域。
當直接I/O請求對齊,但前面列出的條件(這將導致緩存的I/O路徑被採用)都不存在時,處理將以這種方式優化:請求完全由GPFS內核模塊以內核模式處理,不涉及GPFS守護進程。但是,下列任何一種情況仍然會導致請求通過守護進程:
-
I/O操作需要由NSD服務器提供服務。
-
文件系統有數據複製。在寫操作的情況下,GPFS守護進程負責生成日誌記錄,以確保副本內容相同(在將副本寫入磁盤時出錯的情況下)。
-
操作在Windows操作系統上執行。
請注意,在使用**fcntl(fd,F_SETFL,[.])**打開的文件上設置 O_Direct標誌 ,這在Linux上是允許的,但在GPFS文件系統中將被忽略。
由於Linux中的限制,使用 O_DIRECT 的I/O操作不應與由同一進程調用的fork(2) 系統調用同時發出。 只有在 O_DIRECT I/O操作完成後才能發出對程序中fork()的任何調用。 也就是說,當 O_DIRECT I/O操作仍在等待完成時,不應調用fork()。
有關更多信息,請參閱Linux文檔中的open(2)系統調用。