Alignement des partitions avec Parted

Submitted by hacyran on Wed, 09/08/2021 - 07:39

Voir: https://unix.stackexchange.com/questions/491138/how-to-create-a-partition-with-gnu-parted-exactly-at-the-end-of-the-previous-par

Lorsqu'on crée des partitions avec Parted, on obtient souvent le message suivant: "Warning: The resulting partition is not properly aligned for best performance."

On utilisera donc la méthode décrite sur cette page pour déterminer les valeurs d'alignement.

Dans le cours de cet article, on travaille sur /dev/sdd. On exécute alors les commandes suivantes pour déterminer le premier secteur de la première partition:

MYDISK=sdd
OPT_IO_SIZE=$(cat /sys/block/${MYDISK}/queue/optimal_io_size)
MIN_IO_SIZE=$(cat /sys/block/${MYDISK}/queue/minimum_io_size)
ALIGN_OFFSET=$(cat /sys/block/${MYDISK}/alignment_offset)
PHYS_BLK_SIZE=$(cat /sys/block/${MYDISK}/queue/physical_block_size)
START_SECTOR=$(((OPT_IO_SIZE+ALIGN_OFFSET)/PHYS_BLK_SIZE))

Dans notre cas, on a obtenu les valeurs suivantes:

OPT_IO_SIZE=33553920
MIN_IO_SIZE=4096
ALIGN_OFFSET=0
PHYS_BLK_SIZE=512
START_SECTOR=65535

Il faudra donc aligner nos partitions sur un secteur multiple de la valeur précédente. Ainsi, pour une taille d'environ 200MiB, il faudra 200*1024*1024/512 = 200*1024*2 = 409600 secteurs. Si on arrondi au multiple supérieur, il faudra utiliser 409600

On peut alors créer les partitions sur notre disque avec Parted:

select /dev/sdd
mklabel GPT
mkpart primary 65535s 524279s
mkpart primary 524280s 16777216s

Finalement, on vérifiera l'alignement des partitions:

align-check optimal <part_ID>

qui doit répondre: part_ID aligned