Alinhamento adequado de partições em um HDD de formato avançado usando Parted

13

Primeiro, crie uma partição alinhada adequadamente em uma nova tabela da GPT usando parted especificando as porcentagens para início e fim da partição:

# 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

Observe que esse disco está usando o formato avançado, mas relata corretamente o tamanho do setor físico de 4096B para Parted. Vamos ver de novo, usando setores como a unidade:

# 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
  • Por que começou a partição em 2048s e não 34s qual é o primeiro setor possível ?
  • 34s não é um setor inicial alinhado corretamente se o tamanho do setor físico for 4096B e o tamanho do setor lógico (que é o que você especificar no modo Parted) for 512B . Um setor inicial adequadamente alinhado é um divisível por 8 (já que tamanho do setor físico / tamanho do setor lógico = 8 ). Mas isso significa que 40s é o primeiro setor inicial corretamente alinhado, mas não é usado. Por quê?

Se tentarmos criar uma partição adequadamente alinhada de 100MiB capacidade a partir de 40s em uma nova tabela de partição 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)
  • Ainda recebemos o aviso Warning: The resulting partition is not properly aligned for best performance. , embora 40s e 204840s ( 204839s + 1) sejam divisíveis por 8 . Por quê?
por Deleted 15.10.2012 / 03:25

1 resposta

20

Parted está apenas sendo excessivamente conservador. A prática usual hoje em dia é alinhar partições em limites de 1MiB (setor 2048) porque isso funciona em discos de Formato Avançado, em determinados tipos de configurações de RAID que requerem alinhamento e na maioria dos SSDs. Para um disco de Formato Avançado, desde que o alinhamento seja múltiplo de 8, você está bem, e 2048 é um múltiplo de 8. O espaço em disco perdido é insignificante - 0.0000336% do seu espaço total em disco, se eu o fizesse a matemática certa e não digita nada. Então não se preocupe com isso; basta usar o alinhamento 1MiB.

    
por Rod Smith 15.10.2012 / 18:44