En iyi RAID, LVM ve LUKS siparişi


13

Debian GNU / Linux 8 ile bir dosya sunucusu kuracağım.

Ben mdadm kullanarak RAID-1 yazılımı yanı sıra LUKS kullanarak şifreli diskler istiyorum. LVM'ye sahip olmanın esnekliğini de seviyorum.

Bunu yapmanın farklı yolları vardır. Bunun bir yolu: İlk önce mdadm kullanarak RAID-1'i kurmak. Ardından, oluşturulan / dev / mdX'i kapsayacak şekilde LVM PV'leri ayarlayın. Sonra LV'leri kurun ve LUKS kullanarak şifreleyin. Sonra bunları bir dosya sistemiyle biçimlendirin, örneğin ext4. Bu, aşağıdaki gibi bir düzen ile sonuçlanır:

RAID --> LVM --> LUKS --> ext4

Ya da farklı bir sırayla yapabilirim:

RAID --> LUKS --> LVM --> ext4

Ya da belki:

LVM --> RAID --> LUKS --> ext4

Ve belki de tamamen farklı bir düzen.

Farklı yaklaşımların yararları ve dezavantajları nelerdir? En iyi performans, güvenlik, sürdürülebilirlik vb.

Bunu yapmanın "En iyi Yolu" var mı?

Yanıtlar:


18

İlk olarak, LUKS ve LVM sırası, farklı LUKS şifreleri veya farklı LV'ler için diğer ayarlara sahip olmak isteyip istemediğinize bağlıdır. Eğer farklı LV'ler için farklı şifreler ayarlamanız gerekiyorsa, kesinlikle LUKS'u LVM'nin üstüne koymanız gerekir. Öte yandan, tüm LV'ler aynı şifreyi ve keylen gibi ayarları paylaşıyorsa, LVM'nin altında LUKS olmasını istersiniz, böylece birden fazla LUKS bölümünün ek yükü ile uğraşmak zorunda kalmazsınız (ne düşündüğünüzü düşünün) parolayı değiştirmeniz gerektiğinde yapmanız gerekir).

İkincisi, neredeyse her zaman RAID'in en düşük seviye olmasını istersiniz, böylece bir disk öldüğünde kolayca ve şeffaf bir şekilde değiştirilebilir. LVM'nin üzerine RAID kuracak olsaydınız, bir disk öldüğünde bir PV'yi değiştirmeniz gerekir, bu da boyunda büyük bir acı olurdu. Ayrıca LVM'nin üstündeki RAID, LVM'nin esnekliğini tamamen yenecekti. Daha sonra muhtemelen tekrar RAID'in üzerine ikinci LVM katmanını ayarlamanız gerekir!

Bu nedenle, çoğu durumda insanların tek bir şifre kullanması gerektiğinden, bu yeterli olacaktır:

RAID -> LUKS -> LVM -> ext4

Bazı durumlarda, birden fazla RAID aygıtını büyük bir birimde birleştirmek için LVM kullanmanız gerekebilir, şunları yapabilirsiniz:

RAID -> LVM -> LUKS (-> LVM) -> ext4

Teorik olarak, eğer her katman doğru şekilde ayarlanmışsa , sipariş performansı çok fazla etkilememelidir ve pratikte bu kurulumun özellikle kötü bir performansa sahip olduğunu görmedim. En önemli şey muhtemelen hizalamadır:

  1. bölümlerinizin 1 MB hizalandığından emin olun (SSD için çok önemlidir);
  2. RAID katmanı için, yığın boyutunu akıllıca seçin;
  3. LVM için, --dataalignmentRAID yığın boyutuna uyacak şekilde ayarladığınızdan emin olun ( bu yardımcı olabilir).

Ayrıca SSD, emin olun LUKS TRIM / DISCARD geçiş ekleyerek etkinleştirirsem rd.luks.options=discardiçin /etc/default/grubve discardiçin /etc/crypttab(Bunlar. Ben Red Hat / Fedora Linux üzerinde yaptıklarınızsınız Debian üzerinde biraz daha farklı olabilirdi.) LVM ve RAID gerektiği otomatik destek olarak imha new-ish çekirdeği kullanırsanız.

Tabii ki, bunlar sadece genel yönergelerdir. Özel ihtiyaçlarınız varsa, sorunuzu güncellemek veya burada yorum yapmaktan çekinmeyin.


Hızlı cevap için teşekkürler. Güzel nokta! Önemsiz olmaları durumunda performans farkları hakkında yorum yapabilir misiniz?
Thomas

Bazı performans notlarıyla güncellendi.
Yan Li

1
Ayrıca her zaman MDADM kullanmanız gerekmediğine dikkat edilmelidir (bunun en tipik çözüm olacağını umuyorum). - LVM RAID (aka yansıtma) sunuyor
davidgo

@davidgo Evet. Ben de bundan bahsetmeyi düşündüm ama yapmadım, çünkü bunun doğru yol olup olmadığından emin değilim. Kişisel olarak denemedim (çoğunlukla 5 veya 6 gibi daha yüksek RAID seviyeleri kullanıyorum) ve bu sorudaki bazı cevapların belirttiği gibi LVM yansıtma hakkında karışık geri bildirimler okudum .
Yan Li

@Yan, katılıyorum. Ben de hep mdadm RAID (1) kullanın
davidgo

4

Tüm RAID, LUKS ve LVM istiyorsanız tavsiye ederim RAID -> LUKS -> LVM -> FS. RAID --> LVM --> LUKS --> LVM --> FSdaha iyi değil RAID -> LUKS -> LVM- birimleri genişletmek RAID -> LUKSiçin bir birim grubuna daha fazla cihaz ekleyin .

RAID --> LVM --> LUKS --> FS - yalnızca belirli Mantıksal birimlerin şifrelenmesi, her şeyi varsayılan olarak şifrelememe özelliğine sahiptir (avantaj veya dezavantaj olarak görülebilir), ancak kök FS'yi genişletmeyi kolaylaştıracaktır.

LUKS'yi mantıksal birimlerin üzerine genişletmek, kullanıcılar bunları yanlış sırada genişlettiklerinde / yeniden boyutlandırdıklarında sık karşılaşılan bir sorun kaynağıdır. Tüm md RAID cihazında LUKS bulunması yeniden boyutlandırmayı basitleştirecektir - yeni md cihazı ekleyin, bunun üzerine LUKS oluşturun, / etc / crypttab'a cihaz ekleyin (en azından Fedora ve RHEL klonlarında) ve hacim grubunuzu genişletin. Birim grubu FS rd.luks.uuidkökündeyse, çekirdek cmdline'a başka bir giriş eklemeniz gerekir (edit / etc / default / grub ve grub.cfg dosyasını yeniden oluşturun.)

LUKS -> RAIDgenellikle yanlıştır - veriler birden fazla kez şifrelenir ve kazanç olmadan daha fazla CPU döngüsü tüketir. Ayrıca, bir disk arızalandığında LUKS'u ayarlamadan, arızalı bir diski yanlışlıkla yenisiyle değiştirme şansı vardır.

Genişletme ve daralma:

Uzatırken her zaman yığının altından, yukarıdan daralırken gidin.

Misal:

Genişletme RAID -> LVM -> LUKS -> FS (hacim grubunda yeterli boş alan varsa ilk iki adım isteğe bağlıdır):

  1. Yeni diskler ekleyin ve md RAID oluşturun.
  2. Birim grubuna mdX cihazı ekleyin.
  3. Mantıksal hacmi genişletme.
  4. LUKS cihazını uzatın.
  5. FS'yi genişletin.

Küçülen RAID -> LVM -> LUKS -> FS :

  1. Shrink FS.
  2. LUKS cihazını küçültün.
  3. Mantıksal hacmi küçültün.
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.