私の 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 サーバー上の同じファイルシステムがクライアントに 2 回マウントされている場合です。
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()
」: 「ファイル システム ID」フィールドを持つ をstatfs()
返します。残念ながら、これは未定義であり、NFS ではゼロに設定されます。struct statfs
f_fsid
- 「同じパーティションを複数回マウントしないでください。」これは私の管理外です。
- 「使用可能なスペースに基づくヒューリスティックを使用します。」メソッドは確実に機能する必要があります。また、
statfs()
出力をキャッシュするため、大規模なデータ移動に直面してこれを正しく取得することは困難です。
解決策がない場合は、サーバー側の潜在的なすべてのマウント ポイントで構成ファイルを生成する必要がありますが、それを回避するためのクリーンな方法があれば、はるかに優れています。
ありがとう!