HDD 4k alignment: fdisk sagt schlecht, parted sagt gut

Sephe

Rear Admiral
Registriert
Sep. 2012
Beiträge
5.178
Hi,

ich habe aktuell ein seltsames Problem auf meinem CentOS-Server.

Dort habe ich einige SATA Laufwerke mit Advanced Format (4k Sektoren verbaut).

Auf der Konsole ausgeführt:

Smartctl -i /dev/sde:
Code:
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.5.2-1.el7.elrepo.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red (AF)
Device Model:     WDC WD30EFRX-68EUZN0
Serial Number:    WD-WCC4N6ZVA139
LU WWN Device Id: 5 0014ee 2614f867f
Firmware Version: 82.00A82
User Capacity:    3.000.592.982.016 bytes [3,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue May 17 17:53:10 2016 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

fdisk -l:
Code:
Disk /dev/sde: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Units = Sektoren of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x00000000

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sde1               1  4294967295  2147483647+  ee  GPT
[B]Partition 1 does not start on physical sector boundary.[/B]

Laut fdisk ist das Alignment der Partitionen also nicht korrekt.

Nun schaue ich in "parted" noch einmal nach:

parted /dev/sde:
Code:
GNU Parted 3.1
Verwende /dev/sde
Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten.
(parted) align-check optimal 1                                            
1 aligned


Was ist nun korrekt? Hat das schonmal jemand gehabt?

Es ist mir aufgefallen, weil die Schreibperformance nur bei 35MB/s liegt.
 
Du hast GPT und dein fdisk ist zu alt um das zu verstehen. fdisk ignorieren.

Ob dein Alignment stimmt schaust du bei parted von Hand so:

Code:
parted /dev/sde unit s print free

Dann werden dir die Partitionen angezeigt mit Startwert als Sektoren. Ist das durch 2048 Teilbar hast du Megabyte-Alignment, ist es durch 8 Teilbar hast du 4k-Alignment.

Alternativ auch unit b statt unit s, dann wirds direkt in Bytes angezeigt und du musst schauen obs durch (1024*1024) bzw. (4*1024) teilbar ist.

Alignment auf volle MiB ist inzwischen Standard...
 
Rumo schrieb:
Code:
parted /dev/sde unit s print free

Dann werden dir die Partitionen angezeigt mit Startwert als Sektoren. Ist das durch 2048 Teilbar hast du Megabyte-Alignment, ist es durch 8 Teilbar hast du 4k-Alignment.

Alternativ auch unit b statt unit s, dann wirds direkt in Bytes angezeigt und du musst schauen obs durch (1024*1024) bzw. (4*1024) teilbar ist.

Alignment auf volle MiB ist inzwischen Standard...

Code:
parted /dev/sde unit s print free
Modell: ATA WDC WD30EFRX-68E (scsi)
Festplatte  /dev/sde:  5860533168s
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: gpt
Disk Flags: 

Nummer  Anfang  Ende         Größe        Dateisystem   Name  Flags
        34s     2047s        2014s        Freier Platz
 1      2048s   5860533134s  5860531087s  btrfs

Somit ist es ja Megabyte-Alignment.

Jetzt ist nur noch die Frage, warum die Performance so scheisse ist.

Per SMB auf nicht-4k-festplatten schreibe ich mit 90-110MB/s, bei den 4k-Festplatten mit 30-45MB/s.
 
Zuletzt bearbeitet:
Tja...

Ist das direkt btrfs so wie von parted angezeigt oder noch was anderes dazwischen? (Verschlüsselung, ...?)

Sind deine anderen Platten auch btrfs?
 
Rumo schrieb:
Tja...

Ist das direkt btrfs so wie von parted angezeigt oder noch was anderes dazwischen? (Verschlüsselung, ...?)

Sind deine anderen Platten auch btrfs?

Verschlüsselt ist aktuell nix.

Jup, hab alles in btrfs inzwischen.

uname-a
Code:
Linux 4.5.2-1.el7.elrepo.x86_64 #1 SMP Wed Apr 20 15:17:10 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

/etc/fstab
Code:
UID=<uid>	/mnt/<folder>		btrfs	defaults,autodefrag	0	2
 
Sephe schrieb:
Jetzt ist nur noch die Frage, warum die Performance so scheisse ist.

Per SMB auf nicht-4k-festplatten schreibe ich mit 90-110MB/s, bei den 4k-Festplatten mit 30-45MB/s.
Teste erstmal lokal, nicht via SMB z.B. via dd if=/dev/zero of=/dev/sda bs=4k count=... auf der rohen Partition, also ohne Filesystem, ob die zu erwartende Performance der Platte tatsächlich geliefert wird. Damit lassen sich einige mögliche Ursachen ausschließen.
Wenn soweit alles funktioniert: Filesystem anlegen. Gleichen Test machen, aber mit einem File statt der rohen Partition als Ziel.
 
Zuletzt bearbeitet:
Zurück
Oben