Notizen: Hyper-V mit Partitionen > 2TB ; Partition-Alignment

Wenn man Partitionen groesser als 2TB enlegen moechte, muss man GPT Label vergeben. Dazu hatte ich vor einiger Zeit schonmal was geschrieben. Kurzzusammenfassung:

parted /dev/DEVICE
mklabel gpt
quit

Wenn das Device an einer mit Hyper-V virtualisierten VM haengt und man ext4 als Dateisystem verwenden moechte darf dieses aber _nicht_ aus parted heraus erstellt werden, sondern man muss es mit der Option -E nodiscard erstellen (link):

mkfs.ext4 -E nodiscard /dev/DEVICE

Ausserdem gibt es beim Erzeugen von Partitionen mit parted manchmal die folgende Fehlermeldung:

Warning: The resulting partition is not properly aligned for best performance.

Abhilfe schafft wenn man sich da anschaut wo die Partition am besten beginnen soll, ich zitiere hier nun einfach dreist aus dem Blog „Rainbow Chard“ und dem Artikel „How to align partitions for best performance using parted„:

  • Get the alignment parameters for your array (remember to replace sdb with the name of your device as seen by the kernel).
    # cat /sys/block/sdb/queue/optimal_io_size
    1048576
    # cat /sys/block/sdb/queue/minimum_io_size
    262144
    # cat /sys/block/sdb/alignment_offset
    0
    # cat /sys/block/sdb/queue/physical_block_size
    512
  • Add optimal_io_size to alignment_offset and divide the result by physical_block_size. In my case this was (1048576 + 0) / 512 = 2048.
  • This number is the sector at which the partition should start. Your new parted command should look like
    mkpart primary 2048s 100%

    The trailing ‘s’ is important: it tells parted that you’re talking about sectors, not bytes or megabytes.

  • If all went well, the partition will have been created with no warnings. You can check the alignment thusly (replacing ’1′ with the partition number if necessary):
    (parted) align-check optimal 1 
    1 aligned

Linux: Create Partition larger than 2TB

Die Zeiten kleiner Festplatten ist schon lange vorbei, schon vor einiger Zeit schrieb ich darueber, aber finde es nicht so recht im eigenen Blog wieder, deswegen nochmal ein eigener Post dazu. Wichtig ist, dass man mit parted und nicht mit fdisk arbeitet, weil man GPT benoetigt und fdisk das nich kann. Deswegen erstmal parted installieren wenn es noch nicht geschehen ist:

root@desktop:~# aptitude install parted

und dann die Partition anlegen:

root@desktop:~# parted /dev/vda
GNU Parted 2.2
Using /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/vda will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? yes
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 5369GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start  End  Size  File system  Name  Flags
(parted) unit TB
(parted) mkpart primary 0.00TB 5.37TB
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 5.37TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start   End     Size    File system  Name     Flags
1      0.00TB  5.37TB  5.37TB  ext4         primary
(parted) quit
Information: You may need to update /etc/fstab.
 
root@desktop:~#

zum Schluss Dateisystem erzeugen und fstab anpassen…