Dokumen ini berisi informasi pemecahan masalah tentang VM yang menjadi tidak responsif karena error panic kernel.
Sebelum memulai
- Jika ingin mencatat output port serial ke dalam log di Cloud Logging, pahami Cloud Logging.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
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 2023Periksa juga error kernel panic. Error ini biasanya terlihat pada baris kernel saat VM dimulai atau di akhir log konsol serial dengan beberapa pelacakan panggilan stack.
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
, misalnya:dracut -f /boot/initramfs-3.10.0-1160.95.1.el7.x86_64.img 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.