Fedora und SSDs fstrim als service via systemd

Um die üblichen Aufräumarbeiten einer SSD wöchentlich ausführen zu lassen, kann neben den üblichen Änderungen in der file system table unter Fedora, auch der systemd genutzt werden.

Anstelle die file system table, fstab,  wie gewohnt zu bearbeiten, nutze ich unter Fedora den hauseigenen Putzdienst der via systemd einmal wöchentlich die SSD via fstrim aufräumt. Wirkliche Unterschiede in den Einstellungen wie {discard,noatime} habe ich nicht wirklich im täglichen Arbeitsfluss bemerkt. Ich bin zufrieden mit dem Dienst via systemd.

TRIM ist ein Befehl zur Markierung ungenutzter oder ungültiger Datenblöcke auf Speichermedien zum Zweck der späteren Wiederbeschreibung.[1]

Der TRIM-Befehl ermöglicht es einem Betriebssystem, dem Speichermedium Solid-State-Drive (SSD) mitzuteilen, dass gelöschte oder anderweitig freigewordene Blöcke nicht mehr benutzt werden. Im Normalfall vermerkt das Betriebssystem nur in den Verwaltungsstrukturen des Dateisystems, dass die entsprechenden Bereiche wieder für neue Daten zur Verfügung stehen; der Controller des Solid-State-Laufwerks erhält diese Informationen in der Regel jedoch nicht.
Wikipedia:TRIM

Ich habe um den Dienst zu nutzen nochmals die überprüft, ob die von mir verbauten SSDs den Trimbefehl beherrschen. Ich musste aber vorab das Programm hdparm installieren, da dies nicht zu der Standardinstallation von Fedora Workstation gehört.

[ChristianGrube:~] $ sudo hdparm -I /dev/{sda,sdb} | grep TRIM
 * Data Set Management TRIM supported (limit 8 blocks)
 * Data Set Management TRIM supported (limit 8 blocks)

Eine Statusabfrage, ob der Service schon aktiviert ist, habe ich hier nur noch einmal zur Veranschaulichung durchgeführt. In der Standardinstallation ist der Dienst leider nicht aktiviert. Hier würde ich mich doch über eine Abfrageroutine bei der Installation für die Aktivierung des Dienstes freuen.

[ChristianGrube:~] $ sudo  systemctl status fstrim.timer
 ● fstrim.timer - Discard unused blocks once a week
 Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; disabled; vendor preset: disabled)
 Active: inactive (dead)
 Docs: man:fstrim

Da der Service nicht aktiviert war, habe ich Ihn aktiviert. Von nun an wird wöchentlich via systemd der Trimbefehl ausgeführt.

[ChristianGrube:~] $ sudo  systemctl enable fstrim.timer
 Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /usr/lib/systemd/system/fstrim.timer.

 

Die Inhalte der Konfiguationsdateien für den Service fstrim.timer
/usr/lib/systemd/system/fstrim.timer  

[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

 /usr/lib/systemd/system/fstrim.service

[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/usr/sbin/fstrim -a

8 Kommentare

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.