2006ǯ05��10��

Linux��������ζ���(kernel oops)���⡼�ȥۥ��ȤǺμ褹����ˡ

¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÅÐÏ¿

Linux�ˤϡ�kernl oops���Ф����˼�ưŪ��reboot�Ǥ�����Ȥߤ�����ޤ���

���ε�ǽ��Ȥ��С�OS���԰դ���ߤ��Ƥ��ޤä����˼�ưŪ��reboot���ƥ����ӥ���Ƴ����뤳�Ȥ��Ǥ��ޤ���

������kernel��å������Ͼ㳲��������Υҥ�Ȥˤʤꤦ��ΤǺμ�Ǥ����������ޤ����ΤǤ�������ưreboot�ξ��ϥ��󥽡���ʤɤ˽��Ϥ���Ƥ��뤫�⤷��ʤ�kernel��å�������μ褹�뤳�Ȥ��Ǥ��ޤ���

�Ȥ����櫓�ǡ������kernel 2.6�Ǽ������줿netconsole��Ȥ���kernel oopsȯ�����ˤ����Ͽ���Ĥļ�ưreboot������ˡ��Ҳ𤷤����Ȼפ��ޤ���


�ޤ��ϡ�kernel oops��ȯ��������硢ư����³����ΤǤϤʤ�kernel panic�ˤʤ�褦�ˤ���Τȡ�kernel panic��ȯ��������reboot����褦�����ꤷ�ޤ���

���������/proc�ե�����ǹԤ��Τǡ�/etc/sysctl.conf�˰ʲ��Τ褦�˽񤭤ޤ���

kernel.panic_on_oops = 1
kernel.panic = 10


�񤤤���ȿ�Ǥ��ơ��������ͤ��ǧ���ޤ���
# sysctl -p
kernel.panic = 10
kernel.panic_on_oops = 1
# cat /proc/sys/kernel/panic_on_oops
1
# cat /proc/sys/kernel/panic
10


����ǡ�kernel oops���Ф���panic����panic����10�ø��reboot����褦�ˤʤ�ޤ�����

����kernel oops��μ褹�뤿�ᡢnetconsole������򤷤ޤ���

netconsole�Ȥϼ��Τ褦�����ӤǼ������줿��ΤǤ���(linux/Documentation/networking/netconsole.txt������)

���Υ⥸�塼��ϡ��ǥ������ؤε�Ͽ�˼��Ԥ��������⥷�ꥢ�륳�󥽡��뤬���Ω���ʤ��褦�������ǥХå��Ǥ���褦�ˡ�UDP ��ͳ�ǥ����ͥ� printk ��å�������Ͽ���ޤ���


�Ĥޤꡢȯ��¦(netconsole)��¾�ˡ���������ޥ����ɬ�פˤʤ�ޤ���

�Ǥ�ȯ��¦(netconsole)�Υޥ�������꤫�餤���ޤ���

�ޤ���kernel��netconsole��sysrq��ͭ���ˤ��ƥӥ�ɤ��ޤ���sysrq��netconsole��Ȥ��Τ�ɬ�ܤǤϤ���ޤ��󤬡���Ҥ�ư���ǧ�Τ���䡢�������󤹤�Ǥ��ʤ����Ǥ�kernel��sync��reboot��ȯ�ԤǤ���������ͭ�פǤ��Τ�ͭ���ˤ��ޤ���

�ʲ��Τ褦�ˡ�netconsole��⥸�塼��ǡ�sysrq���Ȥ߹��ߤ�ͭ���ˤ��ޤ���

Device Drivers  --->
Network device support --->
Network console logging support (EXPERIMENTAL)
Kernel hacking --->
[*] Magic SysRq key


���ơ�netconsole��Ȥ��ݤˤϡ�����¦�ξ�������ꤷ�Ƥ�����ɬ�פ�����ޤ�������Ǥ���ս�ϼ���2�ս�Ǥ���

  1. �֡��ȥѥ�᡼��
  2. �⥸�塼������ɤκݤΥѥ�᡼������


grub�ʤɤ�����ꤹ��֡��ȥѥ�᡼����netconsole���Ȥ߹��ߤˤ������ǡ��⥸�塼������ɻ������netconsole��⥸�塼��ˤ������Ǥ���

���ơ�netconsole��NIC�Υɥ饤�Х����ɤ�Ʊ���˽���������褦�ʤΤǡ�NIC�ɥ饤�Ф�⥸�塼�롢netconsole���Ȥ߹��ߤˤ�����硢NIC�ɥ饤�Ф�����netconsole�������ɤ���Ƥ��ޤ��ΤǤ��ޤ��Ȥ��ʤ��褦�Ǥ���

�ޤȤ��Ȥ�������ˤʤ�ޤ���
NIC�ɥ饤��netconsolenetconsole����ս�����
�Ȥ߹����Ȥ߹����֡��ȥѥ�᡼��netconsole������ǡ��ǥХ��������Ǥʤ���ʬ��IP���ɥ쥹����ꤹ��ɬ�פ����롣�֡��Ȼ���kernel��å�������μ�Ǥ��롣
�Ȥ߹����⥸�塼�������ɥ⥸�塼��Υѥ�᡼��
�⥸�塼���Ȥ߹�����
�⥸�塼���⥸�塼�������ɥ⥸�塼��Υѥ�᡼��


�����netconsole��⥸�塼��ˤ����Τǡ��ͥåȥ�����󥿡��ե�������ͭ���ˤʤ륿���ߥ󥰤ǡ��������ꤷ�Ĥ�netconsole�⥸�塼�������ɤ���褦�ˤ��ޤ���

Debian�ξ��ϡ�/etc/network/interfaces�˼��Τ褦�˽񤭤ޤ���

auth  eth0
iface eth0 inet dhcp
post-up modprobe netconsole netconsole=6665@/eth0,[email protected]/00:0c:6e:56:b5:d6
pre-down rmmod netconsole


10.10.2.4��00:0c:6e:56:b5:d6�ϡ����줾�����¦��IP���ɥ쥹��MAC���ɥ쥹�Ǥ���

RedHat�Ϥξ��ϡ�(�褯�Τ�ʤ��ΤǤ���)/sbin/ifup-local�Ǥ��Τ��褵�����Ǥ���

#!/bin/sh

DEVICE=$1

case $DEVICE in
eth0)
modprobe netconsole netconsole=6665@/eth0,[email protected]/00:0c:6e:56:b5:d6
;;
esac


���Ҥ�ɽ��Ǥ�񤭤ޤ�������NIC��netconsole���Ȥ߹��ߤˤ������ϡ���ʬ��IP���ɥ쥹(�ʲ�����ξ���10.10.2.3)����ꤹ��ɬ�פ������������դ��Ƥ���������

modprobe netconsole [email protected]/eth0,[email protected]/00:0c:6e:56:b5:d6


���������¦������Ͻ����ޤ��������˼���¦�Ǥ���

����¦�ϡ�����¦�ǻ��ꤷ��UDP�Υݡ���(6666)�������Ф褤�Τǡ��Ȥꤢ�����ƥ��Ȥ�������ʤ顢netcat��Ȥä� nc -u -l -p 6666�Ǥ褤�ΤǤ����������syslog-ng��ȤäƼ�������褦�ˤ��Ƥߤޤ���

�ʲ���syslog-ng.conf���鳺���ս��ȴ��Ǥ���
source s_netconsole {
udp(ip(0.0.0.0) port(6666));
};
destination d_netconsole {
file("/var/log/netconsole");
};
log {
source(s_netconsole);
destination(d_netconsole);
flags(final);
};


���ꤷ���顢syslong-ng��Ƶ�ư�����ѹ�ȿ�Ǥ��ޤ���

���������¦������¦�Ȥ�˽������Ǥ��ޤ�����

�Ǥϡ�kernel��å�������Ф��Ƥߤޤ��礦��

��ñ�ʤΤϡ�����¦��sysrq��Ȥ���ˡ�Ǥ���

# echo s > /proc/sysrq-trigger


����ǡ�����¦��/var/log/netconsole��
May 10 16:51:57 SENDER SysRq : 
May 10 16:51:57 SENDER Emergency Sync

�ȵ�Ͽ�����������Ǥ���

�������Ū��ã����줿�ΤǤ������Ǹ�ˤ����Ĥ�����潦����

netconsole������ǡ�����¦��MAC���ɥ쥹����ꤷ�ޤ��������ơ�����MAC���ɥ쥹���ά�������ɤ��ʤ�ΤǤ��礦����

���ξ�硢netconsole.txt�ˤ�񤤤Ƥ���褦�ˡ�����MAX���ɥ쥹��ff:ff:ff:ff:ff:ff�ˤʤ�ޤ�������ϥ֥����ɥ��㥹�ȤΤȤ��ʤɤˤ�Ȥ���ΤǤ�����Ʊ�쥵�֥ͥåȤ����Ρ��ɤ˥ѥ��åȤ������Ƥ��ޤ��ޤ��Τǡ���ά�����˼���¦�ޥ����MAC���ɥ쥹�����ꤹ�٤��Ǥ��礦��

���ˤ���äȥ������餷�ơ��������ɥ쥹������IP���ɥ쥹�ϥۥ���A��MAC���ɥ쥹�ϥۥ���B�Ȥ����褦�˿����㤦����ˤ������ɤ��ʤ뤫��Ƥߤޤ�����L2, L3 ���μ��Τ������ʤ������̤�η�̤��Ȼפ��ΤǤ��������Υѥ��åȤ�(�����å��󥰥ϥ֤ξ��)�ۥ���B�������Ϥ��ΤǤ��������Υѥ��åȤΰ���IP���ɥ쥹�ϥۥ���A�Τ�ΤʤΤǡ��̾�ۥ���B�Ϥ��Υѥ��åȤ��Ѵ����ޤ���

�Ȥ����櫓�ǡ������netconsole�ˤ��kernel��������ζ��Ӥ�¾�Υۥ��Ȥǵ�Ͽ������ˡ��Ҳ𤷤ޤ������������ä���ˡ�ǥ����κμ��Ź���Ǥ����С�������kernel panic�κݤθ���������ͭ�פǤϤʤ����Ȼפ��ޤ���(��)

klab_gijutsu2 at 18:46��Comments(2)��TrackBack(1)

�ȥ�å��Хå�URL

���ε����ؤΥȥ�å��Хå�

1. ï¿½Þ¤È¤Þ¤ï¿½Î¤Ê¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ç¤ï¿½ï¿½ï¿½ï¿½Ê¤ï¿½ï¿½ï¿½  [ ï¿½Ï¼Ì¿ï¿½ï¿½ï¿½ï¿½ï¿½ ]   2008ǯ03��22�� 01:10
Linux kernel �� Oops ���Ǥ��Ȥ����򸫤Ƥ��ޤ��ޤ�����NTFS �ե����ޥåȤ� USB ���եϡ��ɥǥ��������Ф��� ls ��¹Ԥ�������ȯ���������顼�Ǥ����Ķ��ϡ�Vine Linux 4.1 �� PCI �ܡ��ɷ�ͳ�� USB 2.0 ��³������ʴ�����

���ε����ؤΥ�����

1. Posted by hyoshiok   2006ǯ05��13�� 15:38
5 �Ϥ���ޤ��ơ��̤ꤹ����Τ�ΤǤ������Ѷ�̣�����Ҹ����ޤ�����
��Ϥꡢ���μ�ξ��ϡ�crash dump�����ꤹ��Τ���ƻ���Ȼפ��ޤ��������������ͤ��Ǥ��礦��
2. Posted by DSAS����ο�   2006ǯ05��13�� 21:12
�ޤ��������¤Ϥ����äΥͥ��Ȥʤä��ޥ���ϴ��˲�Ư��Ǥ��ơ�lkcd��Ϥ���Ȥ���¿���Υ���å������׺μ�ġ�������ѥѡ��ƥ������ɬ�פʤ���Ƴ�����Ť餤���Ȥ����طʤ����ä��ΤǤ����ʤΤǡ��Ȥꤢ����netconsole�Ǿ����μ褷�Ƥߤơ�����Dz��Ǥ��ʤ����netdump��lkcd��Ƴ�����褦���ʤ��ȻפäƤޤ���

���ε����˥����Ȥ���

̾��:
URL:
  ����òµ­²ï¿½: ɾ��: ��    ��
 
 
 
Blog�⸡��
�ǿ�����
Archives
���Υ֥����ˤĤ���
DSAS�Ȥϡ�KLab �����ۤ����Ѥ��Ƥ��륳��ƥ�ĥ����ӥ��Ѥ�Linux�١����Υ���ե�Ǥ�������5����Υǡ������󥿤ˤƹ��ۤ������Ѥ��Ƥ��ޤ������桹��DSAS����Ȥ��䤹�����������ˡ������Ƥ����ϤDZ��ѤǤ��뤳�Ȥ��ܻؤ��ơ��������ɤ˶Ф���Ǥ��ޤ���
���Υ֥����Ǥϡ������ DSAS �ǻȤäƤ��뵻�ѤξҲ�䡢�¸����Ƥߤ���̤���𡢥ȥ�֥�˴������ޤ줿���ηи��̤ʤɡ���������������������򿥤�ޤ��ƾҲ𤷤Ƥ��������Ȼפ��ޤ���
�ǿ�������
<%==comments[n].author%>
<% } %>


'); label.html('\ �饤�֥ɥ��֥����ǤϹ���Υѡ����ʥ饤�������¬��Τ��᥯�å���(cookie)����Ѥ��Ƥ��ޤ���
\ ���ΥХʡ����Ĥ��뤫�������³���뤳�Ȥǥ��å����λ��Ѥ�ǧ������������ΤȤ����Ƥ��������ޤ���
\ �ޤ��������ͤ����ҥѡ��ȥʡ���Ȥˤ��������μ�³���ˤ�ꡢ���å����λ��Ѥ�������뤳�Ȥ�Ǥ��ޤ���
\ �ܺ٤��饤�֥ɥ����ѵ���򤴳�ǧ����������\ '); banner.append(label); var closeButton = $('