Nas versões anteriores do ubuntu, adicionar BOOT_DEGRADED=true
ao /etc/initramfs-tools/conf.d/mdadm
sistema permitia a inicialização automática quando o sistema de arquivos raiz estava em uma matriz degradada. Isso não parece mais funcionar no 16.04 LTS.
A documentação ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) parece estar desatualizada; sudo dpkg-reconfigure mdadm
não pede mais para permitir inicializações degradadas e o bootdegraded=true
argumento do kernel também não parece mais funcionar. O sistema sempre inicializa no initramfs quando a matriz do sistema de arquivos raiz é degradada. A partir daí, mdadm -IRs
permite que o sistema inicialize.
Como habilito a inicialização automática quando o sistema de arquivos raiz está em uma matriz RAID1 degradada no 16.04LTS?
Respostas:
O bug mencionado aparece no mdadm 3.3-2ubuntu7 e foi corrigido no 3.4-2.
A versão mais recente do mdadm para yakkety (16.10) 3.4-4 já contém a correção e está disponível para 16.10, mas não (ainda?) Para 16.04LTS.
Assim, atualizei o mdadm do meu 16.04LTS manualmente:
Para verificar eu
Observando o console: A inicialização a partir de uma matriz de ataque degradada funciona !
Bug: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070
fonte
Parece que a causa raiz é a
/usr/share/initramfs-tools/scripts/local-top/mdadm
ausência de script - no Debian-8 ele está incluído nomdadm
pacote, mas foi perdido no mesmo pacote para Ubuntu-16.04 ;-(Então, depois que eu criei sua versão do dirty-hack e recriei
initramfs
- meu servidor Ubuntu-16.04 LTS de teste foi capaz de inicializar completamente usando o único segundo HDD da matriz RAID1.fonte
/usr/share/initramfs-tools/scripts/local-top/mdadm
e instala comupdate-initramfs -k all -u
. No entanto, isso gerará um aviso. para desativar o aviso colocadocase ${1:-} in prereqs) echo "multipath"; exit 0;; esac
antes da. /scripts/functions
linha.functions
não é uma boa ideia por causa de possíveis efeitos colaterais. Então, simplesmente ignoro esse aviso.Eu tive o mesmo problema com o 16.04, o array RAID se recusou a ficar ativo no modo degradado.
Aqui está uma solução fácil:
adicionar
dormir 20 (ou segundos que você preferir)
adicione o seguinte (force start array, se você tiver / dev / md0, / dev / md1 e / dev / md2)
mdadm --run / dev / md0
mdadm --run / dev / md1
mdadm --run / dev / md2
então
update-initramfs -k all -u , então está tudo pronto.
Observe que, apenas 1) é necessário para 14.04, mas não custa fazer as duas coisas. diferente de você pode receber alguma mensagem de aviso como:
mdadm: falha ao executar a matriz / dev / md0: Dispositivo ou recurso ocupado
o que é inofensivo, já que apenas diz que porque / dev / md0 está ativo, você pode definitivamente escrever scripts mais inteligentes, apenas execute --run quando necessário.
fonte
As outras respostas aqui têm soluções alternativas para corrigir o problema, mas esse é um erro do Ubuntu e deve ser corrigido. Aqui está o erro: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049
Foi corrigido anteriormente: https://wiki.ubuntu.com/ReliableRaid
fonte