En este documento, se incluye información sobre la solución de problemas sobre una VM que no responde debido a un error irrecuperable del kernel.
Antes de comenzar
- Si deseas registrar la salida del puerto en serie en Cloud Logging, familiarízate con Cloud Logging.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- La entrada relacionada con el archivo
initramfs
que corresponde al kernel no existe en el archivogrub.cfg
. - El archivo
initramfs
no se genera en el directorio/boot
durante la instalación del kernel. - El archivo
initramfs
solo se genera parcialmente o está dañado. Conéctate a la consola en serie y accede a la VM desde la consola de Google Cloud.
Haz clic en Restablecer para la VM en la consola de Google Cloud.
Después de que aparezca la pantalla de presentación de GRUB, selecciona el kernel que funcionaba antes o el kernel de recuperación y, luego, inicia el sistema. Esto hace que la VM comience con el kernel seleccionado.
Cuando se puede acceder a la VM, puedes iniciar una conexión SSH a la VM.
Identifica la causa del problema y toma las medidas necesarias.
Por ejemplo, si falta el archivo
initramfs
o está dañado, completa los siguientes pasos:Genera el archivo
initramfs
correspondiente al kernel original mediante el comandodracut
, por ejemplo:dracut -f /boot/initramfs-3.10.0-1160.95.1.el7.x86_64.img 3.10.0-1160.95.1.el7.x86_64
Actualiza el archivo
grub2.cfg
con el comandogrub2-mkconfig
, por ejemplo:grub2-mkconfig -o /boot/grub2/grub.cfg
Después de generar el archivo
initramfs
, puedes reiniciar la VM sin ningún error.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Error irrecuperable del kernel
Un error irrecuperable del kernel puede ocurrir cuando el kernel no puede cargar correctamente los módulos
initramfs
, que son necesarios para que se inicie el SO invitado.Otra forma de error irrecuperable del kernel puede ocurrir en una situación en la que el kernel no sabe cómo manejar una solicitud determinada y se protege mediante la detención. El error irrecuperable del kernel puede ocurrir en una VM de Compute Engine que ejecuta Red Hat, SUSE, CentOS o Ubuntu.
Mensajes de error comunes:
A continuación, se muestran algunos de los eventos de error irrecuperables del kernel más habituales como referencia:
Kernel panic - not syncing: hung_task: blocked tasks
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Kernel panic - not syncing: NMI: Not continuing
Kernel panic - not syncing: out of memory. panic_on_oom is selected
Kernel panic - not syncing: Fatal Machine check
Causas habituales
El error irrecuperable del kernel puede ocurrir por varios motivos. A continuación, se muestran algunos de los motivos más habituales:
Síntomas
Cuando experimentas un error irrecuperable del kernel en una instancia de VM, un síntoma común es que el kernel no te permite conectarte a la VM, incluso cuando se usa la consola en serie.
Debes verificar los registros de la consola en serie para identificar el kernel que cargó el SO invitado, por ejemplo:
Verifica también el error irrecuperable del kernel. Por lo general, este error se ve en la línea del kernel cuando se inicia la VM o al final de los registros de la consola en serie con varias trazas de llamadas de pila.[ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 3.10.0-1160.95.1.el7.x86_64 (mockbuild@x86-vm-42.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Aug 10 10:46:21 EDT 2023
En el siguiente ejemplo, se muestra un evento de error irrecuperable del kernel debido a problemas de
initramfs
:[ 1.520840] No filesystem could mount root, tried: [ 1.520840] [ 1.521964] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 1.523495] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.10.0-1160.95.1.el7.x86_64 #1 [ 1.524932] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022 [ 1.526901] Call Trace: [ 1.527421] dump_stack+0x41/0x60 [ 1.527978] panic+0xe7/0x2ac [ 1.528578] mount_block_root+0x2be/0x2e6 [ 1.529693] ? do_early_param+0x95/0x95 [ 1.530441] prepare_namespace+0x135/0x16b [ 1.531237] kernel_init_freeable+0x203/0x22d [ 1.532081] ? rest_init+0xaa/0xaa [ 1.532808] kernel_init+0xa/0x103 [ 1.533395] ret_from_fork+0x35/0x40 [ 1.535229] Kernel Offset: 0x23a00000 from 0xffffffff81000000
Resuelve el error irrecuperable del kernel
Para resolver error irrecuperable del kernel, sigue estos pasos:
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-21 (UTC)
-