Ich habe die Hauptdaten auf eine neue SSD migriert. (Samsung 840 EVO, 120 GB.) Meine ~
ist eine verschlüsselte Partition, die automatisch von gemountet wird pam_mount
. Das heißt, es gibt einen Datensatz /etc/security/pam_mount.conf.xml
für diese Partition.
Ich möchte, dass es TRIM unterstützt. Ich weiß, dass es die Verschlüsselung etwas schwächt (d. h. eine Art Nebenkanal einrichtet), aber ich hoffe, es ist akzeptabel.
Ich habe versucht, es in zu aktivieren pam_mount.conf.xml
. Ein Ansatz bestand darin, die Mount-Optionen einzuschließen discard
, was angeblich automatisch das Verwerfen auf dem verschlüsselten Blockgerät ermöglichte:
<volume user="{USERNAME}" fstype="crypt" mountpoint="/home/{USERNAME}" path="/dev/sdb{NUMBER}" options="defaults,noatime,nosuid,nodev,discard" />
discard
Ein weiterer Versuch bestand darin , (und auch discards
) in die mntoptions aufzunehmen .
<mntoptions allow="discard,discards,nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
Kein Glück. Der fstrim funktioniert immer noch nicht:
% sudo fstrim --verbose ~
fstrim: /home/{USERNAME}: FITRIM ioctl failed: Operation not supported
Habe ich etwas vergessen? Würde ein Upgrade auf 14.04 das Problem lösen? Der man cryptsetup
Befehl sagt mir, dass --allow-discards
es unterstützt wird, also hoffe ich, dass es funktionieren sollte. Die Kernelversion ist 3.13.0-35-generic
, was in Ordnung zu sein scheint, da die Version 3.1+
erforderlich ist.
Das zugrundeliegende Dateisystem ist ext4. Der fstrim
Befehl funktioniert einwandfrei mit unverschlüsselten Dateisystemen (die ebenfalls ext4 sind), aber nicht mit dem Dateisystem, das mit dm-crypt (?)-Verschlüsselung umschlossen ist.
Beachten Sie, dass die discard
Mount-Option anscheinend verwendet wird:
% mount | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)
Antwort1
Das Kompilieren einer neuen Version aus pam-mount
dem Quellcode hat geholfen. Ich musste ein .deb
von libhx28
und libhx-dev
von Trusty installieren (was im Allgemeinen riskant ist), um eine neuere Version dieser Bibliothek zu erhalten.
Sie werden die neuere Version wahrscheinlich in einem neueren Ubuntu vorinstalliert haben, sodass Sie das Kompilieren überspringen können. Wenn möglich, können Sie auf Trusty aktualisieren. Ich möchte noch eine Weile bei Precise bleiben.
Das Aktivieren allow_discards
ohne discard
ist ein hässlicher Hack.Patchprüft nur, ob ein Flag „discard“ vorhanden ist. Ich habe mich also entschieden, sowohl „discard“ als auch „nodiscard“ (in dieser Reihenfolge) einzugeben und hoffe, dass das funktioniert.
Funktioniert jetzt fstrim
auf diesem Gerät, aber ich hoffe, dass das Verwerfen des Mount-Flags wirkungslos ist. Ich bin nicht sicher, ob ich es testen kann.
Alternativ könnte man es mit einer Neumontage versuchen, bei mir war dieser Ansatz jedoch nicht erfolgreich.