Eu tenho duas unidades no RAID1 que servem como a partição raiz na minha estação de trabalho. Às vezes (1 de 10) uma das unidades não é detectada e, portanto, não é incluída na raid. Como a unidade não é detectada em todos os eu não posso recolocá-la naquela vez (e eu posso nem notar, pelo menos não imediatamente).
Uma vez após esse tempo, eu reiniciei e o kernel usou a unidade anteriormente não detectada para md0. Depois disso eu corri mdadm --add
e ele acabou de adicionar novamente a outra metade da matriz, não reconstrucred , então eu tinha uma matriz inconsistente (eu corri um cheque e mismatch_cnt veio com mais de 300k blocos!). No final, eu falhei em uma das unidades e, em seguida, conectei novamente, fazendo assim a reconstrução que deveria ter sido feita em primeiro lugar.
Para evitar tais situações no futuro, quero detectar esses erros o mais cedo possível: no GRUB ou durante a inicialização, antes que o sistema de arquivos raiz seja montado. Esta é uma área de trabalho, portanto, desligar e ligar novamente nesse caso não é um grande problema. Além disso, estou disposto a tomar medidas manuais (por exemplo, inicializar de um live CD para remover o bloco de inicialização) se os discos realmente falharem.
Existe um parâmetro grub / kernel que impede a inicialização em caso de ausência de um disco raid? Ou a única maneira de fazer isso é modificar os scripts init no initramfs?