设置
我已经按照以下说明设置了一个运行 gentoo 的瘦客户端这些说明。除了偶尔会冻结之外,它似乎运行良好。
我发现,我可以通过拔掉网络、运行 ls,然后重新插入网络来重现此问题。无论出于什么原因,它都无法从网络丢失中恢复。我认为操作系统应该能够处理瞬间的 I/O 丢失(假设硬盘需要一两秒钟才能响应),所以我认为这不可能只是文件系统中的故障,而是 nfs 连接根本没有恢复。文件系统以 nfs4 形式挂载,具有以下选项:
rw,relatime,vers=4.0,rsize=4096,wsize=4096,namlen=255,hard,proto=udp,port=0,timeo=11,retrans=3,sec=sys,clientaddr=xxx.xxx.xxx.xxx,local_lock=none,addr=yyy.yyy.yyy.yyy
以前,我没有使用 proto 规范(默认为 tcp),但效果并没有任何改善。
我认为当我没有拔掉电源线时,网络会暂时出现故障,某些东西会尝试访问某个文件(在我编译某些软件时似乎冻结了),然后就无法恢复了。
问题
我该怎么做才能使系统能够有效应对网络问题?
答案1
尝试选项 tcp、hard、_netdev。udp 协议不可靠。
'_netdev' 挂载选项将防止 NFS 共享崩溃。