Table of Contents

WD "Advanced Format" HD mit LINUX

Diese Informationen sind im Moment anwendbar auf die Festplatten WD10EARS, WD15EARS und WD20EARS von Western Digital.

Die neueste Generation Festplatten von WD wechselt von 512 Byte zu 4 KByte grossen Datenblöcken, WD kennzeichnet dies mit “Advanced Format Drive”. Diese ersten Festplatten simulieren, um potenziellen kompatibilitäts Problemen aus dem Weg zu gehen, eine Festplatte mit 512 Byte Blöcken, was auch problematisch ist! Für mehr Informationen über die technischen Hintergründe könnt ihr diesen guten Artikel lesen: Western Digital’s Advanced Format: The 4K Sector Transition Begins

Als Linux benutzer musste ich leider feststellen, das WD die Festplatte ziemlich sicher mit Linux getestet hat aber es nicht als nötig erachtet, die nötigen Informationen bereit zu stellen.

Der Kleber auf der Verpackung suggeriert einen reibungslosen Betrieb mit Linux. Dies ist aber ein Trugschluss:
All other OS configurations - drive is ready for use as is

Auswirkungen ohne Anpassungen

Wenn man die Festplatte einbaut und ohne Anpassungen einsetzt (also überall die voreingestellten Werte benutzt), wird nicht viel Freude aufkommen. In diversen Versuchen konnte ich jeweils auf neu erstellten Partitionen und Filesystemen zeigen, dass die Schreibleisung nach kurzer Zeit (ca. 10 bis 15 min konstantes beschreiben) die Schreibgeschwindigkeit unter 1 MByte/s absinkt!

Was ist zu beachten?

Wie es WD für Windows XP dokumentiert, ist es nötig, die Partitionsgrenzen an den Grenzen der jetzt 4 KByte grossen Blöcke auszurichten. Für XP Benutzer stellt WD ein Tool zur Verfügung das dies sicherstellt.

Für den Einsatz mit Linux muss keine spezielle Software eingesetzt werden aber es ist zwingend nötig die Festplatte korrekt zu Partitionieren. Wenn ihr fdisk oder parted benutzt mit den voreingestellten Einstellungen wird die Festplatte falsch Partitioniert! Aktuelle Versionen von parted wurden angepasst, kontrolliert trotzdem ob die Partitionen korrekt ausgerichtet sind.

Um zu prüfen wie und wo eure Partitionen erstellt wurden könnt ihr fdisk verwenden:

fdisk -l -u

So sieht ein schlechtes Beispiel aus:

     
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63  2930272064  1465136001   83  Linux 

Es ist zwingend notwendig, dass der Start Wert durch 8 teilbar ist und entsprechend der End Wert plus eins durch 8 teilbar ist. Was in diesem Beispiel (was dem default Verhalten von fdisk, älteren parted und Windows XP entpricht) nicht der Fall ist!

Was zu tun ist

Je nach dem was ihr üblicherweise verwendet hier die Anleitungen was ihr tun müsst:

fdisk

Die Details dahinter sind nicht ganz trivial aber das Resultat zählt. (Dank an Ted: Aligning filesystems to an SSD’s erase block size)

fdisk mit diesen Parametern erstellt alle Partitionen ausgerichtet an 4 Kbyte Blockgrenzen:

fdisk -H 224 -S 56 /dev/sdb

Partitionen ansonsten ganz normal erstellen und zur Sicherheit am Schluss nachprüfen.

parted

In gparted (parted Version mit GUI) habe ich die nötigen Einstellungen leider nicht gefunden, darum müsst ihr parted in der Konsole benutzen.

Wie beschrieben müsst Ihr sicherstellen, dass eure Partitionen an 4 KByte Blockgrenzen beginnen und enden. Relativ einfach geht das, wenn Ihr parted so umstellt, das alle Grössen in KByte angezeigt werden. (Ganz exakt in Kibibyte) Alle Grössen die Ihr eingebt müssen dann durch 8 teilbar sein.

Beispiel für eine Festplatte mit einer Partition (Beachted den Befehl unit kib)

parted /dev/sdb
(parted) unit kib
(parted) print
Model: ATA WDC WD15EARS-00Z (scsi)
Disk /dev/sdc: 1465138584kiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start    End            Size           Type     File system  Flags
 1      31.5kiB  1465136032kiB  1465136001kiB  primary  xfs


(parted) mkpart
Partition type?  primary/extended? p
File system type?  [ext2]? xfs
Start? 32
End? 1465138584
(parted) print
Model: ATA WDC WD15EARS-00Z (scsi)
Disk /dev/sdc: 1465138584kiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start    End            Size           Type     File system  Flags
 1      32.0kiB  1465138584kiB  1465138552kiB  primary