Prima di iniziare
- Se vuoi registrare l'output della porta seriale in Cloud Logging, acquisisci familiarità con Cloud Logging.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa a come prevedi di utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Kernel panic
Un kernel panic può verificarsi quando il kernel non è in grado di caricare correttamente i moduli initramfs necessari per l'avvio del sistema operativo guest.
Un'altra forma kernel panic può verificarsi in una situazione in cui il kernel non è in grado di gestire una determinata richiesta e si protegge arrestandosi. Un kernel panic può avere luogo su una VM Compute Engine che esegue RedHat, SUSE, CentOS o Ubuntu.
Messaggi di errore comuni
Di seguito sono riportati alcuni degli eventi kernel panic più comuni:
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
Cause comuni
Gli errori di tipo kernel panic possono verificarsi per diversi motivi. Ecco alcuni dei più comuni:
- La voce relativa al file
initramfsche corrisponde al kernel non esiste nel filegrub.cfg. - Il file
initramfsnon viene generato nella directory/bootdurante l'installazione del kernel. - Il file
initramfsviene generato solo parzialmente o è danneggiato.
Sintomi
Un sintomo frequente del verificarsi di un kernel panic nell'istanza di una VM è che il kernel non consente di connettersi alla VM, anche se si utilizza la console seriale.
È necessario controllare i log della console seriale per identificare il kernel caricato dal sistema operativo guest, ad esempio:
[ 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
L'esempio seguente mostra un evento di kernel panic causato da problemi relativi a 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
Risolvi l'errore di tipo kernel panic
Per risolvere l'errore di tipo kernel panic, segui questi passaggi:
Connettiti alla console seriale e accedi alla VM dalla console Google Cloud .
Nella console Google Cloud , fai clic su Reimposta in corrispondenza della VM.
Dopo la visualizzazione della schermata iniziale di GRUB, seleziona il kernel o il kernel di recupero che funzionava prima dell'errore e avvia il sistema. La VM viene avviata con il kernel selezionato.

Quando la VM è accessibile, puoi avviare una connessione SSH alla VM.
Identifica la causa del problema e intervieni di conseguenza.
Ad esempio, se il file
initramfsmanca o è danneggiato, segui questi passaggi:Genera il file
initramfscorrispondente al kernel originale utilizzando il comandodracut:dracut -f /boot/initramfs-KERNEL_VERSION.img KERNEL_VERSION
Sostituisci
KERNEL_VERSIONcon la versione corrente del kernel della VM. Ad esempio,3.10.0-1160.95.1.el7.x86_64.Aggiorna il file
grub2.cfgutilizzando il comandogrub2-mkconfig, ad esempio:grub2-mkconfig -o /boot/grub2/grub.cfg
Dopo aver generato il file
initramfs, la VM può essere avviata senza errori.