PowerScale:OneFS:NFS 用戶端設定的最佳實務
摘要: 本文說明使用網路檔案系統 (NFS) 通訊協定連線至 PowerScale 叢集,並套用至所有支援的 OneFS 版本時,用戶端設定和掛接選項的最佳實務和建議。
症狀
OneFS:網路檔案系統 (NFS) 用戶端設定的最佳實務
原因
支援的通訊協定版本
PowerScale OneFS 目前支援網路檔案系統 (NFS) 版本 3 和 4。不支援 NFS 第 2 版。
NFSv3
NFS 第 3 版是目前最廣泛使用的 NFS 通訊協定版本,並據認為是用戶端和檔案管理器採用範圍最廣的版本。以下是此版本的一些關鍵元件:
- 無狀態 - 用戶端有正確的資訊可要求檔案等,但在技術上無法建立新工作階段。這可使用動態 IP 集區,在 OneFS 節點之間輕鬆進行容錯移轉。
- 使用者和群組資訊會以數位方式顯示 - 用戶端和伺服器會透過數位識別碼來傳達使用者資訊,讓相同的使用者在用戶端和伺服器之間顯示為不同的名稱。
- 檔案鎖定為頻外 - NFS 第 3 版使用名為 NLM 的協助程式通訊協定來執行鎖定。這需要用戶端回應來自伺服器的 RPC 訊息,以確認已授予鎖定。
- 可透過 TCP 或 UDP 執行 - 此通訊協定版本可透過 UDP 執行而非 TCP,將遺失與重新傳輸交由軟體來處理,而非作業系統。Dell Technologies 建議您隨時使用 TCP。
NFSv4
NFS 第 4 版是 NFS 通訊協定最新的主要修訂版,採用量也與日俱增。 以下是 v3 和 v4 之間的一些主要區別。
- 具狀態 - NFSv4 會使用工作階段來處理通訊,因此用戶端和伺服器都需要追蹤工作階段狀態才能繼續進行通訊。
- 在 OneFS 8.X 之前,這表示 NFSv4 用戶端需要 PowerScale 上的靜態 IP 集區,否則可能會發生問題。
- 使用者和群組資訊會顯示為字串 - 用戶端和伺服器都必須解析儲存的數位資訊名稱。伺服器必須查閱要顯示的名稱,而用戶端則需要在其結束時將這些重新對應至數字。
- 檔案鎖定為頻內 - 第 4 版不再使用個別的通訊協定進行檔案鎖定,而是使其成為一種與開啟、建立或寫入複合的呼叫類型。
- 複合通話 - 第 4 版可將一系列通話包在單一套裝中,讓伺服器處理所有呼叫並在結束時回覆。這可用於減少一般作業中涉及的通話數。
- 僅支援 TCP - NFS 第 4 版已將遺失與重新傳輸交由基礎作業系統來處理。
NFSv4.1 及更新版本
NFSv4.1 和 v4.2 從 OneFS 9.3 版開始提供。
以下是 9.3 的官方版本資訊:
PowerScale OneFS 資訊中心
解析度
掛接選項
雖然 Dell Technologies 對掛接選項沒有硬性要求,但 Dell Technologies 對於用戶端的連接方式提出了一些建議。Dell Technologies 尚未提供特定的掛接字串,因為用於定義這些選項的語法會依使用中的作業系統而有所不同。您必須遵循經銷維護人員說明文件,以取得特定的掛接語法。
PowerScale 支援也建議將下列白皮書作為使用 PowerScale 進行 NFS 用戶端組態的主要參考,包括 wsize/rize、屬性快取等建議選項:
PowerScale OneFS NFS 設計考量與最佳實務
https://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
讀取與寫入大小 (rsize / wsize)
關於「wsize/rsize options」,PowerScale 支援建議「wsize」和「rsize」至少為 128K,這是以我們的原生區塊大小為依據。
但是,對於大多數現代 Linux 發行版,PowerScale 支援實際上建議不要明確配置設定 (即不要在用戶端掛接選項中指定讀/寫大小),並讓用戶端重新協商調整。現代 Linux 發行版支援最高 1 MB 的 NFS 讀/寫區塊大小,並會自動與 PowerScale NFS 伺服器協商最佳區塊大小。協商值非常適合配置最正確的高性能、低延遲網路。例外情況是,除非您的應用程式或供應商特別需要較小的尺寸。
若未明確設定,您的 NFS 用戶端會使用 PowerScale NFS 伺服器 FSINFO 資料,如 PowerScale 叢集上所設定的 NFS 匯出中所定義。
PowerScale 提供的預設值如下:
NFSv3: 512KB writes / 1MB readsNFSv4: 1MB writes/ 1MB reads
請參閱以下白皮書的第 12 頁和第 19 頁,以取得有關「rsize」和「wsize」的詳細資訊:
PowerScale OneFS NFS 設計考量與最佳實務
https://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
定義重試與逾時
雖然 PowerScale 通常會快速回覆用戶端通訊,但在節點失去電源或網路連線能力的情況下,其 IP 位址移動至功能節點可能需要幾秒鐘的時間,因此正確定義逾時和重試值相當重要。PowerScale 通常建議在發生最糟情況的容錯移轉情況下逾時為 60 秒,設定至在報告故障前重試兩次。
軟掛接與硬掛接
硬掛接會導致用戶端在逾時或錯誤時無限期重試其作業。這可確保用戶端不會在 PowerScale Cluster 將 IP 位址從一個節點移到另一個節點的情況下拔下掛接。軟掛接會發生錯誤並使掛接到期,造成在 IP 位址移動後,需要重新掛接以還原存取。
允許中斷
默認情況下,大多數用戶端不允許您中斷輸入/輸出或 I/O 等待,這意味著您無法使用 ctrl+c 在叢集停止回應時結束等待程序,包括 interrupt 掛載選項允許這些信號正常通過。
本機鎖定與遠端鎖定
安裝 NFS 匯出時,可以指定用戶端是在本地生成鎖,還是使用群集上的鎖協調器。大多數用戶端預設採用遠端鎖定,而且當多個用戶端存取相同的目錄時,這通常是最佳選項,但是當用戶端並非必須共用其使用的目錄存取權限時,執行本機鎖定可能會有效能優勢。此外,有些資料庫和軟體會要求您使用本機鎖定,因為它們有自己的協調器。
屬性快取 (ac/noac)
關於「活動緩存超時」,這被視為客戶端行為。因此,PowerScale 支援不會針對這些設定提出建議,因為這取決於您的需求。但是,客戶可以在以下白皮書的第 22 頁找到這些設置的一些常規指南:
PowerScale OneFS NFS 設計考量與最佳實務
https://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
每第 22 頁從上面:
屬性快取 (ac/noac)
使用 noac 掛接選項,實現多個用戶端之間的屬性快取一致性。幾乎每個檔案系統操作都會檢查檔案屬性資訊。用戶端將此資訊緩存一段時間,以減少網路和伺服器負載。當 noac 生效時,用戶端的檔案屬性快取會停用,因此每個必須檢查檔案屬性的作業都會強制返回伺服器。此外,noac 選項強制應用程式寫入變得同步,以便用戶端在打開時看到對檔的更改,但代價是許多額外的網路操作。依預設,屬性快取在掛接 NFS 時為啟用。開啟屬性快取,提升屬性檢查效能,減少 NFS 作業延遲。
NFSv3 與 NFSv4 的效能
根據實驗室測試,PowerScale 支援並未發現在最新、支援的 OneFS 版本中,不同版本的 NFS 之間有任何明顯的效能差異。
其他資訊
若要查看特定 NFS 匯出的 wsize/rsize 值,您可以在任何 PowerScale 節點上執行下列命令:
# isi nfs exports ls -v --zone <zone name>
或者,若要檢查特定的匯出 ID,客戶可以執行下列步驟:
# isi nfs export view <export id>
範例:
Read Transfer Max Size: 1.00M Read Transfer Size: 128.00k Write Transfer Max Size: 1.00M Write Transfer Size: 512.00k