GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verlängern Sie die Lebensdauer Ihres SSD-Laufwerks mit fstrim

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.


Linux
  1. Verwalten Sie Ihren Kalender über das Linux-Terminal mit dem Befehl konsolekalendar

  2. Sichern Sie Ihre Container mit SELinux

  3. So erweitern Sie die Funktionalität Ihres Linux-Desktops mit PlexyDesk

  4. Beheben Sie Probleme in Ihrem Netzwerk mit tcpdump

  5. Wie können Sie das VDSO-Objekt mit Ihrer eigenen Programmiersprache nutzen?

Stellen Sie Ihr Linux mit minimaler Ausfallzeit von Legacy-BIOS auf UEFI um

So testen Sie Ihre Verbindungsgeschwindigkeit über das Terminal mit Speedtest

Umstieg auf Linux? Bringen Sie Ihr Google Drive mit

Die 15 besten Linux für Kinder | Lassen Sie Ihre Kinder Linux mit Spaß lernen

Überwachung und Testen des Zustands von SSD in Linux

So finden Sie den Standort Ihrer Server mit Traceroute und WHOIS