Hướng dẫn sử dụng Kdump để tìm nguyên nhân lỗi Kernel Panic

Khi máy chủ bị lỗi lỗi kernel panic, hệ điều hành sẽ bị crash đột ngột. Lúc này việc kiểm tra trạng thái lúc máy chủ gặp sự cố rất khó khăn bởi máy chủ đã bị crash và không thao tác được, hoặc phải reboot.

kernel-panic

Kdump là tính năng của kernel Linux được sử dụng để chụp lại trạng thái của hệ thống khi kernel bị crash. Để bật kdump, chúng ta cần cấp cho nó một lượng RAM vật lý cố định, nó sẽ dùng để chứa các thông tin khi kernel bị panic hoặc crash.

Khi kernel bị crash hoặc panic, nó sẽ gọi kexec(kdump kernel) , các thông tin về các vùng nhớ RAM, SWAP đang sử dụng sẽ được copy vào file vmcore , được lưu vào ổ đĩa của máy chủ hoặc lưu qua mạng tùy vào cấu hình kdump mà chúng ta chỉ định.

Bằng cách phân tích các file dump này, chúng ta có thể tìm ra nguyên nhân dẫn đến kernel bị panic hoặc crash. Hoặc chúng ta cũng có thể gởi file dump này cho các chuyên gia để họ phân tích lỗi.

Bài viết này sẽ hướng dẫn các bạn cài đặt và cấu hình kdump trên CentOS 7

Bước 1: Cài đặt kexec-tools

Sử dụng lệnh yum để cài đặt:

[root@123host ~]# yum install kexec-tools

Bước 2: Sử file grub2 để khai báo RAm sử dụng cho Kdump kernel

 

Sử file /etc/default/grub , tại dòng crashkernel=<RAM_CAN_KHAI_BAO> . Tại đây khai báo là 128M

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=128M vconsole.keymap=us rhgb quiet"

grub-kdump

Chạy lệnh sau để hệ thống tại lại file grub2

[root@123host ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

Thực hiện reboot lại máy chủ để kernel

[root@123host ~]# reboot

Bước 3: Khởi động dịch vụ kdump

[root@123host ~]# systemctl start kdump.service
[root@123host ~]# systemctl enable kdump.service

Bước 4: Test kdump xem có hoạt động tốt hay không

Bước này sẽ thử làm crash hệ thống, tuy nhiên trước khi thực hiện, cần kiểm tra kdump có hoạt động hay chưa:

[root@123host]# systemctl is-active kdump.service
[root@123host]# service kdump status

Để làm hệ thống crash, thực hiện lệnh sau:

[root@cloud ~]# echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger

Sau khi  hệ thống crash và khởi động lại, chúng ta sẽ thấy file dump tại /var/crash/ 

dump-crash

Chúc các bạn thành công!

Rate This Article

Leave A Comment?