dosya sistemi oluşturmada büyük dosya özelliği


17

Video ve ses gibi büyük dosyaları flac biçiminde olan bir bölüm için bir dosya sistemi oluştururken -T büyük dosya bayrağı kullanmak yararlı mıdır ?

Aynı bölümü bu bayrakla ve onsuz test ettim ve tune2fs -l [bölüm] kullanarak , her ikisinde de "büyük_dosya" etkinleştirilmiş olan "Dosya sistemi özellikleri" ni kontrol ettim. Peki, -T flag largefile kullanmak gerekli değil mi?


1
Ben büyük_dosya (tune2fs var) ve büyük dosya arasında karıştırıldığını unutmayın; görünüşe göre farklı şeyler için argümanlar.
Marc

Yanıtlar:


24

-T largefileBayrak dosya sisteminin oluşturulması sırasında tahsis edilir inodes miktarını ayarlar. Tahsis edildikten sonra, sayıları ayarlanamaz (en azından ext2 / 3 için, ext4'ten tam olarak emin değilim). Varsayılan her 16K disk alanı için bir inode'dur. -T largefileher megabayt için bir inode yapar.

Her dosya bir inode gerektirir. Hiç inode kalmadıysa, yeni dosyalar oluşturamazsınız. Ancak statik olarak tahsis edilen bu düğümler de yer alır. Varsayılanın aksine ayarlayarak her 100 GB disk için yaklaşık 1,5 gigabayt tasarruf etmeyi bekleyebilirsiniz -T largefile. -T largefile4(4 MB başına bir inode) böyle dramatik bir etkiye sahip değildir.

Cihazda saklanan dosyaların ortalama boyutunun 1 megabaytın üzerinde olacağından eminseniz, elbette ayarlayın -T largefile. Depolama bölümlerimde mutlu bir şekilde kullanıyorum ve bir ayarın çok radikal olmadığını düşünüyorum.

Bununla birlikte, bu bölüme çok sayıda dosyanın çok büyük bir kaynak tarball'ını açarsanız (yüz binlerce düşünün), bu bölüm için inode tükenme şansınız vardır. Bu durumda, untar yapmak için başka bir bölüm seçmek dışında yapabileceğiniz çok az şey var.

Canlı bir dosya sisteminde kaç tane düğümün bulunduğunu şu dumpe2fskomutla kontrol edebilirsiniz:

# dumpe2fs /dev/hda5
[...]
Inode count:              98784
Block count:              1574362
Reserved block count:     78718
Free blocks:              395001
Free inodes:              34750

Burada hala 34 bin dosya oluşturabilirim.

mkfs.ext3 -T largefile -m 0100 GB'lık bir bölümde yaptığım şey :

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/loop1              102369       188    102181   1% /mnt/largefile
/dev/loop2              100794       188    100606   1% /mnt/normal

Büyük dosya sürümü 102 400 inode içerirken, normal olanı 555300 inode yarattı ve bu süreçte 1,5 GB tasarruf sağladı.

Dosya sistemine hangi boyutta dosyalar koyacağınıza dair iyi bir ipucunuz varsa, doğrudan -ianahtarla düğüm miktarında ince ayar yapabilirsiniz . İnode oranı başına bayt değerini ayarlar. -i 65536Bir milyondan fazla dosya oluşturabilirken kullandıysanız, alan tasarrufunun% 75'ini kazanırsınız . Genellikle en az 100 000 inode yedek tutmak için hesaplar.


güzel cevap, ama dediğin yerde, "ve bu süreçte 1,5 GB tasarruf etti." "ama ekstra inode için 1,5 GB alan kullandınız" demelisiniz. Normal modun daha fazla düğüm oluşturduğu ve diskte daha fazla boş alan bıraktığı gibi ses çıkarırsınız.
localhost

"Genelde en az 100.000 inode yedek tutmak için hesap yapıyorum." - neden? Şüphesiz 0 yedek (ve 0 daha gerekli) en uygunudur? 100K tarafından kaç dosya veya dizine sahip olacağınızdan endişe duyuyor musunuz?
OJFord

4

Bence tamamen farklı ve bağımsız iki kavramı birleştiriyorsunuz.

large_fileBu dosya sistemi 2 GiB daha büyük dosyalar tutabilir Eğer dumpe2fs araçlarının çıkışında görebilirsiniz özellik, bunu çağdaş çekirdekler tarafından otomatik olarak ayarlanır düşünüyorum. Bunun -Tseçeneği ile ilgisi yoktur mke2fs.

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.