在具有自动安装的主目录的环境中,使得由文件服务器导出的相同文件系统可以在客户端上安装多次,我想要权威地确定两个安装点实际上是否是相同的文件系统。 也就是说,如果远程服务器导出:
/home
而本地客户有:
# mount fileserver:/home/l/lars on /home/lars type nfs (rw...) fileserver:/home/b/bob on /home/bob type nfs (rw...)
我正在寻找一种方法来确定/home/lars和/home/bob实际上是相同的文件系统。 理论上讲,这是statvfs结构的fsid结果,但是在所有情况下,对于本地和远程文件系统,我都发现这个结构成员的值是0。
这是某种客户端问题吗? 或者大多数现代的NFS服务器只是拒绝提供一个有用的fsid ?
所有这些的最终目标是强大的解释NFS文件系统的quota命令的输出。 例如,考虑到上面的例子,运行quota作为我自己可能会返回类似于:
Disk quotas for user lars (uid 6580): Filesystem blocks quota limit grace files quota limit grace otherserver:/vol/home0/a/alice 12 52428800 52428800 4 4294967295 4294967295 fileserver:/home/l/lars 9353032 9728000 10240000 124018 0 0
…这里的问题是,在quota命令的结果中可见的其他服务器上存在对我的quota ,即使我的主目录实际上位于不同的设备上。 我的计划是查找quota输出中列出的每个挂载点的fsid ,并检查它是否与我的主目录相关的fsid匹配。
看起来这不起作用,所以…有什么build议吗?
您可以使用mountpoint命令。 -d开关将安装点的主要/次要设备号打印到stdout。
在你的情况下,比较mountpoint -d /home/lars的输出到mountpoint -d /home/bob 。
[root@Fruity ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.9G 2.5G 7.0G 26% / /dev/sda1 97M 43M 50M 47% /boot /dev/sda7 2.0G 68M 1.9G 4% /tmp /dev/sda3 9.9G 2.8G 6.6G 30% /usr /dev/sda6 6.0G 1.1G 4.6G 19% /var /dev/sdb1 400G 263G 138G 66% /data /dev/sdc1 150G 122G 29G 82% /images nfs001:/data/chain 36G 1.2G 35G 4% /data/chain nfs001:/data/src 36G 1.2G 35G 4% /data/src [root@Fruity ~]# mountpoint -d /data/chain/ 0:19 [root@Fruity ~]# mountpoint -d /data/src/ 0:19 [root@Fruity ~]# mountpoint -d /data/ 8:17