SSD Optimierung

  • Hallo ich würde gerne mal einen Diskussions Thread für Optimierung zwecks Performance und Langlebigkeit bei SSD starten.



    Vorteil der SSD:
    niedrige Latenzzeiten
    schnelle Übertragungsraten
    komplett lautlos
    deutlich weniger Strom


    Nachteil der SSD:
    Preis
    MLCs bis 10 Tausend x Überschreibbar
    SLCs bis 100 Tausend x Überschreibbar
    kann nicht direkt überschrieben werden


    Anwendung auf der Dreambox:
    Flasherweiterung
    Multiboot


    Was sollte man vermeiden (Grund Langlebigkeit):
    swap
    Aufnahmmen


    Beim suchen im Netz findet man ja einiges für Win7, Linux und Mac aber was ist für uns an der Dreambox wichtig.
    Hier mal einiges was ich dazu im Netz gefunden habe und auch für uns Wichtig sein könnte:


    linux auf ssd installieren


    hdparm
    Normalerweise müsste im BIOS der Wert für den Disk Cache auf „Write Through“ stehen. Bei SSDs sollte man diesen auf „Write Back“ stellen und den Paramter

    Code
    hdparm –W1 /dev/sda (sda=SSD)


    um den Rückschreibecache zu aktivieren. Damit man dies nicht nach jedem Booten erneut eingeben
    muss, fügt man diese Zeile in die Datei /etc/rc.local ein.


    Linux: IO-Scheduler ändern:
    Beispiel:
    Linux unterstützt von Haus aus eine Technik, die sehr dem NCQ ähnelt. Mit einem speziellen I/O-
    Scheduler wird dabei das Lesen und Schreiben von Festplatten-Plattern (die Scheiben einer Festplatte)
    in einer bestimmten Reihe und Sequenz durchgeführt.
    Da dies bei SSDs aber keinen Sinn mehr macht, booten wir mit einem alternativen Scheduler.
    Dazu fügen wir in unsere menu.lst folgendes hinzu:
    title Fedora 10 x64
    root (hd0,1)

    Code
    kernel /boot/vmlinuz-2.6.27.18-x64... ..quiet elevator=noop


    initrd /boot/initrd.img-2.6.17.18-x64
    Das fett markierte aktiviert den noop-elevator und erhöht die allgemeine Performance der SSD unter Linux.
    Linux: Letzter Dateizugriff nicht schreiben:
    Auch dieses kennen wir bereits von XP/Vista. Auch unter Linux wird der letzte Dateizugriff für jede
    Datei gespeichert und erzeugt unnötige Schreibzugriffe auf die SSD. Da dieser Tweak direkt von Linus
    Torvalds (dem Entwickler des Linux-Kernels) kommt, kann man dies getrost anwenden.
    Dazu editieren wir als root die /etc/fstab (z.B. su – password / sudo gedit /etc/fstab) und setzen hinter
    die Partitionen, die auf der SSD liegen ein noatime.
    Eine Zeile würde dann entsprechend so aussehen:

    Code
    /dev/sdb1 / ext3 noatime,errors=remount-ro 0 1


    https://www.linuxbibel.org/ssd_optimieren.html
    Trim
    Aktuell ist es so, dass Trim automatisch oder mit Tools angestoßen werden kann. Manuell über das wiper.sh Script (http://sourceforge.net/projects/hdparm/files/), künftig über ftrim (http://fstrim.sourceforge.net/) oder automatisch. Ich habe mich für den automatischen Weg entschieden, was momentan noch das Dateisystem ext4 voraussetzt. Denn ext4 bringt die "discard" Option mit, die Trim automatisch anstoßen kann.


    Folgende Voraussetzungen müssen für automatisches Trim erfüllt werden:


    - Linux Kernel ab 2.6.33
    - Die SSD muss Trim unterstützen


    # hdparm -I /dev/sda | grep -i trim
    * Data Set Management TRIM supported
    * Deterministic read data after TRIM


    - Meine Wahl des Dateisystems ist ext4 mit der discard Option in der /etc/fstab


    /dev/sda1 / ext4 errors=remount-ro,discard 0 1


    SSD Optimierung


    ubuntu


    TRIM ist ein sehr wichtiger Befehl zur Markierung ungenutzter oder ungültiger Datenblöcke auf Speichermedien zum Zweck der späteren Wiederbeschreibung. Ausführliche Informationen zur Arbeitsweise von TRIM stehen im Artikel SSD/Begriffsdefinitionen.


    Über die Ende 2008 mit dem Kernel 2.6.28 eingeführte Discard-Funktion (englisch: discard – (etwas) verwerfen) können Dateisysteme den Kernel anweisen, dem Datenträger leere Bereiche zu melden. Seit Kernel 2.6.33 kann Linux direkt über ein ATA-Kommando diese Information (via SATA) weitergeben – nahezu alle aktuellen SSD verstehen diesen TRIM-Befehl.


    Um nun die TRIM-Funktion nutzen zu können, müssen einige Voraussetzungen erfüllt sein: So müssen die SSD als auch der Kernel TRIM unterstützen. Dies zeigen die beiden nachfolgenden Tests Testen des TRIM der SSD und Testen des TRIM des Kernels.


    Laut Computermagazin c't kompakt 01/2012 Linux ist die Wahl des besten Dateisystems zurzeit ext4, da dessen Arbeitsweise der SSD entgegenkommt. In Zukunft kann das sich noch in der Entwicklung befindliche Dateisystem Btrfs das Rennen um das beste Dateisystem für SSD machen, bietet es doch speziell auf die Betriebsart von SSD zugeschnittete Arbeitsweisen und die Vermeidung von Overhead.


    gruß pclin

    12 Mal editiert, zuletzt von pclin ()

  • Frage:
    An welcher Box habt ihr SSD im Einsatz?


    Welche Einstellungen Optimierungen verwendet ihr?


    Für was setzt ihr die SSD ein?


    Antwort:
    Bitte mit Image Angabe, SSD Typ, Größe, Betriebszeit und geschätztes tägliches Speichervolumen.


    gruß pclin

    2 Mal editiert, zuletzt von pclin ()

  • 1. DM8000
    OCZ Vertex 2 60GB, 2.5", SATA II (OCZSSD2-2VTXE60G)
    Betriebszeit seit Januar 2011
    Ausfälle: bis jetzt keine
    Image: iCVS + GP3 ; OE1.6 letzter Stand
    Timing cached reads: 54,43 MB/sec
    Timing buffered disk reads: 43,95 MB/sec


    2. DM8000
    OCZ Vertex 2 60GB, 2.5", SATA II (OCZSSD2-2VTXE60G)
    Betriebszeit seit März 2011
    Ausfälle: bis jetzt keine
    Image: iCVS + GP3 ; OE1.6 letzter Stand
    Timing cached reads: 55,26 MB/sec
    Timing buffered disk reads: 44,81 MB/sec


    Die SSD laufen 7x24h mit PTS ohne besondere Optimierung.

    Viele Grüße, Attila

    Einmal editiert, zuletzt von AttilaE ()

  • Habt ihr schon wiper.sh eingesetzt?



    gruß pclin

    Einmal editiert, zuletzt von pclin ()

  • Zum "Journaling" findet man ja sehr unterschiedliche Aussagen, welche ist für uns zutrefend?


    (Auszug schenx.eu)
    Neuere Dateisysteme setzen allesamt auf ein sogenanntes “journaling”, um schneller auf Dateien
    zugreifen zu können. Dieses Journal macht bei SSDs wiederum keinen wirklichen Sinn mehr und
    erzeugt eher unnütze Schreibzugriffe, da bei jeder Änderung das Journal neu geschrieben werden
    muss.
    Dazu empfiehlt es sich, dass Dateisystem für Linuxinstallationen auf ein älteres Dateisystem wie z.B.
    ext2 zu setzen. Sollte man bereits auf ext3 installiert haben und möchte nun auf ext2 wechseln, so
    kann man in der /etc/fstab die Partitionen als ext2 mounten, damit wird ebenfalls auf das Journal
    verzichtet.


    (ubuntuusers, Computermagazin c't kompakt)
    bevorzugt ext4 mit "journaling"


    So wie ich das sehe hängt es wohl vom kernel, und den Optimierungen ab, ob man besser mit ext2 ohne "journaling" oder ext4 mit "journaling" arbeitet.


    gruß pclin

    2 Mal editiert, zuletzt von pclin ()

  • Im Anhang wiper-3.3 für Dreambox modifiziert (keine hdparm Abfrage mehr)


    hdparm ist aktuell und hat die entsprechenden optionen.
    wiper.sh braucht neben hdparm


    Ihr braucht also:
    hdparm
    gawk
    findutils
    coreutils
    grep
    util-linux
    Die pakete findet ihr hier
    [im Test]Frisch gebacken für OE1.6
    für OE2.0 findet ihr die pakete hier


    Habt ihr das könnt ihr wiper.sh ausführen.

    Code
    root@dm800:/hdd/wiper-3.3# ./wiper.sh 
    
    
    wiper.sh: Linux SATA SSD TRIM utility, version 3.3, by Mark Lord.
    
    
    Linux tune-up (TRIM) utility for SATA SSDs
    Usage:  ./wiper.sh [--verbose] [--commit] <mount_point|block_device>
       Eg:  ./wiper.sh /dev/sda1


    gruß pclin

    10 Mal editiert, zuletzt von pclin ()

  • Wollte grade schon nen thread mit dem gleichen namen aufmachen, als ich den hier gesehen hab.
    Vielen dank für die ganzen tipps, pclin.:)
    Werd das alles heute mal ausprobieren.


    Hab seit nen paar tagen ne
    Mushkin Enhanced Callisto Deluxe 120GB, 2.5", SATA II (ATA-MKNSSDCL120GB-DX)
    in der 8k.
    Werte sind im moment:

    Code
    root@dm8000:~# hdparm -tT /dev/sda2
    
    
    /dev/sda2:
     Timing cached reads:   308 MB in  2.00 seconds = 153.80 MB/sec
     Timing buffered disk reads:  92 MB in  3.01 seconds =  30.53 MB/sec


    scheint mir etwas langsam.
    Kann es sein das die irgendwie nur im ide mode angesprochen werden?


    Info der ssd:


    Hab im moment xfs drauf, deshalb geht das mit dem discard befehl in der fstab wohl so erstmal nicht,oder?
    was könnte man denn da am besten mit "hdparm --trim-sector-ranges" machen.
    Wie ist der befehl richt zu nutzen(von wegen lba:count option)?

    Einmal editiert, zuletzt von sin ()


  • Das scheint schon okay zu sein, mehr Durchsatz packt die Box anscheinend wirklich nicht.


    Nur mal zum Vergleich meine OCZ-VERTEX3 60GB, momentan formatiert als ext3 und swap in einer 1GB Swap Partition.


    /dev/sda1:
    Timing cached reads: 270 MB in 2.01 seconds = 134.56 MB/sec
    Timing buffered disk reads: 156 MB in 3.01 seconds = 51.85 MB/sec


    Keine kaputten Aufnahmen mit aktiviertem Swap auf diese SSD.

    Ein kleines Dankeschön, durch eine Spende, nehme ich gerne an, PayPal oder Amazon-Gutschein an dhwz(at)gmx.net

    5 Mal editiert, zuletzt von dhwz ()

  • Hier mal meine werte zum Vergleich hab da nie was optimiert aktuell formatiert mit ext2 .
    SSD ist seit ca. 2Jahre in der box ist eine KINGSTON 64GB Model Number:KINGSTON SV100S264G


    root@dm8000:~# hdparm -tT /dev/sda1


    /dev/sda1:
    Timing cached reads: 168 MB in 2.00 seconds = 83.84 MB/sec
    Timing buffered disk reads: 138 MB in 3.04 seconds = 45.35 MB/sec


    MFG
    KURTI

    DM One UHD
    DM 7080HD SSSS
    DM 8000 SST
    DM 800se ohne Tuner

  • hmm, blöde sache.
    scheint wohl dann wirklich nur im IDE mode zu laufen, sonst sollten es (glaube ich) mindestens 166MB/s sein.
    Hast du (habt ihr)noch irgend eine idee wie man das etwas optimieren könnte, oder wie man trim mit hdparm am besten nutzt?
    Werd vielleicht auch noch mal nen bischen mit verschiedenen fs rumspielen.

    3 Mal editiert, zuletzt von sin ()

  • Bootet dadurch die Box schneller bzw. starten Anwendungen schneller? Ich habe noch eine OCZ rumliegen und würde sie gegebenenfalls einbauen.

  • Hm mit trim hab ich mich noch gar nicht beschäftigt, hab die SSD aber auch erst eine Woche eingebaut.


    Achja das ist nur der SATA-I Modus, SATA-II ist defaultmässig im Kernel deaktiviert weil es da zu Problemen mit einigen Festplatten kommen kann.


    Wenn du dich traust kannst ja mal im Kernel CMDLINE diesen Parameter mit anhängen: sata_brcmstb.s2=1

    Ein kleines Dankeschön, durch eine Spende, nehme ich gerne an, PayPal oder Amazon-Gutschein an dhwz(at)gmx.net

    Einmal editiert, zuletzt von dhwz ()

  • Also ich hatte mir eine für mein netbook und eine für die dream geholt.
    auf dem netbook krieg ich(mit nem hacked bios für ahci mode :face_with_tongue: ) etwa 230 read u. 215 write, was für das kleine ding vollkommen ok ist.
    auf der dream sind wir von solchen werten aber leider recht weit entfernt.
    Hab mir das dingen auch für swap, aufnahmen/timeshift geholt.
    Das lustigste war schon erstmal das scheinbar(alte 8k revision, weiß nicht obs bei der neuen anderes ist), die ssd und die hdd nicht gleichzeitig in der box laufen.
    Es gibt zwar 2 sata controller, aber es funktioniert nur das gerät das sich den strom direkt vom netzteil holt.
    Das gerät das an dem 4pin anschluss auf dem mainboard angeschlossen ist funktioniert nicht.
    Könnte mir da wohl nen Y adapter holen, aber das sind auch alles so frickel lösungen... :face_with_rolling_eyes:

    Einmal editiert, zuletzt von sin ()

  • Ja bitte keinen PC mit einer STB vergleichen die Box ist zu wohl nicht schnell genug um da 230 MB/s durchzujagen. :winking_face:


    PS: Bei mir funzen HDD und SSD gleichzeitig ohne Probleme. :face_with_rolling_eyes:

    Ein kleines Dankeschön, durch eine Spende, nehme ich gerne an, PayPal oder Amazon-Gutschein an dhwz(at)gmx.net

    Einmal editiert, zuletzt von dhwz ()

  • Zitat

    Originally posted by dhwz


    Achja das ist nur der SATA-I Modus, SATA-II ist defaultmässig im Kernel deaktiviert weil es da zu Problemen mit einigen Festplatten kommen kann.


    Wenn du dich traust kannst ja mal im Kernel CMDLINE diesen Parameter mit anhängen: sata_brcmstb.s2=1


    Hmm, schön das der user da wieder testen muss und seine hardware riskieren soll. :face_with_rolling_eyes:
    Aber mal sehen, veilleicht test ichs mal... :face_with_tongue:

  • Zitat

    Originally posted by dhwz
    Ja bitte keinen PC mit einer STB vergleichen die Box ist zu wohl nicht schnell genug um da 230 MB/s durchzujagen. :winking_face:


    PS: Bei mir funzen HDD und SSD gleichzeitig ohne Probleme. :face_with_rolling_eyes:


    Schon klar dass das nicht wirklich zu vergleichen ist, aber nen bischen mehr hab ich mir halt schon gewünscht. :winking_face:
    ...Und du hast auch ein gerät an dem 4pin anschluss, auf dem mainboard?
    Und du hast auch ne alte 8k?
    Hab das hier hin und her probiert, war nix zu machen.

    Einmal editiert, zuletzt von sin ()

  • Ich hoffe doch nicht dass man damit was kaputt machen kann, vermutlich wird es eher so sein das die Hardware nicht richtig erkannt wird.


    Ja ich hab die an dem Kabel hängen wo normal das DVD-Laufwerk ran kommt hab nur das Kabel umgelötet auf einen SATA-Stromanschluss. :winking_face:
    Und ich hab noch die erste Hardware-Revision (keine Betabox, wobei die angeblich baugleich sind).


    Was meinst du den für einen 4-Pin Anschluss?

    Ein kleines Dankeschön, durch eine Spende, nehme ich gerne an, PayPal oder Amazon-Gutschein an dhwz(at)gmx.net

    5 Mal editiert, zuletzt von dhwz ()

  • Hab für Strom einen Y-Verteiler drinn und die SSD ist am SATA Port neben dem DVD Zeug angeschlossen und das läuft hier seit 2jahren und bis jetzt nix kaputt :tongue:


    MFG
    KURTI

    DM One UHD
    DM 7080HD SSSS
    DM 8000 SST
    DM 800se ohne Tuner

  • Naja, löten kann ich hier nicht.
    Bleibt wohl nur Y-Adapter, oder eben platte extern anschließen.
    Schade das es da keinen esata anschluss gibt(außerhalb der box).


    Hab grade nochmal nen tT auf die swappartition gemacht(sie unten).
    Ohne fs scheint das da nen bischen besser zu laufen.
    Mal gucken obs mit nem anderen fs(statt xfs) besser wird.
    btrfs scheint ja leider noch nicht so stable zu sein.


    root@dm8000:~# hdparm -tT /dev/sda1


    /dev/sda1:
    Timing cached reads: 322 MB in 2.00 seconds = 160.99 MB/sec
    Timing buffered disk reads: 70 MB in 1.13 seconds = 61.84 MB/sec

  • Hi,


    da mach ich doch mal mit


    root@dm7020hd:~# hdparm -tT /dev/sda1


    /dev/sda1:
    Timing cached reads: 420 MB in 2.00 seconds = 209.61 MB/sec
    Timing buffered disk reads: 216 MB in 3.06 seconds = 70.63 MB/sec


    Ohne Optimierungen


    Hab eine Samsung 470 60 GB drin und betreibe Multiboot mit BA


    PS: Mit dem Befehl sata_brcmstb.s2=1 startet meine Box nicht. Box braucht zum booten ca 1:10min


    EDIT mit 2.) Disk Cache auf „Write Back“ stellen
    hdparm –W1 /dev/Deine SSD


    /dev/sda1:
    Timing cached reads: 442 MB in 2.00 seconds = 220.54 MB/sec
    Timing buffered disk reads: 226 MB in 3.02 seconds = 74.78 MB/sec
    root@dm7020hd:~# hdparm -tT /dev/sda1


    Gruß Gerry