Este documento inclui informações sobre solução de problemas sobre uma VM que não responde devido a erros de kernel panic.
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.
A autenticação é
o processo de verificação da 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 da seguinte maneira.
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.
- A entrada relacionada ao arquivo
initramfs
que corresponde ao kernel não existe no arquivogrub.cfg
. - O arquivo
initramfs
não é gerado no diretório/boot
durante a instalação do kernel. - O arquivo
initramfs
só é gerado parcialmente ou está corrompido. 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
initramfs
estiver ausente ou corrompido, siga as etapas a seguir:Gere o arquivo
initramfs
correspondente ao kernel original usando o comandodracut
, por exemplo:dracut -f /boot/initramfs-3.10.0-1160.95.1.el7.x86_64.img 3.10.0-1160.95.1.el7.x86_64
Atualize o arquivo
grub2.cfg
usando o comandogrub2-mkconfig
, por exemplo:grub2-mkconfig -o /boot/grub2/grub.cfg
Depois que o arquivo
initramfs
for gerado, será possível reiniciar a VM sem nenhum erro.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte 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:
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:
Confira também o erro kernel panic. Esse erro normalmente é visto na linha do kernel quando a VM é iniciada ou na finalização dos registros do console serial com vários rastros de chamada de múltiplas pilhas:[ 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:
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-11-21 UTC.
-