Ubuntu 9.10 SSD Optimierung

Wie bei Äpfeln und Birnen gibt es gravierende Unterschiede bei SSDs und HDDs. Im Internet kann man Guides für verschiedene Betriebssysteme finden. Meistens geht es darum Optimierungen für normale Festplatten zu deaktivieren oder aber die Anzahl der Schreibzugriffe auf die SSD zu verringern. Da ich auf meinem Notebook Ubuntu 9.10 installiert habe, will ich hier kurz Beschreiben welche Einstellungen und Tweaks ich vorgenommen habe.

Die Optimierung beginnt bereits bei der Wahl des Dateisystems. Moderen Dateisysteme sind meistens Journaling Dateisysteme. Diese Dateisysteme legen alle Änderungen des Dateisystems in ein Journal ab bevor sie wirklich geschrieben werden. Ein solches Journal produziert weitere Schreibzugriffe. Um die Schreibzugriffe zu reduzieren kann man ältere Dateisysteme verwenden, wie zum Beispiel ext2.

Als nächstes können einige Einstellungen in der Datei /etc/fstab vorgenommen werden. Die erste Einstellung, die unmittelbar nach der Installation durchgeführt werden kann, ist die Option noatime für die SSD zu aktivieren. Für gewöhnlich speichert Linux die letzte Zugriffszeit einer Datei. Mit der Option noatime deaktiviert man diese Funktion und spart dadurch wiederum Schreibzugriffe. Eine entsprechende Zeile könnte folgendermaßen aussehen:

UUID=2147e92a-6f70-4deb-ab68-ae96c55d1f4c /               ext2    noatime,errors=remount-ro 0       1

Eine weitere Änderung, die man in der /etc/fstab durchführen kann, ist das Auslagern von bestimmten Verzeichnissen in ein tmpfs. Bei der Verwendung von tmpfs wird ein Verzeichnis in den Arbeitsspeicher ausgelagert. Dateien, die in dieses Verzeichnis geschrieben werden gehen daher bei einem Neustart verloren. Der Vorteil ist jedoch, dass die Dateien nie auf die Festplatte geschrieben werden. Für meine Installation habe ich mich entschieden die Verzeichnisse /tmp, /var/log und /var/tmp in ein tmpfs auszulagern. Die entsprechenden Zeilen sehen so aus:

# mount temp as tmpfs
tmpfs /tmp tmpfs defaults,noatime,nodiratime,mode=1777   0  0

# mount several /var directories as tmpfs
tmpfs /var/log tmpfs defaults,noatime,nodiratime,mode=0755  0  0
tmpfs /var/tmp tmpfs defaults,noatime,nodiratime,mode=1777  0  0

Dabei ist zu beachten, dass einige Anwendungen etwas beleidigt reagieren, wenn ihre Unterverzeichnisse im Verzeichnis /var/log nicht vorhanden sind. Um Probleme zu umgehen kann man eine kleine Schleife in die Datei /etc/rc.local vor der Anweisung exit 0 einbauen, welche die entsprechenden Verzeichnisse erstellt:

for dir in apparmor apt news cups dist-upgrade fsck gdm installer samba
unattended-upgrades
do
 if [ ! -e /var/log/$dir ]
 then
 mkdir /var/log/$dir
 fi
done

Die letzte Einstellung die ich vorgenommen habe ist den I/O Sheduler der Festplatte zu ändern. Ein I/O Sheduler ist dazu da die Festplattenzugriffe zu optimieren. Bei normalen Festplatten wird dabei besonderes Augenmerk auf die Optimierung der Schreiblesekopfbewegungen gelegt. Weil SSDs keine Schreibleseköpfe besitzen ist dieses Verhalten jedoch unnötig. Daher kann man einen anderen I/O Sheduler verwenden, der diese zusätzliche Arbeit nicht durchführt. Ein Sheduler der einfach nicht optimiert ist noop. Um diesen Sheduler zu verwenden muss eine weiter Zeile in /etc/rc.local eingetragen werden:

echo noop > /sys/block/sda/queue/scheduler

sda sollte dabei natürlich durch die entsprechende Gerätedatei des jeweiligen Systems ersetzt werden.

Diese Einstellungen sollten die SSD etwas länger am Leben halten und den Zugriff optimieren. Hier ein hdparm Test meiner SSD:

:~$ sudo hdparm -t /dev/sda
[sudo] password for carsten: 

/dev/sda:
 Timing buffered disk reads:  486 MB in  3.01 seconds = 161.65 MB/sec

Dabei ist zu beachten, dass mein Notebook leider nur SATA 1 unterstützt. Mit SATA 2 sollte noch mehr drin sein. Zum Vergleich hier der selbe Test mit der neuen 500GB HDD:

:~$ sudo hdparm -t /dev/sdb

/dev/sdb:
 Timing buffered disk reads:  200 MB in  3.02 seconds =  66.19 MB/sec

Durchaus ein kleiner Unterschied zu verzeichnen 😉

HP Pavilion DV9590EG Tuning mit 64GB SSD und 500GB HDD

Da mein Notebook langsam etwas in die Jahre gekommen ist, hatte ich schon länger mit dem Gedanken gespielt mir ein neues zu kaufen. Nach längerem überlegen kam ich jedoch zu dem Schluss, dass sich diese Anschaffung zum jetzigen Zeitpunkt nicht lohnen würde. Aus diesem Grund habe ich mich nach Möglichkeiten umgesehen, wie ich wenigstens noch etwas Performance aus dem Notebook kitzeln kann.

HP Pavilion DV9590EG

Zunächst hatte ich eine neue CPU im Auge, diese Möglichkeit legte ich allerdings recht schnell beiseite. Das Preis-/Leistungsverhältnis stimmte einfach nicht. Da die schon eingebauten 4GB Arbeitsspeicher auch keine Möglichkeit zum Aufrüsten boten, entschied ich mich letztendlich dafür auf Solid State Drives zu setzen.

Entschieden habe ich mich letztendlich für diese beiden Festplatten:

OCZ OCZSSD2-1VTX60G 60 GB Vertex Series SATA II 2.5-Inch SSD

Western Digital Scorpio Blue 500GB Sata 8MB Cache 2.5 Inch HDD

In diesem Artikel werde ich zunächst die Einbauschritte für mein HP Pavilion DV9590EG beschreiben. Im nächsten werde ich dann genauer auf die Installation und Konfiguration von Ubuntu 9.10 eingehen.

Geöffnetes Notebook

Als erstes müssen die drei Abdeckungen an der Unterseite des Notebooks entfernt werden. Auch wenn sich die Festplatten nur unter zwei dieser Abdeckungen befinden, müssen alle drei entfernt werden. Die Festplatten lassen sich dann einfach nach oben herausnehmen. An den Festplatten befindet sich jeweils ein SATA Adapter der entfernt werden muss. Diese können nachher für die neuen Laufwerke verwendet werden.

SSD mit montiertem SATA Adapter

Als nächstes muss man die Adapter auf die neuen Laufwerke stecken, um sie danach in das Notebook einzubauen. Ich habe die SSD dabei als erste und die HDD als zweite Festplatte eingebaut.

Nun nur noch die Abdeckungen montieren und schon ist das Werk vollbracht. Der ganze Vorgang ist nicht wirklich spektakulär 😉

Notebook mit eingebauten Festplatten

Homeserver auf Intel Atom 330 Basis und Ubuntu 9.10 Server Edition

Ich hatte schon seit längerem die Idee mir einen kleinen Homeserver aufzubauen, welcher Aufgaben wie Sicherungen, zentrale Ablage meiner Daten und andere Dinge erledigen könnte. Nun hatte ich mal etwas Geld auf der hohen Kante und wollte mir zu Weihnachten selbst eine kleine Freude machen 😉

In den letzten beiden Tagen habe ich mir dann eine kleine Kiste zusammen gebaut die nun ihre Dienste verrichtet. Das ganze System ist auf der Intel Atom Plattform aufgebaut und läuft mit Ubuntu 9.10 Server Edition (amd64). Hier eine Liste der Hardware für die ich mich entschieden habe:

  • Gehäuse: Compucase Compucase 8K01BS-SA12U
  • Board + CPU: Intel® D945GCLF2 inkl. Intel® Atom 330
  • Festplatte: Western Digital WD10EADS 1 TB
  • Arbeitsspeicher: Kingston ValueRAM DIMM 2 GB DDR2-667
  • Chipsatz Lüfter: Scythe Mini Kaze 4cm

In das Gehäuse passt ebenfalls ein Slim Line Laufwerk, da es jedoch unwahrscheinlich ist, dass in dem Server sehr oft optische Medien verwendet werden griff ich zu Installationszwecken auf einen alten USB Brenner zurück.

Die Montage des Systems ging recht einfach von statten. Zunächst einmal wurde der Lüfter durch die etwas leisere und effizientere Variante ersetzt. Nachdem dies passiert war wurde das Mainboard in das Gehäuse eingesetzt. Um das ganze zu vereinfachen kann man die Rahmenkonstruktion für Slim Line Laufwerk und Festplatte entfernen. In diesen Rahmen wurde dann als nächstes die Festplatte eingesetzt und das ganze wieder in das Gehäuse eingebaut. Noch kurz die Kabel anschließen und die Hardware steht.

Nach der Montage verlief alles wie geplant. Der kleine Server sprang an und erste Einstellungen im BIOS wurden vorgenommen. Zunächst konnten einige Dinge wie Soundkarte und Parallelport deaktiviert werden, da ich zur Zeit nicht wirklich Verwendung für diese Komponenten habe. Eine weitere Einstellung war die Aktivierung des Power Failure Modus welcher den Server nach einem Problem mit der Stromzufuhr automatisch wieder startet.

Nach diesen grundlegenden Dingen war es an der Zeit dem ganzen auch eine “Seele” einzuhauchen. Wie schon bereits gesagt sollte das System mit Ubuntu 9.10 Server Edition (amd64) installiert werden. Zu der Installation ist im Grunde nicht viel zu sagen. CD ins Laufwerk, die gewünschten Einstellungen im geführten Setup vornehmen und abwarten. Als zusätzlicher Dienst wurden in diesem Fall nur Samba gewählt, weil unter anderem eine Windowsfreigabe eingerichtet werden sollte und die weiteren Dienste noch nicht genau klar waren.

Nach der Installation konnte der Server problemlos gebootet werden und alle Dienste starteten wie erwartet. Auch die Power Failure Einstellung wurde getestet und funktioniert wie gewünscht, nach dem Verlust von Strom schaltet sich der Server selber wieder ein und bootet in einen betriebsfähigen Zustand.

Alles in allem kann ich das ganze bisher als gelungenes Projekt ansehen und bin von der Intel Atom Plattform begeistert. Nachdem das ganze System steht müssen nun nur noch ein paar interessante Aufgaben für die kleine schwarze Box gefunden werden 😉