Come controllare (simulare), quanto spazio verrà liberato dopo aver rimosso un volume secondario di btrfs?


9

La domanda non è banale. BTRFS è il file system COW e un oggetto memorizzato sul disco rigido può essere referenziato da molti file.

Uso le snapshot BTRFS come parte di una soluzione di backup sul mio server di produzione. In questo modo ho una cronologia navigabile ed efficiente in termini di spazio di un determinato volume secondario (utilizzo una modifica di SnapBtr ).

Ho diversi sottovolumi btrfs indipendenti per scopi diversi e uno schema di backup per ognuno. Quando lo spazio libero si sta esaurendo, posso ottenere lo snapshot di backup più non necessario da ciascun pool di backup basato sull'algoritmo logaritmico-costo-tempo intelligente di SnapBtr.

Ho bisogno di un modo per ponderare la quantità di dati che verranno liberati dopo aver rimosso ogni backup con l'età della vecchia istantanea e l'importanza del suo pool di backup. Mi mancano le informazioni precedenti.

Comprendo che il processo di calcolo dello spazio libero su BTRFS non è né banale né veloce. Ho bisogno di qualcosa che simuli la cancellazione del sottovolume per ottenere le dimensioni dello spazio liberato.

Qualcuno può aiutarmi? Devo inviare questo messaggio a linux-btrfs@vger.kernel.org?

Risposte:


6

Come dimostrato qui , questo è in realtà abbastanza semplice da fare.

Innanzitutto, abilita le quote btrfs:

# btrfs quota enable /btrfs_subvolume

E poi esegui:

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

Che in Btrfs v3.18.2 ti mostra questo:

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

0/260 è l'ID del volume secondario e excl sono i dati esclusivi nel volume secondario. Se elimini il volume secondario, questo è lo spazio che libererai.

Modifica: secondo questo link , questo sembra essere il modo ufficiale raccomandato per farlo.


Pro Backup ha sottolineato (in una modifica suggerita) che vale la pena verificare i problemi noti con il supporto delle quote .
Stephen Kitt,

0

btrfsQuota.pyrende l'output di btrfs qgroup showpiù leggibile, sostituendo gli ID subvol con i nomi dei sotto-controlli, ad esempio:

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
Non funziona con la versione predefinita di Ubuntu 14.04 di btrfs. Devi installarne uno più recente, quindi tutto è ok
Adam Ryczkowski il

@AdamRyczkowski Sto usando la versione Python 3 di quello script adesso, e funziona benissimo.
Geremia,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.