共用方式為


Kerberos 對 Azure NetApp Files NFSv4.1 磁碟區的效能影響

Azure NetApp Files 支援 Kerberos 模式 (krb5、krb5i 和 krb5p) 下的 NFS 用戶端加密與 AES-256 加密。 本文說明 Kerberos 對 NFSv4.1 磁碟區的效能影響。 本文所參考的效能比較是針對 sec=sys 安全性參數,使用單一用戶端在單一磁碟區上進行測試。

可用的安全性選項

目前適用於 NFSv4.1 磁碟區的安全性選項如下所示:

  • sec=sys 使用本機 UNIX UID 和 GID,並透過 AUTH_SYS 來驗證 NFS 作業。
  • sec=krb5 使用 Kerberos V5,而非本機 UNIX UID 和 GID 來驗證使用者。
  • sec=krb5i 使用 Kerberos V5 進行使用者驗證,並使用安全總和檢查碼執行 NFS 作業的完整性檢查,以防止資料竄改。
  • sec=krb5p 使用 Kerberos V5 進行使用者驗證和完整性檢查。 它會加密 NFS 流量,以防止流量探查。 此選項是最安全的設定,但也涉及最多的效能負擔。

已測試的效能向量

本節說明各種 sec=* 選項的單一用戶端效能影響。

  • 效能影響在兩個層級進行測試:低並行 (低負載) 和高並行 (I/O 和輸送量上限)。
  • 已測試三種類型的工作負載:
    • 小型作業隨機讀取/寫入 (使用 FIO)
    • 大型作業循序讀取/寫入 (使用 FIO)
    • git 等應用程式所產生的中繼資料大量工作負載

預期的效能影響

重點有兩個:輕量負載和上限。 下列清單根據安全性設定和案例描述效能影響。

測試範圍

  • 所有比較都是針對 sec=sys 安全性參數進行。
  • 測試是在單一磁碟區上使用單一用戶端完成。

krb5 的效能影響:

  • 平均 IOPS 減少 53%
  • 平均輸送量減少 53%
  • 平均延遲增加 0.2 毫秒

krb5i 的效能影響:

  • 平均 IOPS 減少 55%
  • 平均輸送量減少 55%
  • 平均延遲增加 0.6 毫秒

krb5p 的效能影響:

  • 平均 IOPS 減少 77%
  • 平均輸送量減少 77%
  • 平均延遲增加 1.6 毫秒

nconnect 的效能考量

不建議同時使用 nconnectsec=krb5* 掛接選項。 已發現這兩個選項並用時效能會降低。

一般安全性標準應用程式開發介面 (GSS-API) 有辦法讓應用程式保護傳送至對等應用程式的資料。 此資料可能從一部機器上的用戶端傳送到另一部機器上的伺服器。 

在 Linux 中使用 nconnect 時,特定伺服器的所有 nconnect 連線之間會共用 GSS 安全性內容。 TCP 是可靠的傳輸,支援失序的封包傳遞,可使用一段滑動時間範圍的序號來處理 GSS 串流中失序的封包。 收到不在序列時間範圍內的封包時會捨棄安全性內容,並議定新的安全性內容。 在現已捨棄的內容中傳送的所有訊息都不再有效,因此需要再次傳送訊息。 如果 nconnect 設定中有大量封包,則會造成封包經常超出時間範圍,而引起上述行為。 無法具體指出此行為造成的惡化比例。

下一步