becha Hallo, ich habe nun auf meiner SSD einen Setup, bei dem das LVM-Volume mit LUKS verschlüsselt ist, darin befindet sich das ganze System. Wie sorge ich nun dafür, dass TRIM ausgeführt wird? Reicht der Eintrag issue_discards=1 in der /etc/lvm/lvm.conf oder muss ich in der /etc/fstab auch nochmal die discard-Option setzen? Und muss ich das beim Bootmanager (GRUB2) auch noch irgendwo hinterlegen? Ansonsten wird ja das root-Device nicht behandelt oder? Gruß becha
mpausch Denke mal, dass Du jedem Layer (Filesystem -> LUKS -> LVM) sagen musst, das getrimmt werden soll... unter http://wiki.ubuntuusers.de/SSD/TRIM ist u.a. beschrieben, wie man testet ob TRIM funktioniert... also einfach mal Step-by-Step die einzelnen Layer anweisen zu trimmen und testen ob's funktioniert :-)
becha Ich habe in der fstab nun bei jedem Eintrag die Option discard gesetzt, neu gestartet und ausprobiert ob das TRIM läuft (Sektion "Testen des Kernel-TRIM allgemein"). Nüchternes Ergebnis: anscheinend läuft es nicht. Zu LVM steht leider nicht viel in der Anleitung und alles was über LUKS drin steht ist für mich nicht relevant, da ich keine crypttab verwende (Das LVM ist LUKS verschlüsselt, nicht die einzelnen LVM-Volumes). Jemand noch Hinweise für mich? Muss ich evtl. nach der Änderung and der LVM-Konfiguration die initramfs neu bauen? (edit:// Ne, auch initramfs neu bauen ändert nichts)
mpausch übergibst Du in der Kernel Command line die UUID? Dann könnte evtl https://bugzilla.redhat.com/show_bug.cgi?id=890533 interessant sein.
becha GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:mySSD" So gesehen nein. Jedoch ist die Übergabe an den Kernel per UUID aktiviert: #GRUB_DISABLE_LINUX_UUID=true Was genau müsste ich hier denn ändern?
mpausch hm, gute Frage... hab leider kein verschlüsseltes System zur Hand... und schon gar keines, das das LVM auf LUKS drauf setzt :-( so wie ich das aus dem Bugreport verstehe, hat das übergeben des LUKS devices per Kernel Parameter dazu geführt, dass die /etc/crypttab nicht genutzt wurde. Also meine Vermutung: /etc/crypttab anlegen und den Parameter cryptdevice=... entfernen. Und ggf Bootloader-Config und/oder initrd neu erstellen lassen.
becha Naja ich verwende ja das gesamte LVM als ein Cryptdevice und keine /etc/crypttab - Soweit ich das verstanden habe, muss die root-Partition ja dem Bootloader per "cryptdevice=" mitgeteilt werden.
Strike0 Hallo becha, Zusätzlich zu den fstab discard optionen muss Dein cryptdevice in diesem Fall socryptdevice=/dev/sdb2:mySSD:allow-discards aussehen. cu, Strike0
becha OK, nun funktioniert schonmal fstrim 🙂 Wenn ich nach der Anleitung zum Testen des TRIM vorgehe verändert sich die Ausgabe leider nicht - wenn ich fstrim im verbose-Modus laufen lasse, sagt er mir er hat was getrimmt. Ich denke darauf kann man sich verlassen, oder? (auch wenn die Ausgabe die selbige ist?)
Strike0 Ja. Wenn "fstrim -v" trimmt und "mount" discard für die jeweiligen Partitionen als Option drin hat; geht das so. Die Anleitung ist mir gerade tl;dr, aber wahrscheinlich ist die ohne Berücksichtigung von LUKS und/oder LVM. Für beide muss ein offset zur Berechnung des Testsektors einbezogen werden.
Strike0 Ok, prima. Einen Hinweis möchte ich noch ergänzen: Während "fstrim -v" sich gut zum einmaligen manuellen ausführen/testen eignet, ist es besser das device mit "discard" zu mounten, so dass ein permanentes trimmen direkt bei Dateioperationen erfolgt. Grund: fstrim setzt einen Befehl an die SSD zum trimmen ab, aber nach einem reboot ist das Ergebnis wieder egalisiert. Bei der nächsten Ausführung werden also die bereits getrimmten Zellen ggf. erneut genullt, was bei SSDs nicht gut für die Lebensdauer ist.