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
的效能考量
不建議同時使用 nconnect
和 sec=krb5*
掛接選項。 已發現這兩個選項並用時效能會降低。
一般安全性標準應用程式開發介面 (GSS-API) 有辦法讓應用程式保護傳送至對等應用程式的資料。 此資料可能從一部機器上的用戶端傳送到另一部機器上的伺服器。
在 Linux 中使用 nconnect
時,特定伺服器的所有 nconnect
連線之間會共用 GSS 安全性內容。 TCP 是可靠的傳輸,支援失序的封包傳遞,可使用一段滑動時間範圍的序號來處理 GSS 串流中失序的封包。 收到不在序列時間範圍內的封包時會捨棄安全性內容,並議定新的安全性內容。 在現已捨棄的內容中傳送的所有訊息都不再有效,因此需要再次傳送訊息。 如果 nconnect
設定中有大量封包,則會造成封包經常超出時間範圍,而引起上述行為。 無法具體指出此行為造成的惡化比例。