Linux – Festplatten
DMA (Direct Memory Access)
Nach der Installation der Linux-Distribution, sollte ein prüfender Blick nach dem DMA-Betrieb der angeschlossenen Laufwerke getätigt werden. Bei Festplatten sollte es eigentlich kein Problem geben, aber eventuell bei CD-/DVD-Laufwerken. Im DMA Betrieb wird die CPU durch direkten Speicherzugriff entlastet. Wichtig z.B. für die Wiedergabe von DVDs, aber für den flinken Festplattenbetrieb heute schon zwingend notwendig.
Mit dem Programm hdparm kann man den DMA-Modus aktivieren oder deaktivieren. Aber Vorsicht! Oft ist der nicht ohne Grund deaktiviert! Der Linux IDE-Treiber beinhaltet eine sogenannte Blacklist an Hardware in der Datei ide-dma.c , bei welchen Festplatten-Modellen vorsorglich der Treiber den DMA-Betrieb deaktiviert. Weil Probleme mit Festplatten oder auch IDE-Controllern festgestellt wurden. Oder die Laufwerke einfach leicht fehlerhaft sind. Nicht wundern, wird bei den Windows-Treibern auch nicht anders gehandhabt, nur man bekommt es nicht mit.
Die Datei:
/var/log/messages
gibt Auskunft darüber, auch über andere Vorgänge im System natürlich und sollte bei Problemen immer zuerst geprüft werden. Oder an der Konsole bzw. in einem Terminal mit dem Befehl
dmesg
Hdparm
Mit dem kleinen Programm hdparm können die Einstellungen der Laufwerke ausgelesen, angezeigt und auch geändert werden. Ein Benchmark ist auch integriert. Natürlich nur als user root oder mit Root-Rechten. Es gibt mehrere Optionen, die mit:
/sbin/hdparm --help | less
aufgelistet werden.
man hdparm
liefert genauere Erklärungen zu den einzelnen Optionen und Features.
/sbin/hdparm -I /dev/sda
(hier für das 1. angeschlossene SATA-Laufwerk) liefert die Laufwerks-Informationen direkt aus dem Laufwerk ausgelesen. Wie die unterstützten ATA-Standards und ATA-Kommandos, aktivierte Features, Sicherheitseinstellungen (Passwort) usw. Sehr informativ. In dem Verzeichnis: /proc/ide/*
sind weitere Informationen zu den angeschlossenen Laufwerken zu finden, wenn der IDE-Treiber genutzt wird. Wer ein Mainboard mit VIA-Chipsatz besitzt, findet z.B. in /proc/ide/via mit dem Befehl:
cat /proc/ide/via
die aktuellen Werte der VIA Bus-Mastering IDE-Konfiguration. Für ein nVidia nForce-Mainboard mit älterem IDE-Treiber in: /proc/ide/amd74xx
Für SCSI-Laufwerke (auch mit der libata) erhalten wir einen Überblick der erkannten Laufwerke mit dem Befehl:
cat /proc/scsi/scsi
Für IBM-Festplatten (und auch von anderen Herstellern) kann man sich auf der IBM / Hitachi Support-Seite verschiedene Diagnose-Tools herunterladen. Eine Linux-FAQ für Festplatten mit häufig gestellten Fragen, gibt es auch.
Das so genannte Automatic Acoustic Management (AAM) ist bei aktuellen Festplatten aktiviert, um den Geräuschpegel zu senken, senkt aber auch die Leistung der Festplatte. Bei einer meiner neuen Samsung SATA-Festplatten war es allerdings nicht von Werk aus aktiviert. Man sollte ausprobieren, ob es sich nicht lohnt, dieses komplett zu deaktivieren! Der Geräuschpegel ist bei vielen neuen Modellen mit Flüssigkeitslagerung nur minimal höher. Das Deaktivieren funktioniert mit hdparm, über initscripts beim System-Start der Linux-Distribution kombiniert oder mit den entsprechenden Disk-Tools der Hersteller.
Die Werte sind zwischen 0 – 254. Null ist komplett aus, 128 der leiseste und auch der langsamste Zustand und
/sbin/hdparm -M 254
schaltet das Automatic Acoustic Management auf den lautesten, aber auch den schnellsten Level. Hierbei ist vorher mit
/sbin/hdparm -I
zu prüfen, was für Einstellungen das Laufwerk schon aktiviert hat.
Folgender Eintrag zeigt hier dann die aktuellen AAM-Werte:
Recommended acoustic management value: 128, current value: 254
Viele Notebooks setzen im BIOS den AAM-Level automatisch bei jedem Boot-Vorgang, den man in dem BIOS-Setup ändern kann. Das Advanced Power Management der Festplatte lässt sich auch mit hdparm verändern, aber viel bringen tut es nun auch nicht und das ständige An- und Abschalten oder ständige Runterregeln schadet auch mehr der Festplatte als es nutzen bringt! Um eine längere Akku-Laufzeit zu erreichen, sind LCD-TFT, CPU und Grafikkarte in Betracht zu ziehen. Das sind die größten Verbraucher im Notebook.
Festplatten Benchmark mit hdparm
Hier sind alle von mir in den letzten Jahren gesammelten Hdparm-Ergebnisse. Alle aufgezeigten Werte wurden immer im runlevel 1 (damit keine Programme währenddessen auf das Laufwerk zugreifen) mit:
/sbin/hdparm -tT /dev/hda
bzw. mit der libata und für die SATA-Laufwerke
/sbin/hdparm -tT /dev/sda
ermittelt. Jeweils dreimal hinterweg und daraus dann den Mittelwert genommen. Die Timing buffer-cache reads sind von der CPU und auch von der Speichergeschwindigkeit abhängig. Die “Timing buffered disk reads” sind hier für die reine Festplattenleistung zu beachten.
| Abit BX6, UDMA-33, 256 MB PC-100, IBM DJNA 371350, Kernel 2.4.4 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 128 MB in 1.47 s = 87.02 MB/s | 64 MB in 4.06 s = 15.76 MB/s |
| Epox 8KTA3, UDMA-100, 256 MB PC-133, IBM IC35L020AVER07, Kernel 2.4.4 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 128 MB in 0.70 s = 182.86 MB/s | 64 MB in 1.68 s = 38.10 MB/s |
| Epox 8KTA3, UDMA-100, 512 MB PC-133, IBM IC35L020AVER07, Kernel 2.4.18 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 128 MB in 0.59 s = 216.95 MB/s | 64 MB in 1.70 s = 37.65 MB/s |
| ECS K7VTA3, UDMA-100, 512 MB PC-333, IBM IC35L020AVER07, Kernel 2.4.20 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 128 MB in 0.40 s = 320.00 MB/s | 64 MB in 1.70 s = 37.65 MB/s |
| MSI K7N2 Delta-L, UDMA-100, 512 MB PC-333, Seagate Barracuda ST340016A, Kernel 2.4.20 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 128 MB in 0.27 s = 474.07 MB/s | 64 MB in 1.59 s = 40.25 MB/s |
| Abit NF7-S V2, UDMA-133, 512 MB PC-333, Maxtor SATA 6Y080M0, Kernel 2.6.7 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 1812 MB in 2.00 s = 904.78 MB/s | 154 MB in 3.03 s = 50.78 MB/s |
| Abit NF7-S V2, UDMA-133, 512 MB PC-333, Samsung SATA SP0812C, Kernel 2.6.7 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 1780 MB in 2.00 s = 890.14 MB/s | 166 MB in 3.03 s = 54.85 MB/s |
| MSI K8N Neo nForce3, libata, 1 GB RAM PC-400, Samsung SATA SP0812C, Kernel 2.6.10 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 2708 MB in 2.00 s = 1354.21 MB/s | 166 MB in 3.02 s = 55.01 MB/s |
| Inspiron 9400 (Notebook) Intel ICH7-M, libata, 2 GB RAM DDR2-667, Hitachi SATA HTS72108, Kernel 2.6.19 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 5140 MB in 2.00 s = 2572.29 MB/s | 132 MB in 3.01 s = 43.87 MB/s |
| Inspiron 9400 (Notebook) Intel ICH7-M, libata, 2 GB RAM DDR2-667, WDC WD1600BEVS-2 SATA, Kernel 2.6.22 | |
| Timing buffer-cache reads | Timing buffered disk reads |
| 2566 MB in 2.00 seconds = 1283.99 MB/sec | 158 MB in 3.02 seconds = 52.32 MB/sec |
tiobench
Ein anderes Werkzeug zum Messen der Festplatten-Performance ist der noch exaktere tiobench. Ein so genanntes fully-threaded I/O benchmark program.
Bonnie
Bonnie ist ein einfaches Benchmark-Werkzeug, um die Geschwindigkeit des Dateisystems, das Caching des Systems und der glibc zu messen.
IOzone
IOzone ist ein guter Dateisystem-Benchmark mit grafischer Auswertung und für viele Systeme erhältlich. Wie z.B. für:
- Linux
- FreeBSD, NetBSD, OpenBSD , Solaris, OSX
- AIX, Irix, HP-UX
- Win 95/98/Me/NT/2K/XP
SPEC
SPEC steht für “The Standard Performance Evaluation Corporation” und ist eine umfassende Benchmark-Suite für viele Bereiche: CPU, OpenGL Grafik-Anwendungen wie 3ds Max oder Maya, HPC/MPI/OMP, Java Client/Server, Mail Server, NFS, Power und Performance, Virtualization und Web Server. Sehr zu empfehlen.
Datenrettung und Datenwiederherstellung
Falls wirklich mal alles schief gehen sollte und die Festplatte einen Crash hat, hilft bei wichtigen Daten auf der Festplatte nur noch ein Datenrettungsdienst weiter. Falls aber nur einzelne Sektoren defekt oder nicht mehr lesbar sind, die Festplatte sich aber mit mount nicht mehr einbinden lässt, kann das Werkzeug dd_rescue vielleicht weiterhelfen.
Genau wie dd arbeitet im Prinzip auch dd_rescue, nur das es bei Lesefehlern nicht gleich den Dienst quittiert, genaue Seek-Angaben annimmt und mehr Optionen bei der Datenrettung an der defekten Partition bietet.
Das Problem ist jetzt aber, dass die Festplatte mit den ersten defekten Sektoren, meist bald ihren Geist aufgeben wird. Google Labs hat zu Festplattenausfällen eine interessante Studie herausgebracht.
Das Praktische an den Live-CDs von Ubuntu, Knoppix, openSUSE oder Fedora ist, alles läuft von dem CD-/DVD-Laufwerk ab, viele Datei-Werkzeuge mit an Board sind und sich diese dafür ideal eignen. Deswegen sollte ein guter Admin immer eine Knoppix-DVD in der Tasche haben, gerade für Windows-Systeme…
Aber viel wichtiger ist ein regelmäßiges Datenbackup. Dazu kann man eine Reserve-Festplatte nehmen und abkoppeln oder auf CDs/DVDs Daten sichern und dann gut gelagert weglegen. Ich persönlich nutze immer CD-RW/DVD-RW. Aber bitte nicht die billigsten Rohlinge von der 50-Spindel nutzen…
R-Linux
R-Linux ist ein freies Werkzeug zur Datenrettung und Datenwiederherstellung speziell für das ext2- und ext3-Dateisystem mit Linux. R-Linux nutzt den “Windows Explorer Style” unter Win9x/ME, 2000, NT, XP und 2003 und schreibt ein komplettes Festplatten-Abbild oder nur von der defekten Partition als Image auf jedes unter dem System zugänglichen (auch Netzwerk-) Laufwerk.
Stellar Phoenix Linux
Ebenso wie R-Linux, ist Stellar Phoenix Linux ein Werkzeug zur Datenwiederherstellung für ext2-/ext3-Dateisysteme, allerdings nicht kostenlos.
Trinity Rescue Kit
Das Trinity Rescue Kit ist eine freie und komplette Linux-Distribution zur Datenrettung und Reparierung von Dateisystemen. Mit diesem kann von CD oder einem USB-Stick das Rescue Kit gebootet werden.