本頁說明如何調整掛接 NetApp Volumes 匯出的 Linux NFS 用戶端。許多工作負載不需要調整。除非您需要更高的處理量、更多 IOPS、降低磁碟區的元資料負載,或特定的快取行為,否則請使用Google Cloud 控制台的掛接指令。
如要進一步瞭解連線步驟、匯出政策設定和掛接指令,請參閱「連線 NFS 用戶端」。
設定用戶端
依下列順序設定 Linux NFS:
核心並行:掛接檔案系統前,請設定 NFS 要求時段數 (NFSv3 的時段表項目或 NFSv4.1 的工作階段時段)。變更設定後,您必須重新掛接檔案系統。詳情請參閱「Linux NFS 並行」。
掛接選項:在掛接時選擇通訊協定版本、I/O 大小、TCP 連線計數、鎖定和快取相關選項。詳情請參閱「Linux NFS 掛接選項」。
預先讀取:在磁碟區掛接後,調整每個掛接點的循序讀取預先擷取。詳情請參閱「Linux NFS read-ahead」。
下表彙整這些設定步驟:
| 步驟 | 時間 | 控制項目 | 設定位置 | 指南 |
|---|---|---|---|---|
| 1 | 首次掛接前或重新掛接前 | 每個 TCP 連線的待處理 RPC 作業;每個工作階段的 NFSv4.1 指令 | /etc/sysctl.conf、/etc/modprobe.d/ |
Linux NFS 並行 |
| 2 | 安裝時 | 通訊協定、I/O 傳輸大小、連線數、鎖定和屬性快取 | mount -o、/etc/fstab |
Linux NFS 掛接選項 |
| 3 | 掛接後 | 循序讀取預先擷取 | /sys/class/bdi/.../read_ahead_kb、udev 規則 |
Linux NFS 預先讀取 |
設定如何搭配運作
Linux 核心會定義每個連線的並行數 (上表中的步驟 1)。您可以使用 nconnect 掛接選項 (上表中的步驟 2),從一個用戶端開啟多個 TCP 連線至同一個磁碟區 IP 位址。
單一用戶端的約略並行數計算方式如下:
(slots per connection) x (nconnect value)
每個連至 NetApp Volumes NFS 端點的 TCP 連線,在 NFSv3 中最多支援 128 個待處理作業。NFSv4.1 也會協商工作階段層級的限制;單一 TCP 連線可將有效並行上限設為低於工作階段上限。詳情請參閱「Linux NFS 並行」。
如果多個用戶端掛接相同的磁碟區 IP 位址,請使用較低的每個用戶端配額限制,確保整個用戶端機群的待處理作業總數維持在建議限制內。
您要為每個掛接點設定預先讀取 (上表中的步驟 3)。這取決於 rsize 掛接選項和 Linux 發行版預設值。部分發行版本會使用固定的 128 KiB 預先讀取,不論 rsize 為何,這可能會降低循序讀取效能,直到您調整為止。
掛接選項和核心設定不會變更匯出政策、Kerberos 設定、防火牆需求,或磁碟區服務層級的輸送量和 IOPS 限制。
工作負載起點
下表提供起點。請使用應用程式、Linux 發行版和網路路徑驗證設定。
| 工作負載 | 核心並行工作數量上限 | 掛接選項 | 預先讀取 |
|---|---|---|---|
| 一般用途 | 作業系統預設值 | 使用 Google Cloud 控制台提供的掛接指示 | 作業系統預設值 |
| 單一 VM,高總處理量/IOPS |
|
|
如果工作負載受循序讀取限制,請進行調整 |
| 多個用戶端 (EDA/HPC/轉譯設備) |
|
|
大型靜態資料集的費用通常較高 |
| Kerberos NFSv4.1 |
|
|
視連續讀取需求而定 |
| 不含諮詢鎖的 NFSv3 | 作業系統預設值 |
|
視需求 |
評估及驗證調整結果
更新用戶端設定後,請完成下列步驟:
在用戶端執行
nfsiostat、mountstats和nfsstat。詳情請參閱「監控效能」。與成效基準比較結果。 這些基準測試在 Red Hat Enterprise Linux 9 上進行部分 NFSv3 測試時,使用了
nconnect=16、rsize=65536和wsize=65536。
調整用戶端可提高虛擬機器 (VM) 磁碟區的網路路徑使用效率。磁碟區容量、服務等級、儲存集區限制和 Compute Engine VM 大小可能仍會限制結果。
後續步驟
調整並行數:Linux NFS 並行數。
調整掛接選項:Linux NFS 掛接選項。
調整循序讀取:Linux NFS 預先讀取。