Ext4 için 'hızlı' format diye bir şey var mı?


28

Windows'ta NTFS ile formatlamak çok hızlı. Çok az RAM içeren düşük güçlü bir Linux makinem var. 2 TB'lik bir birimi ext4 olarak biçimlendirmek uzun zaman alıyor.

Biçimi hızlandırmak için yapabileceğim bir şey var mı? Neyin bu kadar uzun sürdüğünü hayal edemiyorum. (ne bu kadar uzun sürüyor)


1
Biçimlendirmek için hangi komutları kullanıyorsunuz?
tacotuesday

Geçici bir çözüm olarak. daha küçük bir lvm hacmi olarak yapmaya çalışın ve istediğiniz kadar büyütün mü? Bu zaten ilk masrafı azaltacaktır.
Sirex

1
ya da dosya sistemi oluşturma süresi sizi gerçekten rahatsız ediyorsa, XFS kullanın. ancak mkfs genellikle dosya sistemi başına yalnızca bir kez yapmanız gereken bir şeydir - en iyi duruma getirme olasılıkları daha iyidir.
Cas

veya ZFS kullanın. ZFS ile dosya sistemleri oluşturmak, boyutları ne olursa olsun anlıktır.
jlliagre

ZFS'yi yalnızca kurumsal sınıf donanımınız varsa, özellikle ECC RAM'iniz ve UPS'iniz varsa kullanın. O oluyor önerilmez bu gereksinimleri olmadan ZFS'yi kullanmak. Hafıza paritesi hatasından ve / veya elektrik kesintisinden sonra kurtarma mümkün olmayabilir. Bu durumda tüm sesiniz kaybolacak. Uyarıldın.
Richard Gomes

Yanıtlar:


16

Sıkı cevap

Gibi çözümler -E lazy_itable_initsonucu değiştirmez, sadece süreci hızlandırır. Bu, açıkça, çoğu durumda insanların daha fazlasına ihtiyaç duyduğu bir şeydi.

Ek bonus

Çoğu durumda aslında kullanım düzeninize uygun bazı seçenekler ister ve yalnızca dosya sistemi oluşturmayı hızlandırmakla kalmaz, aynı zamanda daha hızlı kullanıma ve daha fazla kullanılabilir alana izin verir.

Sadece bir test yaptım. Kullanmasanız bile -E lazy_itable_init, aşağıdaki seçenekler 2TB dosya sisteminin oluşturulma süresini 16 dakika 2 saniye ile 1 dakika 21 saniye arasında hızlandırır (Intel i7 2.2 GHz'de çekirdek 3.5.0 64bit, USB2 bağlantısında 2 TB disk - SATA muhtemelen daha hızlı olur) .

Büyük dosyaları tutacak bir dosya sistemi için bu kombinasyonu kullanıyorum:

mkfs.ext3 /dev/sdXX -O sparse_super,large_file -m 0 -T largefile4

nerede -T largefile4seçenekleri alır /etc/mke2fs.confgenellikle böyle bir şey içeren:

    inode_ratio = 4194304
    blocksize = -1

man mke2fsBu seçeneklerin her biri hakkında ayrıntılar için bir yapın .

İşte ilgili özetler:

               sparse_super
                      Create a filesystem with fewer superblock backup copies (saves space on large filesystems).

               large_file
                      Filesystem can contain files that are greater than 2GB.  (Modern kernels set this feature  automatically
                      when a file > 2GB is created.)

   -i bytes-per-inode
          Specify  the  bytes/inode ratio.  mke2fs creates an inode for every bytes-per-inode bytes of space on the disk.  The
          larger the bytes-per-inode ratio, the fewer inodes will be created.  This value generally shouldn't be smaller  than
          the blocksize of the filesystem, since in that case more inodes would be made than can ever be used.  Be warned that
          it is not possible to expand the number of inodes on a filesystem after it is created, so be  careful  deciding  the
          correct value for this parameter.

-m 0sadece bir veri (önyükleme / kök değil) dosya sistemi için uygun olan kök için% 5 ayırmadığını söylüyor. 2 TB diskin% 5'i 100 Gb anlamına gelir. Bu oldukça önemli bir fark.


1
Dosya sisteminin% 95'ten daha fazla dolgun kalmasına izin vermenin aşırı parçalanmaya yol açacağını ve performansı önemli ölçüde yavaşlatacağını unutmayın. Bir şey varsa, biri onun veri bölümünün performansını
önemserse,

Diskiniz yalnızca büyük dosyaları değil, küçük dosyaları da tutacaksa , şunu okuyun: inode oranını azaltmak, çok yönlülük pahasına, depolamada yaklaşık% 1,5 tasarruf sağlar. inode_ratio = xeğer vasıta ortalama hacmine dosya boyutu x bayt azdır, o zaman doğru gidiyoruz düğüm azalıyor önce depolama alanı azalıyor . Bu senaryoda, tam anlamıyla tasarruf etmeyi umduğunuzdan binlerce daha fazla boşa harcayabilirsiniz.
Stéphane Gourichon 4:16

Başka bir deyişle, ortalama dosya boyutu 4 MB'tan küçükse, "-T largefile4" kullanmayın. Büyük sürücüler için şimdi -T hugehangisinin kullandığını bitirdim inode_ratio = 65536. Şüpheniz varsa, ayarlamayın -iya da -Text2 / 3 / 4'ü yapan bilge insanların sizin için seçim yapmasına izin vermeyin. Bilinen küçük bir alanını temizlik için ayırırsınız ve (milyonlarca çok küçük dosyayı sakladığınız sürece) keyfi bir gerçek depolama alanı yüzdesini boşa harcamamanız garanti edilir. İnsanların yazdığı gibi, fantezi yazılım güzel, ama iyi bir dosya sistemi sıkıcı olmalı ve sadece çalışmalı.
Stéphane Gourichon 4:16

benim durumumda üzerinde, mkfs.ext4daha hızlı (zaman: is real 0m16.001s) den mkfs.ext3(zaman: real 2m10.336s).
coanor

19

Bayrağı ekle -E lazy_itable_init

İşte man sayfasının söylediği:

Etkinleştirilirse ve uninit_bg özelliği etkinse, inode tablosu mke2fs tarafından tam olarak başlatılmaz. Bu, dosya sistemi başlatmayı gözle görülür şekilde hızlandırır, ancak dosya sistemi ilk monte edildiğinde çekirdeğin arka planda dosya sistemini başlatmayı tamamlaması gerekir. Seçenek değeri belirtilmezse, tembel inode tablosu başlatmayı etkinleştirmek için varsayılan olarak 1 olur.


3
Teknik olarak bu aslında formatı daha hızlı yapmaz, ancak format arka planda tamamlanırken dosya sistemini bağlamanıza ve kullanmanıza izin verir.
Wyzard

çok teşekkürler! Bu gerçekten çok iyi düştü, ne arayacağımı bilene kadar dokümanlar / adamlar bana açık değildi! çok teşekkür ederim!
sıkışmış

Minimum çekirdek sürümü hakkında referanslar gördüm, bunu kullanmak için gereken minimum miktar nedir?
Xarses

8

Varsayılan olan bir hızlı biçimlendirme; yapıların ext * birimi için ayarlanması, NTFS biriminden daha uzun sürer, çünkü bunların çoğu vardır. Süper blok sayısını azaltabilirsiniz, ama bu sadece çok ileri gidiyor.


bilgi için teşekkürler, cihazım 20 saat önce 2TB USB2 diskini biçimlendirmeye başladı, hala devam ediyor - cihaz düşük güçte, 64 MB RAM'e sahip Raspberry Pi'yi düşünüyorum. formatı başlatmak için, aynı USB diske disk belleği ayarlamak zorunda kaldım, bunu hızlandırmak için yapabileceğim bir şey var mı? Bir ya da iki saatten az performans gösterebilirsem harika olur muyum?
sıkışmış

2
lazy_itable_init varsayılan benim için bu isnt hile yaptı ve makyaj çok daha hızlı biçimlendirme yok
sıkışmış

4

Çoğunlukla daha büyük dosyaları saklayacaksanız, inode başına bayt sayısını artırabilir, böylece oluşturulan inode sayısını azaltabilirsiniz. Bu, oluşturma süresini büyük ölçüde hızlandırabilir.

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.