RAID를 루트로 사용하려고 하면 시스템 패닉이 발생합니다.
패닉 직전에 커널 출력을 읽고 싶지만 위로 스크롤할 수 없습니다. 인터넷 검색을 조금 한 후 netconsole을 사용해 보고 싶었습니다. 하지만 두 번째 컴퓨터에서는 전혀 출력이 나오지 않습니다.
현재 grub.conf의 관련 부분
title Gentoo Linux 3.0.6
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo root=/dev/md3
title Gentoo Linux 3.0.6 (debug netconsole)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=@/,[email protected]/00:18:f3:a8:09:61
#kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 [email protected]/eth0,[email protected]/00:18:f3:a8:09:61
title Gentoo Linux 3.0.6 (no root/auto root)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo
- 커널 패닉으로 인해 첫 번째 실패
- 두 번째는 내가 netconsole을 사용하려고하는 것입니다
- 세 번째가 시작되지만 잘못된/이전 루트를 사용합니다.
다른 컴퓨터는 내가 시작한 Kubuntu LiveCD를 실행하고 있습니다 nc -u -l 6666
. 그리고 세 번째 grub 옵션을 사용하여 (첫 번째) 컴퓨터를 시작하면 두 번째 컴퓨터와 통신하도록
실행할 수 있습니다 .nc -u 192.168.0.27 6666
/boot/linux-3.0.6-gentoo
과 의 차이점은 다음 /boot/linux-3.0.6-gentoo-debug
을 활성화했다는 것입니다.
- 커널 해킹 -> 커널 디버깅
- 커널 해킹 -> 각 부팅 printk 메시지를 N밀리초씩 지연
- 장치 드라이버 -> 네트워크 장치 지원 -> 네트워크 콘솔 로깅 지원
질문
- 내 (2차) grub 구성이 올바르게 정의되어 있습니까?
- 활성화해야 하는 커널 구성 옵션이 더 있습니까?
- 세부 정보를 제공해야 하는 특정 기계 하드웨어에 대한 추가 정보가 있습니까?
- 패닉이 발생한 후 다시 위로 스크롤할 수 있는 방법이 있나요?
답변1
3.5.0 커널을 사용하는 젠투에서도 같은 문제가 발생했습니다. 어떤 온라인 예를 사용해도 다음 명령을 실행할 때까지 클라이언트에 출력이 전달되지 않았습니다.
dmesg -n 7
나는 원래 시도했다
dmesg -n 8
커널 문서에서 제안되었지만 반환된 내용은 다음과 같습니다.
localhost ~ # dmesg -n 8 dmesg: 알 수 없는 레벨 '8'
dmesg -n 7이 작동한 곳
localhost ~ # dmesg -n 7 localhost ~ # 에코 확인 > /sys/block/md0/md/sync_action
클라이언트에서 얻은 내용은 다음과 같습니다.
데이터 저장소1 ~ # nc -l -p 30000 -u [ 9698.913098] md: RAID 어레이 md0의 데이터 확인 [ 9698.913112] md: 최소 _보장_ 속도: 1000KB/초/디스크. [ 9698.913124] md: 데이터 확인을 위해 사용 가능한 최대 유휴 IO 대역폭(200000KB/초 이하)을 사용합니다. [ 9698.913150] md: 128k 창을 사용하여 총 1048512k 이상. [ 9718.197555] md: md0: 데이터 확인이 완료되었습니다.
그런데, 넷콘솔을 설정하는 방법은 다음과 같습니다.
modprobe netconsole netconsole="@/eth0,[이메일 보호됨]/"