2023年10月26日 星期四

調整Ubuntu 22.04的nfsd數量方式有變

過往調整NFS daemon (nfsd)數目是去修改/etc/default/nfs-kernel-server裡面的參數 RPCNFSDCOUNT但是這招在Ubuntu 22.04上已經失效。要檢查目前系統在執行的NFS daemon有幾隻,用下列指令:

  • ps -ef | grep "\[nfsd\]" -c
至於有多少個客戶端連線,則可用下面的指令:
  • netstat -nt | grep :2049 -c


在Ubuntu 22.04之後,設定NFS daemon (nfsd)的數目要調整/etc/nfs.conf裡面的threads,例如說以下的範例就是開啟128隻nfsd:

  • threads=128

修改完成後,用下列指令重開nfsd:

  • sudo systemctl restart nfs-server.service

用上述指令會重開服務包含了nfs-mountd, nfs-idmapd, rpc-svcgssd。另外一個指令(不一定要做,除非相關設定也改掉了):

  • sudo systemctl restart nfs-utils.service

則是會重開nfs-blkmap, rpc-gssd, rpc-statd, rpc-svcgssd。單純修改daemon數目不用改。相關的服務與設定則可以參考來自Ubuntu.com的表格

至於說要開多少個nfsd,端看有可能的連線有多少個。在SUSE上面如果連接port 2049的數目超過[(number of threads + 3) * 20],以預設的8 threads來算就是220個連線,就會出現下列的錯誤訊息

kernel: nfsd: too many open TCP sockets, consider increasing the number of nfsd threads

所以說128 threads會有(128 + 3) * 20 = 2,620個TCP連線才會不夠用。

參考資料

_EOF_

沒有留言:

張貼留言