我在 Pi 4 上有一个 NFS 服务器,它工作得相当好,只是在重新启动 Pi 后我经常在客户端上收到“陈旧文件句柄”。也就是说,当客户端安装了共享时,Pi 会重新启动,在启动后,客户端在尝试像 ls 这样的文件操作时会抛出错误。造成这种情况的原因是什么以及如何解决?
答案1
问题在于,当 NFS 启动时,NFS 导出的文件系统并不总是准备就绪。在这种特殊情况下,有一个外部磁盘在启动时异步安装,有时 NFS 会在此之前启动。结果是 NFS 无法导出文件系统。
一种好的解决方案是使用 systemd 在 NFS 和文件系统之间创建依赖关系。有多种方法可以做到这一点,但也许最简单的是:
- 打开
/etc/fstab
和 - 将选项添加
x-systemd.before=nfs-server.service
到文件系统的挂载选项中
完成后,nfs-server.service 将仅在安装文件系统后启动,因此将成功导出它。