Apakah ext4 lebih mahal daripada ntfs?

11

Saya baru saja mengkonversi partisi NTFS ke ext4, namun total ruang tampaknya berkurang dari 421G menjadi 415G. Kemana perginya 6G? Dan, ruang yang dicadangkan tumbuh hingga 199M di ext4, jauh lebih besar dibandingkan dengan 78M di NTFS, mengapa?

Partisi ini terutama digunakan untuk film / musik, sehingga sebagian besar file berukuran sangat besar (masing-masing> 10 juta). Saya ingin menggunakan sistem file ext4, apakah ada saran?

mkfs.ntfs:
    /dev/sdb4             421G   78M  421G   1% /mnt/mmedia

mkfs.ext4:
    /dev/sdb4             415G  199M  393G   1% /mnt/mmedia
                       (415G - 199M == 393G ?)

Ini juga aneh bahwa ukuran ext4 yang tersisa adalah 393G, bukankah seharusnya 415G atau 414G? Apa yang terjadi dengan 22G yang hilang? Dibandingkan dengan NTFS, ext4 mengkonsumsi 6,6% dari total ruang, itu benar-benar masalah besar.

Pertanyaannya adalah:

  1. Apa 6G terutama digunakan untuk, untuk jurnal, untuk redundansi, atau untuk pengindeksan?
  2. Mengapa sisa ruang 393G bukan 415G? Ada lubang 22G yang agak besar.
  3. Parameter apa yang akan Anda sarankan jika partisi ext4 ini digunakan untuk menyimpan file film / musik? Dikatakan ext4 berkinerja lebih baik daripada ext3 untuk partisi besar, benarkah? Saya tidak akan kembali ke ext2 yang bukan jurnal.
Xiè Jìléi
sumber

Jawaban:

8

Apa 6G terutama digunakan untuk, untuk jurnal, untuk redundansi, atau untuk pengindeksan?

(Belum diketahui.)

Mengapa sisa ruang 393G bukan 415G? Ada lubang 22G yang agak besar.

Ini 5% blok khusus untuk pengguna super, yang digunakan untuk menghindari fragmentasi. Anda dapat menyesuaikannya hingga 1% pada mkfs.ext4 -m 1.

Parameter apa yang akan Anda sarankan jika partisi ext4 ini digunakan untuk menyimpan file film / musik?

Anda dapat menentukan opsi penggunaan untuk mkfs.ext4, misalnya mkfs.ext4 -T large_file, ini akan membiarkan mkfs.ext4 untuk memutuskan parameter untuk partisi yang berisi file besar.

Xiè Jìléi
sumber
1
6G akan menjadi untuk daftar inode.
Sirex
1
Blok yang dicadangkan juga membatasi dampak serangan Denial Of Service di mana pengguna reguler mengisi disk ke titik di mana file log tidak dapat ditulis lagi. Ruang yang disediakan setidaknya akan memberikan root log yang cukup untuk menangkap pengguna yang menyinggung.
MSalters
/Etc/mke2fs.conf saya berbicara tentang parameter "largefile" dan "largefile4" untuk -T, bukan "large_file".
user1338062
4
  1. 6GB adalah inode. ext4 default menjadi 1/64 (1,56%) untuk inode, masing-masing 256B; jadi bisa isi dengan file 16KB
  2. Ruang df yang tersedia tidak termasuk ruang yang disediakan untuk root, 5% secara default, gunakan tune2fs -m
  3. mkfs.ext4 -m 0 -N 4000000 / dev / apapun # memformat ulang, 0 dicadangkan, 4 juta inode menggunakan 1GB
  4. ext4 fsck jauh lebih cepat daripada ext3; Selain itu Anda tidak akan melihat perbedaan

Setiap file / dir membutuhkan 1 inode. Anda tidak dapat mengubah jumlah inode setelah membuat sistem file ext. Bahkan 1000000 inode akan banyak untuk partisi itu, jika Anda akan menggunakannya hanya untuk film dan musik.

Tabel File Master NTFS (MFT) sedikit lebih fleksibel, sehingga NTFS dapat menjejalkan lebih banyak data secara default.

Satu-satunya alasan bagus untuk menggunakan NTFS di Linux adalah untuk berbagi file dengan Windows. Ini akan berfungsi baik untuk media, tetapi tidak memiliki berbagai fitur UNIX, jadi tidak cocok untuk keperluan umum di Linux. Jangan mengkompilasinya!

Sam Watkins
sumber
Each inode 256B, so can fill with 16KB filesApakah maksud Anda ada 16K-256 = 16128 byte gratis di setiap inode?
Xiè Jìléi
1
Maksud saya jika Anda menggunakan 1/64 perangkat untuk tabel inode, dan setiap inode adalah 256B, maka Anda mendapatkan satu inode per 16KB perangkat ... sebenarnya 1 inode per 15,75KB perangkat yang tersisa, tetapi cukup dekat. Jadi, Anda memiliki cukup banyak inode untuk mengisi seluruh disk dengan file 16KB. Jika Anda mengantisipasi memiliki file yang jauh lebih besar, misalnya video, Anda dapat melakukannya dengan lebih sedikit inode dan menyimpan mungkin beberapa GB dari perangkat.
Sam Watkins
3

Ya, ini adalah topik kecil yang rapi. Setiap sistem file mengimplementasikan datastrukturnya secara berbeda. Sesuatu yang rapi dapat Anda coba adalah memformat partisi dengan berbagai sistem file dan membandingkan. Ruang "bebas" akan berbeda. Juga, ketika Anda mengisinya, akan ada perbedaan dalam overhead penyimpanan dan dalam arti berapa banyak ruang yang diperlukan untuk menyimpan file yang sama BISA berbeda tergantung pada sistem file. Biasanya, ketika Anda memformat sistem file, Anda juga dapat memilih beberapa parameter untuk mengaturnya - ini juga berdampak.

Jawaban atas pertanyaan Anda adalah salah satu dari jawaban "itu tergantung" . Saya pikir, secara umum, 6/400 GB bukan varian yang buruk, tetapi memang, itu nyata. Namun ruang penyimpanan semakin murah dan lebih murah. Tapi saya pikir sistem file mungkin semakin berat karena kami ingin lebih banyak fitur mewah di dalamnya. Saya menduga ext2 sedikit lebih ramping daripada ext4. Saya tertarik untuk melihat beberapa angka di dunia nyata. Tentu saja, "efisiensi" itu ada harganya (yang terbesar adalah bahwa itu tidak dijurnal dan dengan demikian lebih cepat DAN lebih mudah rusak).

Adapun mengapa ext4 mengambil lebih banyak ruang dalam hal ini, saya akan menganggap custers penyimpanan Anda pada NTFS ditetapkan untuk mengatasi ruang penyimpanan Anda adalah blok yang jauh lebih besar daripada parameter ext4 yang Anda minta. Jika ini benar, maka Anda harus mendapatkan penggunaan penyimpanan yang lebih efisien jika Anda memiliki banyak file yang relatif kecil.

Cukuplah untuk mengatakan, seluruh pokok bahasan berlangsung terus-menerus. Jika Anda ingin info lebih lanjut, saya sarankan untuk melihat berbagai halaman wikipedia membandingkan sistem file di luar sana .. Serta melihat halaman manual untuk setiap FS yang Anda minati.

Semoga bermanfaat.

James T Snell
sumber
1

Blok super yang dicadangkan adalah satu hal tetapi tidak sama sekali jumlah yang Anda maksudkan. Menyalin super-blok yang disediakan tidak muncul dalam "total ruang yang tersedia '.. itu tidak berubah. Ini adalah jumlah inode x ukurannya. Pada ext4 secara default, perkirakan sesuatu seperti 256 byte per inode dan untuk 400 GB , Saya kira mkfs.ext4 akan melakukan ~ 25-30 mill mungkin .Gunakan dumpe2fs -h untuk melihat angka yang sebenarnya. Ini membuat 6 GB Anda hilang dan bukan blok yang dipesan seseorang tentang. (Misalnya. Inode- hitung x ukuran inode b / 1024 ^ 3) GB.

Output df -h saya curiga bisa dilakukan dengan beberapa ketimpangan; p Coba lakukan lagi dan tentukan setengah i-node Anda (Anda dapat melakukannya dengan aman, dan bahkan lebih jika Anda berani) tetapi perlu diketahui bahwa banyak direktori bisa membuat Anda kehabisan inode sebelum ruang.

Misalnya. ext4 cadangan beberapa 93-4?) inode per direktori, dengan asumsi Anda bermaksud menyimpan lebih dari satu atau dua file, dan dengan demikian membuatnya lebih efisien. Namun, jika Anda memiliki 1 juta folder dengan 1 juta file di dalamnya, Anda akan kehabisan inode pada tata letak itu sebelum Anda benar-benar kehabisan ruang. Biasanya inode hanya digunakan dalam beberapa persen ruang, tetapi dapat melonjak hingga 35% sehingga pembagian dengan dua cukup aman untuk pengguna desktop tetapi jangan berbuat lebih banyak untuk berada di sisi yang aman.

Berikut ini sebuah contoh:

415 GB RAW (dev / sdb1 say) mkfs.ext4 -m0 -Ndefault # / 2 -Lext4-1 -O Sejauh, dir_index, large_file, sparse_super, uninit_bg / dev / sdb1

opsi akan membantu untuk file / partisi besar dengan media say. uninit_bg untuk kernel terbaru. Ini diposting bahkan jika itu sudah ketinggalan zaman untuk pembaca masa depan.

Malina Salina

Mali
sumber
0

Saya memiliki sistem file ntfs (penuh) sekitar 1000 GB data dengan hanya beberapa ratus megabytes gratis. Bahkan jika kapasitas diformat ext4 jauh lebih sedikit daripada ntfs saya ingat bahwa ketika saya menyalin semuanya saya masih memiliki sekitar 70GB gratis di ext4 bahkan jika kapasitas yang diformat kurang. (Ingat ntfs sudah penuh). Saya tidak bisa berjanji bahwa ini terjadi pada Anda, tetapi setidaknya untuk file yang saya miliki ext4 adalah penghemat ruang nyata! :)

Waxhead
sumber