侧边栏壁纸
博主头像
CYC的个人博客博主等级

学习使人进步

  • 累计撰写 91 篇文章
  • 累计创建 11 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

银河麒麟V10服务器系统修改KDUMP

Administrator
2024-07-10 / 0 评论 / 0 点赞 / 140 阅读 / 2796 字

银河麒麟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。企业坚持开放合作共建产业生态,为客户提供完整的国产化解决方案。

0

评论区