it-swarm.com.de

Beste Reihenfolge von RAID, LVM und LUKS

Ich werde einen Dateiserver mit Debian GNU/Linux 8 installieren.

Ich möchte Software-RAID-1 mit mdadm sowie verschlüsselte Festplatten mit LUKS haben. Ich mag auch die Flexibilität von LVM.

Hierfür gibt es verschiedene Möglichkeiten. Eine Möglichkeit besteht darin, zuerst RAID-1 mit mdadm einzurichten. Richten Sie dann LVM-PVs so ein, dass sie die erstellte/dev/mdX-Datei abdecken. Richten Sie dann LVs ein und verschlüsseln Sie diese mit LUKS. Formatieren Sie diese anschließend mit einem Dateisystem, z. B. ext4. Daraus ergibt sich ein Layout wie dieses:

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

Oder ich könnte es in einer anderen Reihenfolge:

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

Oder vielleicht sogar:

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

Und vielleicht sogar eine ganz andere Reihenfolge.

Was sind Vor- und Nachteile für die verschiedenen Ansätze? Was bietet die beste Leistung, Sicherheit, Wartbarkeit usw.?

Gibt es einen "besten Weg", dies zu tun?

12
Thomas

Erstens hängt die Reihenfolge von LUKS und LVM davon ab, ob Sie unterschiedliche LUKS-Kennwörter oder andere Einstellungen für unterschiedliche LVs wünschen. Wenn Sie beispielsweise unterschiedliche Kennwörter für unterschiedliche LVs einrichten müssen, müssen Sie LUKS auf jeden Fall auf LVM setzen. Andererseits, wenn alle LVs dasselbe Passwort und dieselben Einstellungen wie keylen haben, möchten Sie, dass LUKS unter LVM liegt, damit Sie sich nicht mit dem Overhead auseinandersetzen müssen, mehr als eine LUKS - Partition zu haben (überlegen Sie, was Sie wollen) müsste tun, wenn Sie das Passwort ändern müssen).

Zweitens möchten Sie, dass RAID fast immer die niedrigste Stufe ist, damit eine Festplatte, wenn sie stirbt, einfach und transparent ausgetauscht werden kann. Wenn Sie RAID zusätzlich zu LVM einrichten würden, müssten Sie eine PV ersetzen, wenn eine Festplatte ausfällt, das wäre ein großes Problem. Auch RAID über LVM würde die Flexibilität von LVM völlig zunichte machen. Dann müssen Sie wahrscheinlich die zweite LVM-Schicht über RAID erneut einrichten!

Da in den meisten Fällen nur ein einziges Kennwort verwendet werden muss, ist dies ausreichend:

RAID -> LUKS -> LVM -> ext4

In einigen Fällen müssen Sie möglicherweise LVM verwenden, um mehrere RAID-Geräte zu einem großen Volumen zu kombinieren. Dann können Sie Folgendes tun:

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

Theoretisch sollte sich die Reihenfolge nicht wesentlich auf die Leistung auswirken , wenn alle Ebenen richtig eingerichtet sind , und in der Praxis habe ich nicht gesehen, dass dieses Setup eine besonders schlechte Leistung aufweist. Das wichtigste ist wahrscheinlich die Ausrichtung:

  1. stellen Sie sicher, dass Ihre Partitionen auf 1 MB ausgerichtet sind (sehr wichtig für SSD).
  2. wählen Sie für RAID-Layer die Blockgröße mit Bedacht aus.
  3. stellen Sie für LVM sicher, dass Sie den --dataalignment auf die RAID-Blockgröße einstellen ( , dies kann hilfreich sein).

Stellen Sie auch bei SSD sicher, dass Sie LUKS TRIM/DISCARD Pass-Through aktivieren, indem Sie rd.luks.options=discard zu /etc/default/grub und discard zu /etc/crypttab hinzufügen (Dies ist das, was ich unter Red Hat/Fedora Linux mache. Könnte unter Debian etwas anders sein.) LVM und RAID sollte das Verwerfen automatisch unterstützen, wenn Sie einen neuen Kernel verwenden.

Dies sind natürlich nur allgemeine Richtlinien. Wenn Sie spezielle Bedürfnisse haben, können Sie Ihre Frage oder Ihren Kommentar hier aktualisieren.

16
Yan Li

Wenn Sie alle RAID, LUKS und LVM möchten, würde ich RAID -> LUKS -> LVM -> FS empfehlen. RAID --> LVM --> LUKS --> LVM --> FS ist nicht besser als RAID -> LUKS -> LVM - um Volumes zu erweitern, fügen Sie einer Volume-Gruppe einfach mehr RAID -> LUKS-Geräte hinzu.

RAID --> LVM --> LUKS --> FS - Das Verschlüsseln nur bestimmter logischer Volumes hat die Funktion, nicht alle Volumes standardmäßig zu verschlüsseln (kann als Vorteil oder Nachteil angesehen werden), erleichtert jedoch das Erweitern von root FS.

Das Erweitern von LUKS auf logische Volumes ist eine häufige Ursache für Probleme, wenn Benutzer die Größe der Volumes in der falschen Reihenfolge ändern. Wenn LUKS auf dem gesamten md RAID-Gerät vorhanden ist, wird die Größenänderung vereinfacht - fügen Sie ein neues md-Gerät hinzu, erstellen Sie darüber hinaus LUKS, fügen Sie das Gerät zu /etc/crypttab hinzu (zumindest auf Fedora und RHEL) klont) und erweitern Sie Ihre Volume-Gruppe. Wenn sich root FS in der Volume-Gruppe befindet, müssen Sie einen weiteren rd.luks.uuid-Eintrag zu kernel cmdline hinzufügen (editieren /etc/default/grub und grub neu generieren. vgl.)

LUKS -> RAID ist normalerweise falsch - Daten werden mehrmals verschlüsselt, wodurch mehr CPU-Zyklen ohne Gewinn verbraucht werden. Es besteht auch die Möglichkeit, versehentlich eine ausgefallene Festplatte durch eine neue zu ersetzen, ohne LUKS einzurichten, wenn eine Festplatte ausfällt.

Ausdehnen und Schrumpfen:

Gehen Sie beim Ausfahren immer von der Unterseite des Stapels aus, wenn Sie von oben schrumpfen.

Beispiel:

Erweitern von RAID -> LVM -> LUKS -> FS (die ersten beiden Schritte sind optional, wenn in der Datenträgergruppe genügend freier Speicherplatz vorhanden ist):

  1. Fügen Sie neue Festplatten hinzu und erstellen Sie ein MD-RAID.
  2. MdX-Gerät zur Volume-Gruppe hinzufügen.
  3. Erweitern Sie das logische Volume.
  4. Erweitern Sie das LUKS-Gerät.
  5. FS verlängern.

Schrumpfen RAID -> LVM -> LUKS -> FS:

  1. FS verkleinern.
  2. Verkleinern Sie das LUKS-Gerät.
  3. Verkleinern Sie das logische Volume.
3
Martian