Wie kann ich überprüfen (simulieren), wie viel Speicherplatz freigegeben wird, nachdem ich ein btrfs-Subvolume entfernt habe?


9

Die Frage ist nicht trivial. BTRFS ist ein COW-Dateisystem und ein auf der Festplatte gespeichertes Objekt kann von vielen Dateien referenziert werden.

Ich verwende BTRFS-Snapshots als Teil einer Sicherungslösung auf meinem Produktionsserver. Auf diese Weise habe ich einen platzsparenden, durchsuchbaren Verlauf eines bestimmten Subvolumes (ich verwende eine Modifikation des SnapBtr ).

Ich habe mehrere unabhängige btrfs-Subvolumes für verschiedene Zwecke und ein Sicherungsschema für jedes. Wenn der freie Speicherplatz knapp wird, kann ich aus jedem Sicherungspool basierend auf dem intelligenten logarithmischen Zeit-Kosten-Algorithmus von den nicht benötigten Sicherungs-Snapshot abrufen SnapBtr.

Ich brauche eine Möglichkeit, die Datenmenge zu gewichten, die freigegeben wird, nachdem ich jede Sicherung mit dem Alter des alten Snapshots und der Bedeutung des Sicherungspools entfernt habe. Mir fehlen die früheren Informationen.

Ich verstehe, dass der Prozess der Berechnung des freien Speicherplatzes auf dem BTRFS weder trivial noch schnell ist. Ich brauche etwas, das das Löschen des Subvolumes simuliert, um die Größe des möglicherweise freigegebenen Speicherplatzes zu erhalten.

Kann mir jemand helfen? Soll ich diese Nachricht an die linux-btrfs@vger.kernel.orgsenden?

Antworten:


6

Wie hier gezeigt , ist dies eigentlich ziemlich einfach.

Aktivieren Sie zunächst die btrfs-Kontingente:

# btrfs quota enable /btrfs_subvolume

Und dann laufen:

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

Was in Btrfs v3.18.2 Folgendes zeigt:

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

Die 0/260 ist die Subvolume-ID, und das excl ist die exklusiven Daten im Subvolume. Wenn Sie das Subvolume löschen, wird so viel Speicherplatz frei.

Bearbeiten: Laut diesem Link scheint dies der offiziell empfohlene Weg zu sein, dies zu tun.


Pro Backup wies (in einer vorgeschlagenen Änderung) darauf hin, dass es sich lohnt, die bekannten Probleme mit der Kontingentunterstützung zu überprüfen .
Stephen Kitt

0

btrfsQuota.pymacht die Ausgabe btrfs qgroup showbesser lesbar und ersetzt Subvol-IDs durch die Namen der Subvols, z.

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
Es funktioniert nicht mit der Standardversion von btrfs-tools von Ubuntu 14.04. Sie müssen eine neuere installieren, und dann ist alles in
Ordnung

@AdamRyczkowski Ich verwende jetzt die Python 3-Version dieses Skripts und es funktioniert einwandfrei.
Geremia
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.