En İyi UNIX Dosya Sistemi Bölümü + Kurulum Stratejisi


16

UNIX için yeni bir sistem diskini bölümlerken, hem masaüstü hem de / veya sunucular için tercih ettiğiniz stratejiniz nedir?

Lütfen disk bölümü düzenini, dosya sistemi biçimlerini ve seçeneklerini, bağlama noktalarını, RAID düzeylerini, LVM gruplarını ve birimlerini, şifrelemeyi ve diğer ilgili ayarları ekleyin.


Soru neredeyse bunun bir kopyası gibi görünüyor ( serverfault.com/questions/1145/… ).
Zoredache

Bu bir iş istasyonu, bir test sunucusu veya tamamen olgun bir çevrimiçi sunucu için mi?
djangofan

Yanıtlar:


9

Bu tür sorunlar için LVM hayranıyım. / Boot için biraz alana ihtiyacınız var (yaklaşık 100MB kullanıyorum). Dinamik olarak büyüyebilen ve küçülebilen (veya en azından büyüyebilen) dosya sistemleriyle birleştiğinde, bir daha asla küçük bölümleri düşünmek zorunda kalmazsınız.

Masaüstümde, tüm bölümler için dosya sistemi olarak XFS'li bir LVM kullanıyorum. Mümkün olduğunca küçük yaratırım ve daha fazla alana ihtiyacım olduğunda büyümelerine izin veririm.


7

Linux ise, ayrı bir / önyükleme yapın.

Diğer Unix varyantları için, tipik olarak / ve / var için bölümler önerdim, veriler genellikle / u001, / u002 vb.

Önceden, disk alanı sınırlı olduğundan ve tüm sistemi çökertmek için tek bir dolu bölüm istemediğiniz için çok fazla bölümlemeye ihtiyaç vardı. Günümüzde mevcut depolama alanı ve mevcut yeniden boyutlandırma ve sanallaştırma seçeneklerinin yanı sıra, IMO'nun birçok bölüme olan ihtiyacı azalmıştır. Bu, birçok bölümünüz olduğunda işleri hareket ettirmenin bir zorluğuyla birleştiğinde, daha azıyla kaçabiliyorsanız bunu yapın demektir.

32GB bellek dediğinizde 2xRAM olarak takas yapmak anlamlı değildir. Unutmayın, "kurallar" gerçekten yönergelerdir ve bazıları şu anda mevcut olan yeni donanımın ışığında bir anlam ifade etmemektedir.


2
Son zamanlarda bölümleme gerekliliğinden bahsetmek için +1, evde / evde daha fazla alana ihtiyacınız varsa her zaman yeni bir sabit disk takabilirsiniz.
Spoike

1
+1 - Çoğu sistemde çılgın bölümleme oyunlarına duyulan ihtiyacı küçümsemeye katılıyorum. Bazı uygulama nedeniyle hızlı bir diskte / var olması gerektiğini biliyorsanız, öyle olsun. Çoğu zaman, üretim sistemlerinde çılgın bölümleme oyunlarıyla karşılaştığımda, bir sürü küçük bölüme oyulmuş tek bir donanım RAID-1 birimi oldu, hepsi doldurulmayı ve yeniden boyutlandırılmayı bekliyor ( Görünüşe göre yönetici). Bir çeşit karmaşık bölüm şeması için bir uygulamanız olduğunu biliyorsanız, bunun için gidin. Eğer yapmazsan, yapmazsın.
Evan Anderson

5

İyi bir bölümleme yapısı planlamak büyük ölçüde sistemi nasıl kullanacağınızı bilmenize bağlıdır. Sistemin ne yaptığını dikkate almayan herhangi bir rastgele tavsiye özellikle yararlı olmayacaktır.

Tüm fantezi dosya sistemleri zaman zaman yararlı olabilir, ancak istikrarlı bir sistem istiyorsanız, başka bir şey kullanmak için çok iyi bir nedeniniz yoksa 'standart' dosya sistemine (yani ext3) sadık kalmak daha iyi bir fikir olabilir.

RAID iyi, RAID1'i her zaman tüm kişisel bilgisayarlarımda çalıştırıyorum çünkü çok fazla sabit sürücüm başarısız oldu.

Sisteminiz taşınabilir bir cihazsa, yüksek değerli verilere sahipse veya sadece paranoyaksanız, dm-crypt gibi bir şeyle şifreleme iyidir.

Bölümlerinizi planlarken, Dosya Sistemi Hiyerarşi Standardı ve seçtiğiniz unix'in standarttan sapıp sapmadığı / nasıl olduğu hakkında iyi bir anlayışa sahip olmak çok yararlıdır .

LVM kullanmak gelecekte fikrinizi değiştirmeyi ve yeniden başlatmaya gerek kalmadan bölümlerinizi ayarlamayı çok daha kolay hale getirebilir ve anlık görüntü oluşturma yeteneği iyi yedeklemeler oluşturmak için çok kolay olabilir. LVM kullanın ve tüm alanınızı hemen ayırmayın.


5

FS türünün yanı sıra bölümlendirmenin iki çok iyi nedeni vardır:

  1. Sistemin işlevselliğini etkileyen bir uygulamadan aşırı dökülmeyi önleyin. Uygulamanız dolarsa /usr, /varsistemin devam etmesine ve günlüklerin kaydedilmesine izin vermek için biraz alan bırakmak yararlı olur .

    Jauder yukarıda, bunun bugün sabit disklerin boyutu tarafından reddedildiğini söyledi - bunun kesinlikle doğru olduğunu düşünmüyorum. Sürücülerimiz daha büyük olabilir, ancak teslim ettiğimiz veriler sürekli artmaktadır. Şikayet etmeye gerek yok.

  2. Montaj seçenekleri. Her bölümün hangi izinleri benimsemesi gerektiğini daha dikkatli bir şekilde tanımlayabilirsiniz. Örneğin, /tmpweb uygulamalarına hizmet eden makineler için yaygın bir saldırı vektörü olduğu için dosyaların, özellikle de intiharların yürütülmesine izin vermemek iyi bir uygulamadır. Hapishaneler çalıştırmadığınız sürece cihaz düğümlerini hiçbir yerde görmeyi beklememelisiniz /dev. Ve bunun gibi.

Örneğin.

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  

4

Fiziksel Diskler Bölümleme
Minimum 2 disk ile başlayın:

# 1 100MB, ID = 83 (Linux), Önyükleme Bayrağı AÇIK
# 2 Kalan, ID = FD (Linux Raid Auto)

100MB bölümü / boot birimi içindir. Bunu, herhangi bir sürücünün daha sonra önyükleme yapabilmesi için esnekliğe izin vermek üzere tüm sürücülerimde (önyüklemesiz) bırakıyorum. Disklerin boyutu eşleşmezse veya tek bir numaranız varsa (500GB, 250GBx2), daha sonra 500GB sürücünün bölümlerini daha küçük disklerle eşleşecek şekilde bölün.

RAID
100MB bölümlerini kullanarak sdave sdbiçin bir RAID1 (ayna) birimi oluşturun /boot. Bu olur md0.

md0 / önyükleme 100MB Ext2

Egzotik bir FS / boot kullanarak uğraşmayın, buna değmez.

Kalan alan farklı yöntemlerle ayarlanabilir. 64K yığınlar ve hız için "2 uzak kopya" kullanarak bir RAID10 (ayna / şerit) seçiyorum. Bu, diskleri kademeli olarak yükseltmek için çok fazla esneklik sağlar. Diğer seçenekler bir RAID5 / 6 yapmaktır. Ancak kullanılabilir alan en küçük bölümle sınırlı olacaktır ve aynı cihazlardan bölümler KULLANMAYIN. Yeni RAID dizilerini adlandırın md1, md2vb.

LVM Dışındaki
tüm RAID dizilerini alın md0ve bunları adlı tek bir LVM birim grubuna koyun lvm_vg0. RAID5 ve RAID10 birimleriniz varsa, muhtemelen bunları birleştirmemek en iyisidir, ancak sanırım acıtmaz.

Kalan sistem montajları için VG0'ı bölümlere ayırın. Gerekirse daha fazla alan eklemenin nispeten kolay olduğunu unutmayın, bu nedenle bu sayılar biraz muhafazakar olabilir.

lvm_vg0-root / 8GB Ext3 / ReiserFS (çekirdek dağıtım dosyaları)
lvm_vg0-home / home 20 + GB Ext3 / ReiserFS (kullanıcı verileri, belgeler)
lvm_vg0-veri / veri 60 + GB XFS (medya, büyük dosyalar, vm'ler)

XFS dosya sistemleri küçülemez, bu yüzden bunu aklınızda bulundurun. Ayrıca, çevrimiçi bir kök biriminin daraltılması büyük olasılıkla desteklenmez.

Yükseltme Diskleri daha büyük boyutlarda değiştirmek isterseniz, birkaç seçeneğiniz vardır. En kolayı çift veya daha fazla sürücü eklemek ve yeni RAID dizilerini mevcut LVM VG'ye eklemek.

Başka bir seçenek de, geçerli alanın toplamına> = olan tek bir sürücü eklemektir. Örneğin, RAID10'da iki adet 100 GB'lık aygıtınız varsa, yeni bir 200 GB'lık aygıt ekleyebilir ve iki eski aygıtı kullanarak yansıtabilirsiniz. Bu daha fazla hataya açık, ama işe yarayacak.

Gerekirse, md#cihazlar veri kaybı olmadan LVM VG'den çıkarılabilir. Bu, kullanılan tüm LVM bloklarını md#cihazdan diğerlerine kaydırmak için yeterli boş LVM alanı varsa yapılabilir . LVM yalnızca bir LV'ye atanmamış alanı kullanabilir, bu nedenle boş bir dosya sistemi "boş" alan olarak sayılmaz.


1
/ Boot dosyasındaki egzotik dosya sistemleri korkusuyla ikna olmadım. ext3 ve XFS artık 2009'da egzotik değil. Canlı CD'lerin onlar için sürücülerle paketlenmemiş olması endişe verici bir durumdu, ancak neredeyse hepsi bu günlerde.
Dan Carley

@Casey, bir şeylerin taşınması için yeterli boş alanınız varsa, Ext3 birimini "canlı" olarak küçültebilirsiniz. Evet, bu tırnak ısırıcı bir deneyim, ama yaptım ve reklamı yapıldığı gibi çalışıyor. Sadece parametreleri ile ÇOK dikkatli olun.
Avery Payne

2

Sadece Linux İş İstasyonlarını çalıştırıyorum. Ext3 dosya sistemini kullanıyorum ve boyutları biraz daha büyük disklerde bölümleri ile daha cömert olmak, disklerin boyutuna bağlıdır. Bunlar kabaca bölüm tablosunda göründükleri sıradadır:

  • / boot - 100 MB
  • takas alanı - 2xRAM
  • / usr - 10-20 GB
  • / - 5-10 GB
  • / var - 1-2 GB
  • / tmp - 1-2 GB
  • / usr / yerel - 10-20 GB
  • / home - diğer her şey.

Eşimin iki 750 GB sürücüye sahip üniversitedeki iş istasyonlarında, yukarıdakilere ek olarak, / data / N içine monte edilmiş çeşitli sürücülerde N'nin 1'den 12'ye kadar bir sayı olduğu bir düzine ~ 100 GB bölüm oluşturduk. Bunları farklı araştırma projelerinin verilerini tutmak için kullanır.


Şahsen / var, / usr'ın farklı bir bölüme ayrılmış olmasının avantajını görmüyorum. / Usr / local, özel yüklenmiş bir yazılımınız varsa (= paket yönetimi aracılığıyla kurulmamışsa) iyi bir fikir olabilir, ancak bahsedilen ikisi oldukça işe yaramaz. Ayrıca takas olarak 2xRAM gerekli değildir. Sisteminiz takas etmeye başlarsa her şey yavaş yavaş ölür, bu yüzden başlangıçta bundan kaçınmak istersiniz. Şahsen sadece Ramsize + X ile bir takas bölümü hav ediyorum çünkü bazen diske askıya alma kullanıyorum.
Martin

2
@Martin, Kalamar önbellek görevi gören linux kutusu üzerinde biriktirme dizininizin olmasını ve günlük dizininizin hızlı bir diskte olmasını istiyorsunuz ve genellikle bu diskin güvenilir olması gerekmez. Makaranızı bir RAID0 (şerit) üzerine koyabilir (/ var) ve diğer her şeyi daha yavaş sürücüde bırakabilirsiniz.
Zoredache

@Martin - Haklısın, bölme / usr kapatma muhtemelen gereksizdir ve artık her zaman yapmıyorum. Swap = 2xRAM, sistemleri yalnızca 256 MB veya daha az RAM ile yapılandırdığım günlerden kalan eski bir alışkanlıktır.
dagorym

1
aslında, / usr ve / var öğelerini bölmek, diğerinde değil, birinde günlük kaydını etkinleştirmenizi sağlar.
Scott

1
Ayrı bir bölüme / var koymak, yalnızca / var'ın günlük dosyalarını doldurabildiğinden emin olur, aksi takdirde sisteminizi dizlerine götürebilir.
wzzrd

1

tüm disklerde noatime kullanın (eğer bir nedeniniz yoksa) Tmpfs'de / tmp'yi monte ediyorum, ancak bu bir sunucuda çok iyi olmayabilir, ayrı bir bölüm olduğundan emin olur ve nodev, nosuid, noexec, noatime bağlar . Her zaman / boot için ext2 kullanın, bu yüzden w / grub önyükleme yeteneğimi vidalama fs şeyler değiştirme konusunda endişelenmenize gerek yok. ext4 her şeyde, ben büyük olasılıkla bir şeyler yavaşlatan (= dealloc yok gibi) journal = data / data kullanıyorum ama journal = data ile verileri hiç kaybetmedim ve en son / en büyük fahişe, bazen sistemim kilitlenir ve sabit sıfırlamak zorundayım (çünkü km'ler gibi bir şey denedim ve bir hata buldum).


1
'Nodiratime' kullanmayı da unutmayın, aksi takdirde vfs_cache_pressure öğenizi tonlarca inode (artı diske gerçek yazma!)
Gazzonyx

0

Vay canına, güzel soru. Yonks için bunun için mükemmel bir cevap için sörf yapıyorum.

Şahsen 50Mb / boot ~ 8GB / var ve geri kalanı / eve doğru gidiyor Thats mükemmel olsa. Alternatif dosya sistemlerini araştırmam gerekiyor, şu anda ext3 kullanıyorum ama örneğin XFS gibi diğer dosya sistemlerinin harika şeylerini duydum.

Ayrıca genellikle / tmp için bir dosya kapsayıcısı oluştururum, bu nedenle gelecekte daha esnek olabilirim.

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.