mdadm --assemble falha quando / dev / sd [abcde] 1 reordenado

0

Estou tendo problemas para montar um pequeno RAID5 devido a um reordenamento recorrente de / dev / sd [a-f] na inicialização (Debian7).

O md0 estava inicialmente usando o sd [abc] 1, ele contém um dispositivo LUKS, que por sua vez contém um sistema de arquivos ext4. Tanto o sistema de arquivos ext4 (verificado com fsck) quanto todos os discos sd [abc] (verificados com smartctl) são funcionais.

Atualmente, os dispositivos RAID não são sd [abc] 1, mas sd [abd] 1. mdadm --examine reconhece todos eles corretamente (mesmo UUID, mesma contagem de eventos), mas mostra sdc1 como parte da matriz, mesmo quando se examina / dev / sdd1.

Suponho que, se uma reinicialização me der a ordem original, tudo funcionará novamente.

Agora vejo duas soluções, as quais não consigo encontrar como implementar:

  • impede o Debian de reordenar
  • certifique-se de que o mdadm não dependa de uma correspondência exata de / dev / sd [a-f] 1 para os dispositivos

Como posso conseguir um desses dois, ou o que mais eu poderia fazer para executar o mdadm?

mdadm.conf:

DEVICE /dev/sd[abcef]1
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md0 UUID=b00e130c:359e5dfc:461cb5c0:61dedce4

Editar:

Acabei de descobrir algo bastante trivial, que não me lembro de ler em qualquer lugar explicitamente e não sabia antes: Passar os dispositivos RAID correspondentes na ordem correta (que pode ser diferente da anterior) ajuda na montagem. menos manualmente. No meu caso (outra reinicialização me deu sd [bcd] 1 para os dispositivos, nessa ordem):

# mdadm --assemble -v /dev/md0 /dev/sd[bcd]1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 2.
mdadm: added /dev/sdc1 to /dev/md0 as 1
mdadm: added /dev/sdd1 to /dev/md0 as 2
mdadm: added /dev/sdb1 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 3 drives.

mdadm --detail e mdadm --examine agora também mostram os nomes de dispositivos apropriados em suas listagens, por exemplo, agora também relata corretamente que o sdd1 faz parte do array ao examinar o sdd1.

Editar 2:

Eu notei que estava faltando o sdd1 no mdadm.conf. Embora isso definitivamente não esteja certo, também tentei listar explicitamente todos os dispositivos na chamada para a senhora e a verificação, ou seja, mdadm --assemble /dev/md0 /dev/sd[abcd]1 e mdadm --assemble --scan . Ambos não montaram.

    
por lilit 07.02.2014 / 18:17

1 resposta

0

Encontrou a solução para o problema. O sdd1 ausente no meu mdadm.conf leva a todos os problemas:

Uma vez que o mdadm.conf contém todos os dispositivos (e pode conter mais dispositivos do que o necessário), o mdadm --assemble --scan também funciona.

Nota: a ordem de sd * na chamada explícita mdadm --assemble / dev / md0 / dev / sd * não é importante, mas o conjunto correto de dispositivos é. Então, se sd [acd] fizer parte da matriz, o sd [dca] funcionará, sd [abcdef] não funcionará. Isso é independente do que está no mdadm.conf.

    
por 08.02.2014 / 16:10