我有一台 FreeBSD NFS 服务器,上面有一个挂载点,比如说“/mnt”,以及一些挂载点,比如说“/mnt/Documents”。当我从 CentOS 7 挂载时,子挂载点会自动挂载:
# mount -t nfs4 -o soft,intr 10.0.0.1:/mnt nfs-test # ls nfs-test/Documents 东西
而在 Fedora 上:
# mount -t nfs4 -o soft,intr 10.0.0.1:/mnt nfs-test # ls nfs-test/Documents ls:读取目录 nfs-test/Documents:输入/输出错误
同样,如果我单独挂载此子挂载,挂载会成功,但当我尝试读取目录时会出现相同的错误。如果我尝试在现有的父 NFS 挂载中挂载子挂载:
mount.nfs4:/home/_/nfs-test/Documents 正忙或已挂载
它在 CentOS 下运行的事实让我相信服务器端没有配置问题,但如果有必要,我可以提供关于此问题的详细信息。
如需更多详细信息,请告知我。
谢谢
答案1
我不愿意回答这个问题,因为事实证明这是一个愚蠢的错误。此外,这两个分布之间的行为差异的原始问题在某种程度上仍悬而未决。无论如何,我忘记了我在父数据集上设置的 ZFS 属性:
路由器:/root# zfs 获取 sharenfs 父级 名称 属性值 父 sharenfs -alldirs -mapall 管理员 -网络 192.168.1.1 -掩码 255.255.255.0
CentOS 客户端恰好位于 192.168.1.1/24 上,并且该属性被我安装时遇到困难的所有子数据集继承。将掩码扩展为 /16 解决了这个问题。