Estou basicamente tentando configurar o mdadm.conf para que o assembly RAID na inicialização seja executado com o equivalente a:
mdadm --assemble --scan --no-degraded
em vez de:
mdadm --assemble --scan
Caso contrário, se eu desconectar temporariamente um ou dois dispositivos RAID6 para liberar as portas SATA, o MDADM monta o array em estado degradado na próxima inicialização, os dispositivos desconectados ficam dessincronizados e eu preciso adicioná-los novamente e reconstruí-los, o que pode levar um ou dois dias.
Não encontrei nada no mdadm.conf(5) ou na documentação do MDADM, mas tenho certeza de que essa é uma situação bastante comum com uma solução simples.
Se você configurou seus arrays MD em
mdadm.conf
, pelo que sei, existem algumas maneiras simples de impedir a montagem de dispositivos RAID MD de sua escolha durante a inicialização do sistema operacional. No entanto, as soluções só são aplicáveis se você souber qual array MD específico entrará em estado degradado como resultado da desconexão de discos.O primeiro método é usar a
<IGNORE>
palavra-chave especial. Supondo que vocêmdadm.conf
tenha a entrada para o seu array md (cujos discos estarão ausentes na próxima inicialização), assim:Altere para:
Atualize
initramfs
depois disso caso o quemdadm.conf
está nainitramfs
imagem não seja o mesmo quemdadm.conf
você alterou no sistema de arquivos raiz.Após uma reinicialização, você verá que
/dev/md0
não é montado na saída decat /proc/mdstat
Documentação relevante da página de manual para
mdadm.conf
:O segundo método é usar a
AUTO
palavra-chave . Supondo que vocêmdadm.conf
tenha as entradas para alguns arrays md como este:Se os discos
/dev/md1
estiverem faltando na próxima reinicialização, altere para:Atualize a
initramfs
imagem conforme mencionado anteriormente. Após a reinicialização, você verá que/dev/md1
não está montado na saída decat /proc/mdstat
mdadm.conf
A documentação relevante da página de manual sobreAUTO
:Ambos os métodos acima funcionam para mim no Ubuntu 18.04.
É possível que existam outras maneiras de fazer isso. No entanto, se você precisar impedir automaticamente
mdadm
a montagem de qualquer array md que tenha entrado em status degradado, talvez seja necessário ajustar asmdadm
udev
regras e talvez também criar scripts.Nem é preciso dizer que, se você tiver
fstab
entradas montando sistemas de arquivos para esses dispositivos md, certifique-se de que as entradas para o array md degradado estejam comentadas ou removidas, caso contrário, seu sistema entrará em modo de manutenção durante a inicialização.