• 服務支持

    系統更新

    當前位置  >  首頁  >  服務支持  >  系統更新

    更新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

    試用

    服務

    動態

    聯系

    公啊灬啊灬啊灬快灬深用力视频