it-swarm-tr.com

Bir dosya sisteminde kök için ayrılan alan - neden?

Varsayılan olarak, yeni oluşturulan dosya sistemlerinin kök için ayrılan alanın% 5'i ile oluşturulacağını anlıyorum. Ayrıca tanımlanmış alanı aşağıdakilerle değiştirebileceğinizi de biliyorum:

tune2fs -m 1 /dev/sdXY

Merak ettiğim şey, bu ayrılmış alanın asıl amacının ne olduğudur. Bazı durumlarda% 5'ten fazla yer kazandıran herhangi bir pratik amaca hizmet ediyor mu?

Bu soruyu tökezlememizin nedeni, yakın zamanda 1 TB'lık bir dosya deposu oluşturmuş olmamız ve neden bir df -h'nin kapasitemizin% 5'ini eksik bıraktığımızı tam olarak anlayamıyorum.

108
suitedupgeek

Önemli kök süreçler için yer tasarrufu (ve olası kurtarma eylemleri) bunun bir nedenidir.

Ama başka bir şey daha var. Ext3, dosya sistemi parçalanmasından kaçınmak için oldukça iyidir, ancak yaklaşık% 95'in üzerinde dolu olduğunuzda, bu davranış uçurumdan düşer ve aniden dosya sistemi performansı dağınık hale gelir. Yani% 5'i ayrılmış olarak bırakmak buna karşı bir tampon sağlar.

Ext4 bu konuda daha iyi olmalıdır, Linux dosya sistemi geliştiricisi/guru Theodore Ts'o tarafından açıklanmıştır :

Ayrılmış blok sayısını sıfıra ayarlarsanız, dosya sistemi neredeyse doluyken (örneğin,% 95'in üzerinde) uzun süre (çok sayıda dosya oluşturup siler) çalıştırmanız haricinde performansı fazla etkilemez, bu noktada parçalanma sorunlarına maruz kalacaksınız. Ext4'ün çok bloklu ayırıcısı çok daha fazla parçalanmaya karşı dayanıklıdır, çünkü bitişik blokları bulmak çok daha zor çalışır, bu nedenle diğer ext4 özelliklerini etkinleştirmeseniz bile, dosya sisteminden önce ext4 kullanarak bir ext3 dosya sistemini monte etmek için daha iyi sonuçlar görürsünüz. tamamen doldu.

Dosya sistemini çok sık değişmeyen (yani büyük bir mp3 veya video mağazası) uzun süreli arşiv için sadece dosya sistemini kullanıyorsanız, önemli değil.

106
mattdm

Başkalarının sisteminizde oturum açmasına izin verirseniz, örneğin ssh aracılığıyla, bu% 5 blokların ayrılmış olması harici kullanıcıların diski dolduramamasını sağlar. Başkalarının sisteminizde oturum açmasına izin vermeseniz bile, ayrılmış bloklar root olarak çalışmayan programların diskinizi doldurmasını engeller.

45
LawrenceC

Kullanıcılarınızı ayrılmış bloklar ve kök olarak çalışmak yerine belirli kullanıcılar olarak çalışan hizmetler sayesinde, bir dosya sistemini dolduramaz ve söz konusu dosya sistemine yazılması gereken diğer şeyleri kıramaz - ancak root olarak çalışan hizmetler yine de tamamen yapabilir tabii ki dolu.

Ayrıca, kullanıcılar diskin dolu olduğundan şikayet ettiğinde veya dosya sistemi dolu olduğu için hizmetler başarısız olmaya başladığında çalışmak için biraz alan sağlar. Örneğin, bazı dosyaları kaldırmadan önce Zip/gz/7Zip arşivlerine arşivleyebilirsiniz (dosya sistemi tamamen doluysa, bunun yerine arşiv dosyasını oluşturabileceğiniz başka bir dosya sisteminiz olabilir).

% 5, disklerin çok daha küçük olduğu (yüzlerce gigabayt yerine on megabayt) arkadan zun bir süre için varsayılan değerdi, bu yüzden% 5 o kadar da değildi. Neyse ki, söylediğiniz gibi kolayca daha küçük bir yüzdeye ayarlanabilir veya tune2fs Yerine -r 'İn -m Seçeneğini kullanırsanız belirli bir sayıda bloğa ayarlanabilir. Her iki durumda da rezervasyonu tamamen kapatmak için 0 parametresi verebilirsiniz - Bunu /, /tmp, /var Vb. İçin yapmazdım, ancak siz yalnızca kullanıcı depolama alanı (genel bir dosya paylaşımı gibi) veya yalnızca yeni bir tane oluşturduğunuzda büyüyecek sabit boyutlu dosyaları (sabit boyutlu VM'ler gibi) barındıran bir dosya sistemi için isteyebilirsiniz.

22
David Spillett

Varsayılan% 5, sistem bölümleri içindir. Örneğin, disk alanınız dolarsa, sistem günlükleri (/var/log) Ve kökün posta kutusu (/var/mail/root) Yine de önemli bilgiler alabilir. /home Veya genel veri depolama bölümü için, root için yer bırakmaya gerek yoktur. Özel ihtiyaçlar için, acil durum alanını alan kullanıcıyı değiştirebilirsiniz (tune2fs -u 1234).

Bir ext [234] dosya sisteminin dolu olmasına izin vermemenin başka bir nedeni daha vardır - parçalanma .