Resolución de fallos de inicio después de un cambio de unidad en instancias de OCI Linux

Introducción

Este tutorial le guiará a través de la resolución de fallos de inicio en imágenes personalizadas de Oracle Cloud Infrastructure (OCI), que se pueden producir después de un cambio de unidad o incluso un simple reinicio debido a cambios en las asignaciones de dispositivos subyacentes.

Antes de sumergirnos en la solución, primero entendamos qué es una imagen personalizada.

Una imagen personalizada en OCI es una instantánea del volumen de inicio de una instancia que captura la configuración del sistema operativo, el software instalado y la configuración del entorno. Las imágenes personalizadas se suelen utilizar para replicar entornos preconfigurados en varias instancias o regiones, lo que garantiza la coherencia a escala.

Sin embargo, estas imágenes pueden presentar riesgos, especialmente si están estrechamente acopladas al hardware original de la instancia. Si no se ha diseñado teniendo en cuenta la portabilidad, pueden surgir problemas al cambiar las unidades (por ejemplo, al cambiar de una instancia VM.Standard3 a una VM.Standard4), ya que los cambios de hardware subyacentes pueden afectar a la forma en que se asignan los dispositivos.

En este blog se describe un escenario de fallo de inicio real encontrado por un cliente que utiliza una imagen de Rocky Linux de Oracle Cloud Marketplace. Aunque este ejemplo es específico de Rocky Linux, la causa raíz y la resolución se aplican ampliamente a cualquier imagen personalizada basada en Linux que utilice nombres de dispositivos estáticos en su configuración.

Objetivos

Esta guía ayuda a los usuarios de OCI a identificar y resolver fallos de inicio en imágenes personalizadas de Linux causados por cambios de unidad o reinicios, mediante la corrección de configuraciones de montaje y la mejora de la portabilidad de las imágenes.

Requisitos

Tarea 1: Entender el problema

  1. Revisar cómo los cambios en la unidad de OCI afectan a la nomenclatura de dispositivos y hardware subyacente.
  2. Reconocer que los nombres de dispositivos estáticos en /etc/fstab (por ejemplo, /dev/sdX) pueden volverse no válidos después de un cambio de unidad o incluso después de un reinicio.
    • Cuando cambia la unidad, el sistema operativo puede asignar nuevos nombres a los volúmenes en bloque asociados. Por ejemplo, un disco que era /dev/sdb podría aparecer ahora como /dev/sdc.
    • Si /etc/fstab se basa en estos nombres estáticos, es posible que los volúmenes no se puedan montar en el inicio.
    • Para evitar esta situación, utilice identificadores persistentes como las rutas UUID o /dev/disk/by-uuid/ del volumen en /etc/fstab.

Tarea 2: Identificar síntomas y errores

  1. Compruebe los logs del sistema o de la consola serie (journalctl -xb) en busca de errores como:

    • Welcome to emergency mode! After logging in, type “journalctl -xb”...
    • Failed to mount /mnt/data: No such device
    • Duplicate mount point /mnt/data detected
    • Cannot mount /dev/sdX: No such file or directory
    • systemd[1]: Failed to mount /mnt/data.
    • systemd[1]: Dependency failed for Local File Systems.
    • systemd[1]: Job local-fs.target/start failed with result ‘dependency’.

Tarea 3: Iniciar en modo de rescate/emergencia

  1. Acceda a la consola serie de la instancia.
  2. Inicie en modo de rescate o emergencia para realizar diagnósticos y acciones correctivas.

Tarea 4: Identificación de nombres de dispositivos correctos

  1. Ejecute los comandos blkid o lsblk para mostrar los dispositivos de bloque actuales y sus UUID.

Tarea 5: Montaje manual del volumen de inicio

  1. Monte el volumen de inicio con el nombre de dispositivo correcto:

    • mount /dev/sdXn /mnt
    • chroot /mnt

Tarea 6: Editar /etc/fstab

  1. Abra /etc/fstab mediante un editor (por ejemplo, vi /etc/fstab)

    • Sustituya todas las entradas /dev/sdX por los correspondientes valores de UUID persistentes encontrados en blkid.
    • Elimine las entradas de montaje duplicadas. Nota: Esta es una corrección puntual una vez que se utilizan identificadores persistentes, los futuros cambios de unidad no deben causar este problema.

Tarea 7: Salir y reiniciar

  1. Salga del entorno chroot: exit.
  2. Desmonte los volúmenes si es necesario.
  3. Reinicie la instancia.

Consejos de prevención para evitar fallos de inicio después de cambios en la unidad de OCI

  1. Usar Identificadores Persistentes: especifique siempre discos en /etc/fstab mediante UUID= o LABEL= en lugar de nombres de dispositivos como /dev/sdX. Esto garantiza que los puntos de montaje permanezcan consistentes a pesar de los cambios de hardware.
  2. Realizar auditorías blkid: ejecute blkid antes y después de un cambio de unidad para verificar que las asignaciones de dispositivo a UUID sigan siendo correctas.
  3. Copia de seguridad antes de los cambios: realice siempre una copia de seguridad de la instancia o el volumen de inicio antes de realizar modificaciones en la unidad para permitir la recuperación en caso de que se produzcan problemas.
  4. Probar cambios de unidad en no producción: especialmente cuando se utilizan imágenes de marketplace o personalizadas que pueden tener montajes codificados, pruebe primero los cambios de unidad en un entorno que no sea de producción.

Conclusión

Si bien este problema se observó en Rocky Linux, puede afectar potencialmente a cualquier imagen personalizada basada en Linux si no se siguen las mejores prácticas en torno al montaje en disco. La buena noticia es que se trata de una corrección única. Después de actualizar /etc/fstab para utilizar identificadores persistentes como UUID o LABEL, los futuros cambios en la unidad de OCI o incluso los reinicios no deben provocar fallos de inicio. La validación proactiva de la configuración garantiza una transición fluida y fiable entre las distintas unidades.

Acuses de recibo

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.