Mein Datenhaufen zu IT und Elektronik Themen.

TRIM für SSDs im ZFS Pool unter Linux aktivieren.

Speicherzellen eine SSD sind nicht unendlich beschreibbar. Irgendwann sind sie „kaputt“. Damit dieses möglichst spät passiert, hat jede SSD eine interne Logik, um Schreibzugriffe möglichst gut auf Speicherbereiche zu verteilen. Im optimalen Fall wird jeder Speicherbereich gleich oft zum Schreiben benutzt. Damit dieses möglichst gut funktioniert, muss die SSD wissen, welche Speicherbereiche wirklich frei sind. Diese Information kann die SSD fast nur vom Filesystem selbst bekommen. Damit die Info weitergeleitet wird, gibt es TRIM https://de.wikipedia.org/wiki/TRIM.

ZFS bietet diese Möglichkeit natürlich auch und dieses ebenfalls unter Linux. Im zpool nennt sich diese Option autotrim und um zu prüfen ob es aktiviert ist, hilft folgender Befehl:

$ zpool get autotrim bpool rpool
NAME   PROPERTY  VALUE     SOURCE
bpool  autotrim  off        local
rpool  autotrim  off        local

Wie man sehen kann, gibt es die beiden ZFS Pools mit den Namen bpool und rpool. Auf beiden ist autotrim deaktiviert. Zum Aktivieren ist folgender Befehl nötig:

$ zpool set autotrim=on bpool
$ zpool set autotrim=on rpool

Wenn man nun prüft, ob es aktiviert ist:

$ zpool get autotrim bpool rpool
NAME   PROPERTY  VALUE     SOURCE
bpool  autotrim  on        local
rpool  autotrim  on        local

Sollte man dieses bestätigt bekommen.

Einen kleinen Tipp habe ich darüber hinaus zusätzlich noch. Wenn eine SSD an den Strom angeschlossen wird, ohne dass ein „Computer“ angeschlossen ist, fallen viele SSD in eine Art Wartungs- / Reparaturmodus. Dann sortieren SSDs selbstständig ihre Speicherzellen um. Wenn also einmal etwas in den ersten Speicherbereich geschrieben wurde, ist dieses nicht gleichbedeutend, dass es für immer in nur diesem Bereich liegen bleibt. Im laufenden Betrieb wird dieses verschoben, wenn die SSD (wie beschrieben) nur am Strom angeschlossen ist forciert man dieses zusätzlich bei vielen SSDs. Einfach 2 / 3 Stunden „laufen“ lassen… Hin und wieder lassen sich über diesen Weg „tote“ SSDs wiederbeleben. Alles funktioniert natürlich mit TRIM viel besser 😀

Frage? Dann fragen..

2 Kommentare

  1. Segafredos

    Hi, sehr schön geschriebener Artikel. Also eine SSD trimmt im Betrieb, ganz normal, nebenher. Und auch wenn die Platta am Strom hängt, aber der Rechner „nichts“ tut. Warum dann (noch als dritte zusätzliche Option) manuell trimmen?

    • kernel-error

      Hallo Segafredos, ich bin mir nicht sicher, ob ich deine Frage richtig verstehe. Ja, eine SSD sortiert seine Blöcke selbständig um. Oft sind in der Firmware einer SSD ebenfalls Diagnose- und Reparaturfunktionen, welche aktiv werden, wenn eine SSD nur am Strom angeschlossen ist; Also einfach das Datenkabel ziehen, die Platte im Anschluss mit Strom versorgen und einige Stunden „liegen“ lassen.

      Wenn man Daten auf eine SSD schreibt, werden sie auf diese geschrieben *Überraschung*. Wenn man Daten löscht, werden sie aber (ohne TRIM durch das Filesystem) nicht mehr von der SSD „gelöscht“. Dieses vorgehen stammt von normalen Festplatten. Dort werden die Daten ebenfalls nicht gelöscht, sondern im Dateisystem nur der Verweis gelöscht. Also das Kapitel wird aus dem „Inhaltsverzeichnis“ gelöscht; Die Blöcke sind dann zum neuen Beschreiben freigegeben und würden beim Speichern weiterer Daten überschrieben. Bei einer Festplatte vollkommen egal und schneller als wenn man die einzelnen Blöcke z.B.: noch nullt. Daher lassen sich gelöschte Daten oft wiederherstellen, da sie nie wirklich weg sind (solange man sie nicht überschreibt). Da die SSD keine Ahnung hat, welche ihrer Blöcke vom Filesystem noch mit echten Daten vollgeschrieben sind, wird eine SSD diese immer behandeln wie Blöcke mit aktiven Nutzdaten. Ein TRIM ist ganz grob so etwas wie ein Abgleich zwischen Dateisystem und SSD, damit die SSD weiß, welche Blöcke wirklich noch Nutzdaten enthalten und welche zum Überschreiben freigegeben sind. So kann die SSD ihre Daten selbst besser verteilen und die Belastung der einzelnen Blöcke besser gewichten.

      Im Artikel ist ein Link zu Wikipedia, vielleicht hilft dir dieser weiter?

Schreibe einen Kommentar zu kernel-error Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2022 -=Kernel-Error=-

Theme von Anders NorénHoch ↑