Apa overhead ruang dari berbagai sistem file?

8

Saya mencadangkan / memulihkan sistem file dari sistem Ubuntu ke sistem Fedora 17. Saya perhatikan bahwa berdasarkan dfoutput, ruang yang digunakan meningkat 30%. Apa yang bisa menjadi alasan untuk ini?

Pada sistem Fedora dfmenampilkan: 78 GB digunakan

Pada sistem Ubuntu dfmenampilkan: 60 GB digunakan

Perbedaan antara sistem:

Ubuntu: ext3 (dibuat tahun lalu)

Fedora 17: ext4 (dibuat dengan mkfs.ext4panggilan vanilla )

Mengembalikan ke sistem file XFS (pada Fedora 17) menghasilkan ruang yang digunakan 78 GB.

Pencadangan dan pemulihan dilakukan dengan GNU tar. Filesystem berisi berbagai macam file yang berbeda (yaitu dari pohon sumber, maildir ke ISO dll.).

maxschlepzig
sumber

Jawaban:

8

Hal pertama yang terlintas dalam pikiran adalah "file jarang". Secara tradisional, seseorang dapat membuat file dengan data pada offset ke dalam file, dan kemudian mencari offset yang jauh lebih besar. Saat menulis data ke offset yang jauh lebih besar, sistem file tidak akan mengalokasikan blok disk untuk offset intervening. Program yang membaca offset itu tanpa blok disk yang dialokasikan membaca nilai nol.

Mempersiapkan file jarang menyebabkan offset file jarang yang tidak mengalokasikan blok disk untuk mengalokasikan blok disk, baik dalam file tar (atau aliran output) dan dalam file yang dibuat ulang.

Saya ingat bahwa beberapa DBMS membuat file jarang, seperti halnya program-program seperti MSC / NASTRAN (sistem pemodelan elemen hingga). Mencadangkan file-file yang jarang itu akhirnya menggunakan sejumlah besar penyimpanan offline, yang mengejutkan semua orang yang terlibat.

Bruce Ediger
sumber
Program Torrent memiliki opsi yang saya pikir akan melakukan hal yang sama, untuk unduhan yang tidak lengkap. (Setidaknya, deskripsi dalam Azureus terdengar seperti apa yang Anda gambarkan)
Izkata
Akan du --apparent-size ...menjadi cara untuk menguji apakah file jarang membuat perbedaan?
maxschlepzig
1
Penggunaan umum lainnya untuk file jarang adalah disk image perangkat lunak virtualisasi.
Jochen Lutz
4

Hal lain yang harus diperhatikan ketika Anda melihat perbedaan ruang adalah ruang disediakan untuk root (biasanya 5% pada ext {2,3,4}). Ruang ini memungkinkan OS berfungsi (menulis file log, dll ...) bahkan jika pengguna mengisi disk (selama pengguna itu tidak melakukan root).

Anda dapat melihat pengaturan ini menggunakan tune2fs -l:

[root@host ]# tune2fs -l /dev/md0 |grep Reserved
Reserved block count:     1279986
Reserved GDT blocks:      1017
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Anda dapat menonaktifkan ini di sistem file ext Anda dengan tune2fs -m 0 /dev/NAME

Dari melihat ke dalamnya dengan sangat cepat, saya tidak percaya xfs telah menyediakan ruang untuk root

zje
sumber