다시 일어났다! 주기적으로 충돌하는 4 대의 서버가 있으며 시스템 로그 나 직렬 콘솔에 인쇄 된 정보가 없습니다.
또한 Linux kdump 서비스 는 코어 덤프를 기본 위치 인에 쓰지 않습니다 /var/crash
.
- 왜 그런지 알아낼 수 있습니까?
- 루트 파일 시스템이 LVM 볼륨 인 경우 문제가됩니까?
여기 내가 시도한 것이 있습니다.
내 시스템은 최신 커널을 갖춘 Scientific Linux 6.5입니다.
[root@host1 ~]# uname -r 2.6.32-431.11.2.el6.x86_64 [root@host1 ~]# cat /etc/issue Scientific Linux release 6.5 (Carbon)
파일
/etc/kdump.conf
은 기본 설정이 포함 된 바닐라 파일입니다. 대부분의 라인에만 두 개의 활성 라인이있다, 주석 처리path
하고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
나는 수 있도록
kdump
서비스가 실행되고, 그kdump
내를 재 구축 할 필요가 없습니다initrd
.[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 ~]#
그런 다음 RHEL6 배포 가이드 : 29 장 에서 빌린 다음 명령을 사용하여 커널 충돌을 강제합니다 . kdump Crash Recovery Service :
그런 다음 쉘 프롬프트에서 다음 명령을 입력하십시오.
echo 1 > /proc/sys/kernel/sysrq echo c > /proc/sysrq-trigger
Linux 커널이 강제 종료됩니다.
시스템이 충돌합니다. 시리얼 콘솔에서 진행 상황을 볼 수 있습니다. 나는 메시지가 표시
Saving to the local filesystem UUID=e7abcdeb-1987-4c69-a867-fabdceffghi2
하지만, 즉시 그 후 나는의 이상한 메시지가 표시Usage: fsck.ext4
일종의 뭔가 같은 외모의 실수로 호출되고,fsck
이 일을해야 무엇이든 대신합니다. 메모리 부족 오류 또는 기타 언급이 없습니다.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
그런 다음 시스템이 재부팅됩니다 (기본값).
시스템이 다시 온라인 상태가되면에 아무것도 없습니다
/var/crash
. 충돌 덤프가 작성되지 않았다고 가정합니다.[root@host1 ~]# ls -lA /var/crash/ total 0 [root@host1 ~]#
크래시 덤프가 일반적으로 작동 할 수 있다는 것을 알고 있습니다. 내가 말할 경우
kdump
다음과 같은 구성으로 다른 시스템에 코어 덤프를 복사, kdump에 성공적으로 다른 호스트에 코어 덤프를 작성합니다 :path vmcore ssh user@hostb.example.org sshkey /root/.ssh/kdump_id_rsa
내가 설정 한 경우
default shell
에/etc/kdump.conf
다시 나에 대해 조금 더 정보 오류가 initrd를 재 구축하고 시스템을 충돌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 #
그러나 지금, 나는 붙어 있습니다.