• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Linux und SSDs

norritt

Member
Hallo zusammen,

hat jemand schon erfahrungen Tipps parat im Zusammenhang mit Linux/SSDs? Da die kleinen schnellen Datenspeicher ja nur eine recht begrenzte Anzahl an Schreibzugriffen verkraften, vermute ich mal dass hier möglicherweise das ein oder andere manuelle Tweaking nützlich sein kann. Mir fällt z.B. ein:

- ext4 Onlinedefragmentierung abschalten (da keine Performancegewinn bei SSD zu erwarten und die Lebenszeit verkürzt wird)
- wie siehts mit dem I/O Scheduler aus, ich habe gelesen das es hier Sinn machen kann, noop oder deadline statt CFQ zu nutzen
- ausserdem empfohlen wird via fstab das schreiben der letzen Dateizugriffe zu deaktivieren (sprich das Attribut "relatime" mit "noatime" zu ersetzen) um die Schreibzugriffe nochmal zu reduzieren. Mir fällt zwar konkret gerade nichts ein bei dem das zu Problemen führen könnte, bei backups mit rsync sollte man sich ja an der letzten änderung nicht am letzten Zugriff orientieren. Vielleicht überseh ich aber auch was und jemand hat hierzu einen Einwand.

Habt ihr evtl. noch weitere Ideen zur Optimierung?
 

spoensche

Moderator
Teammitglied
norritt schrieb:
- wie siehts mit dem I/O Scheduler aus, ich habe gelesen das es hier Sinn machen kann, noop oder deadline statt CFQ zu nutzen

cfq = complete fairnes queueing.

norritt schrieb:
- ausserdem empfohlen wird via fstab das schreiben der letzen Dateizugriffe zu deaktivieren (sprich das Attribut "relatime" mit "noatime" zu ersetzen) um die Schreibzugriffe nochmal zu reduzieren. Mir fällt zwar konkret gerade nichts ein bei dem das zu Problemen führen könnte, bei backups mit rsync sollte man sich ja an der letzten änderung nicht am letzten Zugriff orientieren. Vielleicht überseh ich aber auch was und jemand hat hierzu einen Einwand.

Wo wird das empfohlen?
Ohne die Mountoption noatime, wird jeder Dateizugriff, also auch beim auflisten eines Verzeichnisses, auf die Platte geschrieben und ist für SSD´s alles andere als Ideal.

Rsync ermittelt eigenständig, welche Dateien verändert worden sind und neu übertragen werden müssen. Bei rsync kannst du keine Zeit für den letzten Zugriff angeben.

Wenn /var auf der SSD liegt, dann solltest du den Syslog entsprechend konfigurieren, damit weniger Logs geschrieben werden. Du kannst aber auch eine RAM-Disk für die Logs verwenden. Allerdings werden sie dann beim herunterfahren autom. gelöscht.

Bei SSD´s macht die Verwendung des Journal Flash Filesystem Sinn. Es ist zumindest besser für SSD´s geeignet als ext3 o. ext4.

Fast alle SSD´s unterstützen bzw. verwenden seit längerem NCQ (Native command queueing), d.h. es wird nicht sofort auf die Platte geschrieben.
 
OP
N

norritt

Member
spoensche schrieb:
Wenn /var auf der SSD liegt, dann solltest du den Syslog entsprechend konfigurieren, damit weniger Logs geschrieben werden. Du kannst aber auch eine RAM-Disk für die Logs verwenden. Allerdings werden sie dann beim herunterfahren autom. gelöscht.

Grundsätzlich find ich die Idee mit der RAM-Disk für die Logs prima, ich habe heute mal bzgl. der rsyslogd Schreibzugriffsreduzierung ein wenig rumgegoogelt, aber nicht allzuviel brauchbares gefunden. iotop sagt, das in relativ regelmässigen Abständen, d.h. so alle 1 - 2 Minuten, "rsyslogd -c 5 -f /etc/rsyslog.conf" aufgerufen wird und ein wenig auf die Platte schreibt.

Um bei nem Reboot nicht gleich alles zu verlieren, wär es IMO prima wenn man:

  • rsyslog anweisen könnte die Daten für x Minuten im Speicher zu halten bevor er sie schreibt
  • oder rsyslog auf ne RAMDisk schreiben lässt und diese dann alle x minuten mit der Platte synct hierzu gab es wohl mal ein Projekt "anything-sync-daemon 3.4-1", das ist aber nicht mehr wirklich maintained wie es ausschaut, ansonsten fiele mir nur ein das über nen cronjob/shellscript zu erledigen. Vielleicht kenn ihr ja noch nen anderen Trick.

Ausserdem haben sich noch zwei offene Fragen für mich ergeben:
1. Wie kann ich feststellen, ob die ext4 Onlinedefragmentierung aktiv ist und diese ggf. abschalten. Zu dem Thema hab ich so gar nix brauchbares gefunden?
2. Gibt es ne Möglichkeit das Journaling bei ext4 ein wenig herunterzuregeln? Das greift doch recht häufig auf die Platte zu, auch wenn sonst nichts auf dem Datenträger los ist entstehen 2-3 Schreibzugrife/min.
 

marce

Guru
Bei aktuellen SSDs muss man sich da keine Gedanken mehr um die Schreibzyklen machen - siehe auch den Langzeittest der c't.

Klar ist es sinnvoll, ein paar Dinge zu optimieren, die eher auf das Laufzeitverhalten von HDs ausgelegt sind - kann man sich aber auch einfach sparen.
 

spoensche

Moderator
Teammitglied
marce schrieb:
Bei aktuellen SSDs muss man sich da keine Gedanken mehr um die Schreibzyklen machen

Max. 3 Jahre Betrieb und dann Schrott und die 3 Jahre sind abhängig davon, wie stark die Platte benutzt wird. 5-6 Jahre bei herkömmlichen Platten ist schon ein riesen Unterschied.

marce schrieb:
Klar ist es sinnvoll, ein paar Dinge zu optimieren, die eher auf das Laufzeitverhalten von HDs ausgelegt sind - kann man sich aber auch einfach sparen.

Man kann sich auch mal Gedanken darüber machen, das SSD´s teuer sind und sich das Geld sparen.
 
OP
N

norritt

Member
spoensche schrieb:
Max. 3 Jahre Betrieb und dann Schrott und die 3 Jahre sind abhängig davon, wie stark die Platte benutzt wird. 5-6 Jahre bei herkömmlichen Platten ist schon ein riesen Unterschied.

Also da hat besagter c't Artikel ganz andere Zahlen genannt, ich werd ja sehen wies läuft ;)


spoensche schrieb:
Man kann sich auch mal Gedanken darüber machen, das SSD´s teuer sind und sich das Geld sparen.

Ich widerspreche hier mal ganz dreist denn:

  • für das OS brauche ich nicht viel Platz kleine Magnetfestplatten sind vom Preis/GB unverhätnismässig teuer
  • Die SSD hat 49€ gekostet
  • Die SSD braucht unter Last gerade mal 1W im idle fast nix
  • ne normale Magnetfestplatte braucht im Schnitt so zwischen 5W Idle/10W unter Last

In Anbetracht der Tatsache das die Kiste 365, 24/7 läuft komm ich mit der HDD also überschlagen auf
365d * 24h * 5W * 0,24€/kWh ~ 10€ im pa
365d * 24h * 0,2W * 0,24€/kWh ~ 0,42€ pa

Nach 3 Jahren falls die SSD wirklich so schnell übern Jordan geht stehts dann also 1,50€ : 30€ für die SSD

Zusammen also für 3 Jahre
160GB HDD -> 54,90€ + 30€ = 84,90€
64GB SSD -> 50€ + 1,50€ = 51,50€

Und als schönen Nebeneffekt hab ich gleich noch ein schnelleres System ;)
 
Oben