Alinhamento da partição: parted mostra aviso

Alinhamento da partição: parted mostra aviso

Tenho lido sobre o uso de um tamanho de bloco lógico de 4.096 bytes se meu disco rígido usar um tamanho de bloco físico de 4.096 bytes para seus setores. Então, tentei criar um em um disco rígido sobressalente e não entendi o aviso no prompt final. Veja abaixo.

~$ cat /sys/class/block/sda/queue/physical_block_size
4096
~$ cat /sys/class/block/sda/queue/logical_block_size
512
server@Server:~$ sudo parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD30EFRX-68A (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mklabel gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes                                                               
(parted) mkpart primary 4096B 3001GB
Warning: You requested a partition from 4096B to 3001GB.                  
The closest location we can manage is 17.4kB to 3001GB.
Is this still acceptable to you?
Yes/No? n

Por que não posso simplesmente usar um tamanho de bloco 4096?

Responder1

Os tamanhos dos blocos físicos e lógicos (setores) são determinados pelo hardware do disco e não podem ser alterados. A grande maioria dos discos rígidos hoje usa setores lógicos de 512 bytes, embora eu tenha ouvido falar de alguns discos de última geração que agora usam setores lógicos de 4.096 bytes. Alguns gabinetes externos também mapeiam novamente o tamanho do setor lógico para 4.096 bytes.

A combinação de setores lógicos de 512 bytes com setores físicos de 4.096 bytes pode resultar em problemas de desempenho se as partições não estiverem alinhadas em múltiplos de 8 setores. A maioria das ferramentas de particionamento atuais lidam com isso automaticamente – na verdade, elas normalmente se alinham em múltiplos de 2.048 setores (1 MiB), o que obviamente é um múltiplo de 8 setores e, portanto, funciona bem. (O uso do alinhamento do setor 2048 também funciona com muitos produtos RAID e SSD que exigem alinhamento em valores de potência de 2 superiores a 8, e é por isso que 2048 é o padrão.) Ferramentas mais antigas alinhadas nos limites do "cilindro". No passado distante (década de 1980), o alinhamento dos cilindros produzia benefícios de desempenho; mas então os "cilindros" tornaram-se uma ficção conveniente, depois uma ficção inconveniente e depois um problema sério. As ferramentas do Linux se adaptaram a essas mudanças lentamente, mas hoje todos os principais programas ignoram os cilindros e usam o alinhamento do setor 2048 por padrão.

Você pode ajustar o valor do alinhamento como quiser gdisk- você deve digitar xpara acessar o menu de especialistas e, em seguida, digitar dpara alterar o valor do alinhamento. Observe que esta opção está noespecialistas'menu por um motivo: se você não entende completamente o que está fazendo, é mais provável que você cause problemas do que resolva-os usando esse recurso. Mesmo se você for um especialista, a economia de espaço com a mudança do alinhamento de 2048 para 8 setores será trivial (menos de 1 MiB), então mesmo eu quase nunca faço isso. (Eu sou gdisko autor.)

Responder2

Warning: You requested a partition from 4096B to 3001GB.                  
The closest location we can manage is 17.4kB to 3001GB.
Is this still acceptable to you?

O que isso quer dizer é que, devido a outras coisas no início da unidade (metadados sobre o esquema de particionamento ou similar), o mais próximo que pode chegar do início do disco é 17,4kB.nãoquero isso; você deseja que ele comece em um limite de 4KiB. Portanto, você deve cancelar e tentar novamente, desta vez solicitando o início da partição no primeiro limite 4096B além desse ponto (tente 20480B).

A razão pela qual você precisa fazer isso manualmente é que você está usando uma ferramenta de particionamento de baixo nível. Uma ferramenta de nível superior comogpartedalinhará automaticamente o início de uma partição com um número redondo para você. Hoje em dia, muitas dessas ferramentas alinham partições a um múltiplo de 1MiB (1024x1024 bytes), pois isso resolve perfeitamente os limites de 512 bytes e 4096 bytes, além de alinhar com blocos em coisas como unidades flash USB.

Responder3

Simplesmente deixe o cálculo partedusando porcentagens como unidades:

mkpart primary 0% 100%

O que deve resultar em partição alinhada:

(parted) print                                                            
Model: ATA SAMSUNG MZ7LM3T8 (scsi)
Disk /dev/sdb: 3841GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

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

Responder4

GPT precisa dos primeiros 34 setores do seu disco para armazenar

  • o MBR protetor no primeiro setor (LBA 0),
  • o cabeçalho GPT primário no segundo setor (LBA 1),
  • e até 128 entradas de tabela de partição nos 32 setores seguintes (LBA 2 - LBA 33)

Estes setores são reservados, nenhum outro dado pode ser armazenado nestes setores, uma partição não pode iniciar em nenhum deles.

34 setores com tamanho de 512B = 17408B = 17,4kB

É por isso que você recebe o aviso The closest location we can manage is 17.4kB to 3001GB.

Você não deve prosseguir aqui, pois isso levaria a um mau alinhamento da partição, isso já foi abordado em outras respostas que você recebeu.

Observe que também os últimos 33 setores do disco são reservados para manter uma cópia do cabeçalho GPT primário e das entradas da tabela de partição.

https://en.wikipedia.org/wiki/GUID_Partition_Table

informação relacionada