Implementierung von Linux fstrim auf SSD mit der Software md-raid

14

Momentan baue ich einen neuen Ubuntu 13.04-Server mit 2 256 GB SSDs in einem RAID-Spiegel, um eine MariaDB-Instanz auszuführen. Normalerweise wird LVM über der dm-crypt-Verschlüsselung auf einem md raid 1-Array platziert , in diesem Setup wurden jedoch bisher keine SSDs verwendet.

Meine Frage ist, da wir einen neueren (3.8) Kernel verwenden, sollte es möglich sein , fstrim direkt auf das Raid-Volume anzuwenden, so wie ich es verstehe. Kann ich mich jetzt einfach darauf verlassen, dass dies fstrim -v /über einen Cron-Job funktioniert , so wie ich es tun würde, wenn der Überfall nicht stattfinden würde? Trifft dies auch zu, wenn LVM das RAID-Volumen übersteigt? Wir planen, die auf den Laufwerken vorhandene Hardwareverschlüsselung zu verwenden, sodass wir hier keine dm-Verschlüsselung benötigen.

ANMERKUNG: Mir ist bewusst, dass es mehrere ähnliche Fragen gibt, die das Backportieren aktualisierter Kernelversionen und das Implementieren von Discard mit dem MD-Volume betreffen. Ich frage speziell, ob fstrimmd-raid ohne weitere Änderungen in neueren Kerneln funktioniert.

UPDATE: Ich wollte nur nachverfolgen und posten, dass dies gut funktioniert hat. Es gibt jetzt einen Job in cron.daily dass Läufe fstrim auf /und /bootund es funktioniert perfekt. Es stellte sich heraus, dass die Hardwareverschlüsselung auf den SSDs (Samsung 840 Pros) anscheinend TPM-Unterstützung erfordert, die wir nicht haben. Daher haben wir die Software-Verschlüsselung wie im Link gezeigt konfiguriert. Durch Hinzufügen discardder Optionen in /etc/crypttab( nicht in /etc/fstab) und issue_discards = 1zum Abschnitt "Geräte" von /etc/lvm/lvm.conffunktioniert fstrim auch über LVM-, Verschlüsselungs- und RAID-Ebenen einwandfrei. Weitere Informationen zum Konfigurieren von Trim / Discard auf SSDs mit LVM und Verschlüsselung finden Sie hier.

nedm
quelle

Antworten:

11

Patches für mdraid RAID 1- und 10-Unterstützung für TRIM wurden vor etwa einem Jahr aktualisiert.

Sie können die Unterstützung Ihres Kernels testen, indem Sie das Dateisystem mit der discardOption mounten (die automatisches TRIM aktiviert). Wenn dies unterstützt wird, wird im Syslog eine Meldung angezeigt oder dmesgwie folgt:

EXT4-fs (md1): re-mounted. Opts: discard,data=ordered

Andernfalls erhalten Sie Folgendes:

EXT4-fs warning (device md1): ext4_issue_discard:2619: discard not supported, disabling

Sie müssen nicht neu starten, um zu sehen, ob es funktioniert:

mount /dir -o remount
Michael Hampton
quelle
1
Also, wenn ich Sie richtig verstehe, wenn das Mounten mit Discard funktioniert, sollte fstrim auch?
Nedm
1
Richtig. Wenn es vollständig implementiert ist, funktioniert es in beide Richtungen.
Michael Hampton
3
Denken Sie daran, die Mount-Optionen nachträglich zu ändern, wenn Sie nicht beabsichtigen, das automatische Trimmen durchzuführen. :)
Michael Hampton
2
Zur Verdeutlichung: Die TRIM-Unterstützung für RAID1 wurde am 11. Oktober 2012 hinzugefügt. Weitere Informationen finden Sie hier: lkml.indiana.edu/hypermail/linux/kernel/1203.1/01772.html Kernel 3.4 unterstützt dies nicht, aber 3.8 (weiß nicht) ungefähr 3.5 / 3.6 / 3.7)
Joril
3
@MichaelHampton das stimmt leider nicht. Wenn Sie beispielsweise Kernel 3.2 mit ext4 auf LVM auf MD (soft) RAID1 haben, wird beim (erneuten) Mounten von ext4 mit Discard kein Fehler gemeldet, aber dies funktioniert auch nicht (da MD RAID1 in 3.2.x-Kerneln nicht unterstützt wird Weitergabe von TRIM-Befehlen). Die einzige Möglichkeit, es sicher zu wissen, ist es
Matija Nalis