我的 NFS 挂载最近出现了一个问题,无法遍历挂载的文件系统:
find /media/photos/
运行良好一段时间,然后退化为某个文件的无限循环:
/media/photos/2012/07/02/IMG_1180.jpg.xmp
/media/photos/2012/07/02/IMG_1180.jpg.xmp
/media/photos/2012/07/02/IMG_1180.jpg.xmp
/media/photos/2012/07/02/IMG_1180.jpg.xmp
...
服务器是运行 5.0.0.1853 的 QNAP TS-451+ NAS。客户端是运行 Ubuntu 20.04.3 (focal)、Linux 5.8.0-43-generic 的 Linux 机器。
我尝试过一些用于故障排除的方法:
find
删除循环播放的文件。如果我这样做,find /media/photos
会做同样的事情,但会在其他文件上循环。- 在 NAS 上运行文件系统检查。重新启动 NAS。不用找了。
- 检查索引节点号,以防溢出。
df -i /media/photos
显示总共 6553600 个 inode,已使用 294671 个。这对我来说似乎不无道理。 find
在其他文件系统上运行。/media/photos
是唯一出现此问题的文件系统。我有来自同一 NAS 的其他挂载 NFS 的文件系统,这些文件系统更大或使用更多 inode,但它们都工作正常。find /media/photos
在其他主机上 运行。- 在 NAS 本身上,
find
在本地文件系统上运行效果很好。 - 在运行 Monterey 的 Mac 上,
find
所有 NFS 安装的文件系统都可以完美运行。
- 在 NAS 本身上,
- 手动挂载文件系统。通常
/media/photos
由 autofs 挂载。我尝试systemctl stop autofs
卸载所有文件系统,然后mount -t nfs -o ro mynas:/photos /mnt
。现在find /mnt
仍然出现上面的无限循环问题。 - 查看
/var/log
。我没有看到任何值得注意的东西,但我也不确定除了带有字符串“NFS”的东西之外我应该寻找什么。
该安装座多年来一直工作良好。大约一周前才失败。这似乎与 QNAP 升级到 QTS 5.0.0.1853 一致(尽管我也定期更新客户端)。我猜测 QNAP 升级引起了 Ubuntu 的 NFS 客户端中的一些错误。不过,我不确定如何解决这个问题。更重要的是该怎么办。也许我不熟悉某些 NFS 选项,但 NFS 不是我的强项。