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!

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 zwinged notwendig, dass sowohl Start wie End Wert durch 4 teilbar ist. Was in diesem Beispiel (was dem default Verhalten von fdisk, 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 4 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

Discussion

Alex, 2010/07/01 22:20

Hallo,

Erst mal vielen Dank fuer die Info. Ich habe gerade versucht das aktuelle Ubuntu 10.04 zu installieren und bin an dem fehlenden Support fuer Sektor-groessen > 512 bytes gescheitert.

Nach einigen Studen Suchen und probieren, bin ich auf folgende EINFACHE LOESUNG gestossen: die aktuell SystemRescueCd (http://www.sysresccd.org/) enthaelt GParted to 0.6 welches Sektor-groessen > 512 bytes unterstuetzt! (http://www.sysresccd.org/Changes-x86: “Updated GParted to 0.6.0 (support for devices with sectors > 512 bytes)”)

Die neueren WD-Festplatten koennen meiner Erfahrung nach damit problemlos partitioniert werde. Jedoch ist bei der ersten Generation (z.B. WD10EARS) Vorsicht geboten, da die Festplatte eventuell (abhaengig von Firmware) die erweiterte Blockgroesse von 4092 nicht deklariert. Dies kann mit fdisk getestet werden. Meine Festplatte deklariert eine Blockgroesse von 4092:

#> fdisk -l -u

Sector size (logical/physical): 512 bytes / 4096 bytes

Wird keine 'Sector size' angegeben order nur 512 bytes kommt man wahrscheinlich nicht um das Partitionieren bei Hand (wie oben beschrieben) rundrum.

Guido, 2010/06/15 16:48

Soweit mir bekannt ergibt sich die neue Blockgröße von 4k aus 8 x 512b 'herkömmlicher' Sektoren. Der Start-Sektor sollte also durch 8 ohne Rest teilbar sein. Der letzte Sektor einer Partition muss vor der nächsten 8er-Gruppe enden, d.h. der Ende-Sektor plus 1 sollte durch 8 restlos teilbar sein. Die Partitionsgröße ist damit automatisch durch 8 teilbar.

Enter your comment
THRLV
 
Last modified: 2010/02/01 21:50