Hallo zusammen,
Ich mag verstehen warum discard unter UCS4.1 bei mir nicht funktioniert wenn LVM benutzt wird, was laut meinem Verständnis eigentlich funktionieren sollte.
Ziel: Ausschließlich Erkenntnisgewinn. Ich möchte herausfinden ob der unten beschriebene Fehler an meinem Setup, oder an UCS4.1, oder schlicht an einem falschen Verständnis der Zusammenhänge liegt.
Worum geht es? Es geht um TRIM/discard, also das was viele von Euch in Zusammenhang mit SSDs kennen. Ich benutze hier bei virtuellen Maschinen, um Platz zu sparen, wenn diese via “thin provision”, aufgesetzt sind.
Kurz: Wenn die VM qcow2, zfs oder thin-lvm als backing storage benutzt.
Wer jetzt Bahnhof versteht: Ich habe einen Artikel darüber geschrieben, der das hoffentlich einigermaßen verständlich erklärt: https://belug.de/howtos-using_trim_inside_virtual_machines.html
Bei meinen Versuchen hat sich jedenfalls herausgestellt, dass UCS4.1 discard nicht unterstützt, wenn ein LVM benutzt wird, jedoch sehr wohl, wenn man “klassisch” sein Dateisystem direkt auf eine Partition knallt.
So weit - so schlecht. Nicht weil discard nicht funktioniert, das ist mir schlicht egal, schließlich gibt es UCS4.2, und da tut ja alles. Mich wurmt, und das richtig dolle, das ich nicht verstehe warum es nicht bei UCS4.1 funktioniert!
Warum ich denke das discard auch bei UCS4.1 mit LVM funktionieren sollte: LVM2 nutzt seit Kernel 2.6 den device mapper, und bei diesem wurde mit Kernel 2.6.36 der discard-support einprogrammiert. Das ist jetzt schon wieder fast 7 Jahre her, deshalb mal der Link dazu: https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-2-6-36-1102066.html?seite=3
Nun, UCS4.1 hat momentan Kernel 4.1.6, also mehr als ausreichend um TRIM/discard mit LVM zu unterstützen.
Meine Versuche zeigen jedoch: noop, tut er nicht. Kann mir jemand bei der Erklärung helfen? Jeder Hinweis wird gerne genommen.
Beste Grüße Lutz