我正在尝试在 Google Cloud Engine 上的嵌套虚拟机中运行 Linux 审计系统。我面临的问题是,当我查看审计状态时,Linux 审计系统在几分钟后显示以下错误后挂起。
جنوری 29 16:53:42 fuzzer-VirtualBox auditd[294]: Audit daemon has no space left on logging partition
جنوری 29 16:53:42 fuzzer-VirtualBox auditd[294]: Audit daemon is suspending logging due to no space left on logging partition
我使用 df -h 命令检查,发现日志分区上有大约 6GB 的可用空间,所以我不明白为什么会出现此错误。你能给我提供解决方案吗?这可能是由于嵌套虚拟化造成的吗?
以下是我的 auditd.conf:
#
# This file controls the configuration of the audit daemon
#
local_events = yes
write_logs = yes
log_file = /var/log/audit/audit.log
log_group = adm
log_format = RAW
flush = INCREMENTAL_ASYNC
freq = 50
max_log_file = 24
num_logs = 50
priority_boost = 4
disp_qos = lossy
dispatcher = /sbin/audispd
name_format = NONE
##name = mydomain
max_log_file_action = keep_logs
space_left = 75
space_left_action = SYSLOG
verify_email = yes
action_mail_acct = root
admin_space_left = 50
admin_space_left_action = SUSPEND
disk_full_action = SUSPEND
disk_error_action = SUSPEND
use_libwrap = yes
##tcp_listen_port = 60
tcp_listen_queue = 5
tcp_max_per_addr = 1
##tcp_client_ports = 1024-65535
tcp_client_max_idle = 0
enable_krb5 = no
krb5_principal = auditd
##krb5_key_file = /etc/audit/audit.key
distribute_network = no
以下是 audit.rules 文件中的参数:
## First rule - delete all
-D
## Buffer size
-b 8192
## This determine how long to wait in burst of events
--backlog_wait_time 0
## Set failure mode to syslog
-f 1
答案1
根据错误消息,您应该尝试:
- 清除不需要的文件以
/var
恢复可用空间。 /var
增加文件系统的大小。- 配置
/etc/audit/auditd.conf
文件包含一个space_left
选项,该选项以兆字节为单位描述数值,告知审计守护进程何时执行可配置操作,因为系统磁盘空间开始不足。查看auditd.conf
手册页以获取有关可能的操作及其行为的更多信息。
这可能是由以下原因造成的:
- 系统
/var file
没有足够的可用空间。 - auditd 守护进程写入“审计守护进程的日志记录磁盘空间不足“当日志目标文件系统没有足够的可用空间时,在消息日志文件中。
答案2
可能是 inode 不足,这也表现为 ENOSPC。
df -i
应该可以告诉你。