Linux – Festplatten

DMA (Direct Memory Access)

Festplatte 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.