kdump adalah mekanisme dump kernel crash di Linux yang memungkinkan Anda menangkap gambar memori (crash dump atau vmcore) ketika kernel mengalami crash. Gambar memori berisi isi dari memori sistem pada saat terjadinya crash untuk membantu Anda menganalisis dan menyelesaikan masalah tersebut. Jika kdump mengalami anomali, mungkin tidak dapat menghasilkan gambar memori. Dalam hal ini, Anda dapat menggunakan alat kdumpctl untuk melihat log boot untuk dump kernel crash dan menganalisis anomali serta penyebab kegagalan pembuatan gambar memori berdasarkan log. Secara default, alat kdumpctl sudah diinstal sebelumnya di Alibaba Cloud Linux 3. Topik ini menjelaskan cara menggunakan alat kdumpctl untuk melihat log boot untuk dump kernel crash pada Instance ECS yang menjalankan Alibaba Cloud Linux 3.
Prasyarat
Sebelum menggunakan alat kdumpctl untuk melihat log boot untuk dump kernel crash pada instance ECS, pastikan bahwa instance dan alat tersebut memenuhi persyaratan berikut:
Instance ECS memiliki lebih dari 2 GB memori.
Instance ECS menjalankan Alibaba Cloud Linux 3 atau Anolis OS 8 dengan versi kernel 5.10.134-14 atau yang lebih baru.
Versi paket kexec-tools adalah 2.0.25.0.2 atau yang lebih baru.
Prosedur
Ikuti langkah-langkah berikut untuk melihat log boot untuk dump kernel crash menggunakan alat kdumpctl:
Jalankan perintah berikut untuk memeriksa status kdump:
sudo kdumpctl statusLakukan langkah-langkah berikut berdasarkan keluaran perintah:
Jalankan perintah berikut untuk memulai kdump:
sudo kdumpctl startKeluaran perintah berikut menunjukkan bahwa kdump telah dimulai:
kdump: kexec: loaded kdump kernel kdump: Starting kdump: [OK]Jalankan perintah berikut untuk memicu crash kernel Linux.
Jika crash kernel terjadi setelah sistem operasi Linux terakhir kali di-restart, lewati langkah ini dan lanjutkan ke Langkah 4.
PeringatanSetelah menjalankan perintah berikut, kernel langsung mengalami crash. Crash kernel menyebabkan pengecualian sistem atau gangguan layanan. Jangan lakukan operasi ini di lingkungan produksi atau pada sistem tempat bisnis berjalan.
echo c | sudo tee /proc/sysrq-triggerPentingSetelah menjalankan perintah di atas, simulator terminal Linux yang Anda gunakan tidak dapat berkomunikasi dengan instance ECS. Sambungkan kembali ke instance ECS untuk melakukan operasi selanjutnya.
Jalankan perintah berikut untuk melihat log boot untuk dump kernel crash:
PentingJalankan perintah
sudo kdumpctl readloghanya setelah restart kernel yang dipicu oleh crash, bukan setelah restart sistem. Log boot yang ingin Anda lihat dengan menjalankan perintah ini disimpan di memori. Jika Anda menjalankan perintah setelah sistem operasi Linux di-restart, keluaran perintah akan kosong.sudo kdumpctl readlogKeluaran perintah berikut dikembalikan:
console log: [ 0.000000] Versi Linux 5.10.134-17.2.al8.x86_64 (mockbuild@h87c01383.na61) (gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3.8 2.32), GNU ld versi 2.35-12.3.al8) #1 SMP Fri Aug 9 15:49:42 CST 2024 [ 0.000000] Baris perintah: BOOT_IMAGE=(hd0,gpt3)/boot/vmlinuz-5.10.134-17.2.al8.x86_64 ro rhgb cgroup.memory=nokmem spec_rstack_overflow=off vring_force_dma_api kfence.sample_interval=100 kfence.booting_max=0-2G:0,2G-32G:2M,32G-:32M preempt=none biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295 cryptomgr.notests rcupdate.rcu_cpu_stall_timeout=300 vring_force_dma_api irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_enormouspage=never nokaslr novmcoredd hest_disable disable_cpu_apicid=0 ramoops.mem_address=0xaf000000 ramoops.mem_size=0x60000 ramoops.console_size=0x48000 ramoops.ttyprobe_size=0x10000 ramoops.ecc=0 ramoops.dump_oops=0 elfcorehdr=3063156K [ 0.000000] x86/fpu: Mendukung fitur XSAVE 0x001: 'register floating point x87' [ 0.000000] x86/fpu: Mendukung fitur XSAVE 0x002: 'register SSE' [ 0.000000] x86/fpu: Mendukung fitur XSAVE 0x004: 'register AVX' [ 0.000000] x86/fpu: Mendukung fitur XSAVE 0x008: 'register batas MPX' ......... ttylog: Selamat datang di Alibaba Cloud Linux 3.2104 U10 (OpenAnolis Edition) dracut-049-228.git20230802.0.1.al8 (Initramfs)! [ OK ] Mendengarkan soket kernel udev. [ OK ] Mencapai target Timer. [ OK ] Mencapai target Perangkat Root Initrd. [ OK ] Mencapai target Sistem File Lokal. [ OK ] Mendengarkan Soket Journal. [ OK ] Memulai Layanan Analisis Memstrack. [ OK ] Mencapai target Swap. [ OK ] Mendengarkan Soket Journal (/dev/log). .........