Verschlüsselte SSD ohne TRIM: I/O leidet

Falls man der Privatssphäre und persönlichen Sicherheit wegen eine verschlüsselte SSD (dm-crypt & LUKS) betreibt, sollte daran gedacht werden, TRIM gegebenfalls zu aktivieren. Tut man es nicht, bricht unter Umständen nach gewisser Zeit die Schreibgeschwindigkeit fast vollständig ein. In meinem Fall resultierte das in einem unbenutzbaren System. Hänger von bis zu 15 Sekunden kamen ständig vor.

Dies geschieht, wenn sich die SSD über längere Zeit füllt und TRIM nicht für die Markierung ungenutzter oder ungültiger Datenblöcke auf dem Speichermedium zum Zweck der späteren Wiederbeschreibung sorgt. TRIM wurde für Linux ab Kernelversion 2.6.33 eingeführt, ab Kernelversion 3.1 wird auch dm-crypt unterstützt. Hierbei gilt es zu beachten, dass die Sicherheit der Verschlüsselung in geringem Umfang leiden kann. Link dazu. Beispielsweise kann ein Angreifer unter Umständen das verwendete Dateisystem identifizieren. Der Hinweis sollte ausgesprochen werden, der potentielle Schaden ist für meinen Geschmack jedoch irrelevant.

Vorgehensweise:

Bootparameter :allow-discards hinzufügen:

$ grep allow-discards /boot/syslinux/syslinux.cfg
APPEND cryptdevice=/dev/sda2:main:allow-discards root=/dev/mapper/main-root ro

Nun einen täglichen Cronjob zum trimmen einrichten:

$ cat /etc/cron.daily/fstrimd 
#!/bin/sh

NICE='nice -n 19'
IONICE='ionice -c 2 -n 7'
echo "" >> /home/duxon/fstrim.log
date >> /home/duxon/fstrim.log
exec ${IONICE} ${NICE} fstrim -v / >> /home/duxon/fstrim.log
exec ${IONICE} ${NICE} fstrim -v /home >> /home/duxon/fstrim.log
exec ${IONICE} ${NICE} fstrim -v /boot >> /home/duxon/fstrim.log

und ausführbar machen.

# chmod a+x /etc/cron.daily/fstrimd

Zuletzt den Cron Service aktivieren und nun fliegt die SSD wieder wie am ersten Tag. :>

# systemctl enable cronie.service
Advertisements
This entry was posted in Arch Linux, deutsch, Verschlüsselung and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s