チェック(シミュレーション)する方法、btrfsサブボリュームを削除した後、どのくらいのスペースが解放されるのですか?


9

問題は簡単ではありません。BTRFSはCOWファイルシステムであり、ハードディスクに格納された1つのオブジェクトは多くのファイルから参照できます。

BTRFSスナップショットを運用サーバーのバックアップソリューションの一部として使用しています。このようにして、特定のサブボリュームのスペース効率の良い、閲覧可能な履歴を持っています(SnapBtrの変更を使用します)。

目的の異なる複数の独立したbtrfsサブボリュームと、それぞれのバックアップスキームがあります。空き容量が不足すると、のスマートな対数時間コストアルゴリズムに基づいて、各バックアッププールから最も不要なバックアップスナップショットを取得できますSnapBtr

古いスナップショットの経過時間とそのバックアッププールの重要性を使用して、各バックアップを削除した後に解放されるデータの量に重みを付ける方法が必要です。以前の情報が欠けています。

BTRFSの空き領域の計算プロセスは簡単でも迅速でもないことを理解しています。解放されるスペースのサイズを取得するために、サブボリュームの削除をシミュレートするものが必要です。

誰か助けてもらえますか?このメッセージをに投稿しますlinux-btrfs@vger.kernel.orgか?

回答:


6

ここで説明したように、これは実際にはかなり簡単です。

まず、btrfsクォータを有効にします。

# btrfs quota enable /btrfs_subvolume

次に実行します:

# btrfs qgroup show /btrfs_subvolume
OR
# btrfs qgroup show -f /btrfs_subvolume

Btrfs v3.18.2でこれはあなたにこれを示しています:

qgroupid        rfer       excl
--------        ----       ----
0/260        1.09GiB    1.09GiB

0/260はサブボリュームIDで、exclはサブボリューム内の排他データです。サブボリュームを削除すると、それが解放されるスペースの量になります。

編集:このリンクによると、これはこれを行うための公式の推奨方法のようです。


Pro Backup、クォータのサポートに関する既知の問題を確認する価値があると(推奨された編集で)指摘しました。
Stephen Kitt 2017年

0

btrfsQuota.py出力をbtrfs qgroup show読みやすくし、サブボリュームIDをサブボリュームの名前に置き換えます。例:

subvol                                      group         total    unshared
-------------------------------------------------------------------------------
test/a                                      0/970        20.05M       0.05M
test/b                                      0/971        20.05M      10.05M
test/c                                      0/972        30.05M      10.05M
test/d                                      0/973        30.05M       0.05M
test/e                                      0/974        30.05M      10.05M

1
Ubuntu 14.04のデフォルトのbtrfs-toolsバージョンでは動作しません。新しいものをインストールする必要があり、その後すべてが
問題ありません

@AdamRyczkowskiそのスクリプトのPython 3バージョンを使用していますが、問題なく動作します。
ジェレミア2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.