Kdump adalah fitur kernel yang digunakan untuk menangkap crash dump ketika sistem atau kernel crash. Untuk mengaktifkan kdump kita harus mencadangkan sebagian dari RAM fisik yang akan digunakan untuk mengeksekusi kernel kdump jika kernel panik atau crash.
Ketika kernel crash atau kernel panic terjadi, maka menjalankan kernel menjalankan 'kexec(kdump kernel) ' dan itu memuat kernel kdump dari memori cadangan dan kemudian isi RAM dan Swap disalin ke file vmcore baik di disk lokal atau di disk jarak jauh dan akhirnya reboot kotak.
Dengan menganalisis crash dump, kita dapat menemukan alasan atau akar kasus kegagalan sistem. Jika Anda memiliki dukungan OS, Anda dapat membagikan crash dump ke vendor untuk dianalisis.
Pada artikel ini kami akan mendemonstrasikan cara mengaktifkan kdump di RHEL 7 dan CentOS 7
Langkah:1 Instal 'kexec-tools' menggunakan perintah yum
Gunakan perintah yum di bawah ini untuk menginstal paket 'kexec-tools' jika belum diinstal.
[[email protected] ~]# yum install kexec-tools
Langkah:2 Perbarui file GRUB2 ke Memori Cadangan untuk kernel Kdump
Edit file GRUB2 (/etc/default/grub ), tambahkan parameter ‘crashkernel=
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=128M vconsole.keymap=us rhgb quiet"
Jalankan perintah di bawah ini untuk membuat ulang konfigurasi grub2.
[[email protected] ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Untuk firmware UEFI, gunakan perintah di bawah ini
[[email protected] ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Perintah di atas akan menginformasikan bootlaoder untuk memesan 128 MB RAM setelah reboot.
Reboot kotak sekarang menggunakan perintah di bawah ini:
[[email protected] ~]# shutdown -r now
Langkah:3 Perbarui lokasi dump &tindakan default dalam file (/etc/kdump.conf)
Untuk menyimpan file crash dump atau vmcore pada sistem file lokal, edit file ‘/etc/kdump.conf ' dan tentukan lokasi sesuai pengaturan Anda. Dalam kasus saya, saya menggunakan sistem file lokal yang terpisah ( /var/crash ). Disarankan bahwa ukuran sistem file harus setara dengan ukuran RAM sistem Anda atau sistem file harus memiliki ruang kosong yang setara dengan ukuran RAM. Kdump memungkinkan untuk mengompresi data dump menggunakan opsi 'core collector' (core_collector makedumpfile -c ) di mana -c digunakan untuk kompresi.
Jika kdump gagal menyimpan file dump ke lokasi yang ditentukan maka tindakan default akan dilakukan yang disebutkan dalam arahan default. Dalam kasus saya, tindakan default adalah reboot.
Perbarui tiga arahan di bawah ini dalam file kdump.conf.
[[email protected] ~]# vi /etc/kdump.confpath /var/crashcore_collector makedumpfile -cdefault reboot
Opsi Berbeda untuk menyimpan dump :
Langkah:4 Mulai dan aktifkan layanan kdump
[[email protected] ~]# systemctl start kdump.service[[email protected] ~]# systemctl enable kdump.service[[email protected] ~]#
Langkah:5 Sekarang Uji Kdump dengan merusak sistem secara manual
Sebelum merusak sistem Anda, harap verifikasi apakah layanan kdump berjalan atau tidak menggunakan perintah di bawah ini.
[[email protected] crash]# systemctl is-active kdump.service[[email protected] crash]# status kdump layanan
Untuk menguji konfigurasi kdump kami, kami akan secara manual merusak sistem kami dengan perintah di bawah ini.
[[email protected] ~]# echo 1> /proc/sys/kernel/sysrq; echo c> /proc/sysrq-trigger
Ini akan membuat file crash dump (vmcore ) di bawah ‘/var/crash ' sistem file.
[[dilindungi email] ~]# ls -lR /var/crash/var/crash:total 0drwxr-xr-x. 2 root root 42 Mar 4 03:02 127.0.0.1-2016-03-04-03:02:17/var/crash/127.0.0.1-2016-03-04-03:02:17:total 135924-rw- ------. 1 root root 139147524 4 Mar 03:02 vmcore-rw-r--r--. 1 root root 35640 4 Mar 03:02 vmcore-dmesg.txt[[email protected] ~]#
Langkah:6 Gunakan perintah 'crash' untuk menganalisis dan men-debug crash dump
Crash adalah utilitas atau perintah untuk men-debug dan menganalisis file crash dump atau vmcore.
Untuk menggunakan crash, pastikan dua paket diinstal:‘crash &kernel-debuginfo ‘
[[email protected] ~]# yum install crash
Untuk menginstal paket 'kernel-debuginfo', pertama-tama aktifkan debug repo. Edit file repo /etc/yum.repos.d/CentOS-Debuginfo.repo
ubah 'enbled=0' menjadi 'enabled=1'
[[email protected] ~]# yum install kernel-debuginfo
Setelah kernel-debuginfo diinstal, kemudian coba jalankan perintah crash di bawah ini, itu akan memberi kita prompt crash di mana kita dapat menjalankan perintah untuk menemukan info proses, daftar file yang terbuka ketika sistem mengalami crash.
[[email protected] ~]# crash /var/crash/127.0.0.1-2016-03-04-14\:20\:06/vmcore /usr/lib/debug/lib/modules/`uname - r`/vmlinuxcrash>
Ketik ‘ps ' perintah untuk membuat daftar Proses yang sedang berjalan ketika sistem mengalami crash.
crash> ps
Untuk melihat file yang terbuka saat sistem mogok, ketik perintah 'file' pada prompt kerusakan.
Ketik perintah 'sys' untuk membuat daftar info sistem saat mogok.
crash> sys KERNEL:/usr/lib/debug/lib/modules/3.10.0-327.10.1.el7.x86_64/vmlinux DUMPFILE:/var/crash/127.0.0.1-2016-03-04-14 :20:06/vmcore CPU:1 TANGGAL:Jum 4 Mar 14:20:01 2016 UPTIME:00:02:00 RATA-RATA BEBAN:0,75, 0,48, 0,19 TUGAS:115 NAMA NODE:cloud.linuxtechi.com RELEASE:3.10.0- 327.10.1.el7.x86_64 VERSI:#1 SMP Sel 16 Feb 17:03:50 UTC 2016 MESIN:x86_64 (2388 Mhz) MEMORY:2 GB PANIC:"SysRq :Trigger a crash"crash>
Untuk mendapatkan bantuan perintah apa pun pada prompt kerusakan, ketik 'help
Demikian artikel ini, jangan ragu untuk membagikannya jika Anda menikmatinya.
Baca Juga : Cara Memasang ownCloud di CentOS 7