O RAID aninhado (RAID0 no RAID1) falha na inicialização [fechado]

1

Eu construí uma configuração RAID com três unidades, duas de 1,5 TB (sdb e sdd) e uma de 3TB (sdc). Minha abordagem é combinar as duas unidades de 1,5 TB em uma unidade RAID0 (md3) e criar um espelho RAID1 (md2) com a unidade de 3 TB (sdc) e a matriz RAID0 (md3). Isso tudo funciona.

O problema : sempre que reinicializo o computador, a matriz RAID1 (md2) só vê uma unidade ativa (sdc), mesmo que a matriz RAID0 (md2) seja inicializada corretamente. Eu tenho que adicionar novamente o array md2 manualmente a cada vez. O que está acontecendo? Existe alguma maneira de fazer o sistema montar o md3 antes de montar o md2?

Eu já tinha o drive md2 com o sdc. De um modo geral, eu corri os comandos (aproximadamente):

mdadm --create --verbose /dev/md3 --level=stripe --raid-devices=2 /dev/sdb /dev/sdd
mdadm /dev/md2 --add /dev/md3
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Também adicionei "recipientes de partições DEVICE / dev / md3" ao arquivo mdadm.conf. Isso tudo está no Debian 6.0.8.

Mais informações: Após a reinicialização, / proc / mdstat lê (edite as informações md0 e md1):

Personalities : [raid0] [raid1]

md3 : active raid0 sdb[0] sdd[1]
      2930274304 blocks super 1.2 512k chunks

md2 : active raid1 sdc[4]
      1415577600 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Parece que o md3 (o array RAID1) esqueceu o md2.

Há também algo suspeito durante a inicialização.

dmesg | grep -i 'md2\|md3\|raid'
[    2.537001] md: raid0 personality registered for level 0
[    2.539298] md: raid1 personality registered for level 1
[    2.620402] md: md2 stopped.
[    2.623636] raid1: raid set md2 active with 1 out of 2 mirrors
[    2.623655] md2: detected capacity change from 0 to 1449551462400
[    2.625028]  md2: unknown partition table
[    2.914801] md: md3 stopped.
[    2.919365] raid0: looking at sdb
[    2.919368] raid0:   comparing sdb(2930274304)
[    2.919370] raid0:   END
[    2.919371] raid0:   ==> UNIQUE
[    2.919372] raid0: 1 zones
[    2.919373] raid0: looking at sdd
[    2.919374] raid0:   comparing sdd(2930274304)
[    2.919376] raid0:   EQUAL
[    2.919377] raid0: FINAL 1 zones
[    2.919380] raid0: done.
[    2.919381] raid0 : md_size is 5860548608 sectors.
[    2.919382] ******* md3 configuration *********
[    2.919397] md3: detected capacity change from 0 to 3000600887296
[    2.921296]  md3: unknown partition table
[    3.244104] raid1: raid set md1 active with 2 out of 2 mirrors
[    3.468709] raid1: raid set md0 active with 2 out of 2 mirrors
    
por emarti 14.12.2013 / 08:10

2 respostas

0

Acontece que a solução foi bem simples: certifique-se de montar o md3 antes do md2. Estas instruções são especificamente para o Debian 6.

  1. No /etc/mdadm/mdadm.conf, coloque as unidades na ordem que você deseja montar. Neste exemplo, ARRAY / dev / md3 metadata = 1.2 ARRAY / metadados de dev / md2 = 1.2

  2. Execute 'update-initramfs -u'. Isso foi o que eu estava sentindo falta antes!

Agora, quando o computador inicializa, ele primeiro monta o md3 e depois monta o md2. Anteriormente, ele montava o md2 primeiro e falhava porque não encontrava o md3.

    
por 16.12.2013 / 03:13
1

My approach is to combine the two 1.5 TB drives into a RAID0 drive (md3), and create a RAID1 mirror (md2) with the 3TB drive (sdc) and the RAID0 array (md3). This all works.

Sua abordagem gera mais chances de perder dados do que ao usar o RAID-10. Qualquer um de vocês, discos em listra, se foi, o outro é inútil. É por isso que geralmente as pessoas tendem a usar uma faixa de espelhos, não espelhos de listras.

Além disso, é melhor você não usar RAIDs aninhados, ele traz uma sobrecarga que é bastante desnecessária. Linux Software RAID suporta RAID-10 em um número ímpar de discos . Assim, você pode ter algum RAID-1 para a partição de inicialização em 2 ou todos os 3 discos e, em seguida, combinar 3 discos no RAID-10. Sim, você teria algum espaço além do RAID-10, mas pelo menos você terá um bom RAID-10. O espaço esquerdo pode ser usado para dados não importantes.

UPD. : A maneira mais fácil de obter uma configuração semelhante seria usar a capacidade do LVM-2 de remover ou espelhar volumes lógicos em discos físicos.

    
por 14.12.2013 / 10:47