Nó lại xảy ra! Tôi có 4 máy chủ bị sập định kỳ và không có thông tin nào được in vào nhật ký hệ thống hoặc bảng điều khiển nối tiếp.
Ngoài ra, dịch vụ kdump của Linux không ghi các kết xuất lõi đến vị trí mặc định của /var/crash
.
- Bạn có thể giúp tôi tìm hiểu tại sao?
- Có vấn đề gì không nếu hệ thống tập tin gốc của tôi là một khối LVM?
Đây là những gì tôi đã thử.
Hệ thống của tôi là Science Linux 6.5 với kernel mới nhất.
[root@host1 ~]# uname -r 2.6.32-431.11.2.el6.x86_64 [root@host1 ~]# cat /etc/issue Scientific Linux release 6.5 (Carbon)
Tệp
/etc/kdump.conf
này là tệp vanilla chứa các cài đặt mặc định. Hầu hết các dòng được nhận xét, chỉ có hai dòng hoạt động chopath
vàcore_collector
.#net my.server.com:/export/tmp #net user@my.server.com path /var/crash core_collector makedumpfile -c --message-level 1 -d 31 #core_collector scp
Tôi đảm bảo rằng
kdump
dịch vụ đang chạy vàkdump
không cần phải xây dựng lạiinitrd
.[root@host1 ~]# chkconfig --list kdump kdump 0:off 1:off 2:off 3:on 4:on 5:on 6:off [root@host1 ~]# /etc/init.d/kdump restart Stopping kdump: [ OK ] Starting kdump: [ OK ] [root@host1 ~]#
Sau đó, tôi buộc một sự cố Kernel sử dụng các lệnh này được mượn từ Hướng dẫn triển khai RHEL6: Chương 29. Dịch vụ khôi phục sự cố kdump :
Sau đó nhập các lệnh sau tại dấu nhắc shell:
echo 1 > /proc/sys/kernel/sysrq echo c > /proc/sysrq-trigger
Điều này sẽ buộc nhân Linux bị sập
Hệ thống gặp sự cố. Tôi có thể xem tiến trình trên bàn điều khiển nối tiếp của tôi. Tôi thấy tin nhắn
Saving to the local filesystem UUID=e7abcdeb-1987-4c69-a867-fabdceffghi2
, nhưng ngay sau đó tôi thấy tin nhắn lạUsage: fsck.ext4
, trông giống như một thứ gì đó đang vô tình gọifsck
thay vì bất cứ điều gì nó nên làm. Tôi không thấy đề cập đến lỗi hết bộ nhớ hoặc bất cứ điều gì.host1.example.org login: SysRq : Trigger a crash BUG: unable to handle kernel NULL pointer dereference at (null) ... ... skipping 50 lines of output ... Creating block device ram8 Creating block device ram9 Creating Remain Block Devices Making device-mapper control node Scanning logical volumes Reading all physical volumes. This may take a while... No volume groups found No volume groups found Activating logical volumes No volume groups found No volume groups found Free memory/Total memory (free %): 58272 / 116616 ( 49.9691 ) Saving to the local filesystem UUID=e7abcdeb-1987-4c69-a867-fabdceffghi2 Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize] [-I inode_buffer_blocks] [-P process_inode_size] [-l|-L bad_blocks_file] [-C fd] [-j external_journal] [-E extended-options] device Emergency help: -p Autom
Và sau đó hệ thống khởi động lại (đó là mặc định).
Khi hệ thống trở lại trực tuyến, không có gì trong
/var/crash
. Tôi cho rằng bãi rác không được viết.[root@host1 ~]# ls -lA /var/crash/ total 0 [root@host1 ~]#
Tôi biết rằng các bãi đổ vỡ có thể làm việc nói chung. Nếu tôi yêu
kdump
cầu sao chép kết xuất lõi sang hệ thống khác với cấu hình sau, kdump sẽ ghi thành công kết xuất lõi vào máy chủ khác:path vmcore ssh user@hostb.example.org sshkey /root/.ssh/kdump_id_rsa
Nếu tôi đặt
default shell
ở/etc/kdump.conf
và xây dựng lại initrd, và sau đó sụp đổ hệ thống một lần nữa tôi nhận được một lỗi hơi nhiều thông tin thêm vềmount: can't find /mnt in /etc/fstab
Free memory/Total memory (free %): 58272 / 116616 ( 49.9691 ) Saving to the local filesystem UUID=e720481b-1987-4c69-a867-f2b4cba3b312 Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize] [-I inode_buffer_blocks] [-P process_inode_size] [-l|-L bad_blocks_file] [-C fd] [-j external_journal] [-E extended-options] device Emergency help: -p Automatic repair (no questions) -n Make no changes to the filesystem -y Assume "yes" to all questions -c Check for bad blocks and add them to the badblock list -f Force checking even if filesystem is marked clean -v Be verbose -b superblock Use alternative superblock -B blocksize Force blocksize when looking for superblock -j external_journal Set location of the external journal -l bad_blocks_file Add to badblocks list -L bad_blocks_file Set badblocks list mount: can't find /mnt in /etc/fstab dropping to initramfs shell exiting this shell will reboot your system /sys/block #
Nhưng bây giờ, tôi bị mắc kẹt.