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.
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.
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
.
Antes de empezar
- El sistema operativo de la instancia debe configurarse para que genere un archivo de volcado de memoria.
- La instancia debe estar en el estado En ejecución. Para obtener más información, consulte Parada, inicio o reinicio de una instancia.
- No hay acciones en curso que afecten a la instancia, como volúmenes en bloque o VNIC secundarias en el proceso de asociación o desasociación.
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
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.
- 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.
- 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.
- Se conectará a la instancia.
- Instale y configure el núcleo de captura de volcado:
- Instale
kdump
ykexec
ejecutando el siguiente comando:sudo yum install kexec-tools
- Reserve la memoria en el núcleo para guardar el volcado de memoria. Haga lo siguiente:
- Abra el archivo
etc/default/grub
en un editor de texto. - En la línea que comienza por
GRUB_CMDLINE_LINUX_DEFAULT
, agregue el parámetrocrashkernel=<memory-to-reserve>
. Por ejemplo, para reservar 100 MB, agreguecrashkernel=100M
. - Guarde los cambios y cierre el archivo.
- Recree el archivo GRUB ejecutando el siguiente comando:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- Abra el archivo
- Instale
- 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
- 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:
- Se conectará a la instancia.
- Descargue Oracle VirtIO Drivers for Microsoft Windows.
- 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
- Abra el menú de navegación y seleccione Recursos informáticos. En Recursos informáticos, seleccione Instancias.
- Haga clic en la instancia en la que está interesado.
-
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. -
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.
- 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
. - Oracle Linux 8: guardado en
- Instancias de Windows: el volcado de memoria se guarda en
%SystemRoot%memory.dmp
. En la mayoría de los sistemas Windows, esC:\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.