Boot.mount falla después de actualizar a 18.04

Boot.mount falla después de actualizar a 18.04

Este problema ha ocurrido en muchos de nuestros servidores que se actualizaron a 18.04 desde 16.04. La configuración común es que root es un LVM y hay una partición /boot o una partición /boot y /boot/efi. Por ejemplo:

$ lsblk -f
NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                                   
├─sda1                       vfat              C45F-2000                         /boot/efi     
├─sda2                       ext2              a906fd59-cb58-4c94-8560-5d426e4   /boot
└─sda3                       LVM2_member       1P3Rxv-VZMx-gcs9-PlxM-DCI8-kIqr
  ├─node--007--vg-root       ext4              316678d5-aaaf-43bd-bac6-cc3aeb1   /
  ├─node--007--vg-swap_1     swap              0724b0b0-9f2d-42aa-bbe2-7b8aa31   [SWAP]
  ├─node--007--vg--na      ext4              7d42481b-f7fb-4ac6-9cf5-5df3ca17   /cache/na
  ├─node--007--vg-c        ext4              e38d96f8-6afb-4d2c-94cc-28a02e90   /cache/c
  └─node--007--vg-t        ext4              44559b67-869e-4454-b792-792c1a16   /cache/d

El registro de depuración del kernel siempre veo este tipo de registro sobre el tiempo de espera del dispositivo.

Mar 30 16:14:22 ns1 systemd-udevd[539]: seq 3206 '/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sda' is taking a long time
Mar 30 16:14:22 ns1 systemd[1]: systemd-udevd.service: Got notification message from PID 539 (WATCHDOG=1)
Mar 30 16:14:50 ns1 systemd[1]: dev-disk-by\x2duuid-a906fd59\x2dcb58\x2d4c94\x2d8560\x2d5d426e4.device: Job dev-disk-by\x2duuid-a906fd59\x2dcb58\x2d4
Mar 30 16:14:50 ns1 systemd-journald[501]: Forwarding to syslog missed 70 messages.
Mar 30 16:14:50 ns1 systemd[1]: dev-disk-by\x2duuid-a906fd59\x2dcb58\x2d4c94\x2d8560\x2d5d426e4.device: Job dev-disk-by\x2duuid-a906fd59\x2dcb58\x2d4
Mar 30 16:14:50 ns1 systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-a906fd59\x2dcb58\x2d4c94\x2d8560\x2d5d426e4.device.
Mar 30 16:14:50 ns1 systemd[1]: boot.mount: Job boot.mount/start finished, result=dependency
Mar 30 16:14:50 ns1 systemd[1]: Dependency failed for /boot.

El intercambio y los LVM están montados en este punto. Se ingresa al modo de emergencia y al presionar control-D continúa el arranque y luego todo está bien.

Si tar todos los archivos en /boot, desmonto /boot y /boot/efi y luego los descomprimo, cambio el fstab, actualizo el initramfs y reinicio sin esas particiones, entonces el nodo arranca.

He notado que el registro que dice que /dev/sda está conectado no aparece antes de ingresar al modo de emergencia, aunque los lvms se hayan montado correctamente. Después de presionar control-D para continuar con el arranque, se produce el registro y todo, incluido sda2, se monta bien.

Mar 30 16:15:33 ns1 systemd[1]: dev-sda.device: Changed dead -> plugged

Cualquier ayuda muy apreciada.

Respuesta1

Después de buscar mucho, activé el muy útil registro de depuración en /etc/udev/udev.conf y actualicé mi initramfs.

$ cat /etc/udev/udev.conf 
# see udev.conf(5) for details
#
# udevd is started in the initramfs, so when this file is modified the
# initramfs should be rebuilt.

#udev_log="info"
#event_timeout=300
udev_log="debug"

Esto me ayudó a identificar el problema. Hubo miles de "rizos" al principio del arranque, y esos se debían a una regla de udev que actuaba al agregar y eliminar dispositivos "sd*". ¡Comenté esas acciones de reglas y ahora el sistema arranca! Los registros se pueden ver con journalctl -b.

información relacionada