原文地址:https://blog.csdn.net/m0_37504201/article/details/95594969linux
最近搭建CentOS7的無盤系統,主要參考了這個教程:
http://hmli.ustc.edu.cn/doc/linux/centos7.6-diskless/
最後肯定使用TFTP+DNSMASQ+NFS+NIS的方法來構建無盤系統,預計供10-20臺無盤計算機使用。
客戶機的操做系統信息:
uname -r
4.19.53diskless
cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
在使用過程當中,發現一旦超過2臺客戶機啓動系統時,客戶機會變得很是緩慢。
起初覺得是服務器磁盤IO問題,把無盤啓動數據遷移到固態硬盤後確實有好轉,但仍有卡死,沒法啓動等狀況。
最後查看內核日誌發現報:
dmesg
...
nfs4_reclaim_open_state: Lock reclaim failed!
...
網上關於這個錯誤的資料很多,但我沒有找到什麼解決的頭緒。
後來猜測是NFS傳輸使用TCP佔用大量資源,故在客戶機的/etc/fstab上修改nfs參數
xxx.xxx.xxx.xxx:/home /home nfs defaults,udp 0 0
加上udp參數後,客戶機的啓動和操做明顯變快了。
使用
mount | grep nfs
查看掛載狀況發現,nfs使用的版本已經降爲3.0。
猜測客戶機卡頓與NFS使用TCP仍是UDP傳輸,在這個量級上沒有太大關係故修改客戶機上的/etc/fstab爲:
xxx.xxx.xxx.xxx:/home /home nfs defaults,vers=4.0
重啓後,nfs運行在4.0版本上,使用TCP進行傳輸,實際使用下來也沒有出現明顯卡頓和卡死的狀況。
故暫時認爲是NFS 4.1版本在這狀況下存在BUG或者我本身不會配置。
DONE.
centos