gpt4 book ai didi

linux - 如何判断两个 NFS 挂载是否在同一个远程文件系统上?

转载 作者:太空狗 更新时间:2023-10-29 11:23:07 25 4
gpt4 key购买 nike

我的基于 Linux 的系统显示了 NFS 挂载文件系统的统计信息,如下所示:

   Remote Path              Mounted-on  Stats
server1:/some/path/name /path1 100 GB free
server2:/other/path/name /path2 100 GB free
Total: 200 GB free

这很好用。问题是当 NFS 服务器上的同一个文件系统在我的客户端上安装了两次:

   Remote Path              Mounted-on  Stats
server1:/some/path/name /path1 100 GB free
server1:/some/path/name2 /path2 100 GB free
Total: 200 GB free

server1/some/path/name/some/path/name2 实际上在同一个文件系统上,有 100 GB 免费,但我错误地将它们加起来并报告 200 GB 免费。

有什么方法可以检测到它们在同一个分区上吗?

行不通的方法:

  • “使用statfs()”:statfs()返回一个struct statfs,它有一个“文件系统ID”字段,f_fsid。不幸的是,它是未定义的并且在 NFS 上被清零了。
  • “不要多次挂载同一个分区。”这是我无法控制的。
  • “根据可用空间使用试探法。”该方法必须最终起作用。此外,statfs() 缓存其输出,因此在面对大量数据移动时很难做到这一点。

如果没有解决方案,我将不得不在服务器端的每个潜在挂载点生成一个配置文件,但如果有的话会好很多 一些干净的方法来避免这种情况。

谢谢!

最佳答案

我想如果“stat -c %d/mountpoint”做你想做的事(我现在无法测试)?

关于linux - 如何判断两个 NFS 挂载是否在同一个远程文件系统上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5121390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com