Bug 26045 - Partitionsalignment 1MB
Partitionsalignment 1MB
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UCS Installer
UCS 3.0
All Linux
: P5 normal (vote)
: UCS 3.1
Assigned To: Sönke Schwardt-Krummrich
Stefan Gohmann
: interim-1
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-02-07 18:22 CET by Philipp Hahn
Modified: 2012-12-12 21:11 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): UCS Performance
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2012-02-07 18:22:50 CET
Derzeit werden Partitionen vom Installer immer noch nur nach Sektoren ausgerichtet, was insbesondere bei Virtualisierung zu Performance-Problemen führt. Grund ist das normalerweise mit 4 KiB-Blöcken gearbeitet wird. Durch die ungerade Kopf- (255) und Sektoren/Track-Anzahl (63) kommt es aber dazu, das Partitionen nicht genau auf einem 4 KiB-Block beginnen, sondern sich der erste 4 KiB-Block der Partition auf zwei 4 KiB-Blöcke der kompletten Festplatte darunter verteilt. Dies erfordert es, das beim Lesen und Schreiben jeweils beide Blöcke gelesen und geschrieben werden müssen.

Insbesondere bei virtuellen Maschinen kann das nicht-Alignment zu Performance- und Konsistenzproblemen führen: Dort werden nämlich die Speicherseiten (4 KiB) für IO-Operationen zur und von der Platte genutzt, so daß das Problem dort mit allen Festplatten auftritt und nicht nur solchen, die statt mit 512 Byte Sektorgröße bereits mit 4 KiB arbeiten.

Deswegen wird (neuerdings) allseits empfohlen, Partitionen an 1 MiB auszurichten.


Beispiel für eine aktuelle Partitionstabelle:
# fdisk -u -l /dev/vda
Disk /dev/vda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00049345

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *          63      626534      313236   83  Linux
/dev/vda2          626535     3727079     1550272+  83  Linux
/dev/vda3         3727080    20964824     8618872+  8e  Linux LVM

Siehe auch <http://www.thomas-krenn.com/de/wiki/Partition_Alignment> für eine genauere Beschreibung des Problems, insbesondere auch die verlinkten Artikel in den Einzelnachweisen.
Comment 1 Philipp Hahn univentionstaff 2012-02-27 14:45:34 CET
Mit Bug #26192 wurde ein Problem behoben, das insbesondere durch das Mis-Alignment verstärkt auftritt. Seit dem Loggt der Kernel bei asynchronen Zugriffen pro Datei und Prozeß folgende Meldung:
 EXT4-fs (___): Unaligned AIO/DIO on inode ___ by ___; performance will be poor.

Bei xen sind es der tapdisk2-Prozesse, bei Qemu/KVM das kvm-Binary.
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2012-09-10 15:09:22 CEST
Im Rahmen von Bug 23990 mitgefixt.
Comment 3 Stefan Gohmann univentionstaff 2012-09-14 07:13:36 CEST
(In reply to comment #1)
> Mit Bug #26192 wurde ein Problem behoben, das insbesondere durch das
> Mis-Alignment verstärkt auftritt. Seit dem Loggt der Kernel bei asynchronen
> Zugriffen pro Datei und Prozeß folgende Meldung:
>  EXT4-fs (___): Unaligned AIO/DIO on inode ___ by ___; performance will be
> poor.
> 
> Bei xen sind es der tapdisk2-Prozesse, bei Qemu/KVM das kvm-Binary.

Die Meldung konnte ich nicht mehr sehen.

root@master131:~# parted /dev/sda unit s p
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 20971520s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start     End        Size       File system     Name                 Flags
 1      32768s    36863s     4096s                      BIOS Boot Partition  bios_grub
 2      36864s    1085439s   1048576s   ext4            /boot
 3      1085440s  2134015s   1048576s   linux-swap(v1)  SWAP
 4      2134016s  20905983s  18771968s                  LVMPV                lvm

Die Startpunkte sind durch 2048 teilbar.

Changelog: OK
Comment 4 Stefan Gohmann univentionstaff 2012-12-12 21:11:05 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".