web-dev-qa-db-fra.com

Alignement correct des partitions sur un disque dur au format avancé avec Parted

Tout d'abord, je crée une partition correctement alignée dans une nouvelle table GPT en utilisant Parted en spécifiant des pourcentages pour le début et la fin de la partition:

# parted -a optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mktable gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Y
(parted) mkpart primary 0% 1%
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  2097kB  1049kB               primary

(parted) quit

Notez que ce disque utilise le format avancé, mais indique correctement la taille du secteur physique de 4096B à Parted. Regardons à nouveau, en utilisant les secteurs comme unité:

# parted -a optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit s
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End    Size   File system  Name     Flags
 1      2048s  4095s  2048s               primary

(parted) quit
  • Pourquoi at-il démarré la partition à 2048s et non 34s qui est le premier secteur possible ?
  • 34s n'est pas un secteur de départ correctement aligné si la taille du secteur physique est 4096B et que la taille de secteur logique (celle spécifiée dans Parted) est 512B. Un secteur de départ correctement aligné est divisible par 8 (puisque la taille du secteur physique/la taille du secteur logique = 8). Mais cela signifie que 40s est le premier secteur de départ correctement aligné, mais il n’est pas utilisé. Pourquoi?

Si nous essayons de créer une partition correctement alignée de capacité 100MiB à partir de 40s dans une nouvelle table de partitions GPT:

# parted -a optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Y
(parted) mkpart primary 40s 204839s
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) unit MiB
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 2861588MiB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start    End     Size    File system  Name     Flags
 1      0.02MiB  100MiB  100MiB  fat32        primary

(parted)
(parted) unit s
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End      Size     File system  Name     Flags
 1      40s    204839s  204800s  fat32        primary

(parted)
  • Nous avons toujours l'avertissement Warning: The resulting partition is not properly aligned for best performance., même si 40s et 204840s (204839s + 1) sont divisibles par 8. Pourquoi?
15
Deleted

Parted, c'est simplement être trop conservateur. De nos jours, la pratique habituelle consiste à aligner les partitions sur des limites de 1 Mo (secteur 2048), car cela fonctionne sur les disques au format avancé, sur certains types de configurations RAID nécessitant un alignement et sur la plupart des SSD. Pour un disque au format avancé, tant que l'alignement est sur un multiple de 8, tout va bien, et 2048 est un multiple de 8. L'espace disque perdu est négligeable - 0,0000336% de votre espace disque total, si je l'avais fait les maths à droite et ne rien dactylographier. Alors ne vous inquiétez pas pour ça; utilisez simplement l’alignement 1MiB.

22
Rod Smith