Ext4 ntfs'den daha mı pahalı?


11

NTFS bölümünü ext4'e dönüştürdüm, ancak toplam alan 421G'den 415G'ye düşürüldü. 6G nereye gitti? Ayrılmış alan, ext4'te 199M'ye, NTFS'deki 78M'ye göre çok daha büyük, neden?

Bölüm çoğunlukla filmler / müzikler için kullanılır, bu nedenle çoğu dosya çok büyüktür (her biri> 10 milyondan fazla). Ext4 dosya sistemini kullanmak istiyorum, herhangi bir öneriniz var mı?

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

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

Ext4'ün kalan boyutunun 393G olması da garip, 415G veya 414G olmamalı mı? Kaybolan 22G'ye ne oldu? NTFS ile karşılaştırıldığında, ext4 toplam alanın% 6,6'sını tüketti, bu gerçekten çok önemli.

Soru:

  1. 6G temel olarak, günlük, artıklık veya dizinleme için kullanılır?
  2. Neden kalan alan 393G 415G değil? Oldukça büyük bir 22G delik var.
  3. Bu ext4 bölümü film / müzik dosyalarını depolamak için kullanılıyorsa hangi parametreleri önerirsiniz? Ext4'ün büyük bölümler için ext3'ten daha iyi performans gösterdiği söyleniyor, doğru mu? Günlük olmayan ext2'ye geri dönmeyeceğim.

Yanıtlar:


8

6G temel olarak, günlük, artıklık veya dizinleme için kullanılır?

(Henüz bilinmiyor.)

Neden kalan alan 393G 415G değil? Oldukça büyük bir 22G delik var.

Parçalanmayı önlemek için kullanılan süper kullanıcı için% 5 ayrılmış bloklardır. % 1 ile ayarlayabilirsiniz mkfs.ext4 -m 1.

Bu ext4 bölümü film / müzik dosyalarını depolamak için kullanılıyorsa hangi parametreleri önerirsiniz?

Mkfs.ext4 için bir kullanım seçeneği belirtebilirsiniz, örneğin mkfs.ext4 -T large_file, bu mkfs.ext4'ün büyük dosyalar içeren bölümler için parametrelere karar vermesine izin verir.


1
6G inode listeleri için olacaktır.
Sirex

1
Ayrılmış bloklar ayrıca, normal kullanıcıların bir diski doldurduğu Hizmet Reddi saldırısının etkisini, günlük dosyalarının artık yazılamayacağı noktaya kadar sınırlar. Ayrılmış alan en azından rahatsız edici kullanıcıyı yakalamak için köke yeterli günlükler verecektir.
MSalters

/Etc/mke2fs.conf dosyam -t için "large_file" değil, "largefile" ve "largefile4" parametrelerinden bahsediyor.
user1338062

4
  1. 6GB inode'dur. ext4 varsayılan olarak her biri 256B olan düğümler için 1/64 (% 1,56); böylece 16KB dosyaları ile doldurabilirsiniz
  2. Kullanılabilir df alanı, kök için ayrılan alanı hariç tutar, varsayılan olarak% 5, tune2fs -m kullanın
  3. mkfs.ext4 -m 0 -N 4000000 / dev / her ne olursa olsun # yeniden biçimlendirilmiş, 0 ayrılmış, 4 milyon inode 1GB kullanıyor
  4. ext4 fsck, ext3'ten çok daha hızlıdır; bunun dışında hiçbir fark görmeyeceksiniz

Her dosya / dizin için 1 inode gerekir. Ext dosya sistemi oluşturduktan sonra inode sayısını değiştiremezsiniz. Sadece film ve müzik için kullanacak olursanız, 1000000 inode bile bu bölüm için bol olacaktır.

NTFS Ana Dosya Tablosu (MFT) biraz daha esnektir, bu nedenle NTFS varsayılan olarak daha fazla veri sıkıştırabilir.

Linux'ta NTFS kullanmanın tek iyi nedeni dosyaları Windows ile paylaşmaktır. Medya için iyi çalışır, ancak çeşitli UNIX özelliklerinden yoksundur, bu nedenle Linux'ta genel amaç için uygun değildir. Üzerinde derleme!


Each inode 256B, so can fill with 16KB filesHer inodeda 16K-256 = 16128 serbest bayt var mı demek istiyorsun?
Xiè Jìléi

1
Yani inode tabloları için bir cihazın 1 / 64'ünü kullanıyorsanız ve her bir inode 256B ise, o zaman 16KB cihaz başına bir inode alırsınız ... aslında kalan cihazın 15.75KB başına 1 inode, ancak yeterince yakın. Böylece tüm diski 16KB dosyalarıyla dolduracak kadar inodeunuz var. Örneğin, videolar gibi çok daha büyük dosyalara sahip olmayı bekliyorsanız, daha az sayıda düğümle bunu yapabilir ve belki de cihazdan birkaç GB tasarruf edebilirsiniz.
Sam Watkins

3

Evet, bu temiz küçük bir konu. Her dosya sistemi veri yapılarını farklı şekilde uygular. Deneyebileceğiniz düzgün bir şey, bir bölümü çeşitli dosya sistemleri ile biçimlendirmek ve karşılaştırmaktır. "Boş" alan farklı olacaktır. Ayrıca, bunları doldurdukça, depolama yükünde bir fark olacaktır ve bu nedenle bir dosyayı aynı dosyayı depolamak için ne kadar alan gerektiği dosya sistemine bağlı olarak değişebilir. Genellikle, bir dosya sistemini biçimlendirdiğinizde, nasıl düzenleneceğine ilişkin bazı parametreler de seçebilirsiniz - bunun da bir etkisi vardır.

Sorunuzun cevabı şu "duruma bağlı" cevaplardan biridir . Bence, 6/400 GB korkunç bir varyans değil, ama gerçekten fark edilir. Hala depolama alanı gittikçe daha ucuz hale geliyor. Ama bence dosya sistemleri muhtemelen daha süslü özellikler istediğimizden ağırlaşıyor. Ext2'nin ext4'ten biraz daha zayıf olduğundan şüpheleniyorum. Bununla ilgili bazı gerçek dünya rakamlarını görmek isterim. Tabii ki, bu "verimlilik" bir fiyata geliyor (en büyük olanı günlüğe kaydedilmez ve böylece daha hızlı VE daha kolay bozulur).

Bu durumda ext4'ün neden daha fazla yer kaplayacağına gelince, NTFS'deki depolama alanlarınızın depolama alanınıza yönelik ext4 parametrelerinizden çok daha büyük bloklar olarak ayarlandığını varsayacağım. Bu doğruysa, çok sayıda nispeten küçük dosyanız varsa daha verimli depolama alanı kullanmanız gerekir.

Söylemek yeterli, tüm konu devam ediyor. Daha fazla bilgi istiyorsanız, dosya sistemlerini karşılaştırarak çeşitli wikipedia sayfalarına göz atmanızı öneririm. Ayrıca ilgilendiğiniz her FS için man sayfalarına bakın.

Umarım faydalı bulursun.


1

Ayrılmış süper bloklar bir şeydir ama bahsettiğiniz miktar kadar değil. Ayrılmış süper blokları değiştirmek, "toplam kullanılabilir alan" içinde gösterilmez .. bu, değişmeyen inode sayısıdır x Boyutlarıdır. Ext4'te varsayılan olarak, inode başına 256 bayt ve 400 GB için bir şey bekliyoruz. , Mkfs.ext4 belki ~ 25-30 değirmen yapacağını tahmin ediyorum.Gerçek sayısını görmek için dumpe2fs -h kullanın.Bu eksik 6 GB oluşur ve biri hakkında ayrılmış ayrılmış bloklar değil . (Örn. İnode- x inode boyutu b / 1024 ^ 3) GB cinsinden sayılır.

Şüphelendiğim df -h çıkışı bazı topallıklarla ilgili olabilir; p Tekrar yapmayı deneyin ve i-düğümlerinizin yarısını belirtin (güvenle yapabilirsiniz ve eğer cesursanız daha da fazlasını yapabilirsiniz), ancak birçok dizinin boşluktan önce inode biterse.

Örneğin. ext4, bir veya iki dosyadan daha fazlasını tutmayı düşündüğünüz ve böylece daha verimli hale getirdiğinizi varsayarak, dizin başına birkaç 93-4?) inode ayırır. Yine de, içinde 1 milyon dosya bulunan 1 milyon klasörünüz varsa, gerçekte alanınız bitmeden önce bu mizanpajdaki inode'larınız tükenir. Genellikle inode sadece alanın yüzde birkaçında kullanılır, ancak% 35'e kadar yükselebilir, bu nedenle ikiye bölmek masaüstü kullanıcıları için oldukça güvenlidir, ancak güvenli tarafta olmak için daha fazla şey yapmayın.

İşte bir örnek:

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

seçenekleri medya ile büyük dosyalar / bölümler için yardımcı olacağını söylüyor. uninit_bg son çekirdekler içindir. Bu, gelecekteki okuyucular için eski olsa bile gönderilir.

Malina Salina


0

Sadece birkaç yüz megabaytlık ücretsiz yaklaşık 1000 GB veri içeren (tam) bir ntfs dosya sistemim vardı. Ext4'ün biçimlendirilmiş kapasitesi ntfs'den çok daha az olsa bile, her şeyi kopyaladığımda biçimlendirilmiş kapasite daha az olsa bile ext4'te yaklaşık 70GB boş alan olduğunu hatırlıyorum. (NTFS'nin dolu olduğunu unutmayın). Bunun başınıza geleceğine söz veremem ama en azından ext4'e sahip olduğum dosyalar için gerçek bir alan tasarrufu zor! :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.