como evitar a inicialização se uma unidade não for detectada na inicialização

2

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?

    
por P.Péter 12.01.2017 / 10:16

1 resposta

2

Eu consegui resolver metade do problema: eu simplesmente removi o GRUB do MBR da unidade que normalmente não falha em ser detectado. Agora, se essa unidade tiver um erro temporário durante a inicialização, ainda assim eu receberei um sistema dessincronizado, mas (pelo menos por enquanto), isso não parece ocorrer com frequência.

    
por 16.01.2017 / 10:10

Tags