银河麒麟V10服务器系统修改KDUMP
1、kdump介绍
在业务使用过程中,经常遇到服务器概率性崩溃(准确来说是内核崩溃),重启后一切ok,但是这种隐藏的bug在商业领域是不可接受的,宕机出现即是大问题。因此内核提供了一种保留崩溃现场的机制,保存内核崩溃的现场信息在硬盘等下电不易失的存储介质,方便程序员可以分析崩溃原因。
如上图,kdump功能主要分为3部分:
1)kdump使能阶段:安装kdump,然后重启系统生效,系统会预留一段内存作为第二内核和日志存储用;kdump启动会使用kexec命令加载第二内核完毕,等待触发panic启动;
2)系统panic,进入第二内核,内核将出错信息保存在/proc/vmcore提供给用户;
3)日志转储完毕,重启系统,/var/crash分析日志;
2、桌面安装
2.1、安装kdump
# sudo apt install linux-crashdump -y //麒麟系统内核已使能kdump的支持, 故仅需要安装linux-crashdump包即可,安装过程中有个选项提示框,选择yes表示kdump安装后随系统启动默认启动
# vim /etc/default/kdump-tools //也可检查配置文件确认kdump是否开机默认启动,1表示随开机启动
# reboot //重启生效
# kdump-config show //查看kdump配置信息
如上图当前kdump状态是Not ready to kdump(这边状态起不来,待更...)
# echo c > /proc/sysrq-trigger //模拟内核崩溃,会触发一个空指针的kernel panic,可验证kdump机制是否运行
3、服务器安装
3.1、安装kdump
# sudo yum update
# sudo yum install kexec-tools -y
3.2、配置kudmp kernel
# vim /etc/default/grub //需要将GRUB_CMDLINE_LINUX="crashkernel=auto..."中的auto修改为128M。一般设为128M或256M。
# sudo grub2-mkconfig -o /boot/grub2/grub.cfg // 更新grub配置
# reboot
# sudo vim /etc/kdump.conf //更改kdump默认配置,设置内核crash后自动reboot
# sudo systemctl restart kdump
# sudo systemctl enable kdump
3.3、手动触发内核crash
#echo 1 > /proc/sys/kernel/sysrq
#echo c > /proc/sysrq-trigger
如果配置成功,系统将自动重启,重新进入系统,可以看到/var/crash文件夹下生成了相应文件,是一个以生成coredump日期为文件名的文件,如图所示:
3.4、直接访问麒麟服务器系统自带的cockpit
cockpit是麒麟服务器系统自带的系统监控软件
cockpit地址:https://服务器IP:9090 (注意开放防火墙)
用户名密码均为服务器的用户名和密码
默认是打开的,下面测试配置是发送内核故障,演示内核崩溃的场景,随后会自动重启并在/var/crash目录下生成crash文件
-------------------------
麒麟软件以安全可信操作系统技术为核心,旗下拥有“银河麒麟”、“中标麒麟”两大产品品牌,面向通用和专用领域打造安全创新操作系统产品和相应解决方案,现已形成了服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云等产品。麒麟软件系列产品能同时支持飞腾、鲲鹏、龙芯、申威、海光、兆芯等国产CPU。企业坚持开放合作共建产业生态,为客户提供完整的国产化解决方案。
评论区