我正在运行具有两个导出的 NFS 服务器:
/mnt/sda1 192.168.1.254/255.255.255.0(rw,fsid=1,no_subtree_check,all_squash,anonuid=0,anongid=0,insecure)
/mnt/sdb1 192.168.1.254/255.255.255.0(rw,fsid=1,no_subtree_check,all_squash,anonuid=0,anongid=0,insecure)
在服务器上,如果我 cd 到任一目录,它们显然是非常不同的驱动器。
/dev/sda1 1.8T 1.7T 8.6G 100% /mnt/sda1
/dev/sdb1 2.0T 1.3T 603.9G 68% /mnt/sdb1
但是,如果我在客户端上挂载这些 nfs 共享,则挂载 /mnt/sdb1 似乎直接指向 /mnt/sda1。
sudo mount 192.168.1.123:/mnt/sdb1 /media/test
然后在客户端上使用 df -h
192.168.1.123:/mnt/sdb1 1.8T 1.7T 8.6G 100% /media/test
正如您在上面看到的,即使仅基于存储空间,这实际上是 /mnt/sda1。
该服务器已经运行了很长时间,我隐约记得大约 5 年前我正在使用 lvm 磁盘管理东西(但从未让它工作)并且可能配置了一些导致这种奇怪行为的东西 - 但我不确定. 我什至不确定从哪里开始,因为这对谷歌来说是一种艰难的行为。帮助表示赞赏!
我在这里做出有根据的猜测:这种行为可能是由
fsid=1
两个出口的选项引起的。根据
exports
手册页,该fsid
选项用于识别文件系统:导出可能具有
/mnt/sda1
优先权,因为它在导出文件中较早(即它被映射到fsid=1
第一个)。如果上述假设成立,那么问题的解决方案应该很简单:只需为导出分配一个不同
fsid
的/mnt/sdb1
值。