• 人生就是博手机版

    服务支持

    系统更新

    当前位置  >  首页  >  服务支持  >  系统更新

    更新ID(KYBA-202201-1008

    更新简述:
    rsyslog满足日志切割规则后,rsyslog未释放已删除文件的资源。
    影响操作系统版本:
    银河麒麟高级服务器操作系统(飞腾版)V10(SP1)0518 银河麒麟高级服务器操作系统(鲲鹏版)V10(SP1)0518 银河麒麟高级服务器操作系统(兆芯版)V10(SP1)0518 银河麒麟高级服务器操作系统(海光版)V10(SP1)0518 银河麒麟高级服务器操作系统(龙芯版)V10(SP1)(mips64el)20201030 银河麒麟高级服务器操作系统(龙芯版)V10(SP1)(mips64el)20210809 银河麒麟高级服务器操作系统(龙芯版)V10(SP1)(loongarch64)2111
    更新类型:
    问题修复
    发布时间:
    2022-01-07
    更新描述:

    详细介绍

    1.复现步骤 

    1、删除 /etc/logrotate.d/rsyslog 文件中 /usr/bin/killall -HUP rsyslogd,避免messages日志对auth.log的影响

    2、另一台机器 ssh 该系统,该行为会触发系统内auth.log的记录

    3、执行命令进行手动日志轮转

    logrotate -vf /etc/logrotate.conf

    4、执行命令ps -elf | grep rsyslog; lsof -p {PID} | grep var,可见rsyslog一直在操作已删除的文件。


    2.原因简述

    该问题原因为 logrotate 操作轮转切割日志 /var/log/auth.log文件后,rsyslog 进程打开切割前日志文件 /var/log/auth.log没有被关闭,使用lsof 能够查看到 /var/log/auth.log (deleted)文件被占用状态,资源没有被释放。

    解决该问题需要每次日志切割轮转后向 rsyslog.service发送HUP信号重新加载配置,命令为 /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true,保证轮转切割日志后,可以及时释放资源,避免出现上述问题。


    3.解决方案/修复/更新方法

    升级rsyslog软件包至rsyslog-8.1907.0-5.p02.ky10以上版本

    # yum update rsyslog

    undefined

    重新加载服务配置文件

    # systemctl daemon-reload

    确认服务状态正常

    # systemctl status rsyslog

     

    上一篇: KYBA-202201-1007 下一篇: KYBA-202201-1009

    试用

    服务

    动态

    联系