En las versiones anteriores de Ubuntu, añadiendo BOOT_DEGRADED=true
a /etc/initramfs-tools/conf.d/mdadm
permitido que el sistema arranque automáticamente cuando el sistema de archivos raíz está en una matriz degradada. Esto ya no parece funcionar en 16.04 LTS.
La documentación ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) parece estar desactualizada; sudo dpkg-reconfigure mdadm
ya no pide permitir botas degradadas y el bootdegraded=true
argumento del núcleo tampoco parece funcionar. El sistema siempre se inicia en initramfs cuando la matriz del sistema de archivos raíz se degrada. A partir de ahí, mdadm -IRs
permite que el sistema arranque.
¿Cómo habilito el arranque automático cuando el sistema de archivos raíz está en una matriz RAID1 degradada en 16.04LTS?
Respuestas:
El error mencionado aparece en mdadm 3.3-2ubuntu7 y se ha corregido en 3.4-2.
La última versión de mdadm para yakkety (16.10) 3.4-4 ya contiene la solución y está disponible para 16.10 pero no (¿todavía?) Para 16.04LTS.
Por lo tanto, actualicé mdadm de mi 16.04LTS a mano:
Para verificar I
Observando la consola: ¡ Arrancar desde una matriz de banda degradada funciona !
Error: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070
fuente
Parece que la causa raíz es la
/usr/share/initramfs-tools/scripts/local-top/mdadm
ausencia de script: en Debian-8 está incluido en elmdadm
paquete, pero se perdió en el mismo paquete para Ubuntu-16.04 ;-(Entonces, después de crear su versión de hackeo sucio y recrearla
initramfs
, mi servidor de prueba Ubuntu-16.04 LTS pudo arrancar completamente usando el único segundo HDD de la matriz RAID1.fuente
/usr/share/initramfs-tools/scripts/local-top/mdadm
y luego lo instalas conupdate-initramfs -k all -u
. Sin embargo, generará una advertencia. para deshabilitar la advertencia puestacase ${1:-} in prereqs) echo "multipath"; exit 0;; esac
antes de la. /scripts/functions
línea.functions
no es una buena idea debido a los posibles efectos secundarios. Así que simplemente ignoro esta advertencia.Tuve el mismo problema con 16.04, la matriz de incursiones simple se negó a activarse en su modo degradado.
Aquí hay una solución fácil:
añadir
dormir 20 (o los segundos que prefieras)
agregue lo siguiente (force start array, si tiene / dev / md0, / dev / md1 y / dev / md2)
mdadm --run / dev / md0
mdadm --run / dev / md1
mdadm --run / dev / md2
luego
update-initramfs -k all -u , entonces ya está todo listo.
Tenga en cuenta que solo se requiere 1) para 14.04, pero no está de más hacer ambas cosas. aparte de que puede ver algún mensaje de advertencia como:
mdadm: no se pudo ejecutar array / dev / md0: dispositivo o recurso ocupado
lo cual es inofensivo, ya que solo dice que debido a que / dev / md0 está activo, definitivamente puedes escribir un script más inteligente solo ejecutar --run cuando sea necesario.
fuente
Las otras respuestas aquí tienen soluciones para solucionar el problema, pero este es un error con Ubuntu y debe solucionarse. Aquí está el error: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049
Se solucionó anteriormente: https://wiki.ubuntu.com/ReliableRaid
fuente