Pelo que entendi você criou 3 raid arrays, cada um com um espelho anexado.
Você pode montar cada "metade" dos pares como discos normais, mas não é aconselhável enquanto a matriz estiver em execução e ambas as "metades" estiverem ativas, pois isso desincronizará as cópias e quebrará a matriz. Mas no caso de uma falha eles estão lá separadamente, e também se você usá-lo para diretórios como /boot
qualquer processo que não entenda raid nativamente irá apenas vê-los como cópias idênticas, eu uso uma pequena partição com raid-1 com muitas unidades para garantir que a máquina permaneça inicializável, independentemente da unidade do SO que falhe.
Embora isso além da redundância básica de hardware, isso não traz benefícios e requer manutenção extra (3 matrizes para cuidar) e as unidades são isoladas.
Se você estiver fazendo isso por motivos de desempenho e quiser a maioria das IOPS (por exemplo, para um servidor de banco de dados), será melhor usar raid 1+0
. Isso seria basicamente uma faixa de 3 unidades (aproximadamente 3 vezes a velocidade de leitura / gravação de um único disco) e um espelho dessa matriz com outras 3 unidades. Os drivers MD
atuais suportam isso nativamente e você não precisa gerenciar os arrays raid-1 e raid-0 separadamente, mas crie um único dispositivo RAID:
mdadm --create /dev/md0 -v --raid-devices=6 --level=raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
Isso significa que você obtém um tamanho total de matriz da soma de 3 discos. O problema com esta configuração é que a falha de 2 unidades pode destruir todos os seus dados se for o mesmo espelho da unidade "metades" nas 2 cópias. As unidades são provavelmente da mesma idade, o que significa que elas começam a falhar ao mesmo tempo. E o estresse de uma reconstrução no outro "meio" aumenta significativamente a chance de falha:
Com a sua configuração, a probabilidade de sobrevivência da perda de dados é semelhante à do raid-1 + 0:
1 drive fail = 100%
2 drives fail = 80%
3 drives fail = 40%
4 drives fail = 0%
Se você estiver satisfeito com IOPS / velocidade equilibrada e capacidade de armazenamento com 6 discos, terá uma melhor resiliência se criar um ataque 6 de todos os dispositivos:
Probability of data loss in a 3 year span:
RAID5 - 0.0125 % (1 in 80)
RAID6 - 0.0005 % (1 in 1982)
Mas como você precisa de uma partição de inicialização (o carregador de inicialização não pode ser distribuído entre os discos) você precisa de 2 matrizes, uma pequena permite 256 MB e o resto juntos, você deve criar este esquema com fdisk ou cfdisk e certificar-se de que os bootable
sinalizadores são definidos para o pequeno array. Você pode copiar a tabela de partições de um disco para outro com sfdisk se as unidades forem exatamente do mesmo tamanho:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Em seguida, crie os dois arrays:
mdadm --create /dev/md0 -v --raid-devices=6 --level=mirror /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --create /dev/md1 -v --raid-devices=6 --level=raid6 /dev/sda2 /dev/sdb2 /dev/sdc3 /dev/sdd4 /dev/sde5 /dev/sdf6
Os instaladores do sistema operacional podem cuidar disso para você, mas certifique-se de marcar a primeira matriz a ser usada para /boot
Com isso, você ganha de volta 1 unidade de armazenamento (capacidade total = capacidade de unidade * 4) A matriz pode sobreviver à falha de duas unidades e, se elas não forem ao mesmo tempo, você terá tempo e chances matemáticas suficientes para reconstruir essa matriz.
Uma coisa a ter em mente é a qualidade do consumidor atual (taxas de erro de leitura de ~ 10 ^ 14 / erro) e tamanhos de unidade (> = 2Tb) você deve nunca usar raid-5
dados críticos, pois a chance de reconstruir esse array em caso de falha é menor que 50%.