it-swarm-eu.dev

Hat Ubuntu Unterstützung für den TRIM-Befehl zur Verwendung mit SSD?

SSD-Laufwerke müssen "gelöscht/zurückgesetzt" werden, nachdem das Laufwerk voll ist, um die Leistung aufrechtzuerhalten. Dies erfolgt über den Befehl TRIM für neue SSD-Laufwerke. Unterstützt Ubuntu den TRIM-Befehl (über hdparm usw.) zum Löschen/Zurücksetzen dieser Laufwerke?

34
ssanj

Anscheinend wird die TRIM-Funktionalität in 10.10 und neueren Versionen unterstützt:

Außerdem geschieht das TRIM-Zeug automatisch - leere Blöcke werden automatisch freigegeben, wenn sie nicht mehr benötigt werden (z. B. wenn Sie eine Datei löschen), wenn die Festplatte meldet, dass TRIM unterstützt wird. Sie müssen keinen hdparm-Befehl manuell eingeben, damit dies funktioniert.

24
Jeremy Kerr

Jeremys Antwort ist nicht ganz richtig, AFAIK. Ich habe seit einiger Zeit den neuesten stabilen Kernel auf Lucid ausgeführt und verfolge den Status von TRIM sehr genau, da ich eine OCZ Agility als Hauptdiskette habe.

Folgendes weiß ich (glaube ich):

  • Der Kernel unterstützt TRIM ab 2.6.33 (Maverick ist 2.6.35).

  • EXT4 unterstützt TRIM, jedoch nur, wenn Journaling deaktiviert ist.

  • Die Arbeitsweise von TRIM im Kernel ist sehr einfach und ziemlich langsam. Datenträger, die den Spezifikationen folgen, können mehrere Bereiche akzeptieren, aber der Kernel kann derzeit nur einen Bereich gleichzeitig ausführen. Das kommt von etwas, was ich vor einem Monat gelesen habe. Ich wünschte, ich hätte die Quelle, da dies möglicherweise nicht stimmt oder nicht mehr zutrifft.

Journaling ist das, was es für mich tötet. Datenkorruption ist eine PITA.

Die neueren Versionen von hdparm (v9.25 - Maverick ist v9.27) enthalten jedoch ein Skript mit dem Namen wiper.sh, das eine schnelle Analyse eines Laufwerks durchführt und dann den gesamten leeren Speicherplatz schneidet. Ich finde es viel einfacher, wiper.sh einmal pro Woche (oder einmal pro Tag/Monat/was auch immer) zu schreiben, anstatt Features zu verlieren. Die SSD-Verschlechterung für ein OS-Laufwerk geschieht nicht so schnell, es sei denn, Sie nehmen ständig Probleme auf. Sie brauchen kein Echtzeit-TRIMming.

Es gibt auch ein GUI-Frontend namens DiskTRIM , das nicht in den Repos zu sein scheint. Für weniger erfahrene Benutzer ist dies möglicherweise einfacher als das Einrichten von Cron-Jobs.

Es gibt PPAs für hdparm und disktrim und alle können unter Lucid (und höher) ausgeführt werden, ohne dass Kernel ab 2.6.33 benötigt werden.

20
Oli

Linux unterstützt seit Kernel 2.6.33 automatisches TRIM mit ETX4-Dateisystem.

Das erste Ubuntu-Release mit automatischer TRIM-Unterstützung ist 10.10 (Maveric), muss aber in fstab aktiviert werden (wie beschrieben hier ).

8
Uli

Im Allgemeinen ja, weil es eine Vielzahl von Möglichkeiten gibt, neuere Kernel zu erhalten. Wenn wir Ihre Frage zum Lesen klären: "Hat 10.04 LTS sofort Unterstützung für den Befehl?" dann lautet die antwort nein. Die Kernel von Maverick und Natty (-generic, -generic-pae, -server und -virtual) wurden jedoch auf 10.04 LTS zurückportiert und sind in $ release-updates in den Ubuntu-Repositories verfügbar, zB linux-image-generic-lts-backport-maverick ist Mavericks Rückendeckung zu Lucid .

4
Daniel T Chen

Ich arbeite mit 11.04 und es sieht nicht so aus, als würde TRIM "out of the box" funktionieren.

Ich habe getestet , indem ich die Anweisungen hier verwendet habe, um eine Datei zu erstellen, sie zu löschen und zu prüfen, ob die Sektoren auf Null gesetzt/gelöscht wurden .

Ich habe versucht, TRIM mit den Anweisungen hier zu aktivieren , aber ohne Würfel

Ich lasse wiper.sh laufen, das verstehe ich

/sbin/wiper.sh --verbose --commit /dev/sda1[.____.)wiper.sh: Linux-Dienstprogramm SATA SSD TRIM, Version 3.3, von Mark Lord. 
 rootdev = /dev/sda1[.____.)fsmode2: fsmode = read-write 
 /: fstype = ext4 
 freesize = 13785252 KB, reserved = 137852 KB 
 Vorbereitung für Online-TRIM von Freier Speicherplatz auf/dev/sda1 (ext4 gemountet mit Lese-/Schreibzugriff auf /).[.____.[.____.)Dieser Vorgang kann Ihre Daten unbemerkt zerstören. Sind Sie sicher (J/N)? y 
 Temporäre Datei erstellen (13647400 KB). 
 Datenträger synchronisieren. 
 TRIM-Operationen starten. 
 get_trimlist =/sbin/hdparm --fibmap WIPER_TMPFILE. 9689 
 
/Dev/sda: 
 Trimmen von 27294800 Sektoren aus 462 Bereichen 
 Erfolgreich 
 Entfernen der temporären Datei. 
 Synchronisieren von Datenträgern ..
Getan.

Wenn ich es jedoch erneut ausführe, muss die gleiche Anzahl von Sektoren/Bereichen gekürzt werden, und der Erfolg wird erneut gemeldet. Ich bekomme jedes Mal genau das Gleiche. Es sieht nicht so aus, als würden die Sektoren jemals gelöscht/freigegeben. Wenn Sie sie lesen, werden immer noch dieselben Daten angezeigt.

Neugierig, wenn es jemand anderes zum Laufen bringt.

2
user10292