Dokumen ini berisi informasi pemecahan masalah tentang VM yang menjadi tidak responsif karena error kernel panic.
Sebelum memulai
- Jika ingin mencatat output port serial ke dalam log di Cloud Logging, pahami Cloud Logging.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
-
Kernel panic
Kernel panic dapat terjadi saat kernel tidak dapat memuat modul initramfs
dengan benar, yang diperlukan agar OS tamu dapat melakukan booting.
Bentuk lain dari kernel panic dapat terjadi jika kernel tidak tahu cara menangani permintaan tertentu dan melindungi dirinya sendiri dengan berhenti. Kernel panic dapat terjadi pada VM Compute Engine yang menjalankan RedHat, SUSE, CentOS, atau Ubuntu.
Pesan error umum
Di bawah ini adalah beberapa peristiwa kernel panic yang paling umum sebagai referensi:
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
Penyebab umum
Error kernel panic dapat terjadi karena berbagai alasan. Beberapa alasan umumnya adalah:
- Entri terkait file
initramfs
yang sesuai dengan kernel tidak ada dalam filegrub.cfg
. - File
initramfs
tidak dibuat dalam direktori/boot
selama penginstalan kernel. - File
initramfs
hanya dibuat sebagian atau rusak.
Gejala
Ketika Anda mengalami kernel panic pada instance VM, gejala umumnya adalah kernel tidak mengizinkan Anda terhubung ke VM, meskipun saat menggunakan konsol serial.
Anda harus memeriksa log konsol serial untuk mengidentifikasi kernel yang dimuat oleh OS tamu, misalnya:
[ 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
Contoh berikut menunjukkan peristiwa kernel panic karena masalah 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
Mengatasi error kernel panic
Untuk mengatasi error kernel panic, lakukan langkah-langkah berikut:
Hubungkan ke konsol serial dan login ke VM dari Konsol Google Cloud.
Klik Reset untuk VM di Konsol Google Cloud.
Setelah layar pembuka GRUB muncul, pilih kernel yang sebelumnya berfungsi atau kernel rescue, lalu booting sistem. Tindakan ini menyebabkan VM dimulai dengan kernel yang dipilih.
Ketika VM dapat diakses, Anda dapat memulai koneksi SSH ke VM.
Mengidentifikasi penyebab masalahnya dan mengambil tindakan yang sesuai.
Misalnya, jika file
initramfs
tidak ada atau rusak, selesaikan langkah-langkah berikut:Buat file
initramfs
yang sesuai dengan kernel asli menggunakan perintahdracut
:dracut -f /boot/initramfs-
KERNEL_VERSION .imgKERNEL_VERSION Ganti
KERNEL_VERSION
dengan versi kernel VM saat ini. Contoh,3.10.0-1160.95.1.el7.x86_64
.Update file
grub2.cfg
menggunakan perintahgrub2-mkconfig
, misalnya:grub2-mkconfig -o /boot/grub2/grub.cfg
Setelah file
initramfs
dibuat, Anda dapat memulai ulang VM tanpa error.