O que significa “alinhar” partições?

13

Eu estou familiarizado com o que são partições, mas eu vi uma pergunta sobre partições alinhadas no Ask Ubuntu , e percebi que não sabia o que" partições alinhadas "são.

Então, o que significa "alinhar" as partições? Quais são os benefícios e as desvantagens?

    
por 8128 26.12.2010 / 22:08

5 respostas

14

Alinhar a partição significa alinhá-la para corresponder à verdadeira estrutura de bloco subjacente.

Durante muito tempo, os discos rígidos usaram blocos de 512 bytes. Como isso já dura há muito tempo, é quase impossível alterar o tamanho do bloco. Muito software precisaria ser corrigido.

Em um SSD, o tamanho real do bloco pode ser de 128 KB. Em um array RAID, ele pode ter 64 KB. Em uma unidade de formato avançado, será de 4 KB.

Para compatibilidade com versões anteriores, o inversor continua a trabalhar com blocos de 512 bytes. Mas, por motivos de desempenho, o seu sistema deve realmente saber o tamanho real do bloco.

Um dos ajustes de desempenho mais fáceis de se fazer é alinhar a partição da unidade com o tamanho real do bloco, de modo que, quando o seu SO gravar 4 KB ou 64 KB ou 128 KB, ele grave um bloco inteiro.

Se a partição não estava alinhada, o resultado seria escrever 512 bytes no primeiro bloco e 4K - 512 bytes no segundo bloco, forçando o disco / SSD / RAID a fazer dois de leitura -modify-escreve ciclos em vez de um escrever.

    
por 26.01.2011 / 23:32
2

As partições são sequências de blocos e, por uma convenção de longa data, um bloco é de 512 bytes.

Assim, uma partição pode começar em qualquer múltiplo de 512 bytes dentro de um disco, "visto" como uma longa seqüência de bytes.

O hardware de disco subjacente, porém, que originalmente tinha o mesmo tamanho de setor de 512 bytes, usa agora um tamanho maior para eficiência. Digamos que sejam 4096 bytes.

Por razões de compatibilidade, o firmware entre o sistema operacional e o hardware ainda "fala em setores". Então você pergunta ao primeiro setor, e o hardware recupera o primeiro bloco (4096 bytes), e o firmware extrai e entrega a fatia apropriada. Você pergunta ao segundo bloco e o bloco provavelmente é recuperado do cache.

Até agora, a incompatibilidade de tamanho do setor não tem contras.

Mas o sistema operacional também emprega blocos (geralmente chamados de clusters ) para eficiência, e os alinhará à partição. Então, um cluster de 4 setores será formado pelos setores 5, 6, 7 e 8.

Quando o sistema operacional solicita o sistema de arquivos cluster # 2, o firmware é solicitado para os setores lógico 5, 6, 7 e 8. Se eles estiverem todos no mesmo < bloco strong> disk , então o disco tem que executar uma leitura.

Mas se a partição começar no setor "errado", o primeiro cluster no sistema de arquivos, por exemplo, terminará, simplificando, nos setores 2, 3, 4 e 5. E eles podem ser a metade do primeiro disco bloco (1-2-3-4), metade no segundo (5-6-7-8).

Agora você precisa de uma leitura extra . Para as taxas de sistema operacional em disco de 1: 1, isso é o mesmo que dobrar as leituras. Se a relação OS-para-disco for 2: 1, um cluster é dois blocos de disco de hardware, você precisará de 2 + 1 = 3 leituras, uma penalidade de 50%:

OS   |--- cluster  12 ---|--- cluster  13 ---|--- cluster  14...
     |                   |                   |
HDD  --|----|----|----|-a--|--b-|-c--|-d--|-e--|----|---        BAD
     |                   |                   |
HDD  |----|----|----|----|-a--|--b-|-c--|-d--|----|----|---     GOOD

Acima, um cluster é de 4 blocos de hardware (proporção 4: 1) de 2 setores cada. Alinhar em setores "pares" significa que, para ler um cluster, essas 8 leituras do setor são traduzidas para 4 leituras de blocos. Alinhar em setores ímpares significa que as mesmas 8 seções do setor exigem 4 + 1 = 5 leituras de blocos, uma penalidade de desempenho de 25% (você adiciona uma leitura a cada quatro).

Se você tiver um disco desalinhado com proporção de 4: 1, o alinhamento será 20% mais rápido (você salva uma leitura a cada 5).

Para tornar uma partição "alinhada", você pode mover / definir seu deslocamento do início do disco para o múltiplo apropriado dos 512b setores, ou (dependendo da ferramenta) você pode inserir uma pequena partição no início de o disco, com tamanho tal que a próxima partição começa exatamente em um limite de setor de disco. Neste segundo caso, enquanto em teoria você precisa de no máximo N-1 setores, ou seja, muito poucos quilobytes, na prática você provavelmente precisará perder algumas centenas de kilobytes, possivelmente todo megabytes, a fim de extrair o máximo de desempenho do seu disco rígido multi-gigabyte.

(Você provavelmente poderia recuperar esse espaço e muito mais, escolhendo apropriadamente o tamanho do cluster do SO ).

    
por 07.06.2016 / 19:50
1

O mais provável é que eles estejam se referindo aos novos discos rígidos Advanced Format.

Artigo de alinhamento aqui

link

outro aqui link

    
por 26.12.2010 / 23:26
1

As unidades quase sempre são divididas em setores lógicos de 512 bytes, outros tamanhos são possíveis, mas raramente são usados devido a problemas de compatibilidade. Com discos rígidos antigos, esses eram setores separados que poderiam ser gravados individualmente.

Até meados da década de 2000, as partições eram tradicionalmente alinhadas às fronteiras de "cilindros". Por razões históricas, um "cilindro" normalmente era de 63 setores. O setor 0 contém o setor de inicialização e a tabela de parição. Os setores posteriores no cilindro 0, por vezes, continham informações adicionais para o gerenciador de inicialização. A primeira partição normalmente começou no início do cilindro 1.

A maioria dos setores do grupo de sistemas de arquivos é formada por blocos maiores (às vezes chamados de "clusters"). Estes são geralmente de tamanho 4KiB.

Em algum momento, os fornecedores de discos reliam que seria mais eficiente se também usassem setores físicos de 4K, mas, por razões de compatibilidade, mantinham o tamanho do setor lógico em 512 bytes. Se o host lê ou grava todo o setor físico de uma só vez, as coisas são rápidas. Se as partes forem lidas, as coisas ainda são muito rápidas, pois a unidade pode descartar apenas os dados indesejados. No entanto, se o host gravar apenas parte de um setor físico, a unidade deve ler o setor físico, combinar os dados lidos com os dados do host e, em seguida, reescrever o setor modificado.

Isso funciona bem se os clusters 4K do sistema de arquivos estiverem alinhados aos setores físicos de 4K do drive. Infelizmente, a forma tradicional de particionar unidades significa que a primeira partição é basicamente garantida para estar desalinhada e partições posteriores tiveram apenas uma chance em 1 de estar alinhadas. Os fornecedores de unidades de formato avançado, portanto, tiveram que lançar ferramentas para ajudar as pessoas a realinharem suas posições.

Considerações semelhantes podem ser aplicadas com matrizes de raid e SSDs. Embora uma faixa de ataque seja provavelmente muito maior do que um único cluster de sistema de arquivos, alguns sistemas de arquivos podem ter regiões ou similares que estejam alinhadas ao poder de dois limites.

A prática normal atual é alinhar as parições a limites de 1MiB, o que é uma potência grande o suficiente de dois para ser um múltiplo de todos os tamanhos de blocos comuns.

    
por 05.12.2016 / 10:34
0

Não sei se isso é útil, mas o meu entendimento é que o alinhamento da partição é quando você alinha uma determinada partição com unidades de stripe RAID subjacentes.

Aparentemente, o desempenho pode ser ruim quando você usa um RAID baseado em hardware ou baseado em software; poderão surgir problemas se a localização inicial da partição não estiver alinhada com um limite de unidade de distribuição na partição de disco criada no RAID.

Dependendo do fator de criação de clusters de volume, um cluster de volume pode ser criado sobre um limite de unidade de distribuição em vez de próximo ao limite da unidade de distribuição. Esse comportamento pode causar uma partição desalinhada .

Eu posso estar longe e isso não tem nada a ver com o RAID;)

    
por 26.12.2010 / 22:41