Envío de una interrupción de diagnóstico

Puede enviar una interrupción de diagnóstico para solucionar los problemas de una instancia informática de máquina virtual (VM) inaccesible o que no responde.

Atención

Esta función es para usuarios avanzados. El envío de una interrupción de diagnóstico a un sistema activo puede dañar los datos o provocar un fallo del sistema.

Una interrupción de diagnóstico provoca que el sistema operativo falle o se reinicie. Antes de enviar una interrupción de diagnóstico, debe configurar el sistema operativo para que genere un volcado de memoria (también llamado archivo de volcado de memoria) cuando el sistema falle. El volcado de memoria captura información sobre el estado del sistema operativo en el momento del fallo. Una vez que se haya reiniciado el sistema operativo, puede analizar el volcado de memoria para identificar y depurar el problema.

Consejo

Para obtener más información sobre la resolución de problemas mediante volcados por caída, consulte: Recopilación de volcados por caída mediante la utilidad Kdump.

Política de IAM necesaria

Para utilizar Oracle Cloud Infrastructure, un administrador debe ser miembro de un grupo al que un administrador de arrendamiento haya otorgado acceso de seguridad en una política . Este acceso es necesario tanto si utiliza la Consola como la API de REST con un SDK, una CLI u otra herramienta. Si recibe un mensaje que indica que no tiene permiso o no está autorizado, verifique con el administrador del arrendamiento el tipo de acceso que tiene y en qué compartimento trabaja el acceso.

Para administradores: la política de Permitir que los usuarios inicien instancias de Compute incluye la capacidad de enviar una interrupción de diagnóstico a una instancia. Si el grupo especificado no necesita iniciar instancias o asociar volúmenes, puede simplificar esa política para que solo incluya manage instance-family y elimine las sentencias que involucran volume-family y virtual-network-family.

Si no está nuevo en las políticas, consulte Gestión de dominios de identidad y Políticas comunes. Para obtener material de referencia sobre políticas de escritura para instancias, redes en la nube u otros recursos de la API de servicios básicos, consulte Detalles de los servicios básicos.

Configuración del sistema operativo para que genere un volcado de memoria

Antes de enviar una interrupción de diagnóstico, debe configurar el sistema operativo para que genere un volcado de memoria cuando el sistema falle. La interrupción de diagnóstico se recibe como una interrupción no enmascarable (NMI) en la instancia de destino.

Los pasos dependen del sistema operativo.

Linux

Nota

En las imágenes de plataforma de Oracle Linux, el sistema operativo está completamente configurado o parcialmente configurado para generar un volcado de memoria, en función de la fecha de publicación de la imagen.

Oracle Linux 8
  • Imágenes publicadas a partir de agosto de 2020: la imagen está completamente configurada para generar un volcado de memoria.
  • Imágenes anteriores: el núcleo de captura de volcado está instalado y configurado, pero debe realizar los demás pasos de configuración.
Oracle Linux 7
  • Imágenes publicadas a partir de agosto de 2020: la imagen está completamente configurada para generar un volcado de memoria.
  • Imágenes anteriores: el núcleo de captura de volcado está instalado y configurado, pero debe realizar los demás pasos de configuración.
  1. Se conectará a la instancia.
  2. Instale y configure el núcleo de captura de volcado:
    1. Instale kdump y kexec ejecutando el siguiente comando:
      sudo yum install kexec-tools
    2. Reserve la memoria en el núcleo para guardar el volcado de memoria. Haga lo siguiente:
      1. Abra el archivo etc/default/grub en un editor de texto.
      2. En la línea que comienza por GRUB_CMDLINE_LINUX_DEFAULT, agregue el parámetro crashkernel=<memory-to-reserve>. Por ejemplo, para reservar 100 MB, agregue crashkernel=100M.
      3. Guarde los cambios y cierre el archivo.
      4. Recree el archivo GRUB ejecutando el siguiente comando:
        sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. Configure el núcleo para que falle cuando reciba una interrupción de diagnóstico. Para ello, abra el archivo /etc/sysctl.conf en un editor de texto y agregue la siguiente línea:
    kernel.unknown_nmi_panic=1
  4. Aplique el cambio a /etc/sysctl.conf ejecutando el siguiente comando:
    sysctl -p

Windows Server - Imagen de plataforma

Si utiliza una imagen de plataforma de Windows Server publicada a partir de abril de 2020, la imagen ya está configurada para generar un volcado de memoria.

Si utiliza una imagen publicada antes de abril de 2020, haga lo siguiente:

  1. Se conectará a la instancia.
  2. Descargue Oracle VirtIO Drivers for Microsoft Windows.
  3. Instale los controladores y, a continuación, reinicie la instancia.

Windows Server: imagen proporcionada por el cliente

Consulte la documentación de terceros sobre el sistema operativo para obtener más información.

Envío de una interrupción de diagnóstico

Después de configurar el sistema operativo de la instancia para que genere un volcado de memoria cuando el sistema falle, utilice los siguientes procedimientos para enviar una interrupción de diagnóstico.

Para enviar una interrupción de diagnóstico mediante la consola

  1. Abra el menú de navegación y seleccione Recursos informáticos. En Recursos informáticos, seleccione Instancias.
  2. Haga clic en la instancia en la que está interesado.
  3. Haga clic en Más acciones y, a continuación, en Enviar interrupción de diagnóstico.

    Atención

    El envío de una interrupción de diagnóstico a un sistema activo puede dañar los datos o provocar un fallo del sistema.
  4. Revise el mensaje de confirmación y, a continuación, haga clic en Enviar interrupción de diagnóstico.

    El estado del ciclo de vida que aparece en la consola permanece como En ejecución mientras el sistema operativo de la instancia falla y se reinicia. No envíe varias interrupciones de diagnóstico.

  5. Espere varios minutos para que el sistema operativo de la instancia se reinicie y, a continuación, conéctese a la instancia. Ahora puede recuperar y analizar el volcado de memoria.

Para enviar una interrupción de diagnóstico mediante la API

Utilice la operación InstanceAction, transfiriendo el valor SENDDIAGNOSTICINTERRUPT como la acción que se va a realizar.

Análisis de un volcado de memoria

El volcado de memoria se guarda a nivel local en el sistema operativo de la instancia.

  • Instancias de Linux: la ubicación por defecto en la que se guarda el volcado de memoria depende del sistema operativo.

    • Oracle Linux 8: guardado en /var/oled/crash.
    • Oracle Linux 7: para imágenes de plataforma publicadas a partir de marzo de 2021, guardadas en /var/crash. Para imágenes de plataforma antiguas, guardadas en /var/oled/crash.
    • Otros sistemas operativos similares a Linux y UNIX: guardados en /var/crash/.

    Para cambiar la ubicación, modifique el archivo /etc/kdump.conf.

  • Instancias de Windows: el volcado de memoria se guarda en %SystemRoot%memory.dmp. En la mayoría de los sistemas Windows, es C:\Windows\memory.dmp.

Para analizar el volcado de memoria, utilice una herramienta de terceros, como la utilidad crash en instancias de Linux o WinDbg en instancias de Windows.