Bagaimana cara mengecek (mensimulasikan), berapa banyak ruang yang akan dibebaskan setelah saya menghapus subvolume btrfs?


9

Pertanyaannya tidak sepele. BTRFS adalah sistem file SAP dan satu objek yang disimpan pada hard disk dapat dirujuk oleh banyak file.

Saya menggunakan snapshot BTRFS sebagai bagian dari solusi cadangan di server produksi saya. Dengan cara ini saya memiliki riwayat subvolume tertentu yang hemat ruang dan dapat dijelajahi (saya menggunakan modifikasi SnapBtr ).

Saya memiliki beberapa subvolume btrf independen untuk tujuan yang berbeda dan skema cadangan untuk masing-masing. Ketika ruang kosong hampir habis, saya bisa mendapatkan snapshot cadangan yang paling tidak diperlukan dari masing-masing kumpulan cadangan berdasarkan pada algoritma biaya waktu logaritmik pintar SnapBtr.

Saya perlu cara untuk menghitung jumlah data yang akan dibebaskan setelah saya menghapus setiap cadangan dengan usia foto lama dan pentingnya kumpulan cadangannya. Saya kehilangan informasi sebelumnya.

Saya mengerti bahwa proses perhitungan ruang bebas pada BTRFS bukanlah hal sepele atau cepat. Saya perlu sesuatu yang akan mensimulasikan penghapusan subvolume untuk mendapatkan ukuran ruang yang akan dibebaskan.

Ada yang bisa bantu saya? Haruskah saya mengirim pesan ini ke linux-btrfs@vger.kernel.org?

Jawaban:


6

Seperti yang diperlihatkan di sini , ini sebenarnya cukup sederhana untuk dilakukan.

Pertama, aktifkan kuota btrf:

# btrfs quota enable /btrfs_subvolume

Dan kemudian jalankan:

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

Yang di Btrfs v3.18.2 menunjukkan ini kepada Anda:

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

0/260 adalah ID subvolume, dan excl adalah data eksklusif dalam subvolume. Jika Anda menghapus subvolume, itulah ruang yang akan Anda bebaskan.

Sunting: Menurut tautan ini , ini tampaknya merupakan cara yang disarankan resmi untuk melakukan ini.


Pro Backup menunjukkan (dalam sunting yang disarankan) bahwa ada baiknya memeriksa masalah yang diketahui dengan dukungan kuota .
Stephen Kitt

0

btrfsQuota.pymembuat output btrfs qgroup showlebih mudah dibaca, mengganti ID subvol dengan nama-nama subvol, misalnya:

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
Ini tidak berfungsi dengan versi default btrfs-tools Ubuntu 14.04. Anda perlu menginstal yang lebih baru, dan kemudian semuanya baik
Adam Ryczkowski

@AdamRyczkowski Saya menggunakan versi Python 3 skrip itu sekarang, dan berfungsi dengan baik.
Geremia
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.