問題現象

ECS實例在無任何操作的情況下會時不時出現自動關機的現象。當您重啟實例后,過一段時間ECS實例會再次關機,通過查看系統日志(如/var/log/messages),可以看到類似的錯誤:
localhost auditd[607]: Audit daemon is low on disk space for logging 
localhost auditd[607]: The audit daemon is now halting the system

可能原因

CentOS、RHEL系統的ECS實例中默認開啟了auditd服務進行審計。該服務會向/var/log/audit/目錄中寫入大量審計日志,隨著其他服務和程序不斷寫入數據,可能會出現磁盤空間不足的情況。如果您將/etc/audit/auditd.conf配置文件中在磁盤空間不足時auditd的動作參數space_left_action、admin_space_left_action或disk_full_action的值修改為halt,會導致auditd服務在磁盤空間不足時自動觸發系統關機,導致ECS實例被關閉。

解決方案

  1. 遠程連接ECS實例。
    具體操作,請參見連接方式概述
  2. 執行如下命令,編輯auditd配置文件。
    vi /etc/audit/auditd.conf
  3. 修改在磁盤空間不足時auditd的動作參數space_left_action、admin_space_left_action或disk_full_action的值。
    推薦修改為SUSPEND,表示磁盤空間不足時auditd停止寫入審計日志。
    space_left = 75
    space_left_action = SUSPEND
    admin_space_left = 50
    admin_space_left_action = SUSPEND
    disk_full_action = SUSPEND
  4. 重啟auditd服務,使新的配置生效。
    systemctl restart auditd.service