1. 首页
  2. 系统运维
  3. Linux

记一次AlmaLinux 9宕机故障排查,dnf/yum 卡死宕机

今天一台linode最低配置的服务器出现宕机故障,可以ping通但是端口都不能访问。当收到报警邮件的时候,首先想到是不是IP被墙了(你们都懂得,linode总是特别容易受到照顾)。登录香港服务器ssh远程连接linode服务器,发现也一样不能访问,说明是服务器出问题了。因为不能远程无奈只能重启服务器,重启后登录查看故障原因。

从后台监控程序发现该时间段CPU和IO都有异常升高的情况。

记一次AlmaLinux 9宕机故障排查,dnf/yum 卡死宕机

难道服务器被黑有人在挖矿?检查进程后确定没有。

查看系统日志,发现在这个时间点有一次dnf makecache的动作,之后系统也没有再生成新的日志。

记一次AlmaLinux 9宕机故障排查,dnf/yum 卡死宕机

然后我在服务器上手动运行dnf update,故障还原了,直接宕机,发现确实是dnf/yum 命令引起的系统宕机。但是为什么dnf/yum安装软件包的命令会造成系统宕机呢?

其实从下面这张图就可以看出,原来运行yum命令后系统内存告急,out of memory了。

记一次AlmaLinux 9宕机故障排查,dnf/yum 卡死宕机

那么这次系统宕机的直接原因就是yum-cron计划任务执行dnf/yum命令引起服务器内存不足,触发系统oom机制,最后导致系统假死卡死宕机。AlmaLinux 9上dnf/yum原来那么消耗内存。

解决办法要么升级服务器配置,要么就是加大swap虚拟内存。对于买最低配置的我来说,肯定是临时增加swap了。

 mkdir /swapfile
 cd /swapfile
 if [ ! -e /swapfile/swap ];then
   dd if=/dev/zero of=swap bs=1024 count=2000000
   mkswap -f swap
   echo "/swapfile/swap none swap defaults 0 0" >>/etc/fstab
 fi
 mount -a
 swapon -a
 free -m

运行yum update,一切正常了。

订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code