Antes de começar
- Para registrar a saída da porta serial no Cloud Logging, familiarize-se com o Cloud Logging.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Kernel panic
Um kernel panic pode acontecer quando o kernel não consegue carregar os módulos initramfs
corretamente, que são necessários para a inicialização do SO convidado.
Outra forma de kernel panic pode ocorrer em uma situação em que o kernel não sabe como processar uma determinada solicitação e se protege com uma interrupção. O kernel panic pode acontecer em uma VM do Compute Engine que executa RedHat, SUSE, CentOS ou Ubuntu.
Mensagens de erro comuns
Estes são alguns dos eventos kernel panic mais comuns para referência:
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 comuns
O erro kernel panic pode ocorrer por vários motivos. Alguns dos motivos comuns são:
- A entrada relacionada ao arquivo
initramfsque corresponde ao kernel não existe no arquivogrub.cfg. - O arquivo
initramfsnão é gerado no diretório/bootdurante a instalação do kernel. - O arquivo
initramfssó é gerado parcialmente ou está corrompido.
Sintomas
Quando você tem kernel panic em uma instância de VM, um sintoma comum é que o kernel não permite que você se conecte à VM, mesmo ao usar o console serial.
É preciso verificar os registros do console serial para identificar o kernel que foi carregado pelo SO convidado como, por exemplo:
[ 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
O exemplo abaixo mostra um evento kernel panic devido 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
Resolver o erro kernel panic
Para resolver o erro kernel panic, siga estas etapas:
Conecte-se ao console serial e faça login na VM no console do Google Cloud .
Clique em Redefinir para a VM no console do Google Cloud .
Depois que a tela de apresentação do GRUB for exibida, selecione o kernel anterior ou o de resgate e inicialize o sistema. Isso faz com que a VM seja iniciada com o kernel selecionado.

Quando a VM estiver acessível, será possível iniciar uma conexão SSH com ela.
Identifique a causa do problema e tome as medidas necessárias.
Por exemplo, se o arquivo
initramfsestiver ausente ou corrompido, siga as etapas a seguir:Gere o arquivo
initramfscorrespondente ao kernel original usando o comandodracut:dracut -f /boot/initramfs-KERNEL_VERSION.img KERNEL_VERSION
Substitua
KERNEL_VERSIONpela versão atual do kernel da VM. Por exemplo,3.10.0-1160.95.1.el7.x86_64.Atualize o arquivo
grub2.cfgusando o comandogrub2-mkconfig, por exemplo:grub2-mkconfig -o /boot/grub2/grub.cfg
Depois que o arquivo
initramfsfor gerado, será possível reiniciar a VM sem nenhum erro.