avatar_Roberto

Anpassung der fstab für SSD sinnvoll?

Begonnen von Roberto, 25. Juni 2024, 20:53:10

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

Roberto

Hallo zusammen,

ich habe nach einiger Zeit mal wieder eine grundsätzliche Frage, zu der ich im Netz keine befriedigende Antwort gefunden habe.

Ich möchte gerne wissen, ob man die fstab für die Nutzung einer SSD (die heuzutage sicher jeder nutzt), nachträglich anpassen muss.
Es geht mit speziell um die möglichen Ergänzungen "relatime" bzw. "noatime", um die Schreibzugriffe zu reduzieren und somit evtl. die Lebensdauer der SSD zu verlängern.

Ich habe zwei verschiedene Distributionen auf 2 verschiedenen Notebooks mit SSD im Einsatz.
Einmal ein HP Elitebook 640 G9 mit Artix Linux und dann ein Dell Latitude 7490 mit Void Linux.
Beide Original fstab haben bei den Partitionen weder noatime noch relatime eingetragen.

HP Elitebook 640 G9 mit Artix Linux:
# /etc/fstab: static file system information.
# 
# Use 'blkid' to print the universally unique identifier for a device; this may 
# be used with UUID= as a more robust way to name devices that works even if 
# disks are added and removed. See fstab(5). 
# 
# <file system>             <mount point>  <type>  <options>  <dump>  <pass> 
UUID=B77E-C666                            /boot/efi      vfat    defaults,umask=0077 0 2 
UUID=df37c9ad-9d71-4671-84a8-30e17c294643 swap           swap    defaults   0 0 
UUID=9546b426-adb7-4ead-9d5d-d412c09be47a /              ext4    defaults   0 1 
UUID=f7345c09-260c-42c9-bb15-bb11643c2065 /home          ext4    defaults   0 2 
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

Dell Latitude 7490 mit Void Linux:
UUID=8b3450e6-c22f-491b-956d-b73bb06f8dbe / ext4 defaults 0 1
UUID=a7e6a13c-139e-488a-a1c2-c5eb9f82b3b8 none swap defaults 0 0
UUID=8F48-124C /boot/efi vfat defaults 0 2
UUID=44a58ab8-23e4-4947-96e9-69debef95d69 /home ext4 defaults 0 2
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0

Im Netz wird von "noatime" zwar mittlerweile abgeraten, aber zu "relatime" habe ich nichts wirklich konkretes gefunden.
Vor allem sind die Beiträge schon relativ alt und ich frage mich, wie man das Ganze heute sieht.

Ich freu mich über jeden Gedanken, jede Idee und jeden Tipp :)

Viele Grüße
Roberto
Drum lächle und sei froh, denn es könnte schlimmer kommen. Und ich lächelte und war froh ... und es kam schlimmer ;)

gosia

Hallo Roberto,
das ist so ein Thema bei dem zwei Leute drei Meinungen haben ;)
Inzwischen haben SSDs eine durchschnittliche garantierte Lebenszeit zwischen drei und fünf Jahren und dass bei ziemlich hohem Datenverkehr, der bei normalen Rechnern eigentlich nicht erreicht wird - es sei denn Du betreibst einen Server.
Aber gut, was relatime betrifft, so aktualisiert es das Zugriffsdatum nur unter bestimmten Bedingungen, schreibt also weniger. Ganz genau sagt es meine man-Page zu mount (Option relatime):

"Update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify or change time. (Similar to noatime, but it doesn't break mutt or other applications that need to know if a file has been read since the last time it was modified.)"
"Aktualisierung der Inode-Zugriffszeiten relativ zum Modifikations- oder Änderungszeitpunkt. Die Zugriffszeit wird nur dann aktualisiert, wenn die vorherige Zugriffszeit vor der aktuellen Modifikations- oder Änderungszeit lag. (Ähnlich wie noatime, aber es stört nicht mutt oder andere Anwendungen, die wissen müssen, ob eine Datei seit der letzten Änderung gelesen wurde)."

relatime ist übrigens seit Kernel 2.6.30 default, sofern nicht andere Optionen angefordert werden. Es erfüllt also schon mal deine Wünsche.

Noch weniger Schreiboperationen hast Du mit der Option "lazytime". Die benutzt für den Zeitstempel RAM und schreibt erst auf die SSD, wenn entweder der Datei-Inode aufgrund einer Änderung aktualisiert werden muss, oder eine Synchronisation vom RAM mit der SSD erfolgt oder mehr als 24 Stunden seit dem letzten Schreiben der In-Memory-Kopie auf die Festplatte vergangen sind.
Wird nur die Option lazytime angegeben, so wirkt sie im Hintergrund zusammen mit der Default-Option relatime. Kann aber auch mit strictatime kombiniert werden, was nach allgemeinen Angaben dann sehr schreibarm wäre. lazytime hat aber den Nachteil, dass bei einem Systemabsturz der Datei-Zeitstempel maximal 24 Stunden zu alt sein kann. Aber auch hier, wenn Du keinen Server betreibst, der 7-Tage-24-Stunden läuft, dann wäre in diesem Worst-Case die Abweichung natürlich geringer.
zu dem ganzen *atime-Gewussel siehe u.a. hier:
https://smarttech101.com/relatime-atime-noatime-strictatime-lazytime/

Aber abseits von diesen fstab-Optionen gibt es noch mehr Faktoren zur Gesunderhaltung von SSDs:
trim (wie oft und ob überhaupt), Einsatz von zswap statt swap, Reduzierung des Cache-Vorgangs von Browsern und Vermeidung von Hibernation.

viele Grüsse gosia

Roberto

Hallo gosia,

herzlichen Dank für deine Ausführungen und ja, es scheint wie bei so vielem, eine Wissenschaft zu sein :)

Wenn seit Kernel 2.6.30 relatime default ist, dann lasse ich alles so wie es ist.
Ich betreibe weder einen Server, noch habe ich ein 24/7 NAS laufen. Ich habe lediglich SSDs in Notebooks.
Den trim Befehl wende ich von Zeit zur Zeit an und den Einsatz von zswap werde ich mir mal etwas genauer anschauen.

Viele Grüße
Roberto
Drum lächle und sei froh, denn es könnte schlimmer kommen. Und ich lächelte und war froh ... und es kam schlimmer ;)