关于SUSE LINUX系统假死问题(魔术键和Serial Console配置).doc
文本预览下载声明
关于SUSE LINUX系统假死问题,我们需要分几个方面来看:
一、如果这个时候系统网络能有响应(比如能ping通),但是kernel运行正常,同时,我们也要确保Ctrl+ALt+F1--F6键时console控制台正常,那么我们可以通过下面的方法来获取一些信息:
基于SUSE LINUX操作系统方面,我们部署在故障发生时通过魔术键将系统状态的CALLTRACE(如内存、线程堆栈等)抓出来,则可以清晰的了解系统当时的状态。可通过配置串口控制台及操作本地键盘魔术键来将系统状态导出到控制台上。此时可以通过触发魔术键来获取有用信息。
服务器发生死机前,必须先配置服务器,具体步骤如下:
进入以下的界面提示后按F2进入BIOS设置。
“Press ESC to view diagnostic messages
Press F2 to enter SETUP,F12Network Boot ”
选择Server Mangement菜单下:
Console Redirection,即选择控制台重定向的串口,设置为enable
记录下默认的串口波特率等参数以备死机时连接使用。
2、有运行业务的机器上开启sysrq功能:
echo 1 /proc/sys/kernel/sysrq 这种方法不用重启系统
修改上面目录下的sysrq文件,将文件内容改为1,可知系统已启用sysrq。
再通过修改/etc/sysctl.conf文件,这样可以保证系统启动后自动开启sysrq功能。方法是:
在/etc/sysctl.conf文件中加入:
kernel.sysrq=1
运行:
sysctl -p
使之立即生效
3、现某台机器业务中断后,先尝试网络登录,如果可以,执行下面命令:
echo t /proc/sysrq-trigger
echo p /proc/sysrq-trigger
echo m /proc/sysrq-trigger
如果网络不能登录,可尝试本地操作,串口登入,在控制台执行上述3条命令。
如果本地也不能登录,可执行在死机的服务器的键盘上先后同时按下:
Alt + SysRq + “t ”
Alt + SysRq + “p”
Alt + SysRq + “m”
二、如果这个时候系统属于真死机状态,也就是出现kernel panic或kernel Oops的话,那么我们需要部署LKCD工具来做Crash DUMP,从获取的DUMP文件中来分析系统死机的原因,配置LKCD的方法如下:
1、开启core dump功能
1) edit /etc/profile and comment following lines:
将ulimit -Sc 0注释掉,即:
修改成 #ulimit -Sc 0
2) edit /etc/security/limits.conf and add two line like:
* soft core unlimited
* hard core unlimited
2、配置lkcd
1) Edit /etc/sysconfig/dump
修改并激活以下选项:
DUMP_ACTIVE=1
DUMPDEV=/dev/cciss/c0d0p2
DUMPDIR=/var/log/dump(存放core dump文件的路径,一般默认即可)
DUMP_LEVEL=4 (在SLES8上默认是8 ,在SLES9上默认是2,是生成DUMP文件的级别)
DUMP_FLAGS=0 TARGET_HOST= (“”里头输入主机的IP地址)
2)运行以下命令使脚本生效:
#lkcd config
#lkcd_config –q (输出信息来自刚才lkcd config的配置)
#insserv /etc/init.d/boot.lkcd
3、设置LKCD在系统启动时自启动:
运行YAST
选择systemrunlevel专家模式,将boot.lkcd改成运行级别3和5都在系统启动的时候启动boot.lkcd,保存退出!重新启动服务器检查是否LKCD已经启动。
检查是否LKCD已经启动的方法:
在服务器的键盘上先后同时按下:
Alt + SysRq + “t ”
Alt + SysRq + “p”
Alt + SysRq + “m”
若有对话框跳出,即已启动。
后面的是官方网站的文章参考:
Configuring a Remote Serial Console for SLESThis document (3456486) is provided subject to the disclaimer at the end of this document.
Environment
显示全部