O que é o alinhamento de partição e por que eu preciso? [duplicado]

22

O que é alinhamento de partição e por quê? Isso tem algo a ver com a lacuna do setor de 2048 entre duas partições lógicas?

Determinante
fonte
@rawrawity A parte crucial é diferente. Eu preciso de alguém para explicar isso em detalhes.
Determinante

Respostas:

23

Os discos rígidos mais recentes estão sendo fabricados para utilizar setores de 4 kilobytes, em vez dos setores convencionais de 512 bytes.

Isso é feito para fazer um uso mais eficiente do espaço físico nos discos rígidos, pois para todos os setores há um pequeno lote de dados de correção de erros na unidade e, passando de 0,5 quilobytes a 4kilobytes por setor, significa que pode haver muito menos espaço na unidade desperdiçada nesses dados de correção de erros. Para mostrar o que quero dizer, aqui está uma imagem retirada do artigo da Wikipedia sobre unidades de formato avançado :

insira a descrição da imagem aqui

O motivo de ter que alinhar seu disco decorre da interação do software que foi escrito para esperar que setores de 512 bytes funcionem em uma unidade com setores de 4 kilobytes. Se o software espera setores de 512 bytes, é possível que esteja tentando gravar no que considera o "segundo" setor de um cluster, mas na verdade são os segundos 512 bytes de um setor de 4 kilobytes.

O problema é que as unidades de "Formato Avançado" que simulam um setor de 512 bytes no sistema operacional, mas realmente trabalham internamente com setores de 4 kilobytes, é que um setor só pode ser gravado "de uma só vez". Para gravar nessa segunda área de 512 bytes, todo o setor de 4KB deve ser lido e, em seguida, reescrito de volta para a unidade, e esse é um processo mais lento do que simplesmente dizer à unidade para reescrever todo o setor de 4KB.

Mesmo que o sistema operacional esteja ciente dos setores de 4KB, ele deve ter a unidade alinhada adequadamente, para que os limites entre os setores coincidam entre onde a unidade diz que eles estão e onde o sistema operacional pensa que estão.

Depois, existem SSDs, que têm um problema semelhante, pois podem ser gravados byte a byte, mas apenas apagados em grandes blocos de 256 KB ou 512 KB. Dessa forma, para maximizar o desempenho, você deve alinhar os limites da partição (e, portanto, do setor) ao longo de um desses blocos de 256 ou 512 KB.

Por esse motivo, muitas ferramentas modernas de particionamento simplesmente alinham a unidade inteira ao longo de um limite de 1 MB, o que acaba com a necessidade de detectar se você possui algum dos muitos tipos de unidade, sejam setores de 512 bytes, setores de 4KB ou SSD com algum tamanho de bloco arbitrário.

- = EDIT = -

Para saber se sua unidade está alinhada corretamente, existem várias maneiras de verificar, como menciona este artigo no Lifehacker . O conselho se aplica principalmente a SSds, mas é igualmente relevante para garantir que um disco rígido normal esteja alinhado corretamente:

Para ver se suas partições estão alinhadas corretamente, clique no menu Iniciar e digite msinfo32. Enter Msinfo32e vá até Components> Storage> Discos. Procure seu SSD na lista e localize o item "Partition Starting Offset". Se esse número for divisível por 4096 (ou seja, se dividi-lo por 4096 for igual a um número inteiro e não decimal), sua partição está alinhada corretamente. Caso contrário, você precisa realinhar. Felizmente, isso é muito fácil de fazer com o CD ao vivo do Gparted. Se você tiver um CD ao vivo do Ubuntu, isso também funcionará, pois o Gparted está disponível em Sistema> Administração.

Mokubai
fonte
3
Apenas uma observação: o desempenho perdido devido ao alinhamento incorreto ocorre quando o software deseja gravar muitos setores do sistema de arquivos 4kiB longe um do outro. Se cada gravação exceder 512B no próximo setor de disco 4kiB, esse próximo setor inteiro também deverá ser reescrito, resultando em duas vezes a quantidade de gravação necessária. (o primeiro sector de disco ainda contém 3.5kiB dos dados escritos)
Eroen
@kinokijuf Como mencionei, os setores de 4KB devem fazer um uso mais eficiente do disco (economizar espaço é equivalente a armazenamento extra gratuito e, portanto, pode ser traduzido em dinheiro extra que pode ser cobrado), mas o alinhamento é feito por razões de desempenho .
Mokubai
11
A maioria das ferramentas de particionamento modernas se alinham ao longo de um limite de 1 MiB, por exemplo, 1048576 bytes. O alinhamento ao longo de um limite de 1 MB não funciona, pois não é um múltiplo de 4096.
Futal
11
@Mokubai: 1MB = 1.000.000 bytes (não um múltiplo de 1024), 1MiB = 1.048.576 bytes (1024 múltiplos). É definido na ISO / IEC 80000 reconhecida por todos os institutos padrão, como o NIST.
Futal
11
@Futal 99,9% das pessoas estão cientes da situação estúpida que nos levou a precisar de uma distinção MiB / MB e simplesmente não se importam com isso. É inútil e (na maior parte) irrelevante. A maioria das pessoas também pode usar um truque linguístico conhecido como "pistas contextuais" para descobrir qual é o significado. Se eu estou falando sobre setores de 512byte e 4kb na mesma frase, é duvidoso que quero dizer 4000bytes ou até 1000000bytes como 1MB.
Mokubai