我的基于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的空闲空间。
有什么办法可以检测到他们在同一个分区吗?
如何在Bash脚本中的AWK中传递string作为参数
在Git别名中跳出$ num
我怎样才能得到字符代码只使用bash,没有xdd?
linux有零拷贝吗? 拼接或发送文件?
复制一个没有内容的文件名称的目录结构
方法不起作用:
“使用statfs() ”: statfs()返回一个struct statfs ,它有一个“文件系统ID”字段f_fsID 。 不幸的是,它是未定义的,并通过NFS归零。
“不要多次安装同一份。” 这是我无法控制的。
“根据可用空间使用启发式”。 该方法必须确定地工作。 而且, statfs()caching它的输出,所以在大数据移动的情况下很难做到这一点。
如果没有解决办法,我将不得不在服务器端的每个可能的挂载点上生成一个configuration文件,但是如果有一些干净的方法可以避免的话,那将会好很多。
谢谢!
在linux上的Java写文件被删除,但我仍然可以写入它
静态链接的共享对象? 或者是一个损坏的文件?
如何FGREP 2破折号\’ – \’?
mmap系统调用返回-14(-EFAulT ??)
如何在linux中find属于同一进程的线程
我猜如果“stat -c%d / mountpoint”做你想做的(我现在无法测试)?
您可能需要阅读远程系统的共享文件系统 – 使用:
showmount -e server
这会给你分享的真正路径。 从远程系统步行安装时,将其修剪到远程系统的公共根目录,并使用它来确定安装点是否来自同一个基础文件系统。
如果文件系统是从相同的底层文件系统分别共享的,这并不能帮助您。
您可以添加一个启发式检查整个文件系统的大小和可用空间,并假设它们是相同的,并且从同一个分区映射到装载设备的最短公共路径的相同远程服务器。
如果你从一个看起来与其他形式完全不同的环回安装的文件系统共享,这些都不会有帮助。
它不能帮助你在一个服务器的情况下,可以用不同的名字和地址来解决。
总结
以上是内存溢出为你收集整理的如何判断两个NFS挂载是否在同一个远程文件系统上?全部内容,希望文章能够帮你解决如何判断两个NFS挂载是否在同一个远程文件系统上?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容