Grundlegende SSD Tips

  • Hi


    Da die "Hobbykasse" ausreichend gefüllt war, hab ich mir heute doch mal ne SSD bestellt (Samsung 830 128GB [MZ-7PC128B])


    Da es hier im Forum doch recht viele SSD-Besitzer gibt, würde ich gern in diesem Thread grundlegende Tips für mich und andere zusammen fassen wollen. Ich kann mir gut vorstellen, das man da doch paar Sachen beachten sollte.
    Da die SSD erstmal für den Homeserver gedacht ist, würd ich mich auch über Tips im Bezug auf "Schreiblastige" Verzeichnisse wie "/var/log/" freuen.


    Die Tips werde ich dann hier im 1. Beitrag zusammenfassen.


    Allgemeines
    - SSD im AHCI-Modus betreiben
    - die Position eines logischen Blocks kann sich innerhalb der SSD ständig ändern, wärend er bei einer HDD normalerweise(auch da gibt es Reservesektoren) immer gleich ist.
    - eine SSD sollte genug Reserven haben, damit auch bei vollen Partitionen "Ausweichblöcke" vorhanden sind und dadurch der komplette Ausfall eines Blocks (durch zu oftes beschreiben) verzögert wird. |Wear_Leveling|
    - auch freie Blöcke innerhalb des Dateisystems sind solche "Ausweichblöcke", daher sollte die SSD diese auch kennen, was durch TRIM passieren soll.


    Partitionierung
    - ggf. Spare Area erhöhen (es gibt mehrere Methoden, diese Reserven zu erweitern)
    -- Was bei Thomas Krenn nicht steht -> bei der hdparm Methode hat meine SSD ein poweroff gebraucht, um die Einstellung zu übernehmen. Ob dies bei allen der Fall ist -> KA
    - auf eine "korrekte Ausrichtung" der Partitionen achten (sollte mit aktuellen Programmversionen kein Problem sein)SSD Alignment


    Dateisystem
    - ext4. (da es am besten für SSDs optimiert wurde) |"Kurze Frage zu SSD-Festplatten" #31|
    - xfs und btrfs haben auch SSD-Funktionen


    fstab
    - die Option "noatime" verwenden. Das verhindert, dass bei jedem Lesezugriff ein Zeitstempel aktualisiert wird. |#2|
    - die Option "discard" verwenden. Das ist eine Besonderheit von SSDs bei der leere Bereiche, z.B. nach dem löschen von Dateien, als ungenutzt markiert werden (Trimmen).|"Kurze Frage zu SSD-Festplatten" #31|
    --- diese Option schein noch mit Vorsicht zu geniesen zu sein |#7|


    Tools
    - manuelles Trimmen |#4|


    Weitere Informationsquellen
    Artikelserie des Ubuntuusers-Wiki
    Wiki von Thomas Krenn
    wikipedia


    Ideen
    - swap als Datei anlegen (flexibel änderbar) |#14|


    Schreiblastiges
    - logfiles -> tmpfs |#10| |#24|
    - logfiles -> ramlog verwenden |#17|


    Anmerkungen
    - TRIM kann nicht ohne Hilfe funktionieren, da eine SSD die frei werdenden Bereiche nicht selbst erkennen kann.
    - bei Dateisystemen die SSD-Optimiert sind (also TRIM kennen) kann diese Hilfe automatisch von erfolgen
    - bei Dateisystemen die nicht SSD-Optimiert sind, sollte manuell getrimmt werden


    - halbwegst aktuelle Linux-Ditris, erkennen SSDs und können TRIM-Funktionen automatisch aktivieren
    - auch aktuelle Windows/iOS Versionen können das und es gibt Tools von den Herstellern zum manuellen Trimmen
    - wie die SSD intern mit TRIM umgeht, ist von Hersteller zu Hersteller unterschiedlich und braucht der Normalsterbliche nicht genau zu wissen

    Dirk

    The post was edited 15 times, last by Dirk ().

  • Hi Dirk,


    also wenn die Platte noch jungfräulich (also nicht partitioniert) ist, dann kannst Du Deine Partitionen einfach kleiner machen, indem Du z.B. 10% nicht verwendest. Falls die Platte schon partitioniert ist, müsstest Du das über den reservierten Bereich aktivieren. Lola/Argus schrieb da mal was drüber - hab den Link aber gerade nicht parat.


    Dann ist es empfehlenswert, bei Einbinden, also in der fstab die Option "noatime" zu verwenden. Das verhindert, dass bei jedem Lesezugriff ein Zeitstempel aktualisiert wird. Diese IO-Last sollte man nicht unterschätzen!


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Hi,


    kann mich Geronimo mit den 10% freilassen unbedingt anschließen, ich habs bei meiner Vista-Maschine geschafft, innerhalb nicht ganz eines Jahres eine OCZ Vertex zu schrotten...
    Die Platte hab ich mit zu geringer Kapazität gekauft und daher sofort voll, offensichtlich kommt das nicht so gut, da jede Zelle ja nur eine bestimmte Anzahl an Schreibzugriffen verkraftet.
    Wenn genügend freier Speicher vorhanden, ist's ja egal, der Controler kümmert sich drum, in meinem Fall hatte er aber keine Möglichkeiten ...
    Bei meinem VDR wird nichtmal 50% der Platte verwendet, var/log wird beschrieben wie bei jeder anderen HD, seit 1 1/2 Jahren kein einziges Problem!
    Aja, den noatime-Eintrag in der fstab hab ich auch..


    Tom

  • Ich konnte mich nicht durchringen, das trimmen per fstab-Option einzusetzen (IIRC wg. Performance), deshalb lasse ich das einmal pro Woche per crontab machen:

  • Hallo,


    wichtig scheint auch noch das Ausrichten der Partitionen (Alignment) zu sein.
    Auch das korrekte Durchführen des TRIM-Befehls soll wichtig sein, allerdings wird das anscheinend noch heiß diskutiert, ob das nötig ist.


    Ich empfehle zu dem Thema die Artikelserie des Ubuntuusers-Wiki. Da stehen viele Infos schon schön zusammengetragen zur Verfügung.


    mfG,
    f.

    VDR1: HW: Asrock Q1900M, Celeron J1900, Zotac GT 630 Zone Edition, DigitalDevices Cine C2/T2, Sundtek MediaTV Pro USB-Stick, Sundtek MediaTV Digital Home, IR-Empfänger: Atric USB Eco, Gehäuse: MC-1200. FB: HarmonyHub . SW: yavdr 0.6x
    VDR2: yavdr 0.6, Intel Pentium E5300, MS-Tech MC-1200, ASUS P5G41C-M LX, G41,MSI VN210-MD512H (NVIDIA GeForce 210), Atric, Sundtek MediaTV Digital Home, FB: Harmony 300, USB-Sound: Terratec Aureon Dual USB
    VDR3: Raspberry Pi2 als Streaming Client, MLD 5.1

  • FireFly


    kannst du die Entscheidung evtl. ausführlicher Erklären? Was spricht dener Meinung nach dagegen?

  • Dirk :
    In diesem Artikel zu Trim steht, dass das "Online Discard" die Performance negativ beeinflussen kann.
    Ich habe meine SSD mit der fstab-Option "discard" eingebunden, kann aber keine negativen Auswirkungen feststellen.


    mfG,
    f.

    VDR1: HW: Asrock Q1900M, Celeron J1900, Zotac GT 630 Zone Edition, DigitalDevices Cine C2/T2, Sundtek MediaTV Pro USB-Stick, Sundtek MediaTV Digital Home, IR-Empfänger: Atric USB Eco, Gehäuse: MC-1200. FB: HarmonyHub . SW: yavdr 0.6x
    VDR2: yavdr 0.6, Intel Pentium E5300, MS-Tech MC-1200, ASUS P5G41C-M LX, G41,MSI VN210-MD512H (NVIDIA GeForce 210), Atric, Sundtek MediaTV Digital Home, FB: Harmony 300, USB-Sound: Terratec Aureon Dual USB
    VDR3: Raspberry Pi2 als Streaming Client, MLD 5.1

  • Wie schon erwähnt ist das korrekte Alignment besonders wichtig. Wenn ein Block des Betriebssystems nicht an der Grenze einer Page der SSD beginnt, sind eventuell mehrere Schreiboperationen nötig um freigegebene Kapazität für das Betriebssystem wieder verfügbar zu machen. Wenn das Alignment nicht passt, sitrbt die SSD bei eingeschaltetem TRIM besonders schnell. Bei Vista wurde nicht unbedingt "richtig" partitioniert, bei alten Tools unter Linux auch nicht.

  • In diesem Artikel zu Trim steht, dass das "Online Discard" die Performance negativ beeinflussen kann.

    Ja genau, dass war der Grund weshalb ich mich gegen online-discard und für das batched discard entschieden hatte - ausprobiert hatte ich es aber nicht.
    Das Alignment ist wie mehrfach erwähnt auch wichtig, aber alle neueren Linuxtools machen das von Haus aus.

  • Hi,

    würd ich mich auch über Tips im Bezug auf "Schreiblastige" Verzeichnisse wie "/var/log/" freuen.

    Linux Tips zu geben stehen mir nicht zu, im Gegenteil ich lerne von euch.


    Aber Ich habe mir damals natürlich auch Gedanken darüber gemacht, wie man dies lösen kann.
    Hatte auch einen Thread dazu.


    Zur Zeit habe ich das so: /var/log als tmpfs mounten.

    Quote

    tmps /var/log tmpfs size=200M 0 0



    Dieses Script kopiert die Logs beim Start und Runterfahren hin und her.
    IHMO funktioniert dies ganz gut, bin aber auch neugierig ob es was zu kritisieren gibt ;D


    Wenn die Logoptionen höher gestellt sind und die Files größer werden, erstellt mein System gepackte Files.
    Dies passiert natürlich auch wenn man das System länger nicht wartet.


    Resultat sind merklich längere Boot und Shutdownzeiten. Nach Löschen der Files ist wieder alles gut.
    Man könnte sowas auch in ein Script packen.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    The post was edited 2 times, last by rudirabbit ().

  • Hallo Dirk,


    wenn du noatime verwendest, brauchst du nodiratime nicht mehr....


    Grüße,
    Tobias

  • Falls die Platte schon partitioniert ist, müsstest Du das über den reservierten Bereich aktivieren. Lola/Argus schrieb da mal was drüber - hab den Link aber gerade nicht parat.


    hier ist er :) --> SSD defekt?


    wertvoll sind auch diese Infos hier --> http://www.thomas-krenn.com/de…SD_Performance_optimieren


    http://www.thomas-krenn.com/de/wiki/Solid-State_Drive

  • Irgendwie habe ich den Eindruck, daß der SSD Support von aktuellen Kerneln noch nicht so richtig funktioniert. Ich habe 4 Partitionen auf der SSD. Alle beginnen und enden bei Vielfachen von 1MB. Alle, bis auf swap, sind zusätzlich mit noatime,commit=120 gemountet. Swap ist mit discard gemountet. Trimmen lasse ich alle 2h per cron-Job. Das Ergebnis landet in einer Log-Datei. Normalerweise dürfte nur auf der root-Partition was zu trimmen sein, da ich mich um Log- und Konfigdateien nicht weiter gekümmert habe. Der VDR schreibt EPG-, Index- und Videodateien auf eine rotierende Disk. Es fallen alle 2h ca. 4GB auf der root Partition an. Die Werte sind mir irgendwie zu hoch. Irgendwann sind es dann auch zusätzlich alle 2h 1,5GB auf der Boot- und 8-16GB auf der Source-Partition. Root hat 16GB, Boot 2GB und Source 36GB. Sollange ich keinen Kernel, Treiber oder den Vdr kompiliere, sollte auf Boot und Source eigentlich nichts zu trimmen sein.


    Gruß
    e9hack

  • Swap ist mit discard gemountet.


    Man kann ja auch den Swap in eine Datei legen, funktioniert bei Windows ja auch schon immer problemlos und es kann ziemlich gut mit SSDs umgehen. Mache ich auch häufig bei VDRs und spare mir die dusselige Swap-Partition, Vorteil ich kann die Größe jederzeit anpassen wenn nötig und hätte noch ein paar GB in Petto wenn's mal eng wird aus welchen Gründen auch immer ... verwenden sollte die Maschine den sowieso nie, weil wenn, hat man andere Probleme als TRIM ...


    Ansonsten überlasse ich den TRIM bei meinen SSDs immer Ubuntu, ext4 als auch xfs (discard). Und ja, 100% Belegung kann zum Problem werden, aber das ist kein Fehler des OS oder der SSD, sondern eher dem was zwischen Stuhllehne und Display sitzt ... ;)


    Regards
    fnu

    HowTo: APT pinning

    The post was edited 2 times, last by fnu ().

  • Und ja, 100% Belegung kann zum Problem werden, aber das ist kein Fehler des OS oder der SSD, sondern eher dem was zwischen Stuhllehne und Display sitzt ... ;)


    Das ist sicherlich nicht das Problem. Auf der SSD sind ca. 30% frei.


    Gruß
    e9hack

  • Das ist sicherlich nicht das Problem. Auf der SSD sind ca. 30% frei.


    Oh, Mißverständnis, nicht Du warst gemeint, sondern die generellen Tips hier, die SSD nicht auszupartitionieren, damit man sie nicht voll macht. Das ist doch eher eine Frage der Systemplanung, mehr wollte ich damit nicht gesagt haben.


    Du hattest nur den Swap ins Spiel gebracht, meine Anregung zum Swap-File dazu war auch eher an die Allgemeinheit gedacht ... eben mit Deinem Zitat ... :)


    Regards
    fnu

    HowTo: APT pinning

  • würd ich mich auch über Tips im Bezug auf "Schreiblastige" Verzeichnisse wie "/var/log/" freuen.


    hierfür gibt es ein Tool Ramlog --> http://www.tremende.com/ramlog/


    "...Ramlog act as a system daemon. On startup it creates ramdisk, it copies files from /var/log into ramdisk and mounts ramdisk as /var/log. All logs after that will be updated on ramdisk. Logs on harddrive are kept in folder /var/log.hdd which is updated when ramlog is restarted or stopped. On shutdown it saves log files back to harddisk so logs are consistent. Ramlog 2.x is using tmpfs by default, ramfs and kernel ramdisk are suppored as well. Program rsync is used for log synchronization.


    Ramlog is intended to be used on netbooks or notebooks with SSD or HDD drives. .."

  • Dirk,


    ich knüpfe mal hier an und kürze das ganze ab.


    Oh, Mißverständnis, nicht Du warst gemeint, sondern die generellen Tips hier, die SSD nicht auszupartitionieren, damit man sie nicht voll macht.


    1. Die SSD Platte nicht voll zu nutzen ist Unsinn.
    2. Ein SSD kann nie beim Lesen langsamer werden, nur beim Schreiben.
    3. VDR braucht keine schnelle Platte zum schreiben.
    4. c't empfiehlt manuelles Trimmen und ich würde sagen, einmal im Jahr reicht es dicke.
    5. Die aktuelle SSDs haben eine integrierte Trim-Funktion namens Garbage Collection.
    6. Wenn alle Stränge reißen, was ich nicht glaube, dann gibt es noch Secure Erase.


    Mache Dir also keinen Kopf darüber. Wenn aber doch, dann discarde, wie es Firefly beschrieben hat. Mann kann natürlich auch aus einem SSD-Platteneinsatz eine Studie machen, man muss es aber nicht.


    Albert

  • Ich bin mir nicht sicher, ob das unbedingt zum Topic, "Grundlegende SSD Tips" passt, aber ich habe die Erfahrung gemacht, dass SSDs mit SATA2USB3.0 Adaptern wohl nicht zurecht kommen.


    Mit dem Digitus 70300 habe ich 3 SSDs in den Hardwarehimmel geschickt. :(


    Ich weiss allerdings nicht, ob es nun an den SSDs lag, oder am Adapter, mit HDDs habe ich mit dem Adapter jedenfalls keine Probleme. :)

  • Hi,
    wieso swap in eine Datei umbiegen?
    Ich lasse bei meinen VDRs swap ganz weg. Das sollte - bei ausreichend Ram - doch keine Probleme machen, oder?
    hdn

    VDR-1: easyVDR 1.0; softhddevice; Wakeup: ACPI | Atric-IR; M4N78-Pro; Athlon II X2 240e; 4GB Ram; SSD: OCZ Agility3 -60gb; media: WD-20 EARX | TeVii S480 V2.1; WinTV Nova-T-500

    VDR-2: easyVDR 1.0; softhddevice; Wakeup: ACPI | Atric-IR; M3N78-EM; Sempron 140; 2GB Ram; SSD: OCZ Agility3 -60gb; media: WD-10 EARS; 2*TT-1600
    VDR-3: easyVDR 1.0; softhddevice; Wakeup: ACPI | Atric-IR; GA-EP41-UD3L; Intel E6300; 3GB Ram; MSI VN210 MD512H; SaTiX-S2 V2 Dual; WinTV Nova-T