Saat menggunakan btrf, mengapa nilai "Ukuran", "Digunakan" dan "Tersedia" dari df tidak cocok?

9

Saya memiliki partisi btrfs. Ketika saya berlari df -h, ini menunjukkan:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       113G  101G  8.3G  93% /home

Dari Kenapa begitu? Apakah karena ruang yang disediakan untuk root sebagai ext2 / 3/4? Atau itu sesuatu yang lain? Jika yang pertama, bagaimana saya bisa mengubahnya dan mendapatkan kembali 4GB itu?

Sesuai wiki btrfs , saya tahu bahwa metadata disimpan dua kali yang mengembang ukuran data "Bekas":

user@machine:~$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             894G  311G  583G  35% /
                            ^^^^
user@machine:~$ btrfs fi df /
Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB
Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB
System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB
                                           == 310.57GB 
                                           ~~ 311   GB

Tapi ini masih tidak menjelaskan mengapa Digunakan + Tersedia <Ukuran.

sup
sumber
btrfs.wiki.kernel.org/articles/f/a/q/FAQ_1fe9.html - baca "Mengapa ada begitu banyak cara untuk memeriksa jumlah ruang kosong?" bagian, ini memiliki banyak informasi.
Mat
Ya, ia memiliki banyak informasi, tetapi dalam semua contoh mereka Digunakan + Tersedia = Ukuran dalam dfoutput. Saya telah memperbarui pertanyaan dengan ini.
sup
Apakah lsofmenampilkan file yang dihapus? (Output btrfs dari sistem Anda akan sedikit lebih tepat daripada yang dari wiki.)
Mat
Saya tahu, tetapi saya malas memformat ulang dan itu analog. Jika lsof |grep 'DEL'|wc -lmemberikan jumlah file yang dihapus, itu adalah 338. Mereka sepertinya tidak besar (bisakah saya mendapatkan ukuran keseluruhannya entah bagaimana?)
sup
1
@Mat Berikut ini tautan yang berfungsi ke FAQ BTRFS: Mengapa ada begitu banyak cara untuk memeriksa jumlah ruang kosong?
ali_m

Jawaban:

10

Kecuali Anda menentukan sebaliknya saat diformat, defaultnya adalah untuk menyimpan salinan duplikat dari blok metadata untuk meningkatkan keandalan. Anda mungkin memiliki metadata senilai 2gb yang disimpan dua kali, menggunakan 4gb. Anda dapat melihat detail lebih lanjut dengan btrfs filesystem df.

Secara khusus, 1,75GB dialokasikan untuk metadata, sehingga menghabiskan dua kali lipat atau 3,5GB ruang. Hanya 385mb dari 1,75 gb yang saat ini digunakan untuk metadata, tetapi 1,75GB penuh dicadangkan untuk penggunaan itu dan karenanya tidak dihitung terhadap ruang yang tersedia untuk data file

psusi
sumber
btrfs filesystem df /homememberi Metadata, DUP: total=1.75GB, used=385.70MBjadi saya memiliki sekitar 771MB Metadata yang disimpan, bersama dengan Data itu berjumlah 101G, tetapi tidak menjelaskan mengapa Digunakan + Tersedia <Ukuran - Saya memperluas pertanyaan untuk mencerminkan hal ini.
sup
4
@sup, 1,75GB dialokasikan untuk metadata, sehingga menghabiskan dua kali lipat atau 3,5GB ruang. Hanya 385mb dari 1,75 gb yang saat ini digunakan untuk metadata, tetapi 1,75GB penuh dicadangkan untuk penggunaan itu dan karenanya tidak dihitung terhadap ruang yang tersedia untuk data file.
psusi
Ah, sekarang saya mengerti. Saya kira contoh dari wiki btrf hanya menggunakan beberapa df lama yang tidak tahu tentang ini. Terima kasih atas jawabannya!
sup