Erstens hängt die Reihenfolge von LUKS und LVM davon ab, ob Sie unterschiedliche LUKS-Passwörter oder andere Einstellungen für verschiedene LVs haben möchten. Wenn Sie zum Beispiel unterschiedliche Passwörter für verschiedene LVs einrichten müssen, müssen Sie LUKS auf jeden Fall auf LVM setzen. Wenn andererseits alle LVs das gleiche Passwort und die gleichen Einstellungen wie keylen verwenden, möchten Sie LUKS unter LVM haben, damit Sie sich nicht mit dem Overhead auseinandersetzen müssen, mehr als eine LUKS-Partition zu haben (denken Sie, was Sie tun müssten, wenn Sie das Passwort ändern müssen).
Zweitens möchten Sie fast immer, dass RAID die niedrigste Ebene ist, damit eine Festplatte, wenn sie ausfällt, einfach und transparent ausgetauscht werden kann. Wenn Sie RAID auf LVM einrichten würden, müssten Sie ein PV ersetzen, wenn eine Festplatte stirbt, das wäre ein großer Schmerz im Nacken. Auch RAID auf LVM würde die Flexibilität von LVM völlig zunichte machen. Sie müssen dann wahrscheinlich die zweite Schicht von LVM erneut über RAID einrichten!
Da in den meisten Fällen nur ein einziges Passwort verwendet werden muss, würde dies ausreichen:
RAID --> LUKS --> LVM --> ext4
In einigen Fällen müssen Sie möglicherweise LVM verwenden, um mehrere RAID-Geräte zu einem großen Volume zu kombinieren, dann können Sie Folgendes tun:
RAID --> LVM --> LUKS (--> LVM) --> ext4
Theoretisch sollte die Reihenfolge die Leistung nicht stark beeinträchtigen, wenn alle Ebenen richtig eingerichtet sind , und in der Praxis habe ich nicht gesehen, dass dieses Setup eine besonders schlechte Leistung hat. Das Wichtigste ist wohl die Ausrichtung:
- Stellen Sie sicher, dass Ihre Partitionen auf 1 MB ausgerichtet sind (sehr wichtig für SSD);
- Wählen Sie für RAID-Layer die Chunk-Größe mit Bedacht aus;
- Stellen Sie für LVM sicher, dass Sie
--dataalignment
festlegen an die RAID-Chunk-Größe anpassen (dies könnte hilfreich sein).
Stellen Sie außerdem auf SSD sicher, dass Sie LUKS TRIM/DISCARD Pass-Through aktivieren, indem Sie rd.luks.options=discard
hinzufügen bis /etc/default/grub
und discard
bis /etc/crypttab
(Dies mache ich unter Red Hat/Fedora Linux. Könnte unter Debian ein wenig anders sein.) LVM und RAID sollten Discard automatisch unterstützen, wenn Sie einen neueren Kernel verwenden.
Dies sind natürlich nur allgemeine Richtlinien. Wenn Sie spezielle Bedürfnisse haben, können Sie Ihre Frage oder Ihren Kommentar hier gerne aktualisieren.
Wenn Sie alle RAID, LUKS und LVM wollen, würde ich RAID -> LUKS -> LVM -> FS
empfehlen . RAID --> LVM --> LUKS --> LVM --> FS
ist nicht besser als RAID -> LUKS -> LVM
- Um das Volumen zu erweitern, fügen Sie einfach weitere RAID -> LUKS
hinzu Geräte zu einer Volumengruppe.
RAID --> LVM --> LUKS --> FS
- Das Verschlüsseln nur bestimmter logischer Volumes hat eine Funktion, standardmäßig nicht alles zu verschlüsseln (kann als Vorteil oder Nachteil angesehen werden), aber es erleichtert die Erweiterung des Root-FS.
Das Erweitern von LUKS auf logische Volumes ist eine häufige Problemquelle, wenn Benutzer sie in der falschen Reihenfolge erweitern/skalieren. LUKS auf dem gesamten md-RAID-Gerät zu haben, vereinfacht die Größenänderung - fügen Sie ein neues md-Gerät hinzu, erstellen Sie LUKS darüber, fügen Sie das Gerät zu /etc/crypttab hinzu (zumindest auf Fedora- und RHEL-Klonen) und erweitern Sie Ihre Volumengruppe. Wenn sich Root-FS in der Volume-Gruppe befindet, müssen Sie einen weiteren rd.luks.uuid
hinzufügen Eintrag zur Kernel-Cmdline (bearbeiten Sie /etc/default/grub und grub.cfg neu generieren.)
LUKS -> RAID
ist normalerweise falsch - Daten werden mehrfach verschlüsselt, wodurch mehr CPU-Zyklen ohne Gewinn verbraucht werden. Es besteht auch die Möglichkeit, dass eine ausgefallene Festplatte versehentlich durch eine neue ersetzt wird, ohne LUKS einzurichten, wenn eine Festplatte ausfällt.
Erweitern und Verkleinern:
Gehen Sie beim Erweitern immer von unten, beim Schrumpfen von oben vor.
Beispiel:
Erweitern RAID -> LVM -> LUKS -> FS
(Die ersten beiden Schritte sind optional, wenn in der Datenträgergruppe genügend freier Speicherplatz vorhanden ist):
- Fügen Sie neue Laufwerke hinzu und erstellen Sie md RAID.
- mdX-Gerät zur Datenträgergruppe hinzufügen.
- Logisches Volume erweitern.
- LUKS-Gerät erweitern.
- FS erweitern.
Schrumpfung RAID -> LVM -> LUKS -> FS
:
- FS verkleinern.
- LUKS-Gerät verkleinern.
- Logisches Volume verkleinern.