web-dev-qa-db-ja.com

Linuxでfsidを入手しますか?または、ファイルシステムを識別する別の方法はありますか?

ファイルサーバーによってエクスポートされた同じファイルシステムがクライアントに複数回マウントされるような、自動マウントされたホームディレクトリがある環境では、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と一致するかどうかを確認することでした。

これはうまくいかないようですので...何か提案はありますか?

2
larsks

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
3
ewwhite