Estrutura no disco no início do RAID 1 (primeiro 128 MiB)

1

Eu tenho um RAID 1 consistindo de 2 2 TB discos e notei que quando eu crio o hash criptográfico de algum intervalo de ambos os discos, a menos que esse intervalo esteja no começo dos discos, eu obtenho o mesmo resultado. Então, em qualquer lugar, menos no começo (e uma pequena parte no final onde as partições usadas para o RAID terminam, eu acho), os dois discos armazenam exatamente os mesmos dados.

No entanto, no início dos discos, as somas de verificação não correspondem, o que significa que os dados armazenados lá se desviam. Eu esperaria que isso acontecesse nos primeiros kilobytes porque eu esperaria que os dados usados para identificação de disco e alguns outros metadados fossem armazenados lá. Mas o que eu acho é que há uma incompatibilidade nos primeiros 128 MiB. Se eu pular apenas os primeiros 127 MiB, as checksums não combinam, mas se eu ignorar os primeiros 128 MiB e hash algum range, os checksums combinam.

O que mdadm armazena no início dos discos, o que ocupa muito espaço de armazenamento (comparado a apenas identificadores; claro, comparado ao tamanho dos discos rígidos modernos, é completamente insignificante)?

Observe que eu abordei os dados desde o início das partições usadas no RAID. Não é que eu tenha resolvido isso desde o começo dos discos e os primeiros 127 MiB simplesmente não pertencessem às partições.

    
por UTF-8 13.09.2017 / 11:59

1 resposta

2

Verifique mdadm --examine , Data Offset . Ele tende a usar 128M se a partição for grande o suficiente. Na operação cotidiana, o deslocamento de dados não é usado para nada.

Até que você decida aumentar o RAID ou alterar o nível e o layout do RAID. Em seguida, o deslocamento de dados será reduzido por um bit, criando assim uma zona de buffer que permite alterar os dados no local sem sobrescrever-se diretamente. Como tal, o processo pode ser retomado com segurança em caso de perda de energia, reinicialização, etc.

Quando nenhum espaço de deslocamento de dados restante estiver disponível, será necessário fornecer um --backup-file para algumas operações de crescimento e reformulação. Este arquivo de backup deve ser armazenado fora do seu RAID e deve ser capaz de sobreviver às reinicializações.

Se você tiver certeza de que nunca alterará o layout do RAID ou não se importa com o uso do arquivo de backup nesse evento, poderá especificar --data-offset= de um pequeno 1 ou 2 MiB e, portanto, não desperdiça 128 milhões por unidade.

    
por 13.09.2017 / 12:41