ファイルサーバーによってエクスポートされた同じファイルシステムがクライアントに複数回マウントされるような、自動マウントされたホームディレクトリがある環境では、2つのマウントポイントが実際に同じファイルシステムであるかどうかを正式に識別できるようにしたいと思います。つまり、リモートサーバーが以下をエクスポートする場合:
/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
コマンドの結果に表示される他のサーバーにクォータが存在することです。私の計画は、fsid
出力にリストされている各マウントポイントのquota
を検索し、それが私のホームディレクトリに関連付けられているfsid
と一致するかどうかを確認することでした。
これはうまくいかないようですので...何か提案はありますか?
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