In den letzten zehn Jahren haben Solid-State-Laufwerke (SSD) eine neue Art der Speicherverwaltung hervorgebracht. SSDs haben im Vergleich zu ihren älteren, sich drehenden Vorfahren Vorteile wie einen leisen und kühleren Betrieb und eine schnellere Schnittstellenspezifikation. Natürlich bringt neue Technologie neue Methoden der Wartung und Verwaltung mit sich. SSDs haben eine Funktion namens TRIM. Dies ist im Wesentlichen ein Verfahren zur Rückgewinnung ungenutzter Blöcke auf dem Gerät, die möglicherweise zuvor geschrieben wurden, aber keine gültigen Daten mehr enthalten und daher zur Wiederverwendung an den allgemeinen Speicherpool zurückgegeben werden können. Don Watkins von Opensource.com schrieb erstmals 2017 in seinem Artikel „Solid-State Drives in Linux:Enabling TRIM for SSDs.“
über TRIM
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Wenn Sie diese Funktion auf Ihrem Linux-System verwendet haben, sind Sie wahrscheinlich mit den beiden unten beschriebenen Methoden vertraut.
Die alten Wege
Verwerfen
Ich habe dies zunächst mit der Discard-Option des Mount-Befehls aktiviert. Die Konfiguration wird in /etc/fstab abgelegt Datei für jedes Dateisystem.
# cat /etc/fstab
UUID=3453g54-6628-2346-8123435f /home xfs defaults,discard 0 0
Die Discard-Option aktiviert das automatische Online-TRIM. In letzter Zeit wurde darüber diskutiert, ob dies aufgrund möglicher negativer Auswirkungen auf die Leistung die beste Methode ist. Die Verwendung dieser Option bewirkt, dass jedes Mal, wenn neue Daten auf das Laufwerk geschrieben werden, ein TRIM initiiert wird. Dies kann zusätzliche Aktivitäten einführen, die die Speicherleistung beeinträchtigen.
Cron
Ich habe die Discard-Option aus der fstab entfernt Datei. Dann habe ich einen Cron-Job erstellt, um den Befehl planmäßig aufzurufen.
# crontab -l
@midnight /usr/bin/trim
Dies ist die Methode, die ich zuletzt auf meinen Ubuntu-Linux-Systemen verwendet habe, bis ich von einer anderen Methode erfahren habe.
Ein neuer TRIM-Dienst
Ich habe kürzlich entdeckt, dass ein systemd-Dienst für TRIM existiert. Fedora hat dies in Version 30 in ihre Distribution eingeführt, und obwohl es in den Versionen 30 und 31 nicht standardmäßig aktiviert ist, ist es in Version 32 geplant. Wenn Sie an Fedora Workstation 31 arbeiten und damit beginnen möchten Feature, können Sie es sehr einfach aktivieren. Ich zeige Ihnen auch, wie Sie es unten testen können. Dieser Service ist nicht einzigartig für Fedora. Die Existenz und der Status hängen von einer individuellen Vertriebsbasis ab.
Test
Ich teste gerne zuerst, um besser zu verstehen, was hinter den Kulissen passiert. Dazu öffne ich ein Terminal und gebe den Befehl aus, den der Dienst aufrufen soll.
/usr/sbin/fstrim --fstab --verbose --quiet
Die –Hilfe Argument für fstrim wird diese und andere Argumente beschreiben.
$ sudo /usr/sbin/fstrim --help
Usage:
fstrim [options] <mount point>
Discard unused blocks on a mounted filesystem.
Options:
-a, --all trim all supported mounted filesystems
-A, --fstab trim all supported mounted filesystems from /etc/fstab
-o, --offset <num> the offset in bytes to start discarding from
-l, --length <num> the number of bytes to discard
-m, --minimum <num> the minimum extent length to discard
-v, --verbose print number of discarded bytes
--quiet suppress error messages
-n, --dry-run does everything, but trim
-h, --help display this help
-V, --version display version
Jetzt kann ich also sehen, dass der systemd-Dienst so konfiguriert ist, dass er das Trimmen auf allen unterstützten gemounteten Dateisystemen in meiner /etc/fstab ausführt Datei –fstab und drucke die Anzahl der verworfenen Bytes –verbose aber eventuell auftretende Fehlermeldungen unterdrücken –quiet . Die Kenntnis dieser Optionen ist beim Testen hilfreich. Ich kann zum Beispiel mit dem sichersten beginnen, dem Trockenlauf. Ich lasse auch das stille Argument weg, damit ich feststellen kann, ob bei meiner Laufwerkskonfiguration Fehler auftreten.
$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run
Dies zeigt einfach, was der fstrim Der Befehl funktioniert basierend auf den Dateisystemen, die er in Ihrer /etc/fstab konfiguriert vorfindet Datei.
$ sudo /usr/sbin/fstrim --fstab --verbose
Dies sendet nun die TRIM-Operation an das Laufwerk und meldet die Anzahl der verworfenen Bytes von jedem Dateisystem. Unten ist ein Beispiel nach meiner kürzlichen Neuinstallation von Fedora auf einer neuen NVME-SSD.
/home: 291.5 GiB (313011310592 bytes) trimmed on /dev/mapper/wkst-home
/boot/efi: 579.2 MiB (607301632 bytes) trimmed on /dev/nvme0n1p1
/boot: 787.5 MiB (825778176 bytes) trimmed on /dev/nvme0n1p2
/: 60.7 GiB (65154805760 bytes) trimmed on /dev/mapper/wkst-root
Aktivieren
Fedora Linux implementiert den systemd-Timer-Dienst, der wöchentlich ausgeführt werden soll. Um das Vorhandensein und den aktuellen Status zu überprüfen, führen Sie systemctl status aus .
$ sudo systemctl status fstrim.timer
Aktivieren Sie jetzt den Dienst.
$ sudo systemctl enable fstrim.timer
Bestätigen
Dann können Sie überprüfen, ob der Timer aktiviert ist, indem Sie alle Timer auflisten.
$ sudo systemctl list-timers --all
Die folgende Zeile bezieht sich auf fstrim.timer wird auftauchen. Beachten Sie, dass der Timer tatsächlich fstrim.service aktiviert . Von hier kommt der eigentliche fstrim wird genannt. Die zeitbezogenen Felder zeigen n/a da der Dienst gerade erst aktiviert und noch nicht ausgeführt wurde.
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a n/a n/a fstrim.timer fstrim.service
Schlussfolgerung
Dieser Dienst scheint die beste Möglichkeit zu sein, TRIM auf Ihren Laufwerken auszuführen. Es ist viel einfacher, als einen eigenen Crontab-Eintrag erstellen zu müssen, um fstrim aufzurufen Befehl. Es ist auch sicherer, die fstab nicht bearbeiten zu müssen Datei. Es war interessant, die Entwicklung der Solid-State-Speichertechnologie zu beobachten, und es ist schön zu wissen, dass sich Linux anscheinend auf eine standardmäßige und sichere Art der Implementierung zubewegt.