私はbtrfsスナップショットをたくさん持っていますが、私の興味の1つは、与えられたスナップショットがどのくらいのスペースを占めるか、より具体的に言えば、btrfsスナップショットがどれだけのデータを占めるかです。スナップショットを削除するとスペースが解放されます。
私が知っている限り、この情報を見つける唯一の方法はbtrfsクォータを有効にすることです。
# btrfs quota enable /
そして走っている
# btrfs qgroup show /
これは非常にうまく機能します。問題は、実際にはbtrfsクォータを他の目的に使用しないことです。つまり、常にbtrfsクォータを有効にするか、 "btrfs qgroup show /"コマンドを実行する前に一時的に有効にしてすぐに有効にするオプションがあることを意味します。無効にします。また、最後にbtrfsクォータはまだ実験的であると聞きました(私は間違っていますか?)。
基本的に私が知りたいことは次のとおりです。
- btrfsクォータを有効にすると、システムの信頼性に影響しますか?
- btrfsクォータを有効にすると、システムのパフォーマンスに影響しますか?
「セキュリティのための」答えは、必要なときにのみクォータを有効にすることですが、実際には「btrfs qgroup show /」を実行し、出力をより読みやすい形式で印刷し、常に有効および無効にするコードを追加するスクリプトを作成しています。クォータスクリプトの速度が大幅に遅くなり、複雑さが追加されるため、常にクォータを有効にすることをお勧めしますが、欠点があるかどうかはわかりません。
ベストアンサー1
プライベートNASにbtrfsを使用します。これは、1,000を超えるスナップショットを含む3.7Tファイルシステムです。スナップショットを使用してバックアップを外部ドライブに同期します。マイユースケースでクォータを有効にすると、システムの信頼性とパフォーマンスに悪影響を及ぼす可能性があります。クォータの計算中は、BTRFSトランザクションが数時間中断される可能性があります。これにより、ファイルシステムにアクセスするすべてのプロセスが中断のないディスクスリープ状態で中断されます。偶数ls
またはdf
クォータの計算が完了するまで中断され、終了できなくなります。
私の考えでは、スナップショットを少なくした場合、この問題は発生しませんでした。クォータは、一部の人のワークロードには合理的にうまく機能するようですが、私のワークロードにはそうではありません。