TRIM auf einer verschlüsselten SSD

TRIM auf einer verschlüsselten SSD

wiki.ubuntuusers.desagt, wenn ich TRIM auf einer verschlüsselten SSD verwenden möchte, benötige ich mindestens Cryptsetup 1.4 und Kernel 3.1. Brauche ich das, wenn ich die Partitionen erstelle und die Verschlüsselung einrichte, oder reicht ein anschließendes Upgrade?

Antwort1

Ubuntu 11.10 Oneiric wird nicht mit Cryptsetup 1.4 ausgeliefert, Precise jedoch schon. Ich weiß nicht, ob Cryptsetup auf Oneiric aktualisiert werden kann oder nicht. Da Precise in einem Monat veröffentlicht wird, können Sie auch auf diese Veröffentlichung warten, bevor Sie TRIM mit verschlüsselten Partitionen in Betracht ziehen. Der Kernel kann danach immer noch aktualisiert werden.

Aushttp://code.google.com/p/cryptsetup/wiki/Cryptsetup140:

Unterstützt die Option --allow-discards, um Discards/TRIM-Anfragen zuzulassen.

Seit Kernel 3.1 unterstützen dm-crypt-Geräte optional (nicht standardmäßig) Block Discards-Befehle (TRIM).

Wenn Sie diesen Vorgang aktivieren möchten, müssen Sie ihn bei jeder Aktivierung manuell mit --allow-discards aktivieren.

cryptsetup luksOpen --allow-discards /dev/sdb test_disk

ACHTUNG: Es gibt mehrere Sicherheitsfolgen, bitte lesen Sie mindestens http://asalor.blogspot.com/2011/08/trim-dm-crypt-problems.html bevor Sie es aktivieren.

Wie Sie sehen, ist diese Funktion aufgrund der eingeschränkten Sicherheit, wie im verlinkten Blog erwähnt, standardmäßig nicht aktiviert. Wenn Sie also Cryptsetup auf Kernel 3.0 (dem mit Precise gelieferten) verwenden, haben Sie keine TRIM-Unterstützung auf Ihren verschlüsselten Partitionen. Nach dem Upgrade auf 3.1+ haben Sie diese Funktion immer noch nicht, es sei denn, Sie aktivieren sie.

Dazu müssen Sie /etc/crypttabnach der Installation Änderungen vornehmen (ich bin nicht sicher, ob dies während der Installation möglich ist) und die discardOption hinzufügen. Siehe auchcrypttab(5).

Antwort2

Ich habe eine Schritt-für-Schritt-Anleitung zum Aktivieren von TRIM mit LUKS-verschlüsselten Partitionen in Ubuntu 12.04 oder jedem Debian mit Cryptsetup 1.4+ und Kernel 3.1+ gepostet. (Sie können sie gerne hierher kopieren, wenn einige Askubuntu-Richtlinien dies für notwendig erachten.)

Beispiel-Setup

Quelle

Notebook mit SSD als einziges Laufwerk, Linux in einer einzelnen ext4-LVM-Root-Partition mit LVM-Swap-Partition installiert, beides über eine mit LUKS verschlüsselte logische Partition.

SSD:/dev/sda

$ sudo fdisk -l /dev/sda
/dev/sda1               # boot partition (83) (unencrypted, ext4)
/dev/sda2               # extended partition
/dev/sda5               # logical partition (83) with LUKS encryption

$ ls /dev/mapper
/dev/mapper/sda5_crypt         # encrypted LUKS device in physical /dev/sda5 partition
/dev/mapper/volumegroup-root   # root partition sda5_crypt
/dev/mapper/volumegroup-swap   # swap partition sda5_crypt

Wie man

  1. Erstellen Sie eine Sicherungskopie aller Ihrer Daten. Sie greifen in Ihr Dateisystem ein, daher ist eine Sicherungskopie einfach eine gute Idee.

  2. Stellen Sie sicher, dass Sie über die erforderlichen Kernel- und Cryptsetup-Versionen verfügen (3.1 und 1.4, z. B. in Ubuntu 12.04, aber Vorsicht, zum Zeitpunkt des Schreibens dieses Artikels ist 12.04 noch eine Beta-Version).

  3. Fügen Sie den Dateisystemoptionen der verschlüsselten LVM-Volumes in Ihrer /etc/fstab-Datei den Parameter discard hinzu. Dadurch wird dem Dateisystem Ihrer LVM-Partition mitgeteilt, dass Sie TRIM verwenden möchten.

    /dev/mapper/volumegroup-root    /    ext4    discard,noatime,nodiratime,errors=remount-ro    0    1
    
  4. Der letzte Schritt reicht jedoch nicht aus. Solange LUKS nicht weiß, dass Sie TRIM verwenden möchten, blockiert es aus Sicherheitsgründen effektiv alle TRIM-Vorgänge, die vom Dateisystem der LVM-Partition ausgehen. Fügen Sie den Cryptdevice-Optionen in /etc/crypttab den Parameter „discard“ hinzu, damit LUKS das Discard-Verhalten der LVM-Partition akzeptiert.

    sda5_crypt UUID=e364d03f-[...]6cd7e none luks,discard
    
  5. Bauen Sie Ihr Initramfs neu auf. Die Crypttab-Optionen werden dort gespeichert und beim Booten verwendet.

    sudo update-initramfs -c -k all
    
  6. Neustart.

  7. Überprüfen Sie, ob TRIM jetzt aktiv ist.

    sudo dmsetup table /dev/mapper/sda5_crypt --showkeys
    
  8. Wenn der letzte Befehl ein Ergebnis wie dieses ( 1 allow_discards atdas Ende) anzeigt, sind Sie fertig.

    0  77656056  crypt  aes-cbc-essiv:sha256  abc[...]c7a0c  0  8:5  2056  1  allow_discards
    

verwandte Informationen