Por que o MDADM Raid 5 requer um sobressalente

2

Na página do manual do mdadm:

"Ao criar uma matriz RAID5, o mdadm criará automaticamente uma matriz degradada com uma unidade de reserva extra. Isso ocorre porque construir o sobressalente em uma matriz degradada é, em geral, mais rápido do que ressincronizar a paridade em uma não degradada, mas não limpa , matriz. Esse recurso pode ser substituído com a opção --force. "

Então eu tenho 4 discos rígidos que eu vou querer colocar em um array ... O howto que estou usando especifica para usar um deles como o 'spare' ...

AKA:

mdadm --create --verbose / dev / md0 --level = 5 --raid-devices = 3 / dev / sdb1 / dev / sdc1 / dev / sdd1 --spare-devices = 1 / dev / sde1

O que eu não entendo é por que isso ocorre, minha suposição é que eu acabaria com uma matriz de 3 drives e um hot spare ... E se eu não quiser isso e eu quiser uma matriz de 4 drives, Eu vejo que posso fazer isso com a opção -force ...

Só estou me perguntando por que isso é o padrão e se estou perdendo alguma coisa ...

Obrigado antecipadamente.

    
por Gary 31.03.2011 / 06:06

1 resposta

9

Esse comportamento (usando um sobressalente) deve ser realmente invisível para você; O que ele está dizendo é que ele vai fazer algum truque de construção de disco e, em vez de varrer os discos e construir o canal de paridade durante a compilação (lento!), ele irá construir o array em três dispositivos e lançar o último dispositivo. depois do fato, fazer a paridade construir em segundo plano.

Sua suspeita sobre o problema com o comando que você tem está acabando. Se você executar isso, ele gerará uma matriz de 3 discos em 2 discos e, em seguida, adicionará o terceiro disco de um sobressalente temporário ao array. Deixando-o, ainda assim, com um hot spare no final dele.

Você vai querer isso, em vez disso; O mdadm ainda fará seus truques com o hot-spare, mas ficará invisível para você (você verá em /proc/mdstat após a criação, que ele irá pular imediatamente para o processo de carregamento de dados no 4º disco) :

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

    
por 31.03.2011 / 06:34