环境:NSX controllers version is 6.3.6 or 6.4.1.
故障现象:NSX controllers /var/log 分区被写满
1)controller上执行:show status,显示如下:
Disk Usage:
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 2009152 0 2009152 0% /dev
/dev/sda3 3997376 1175992 2595288 32% /
/dev/sda1 999320 41908 888600 5% /boot
/dev/sda7 5029504 418308 4332668 9% /image
/dev/sda4 3997376 149212 3622068 4% /var/cloudnet/data
/dev/sda5 5029504 5013120 0 100% /var/log
/dev/sda6 1998672 3116 1874316 1% /config
2)也可通过nsx控制台手动下载controller日志支持包,但是发现部分日志丢失,如 /var/log/syslog.1;
3)一段时间后,NSX Controllers内存被吃完,导致NSX Controllers集群不可用;
1)这是因 photon OS rsyslog 在NSX controllers 6.4.1 and 6.3.6版本中工作情况有变,当日志文件轮转后,rsyslogd仍将所有输出写入同一文件,如果在到达轮转时间前日志很大,将占满/var/log 分区;或者/var/log/syslog是空内容状态,被新的写入覆盖了,而/var/log/syslog.1可能会增长,直到磁盘已满。
2)当NSX controllers的 /var/log分区被占满后,将导致NSX controllers内存增加,使其无法及时响应网络请求。另外,还会导致这可能导致NSX controllers无法处理仲裁请求,当只有2个NSX controllers时,这时将不再满足仲裁或选举的法定人数,将导致controller集群服务宕机,传输节点也不会再获得任何更新,直到controller集群恢复仲裁条件。
官方显示,该问题已在NSX 6.3.7 and NSX 6.4.2.版本中得到解决,可升级到该版本。或者定期清理日志。关于有同学问如何清理日志,可ssh登录登录NSX controller虚拟主机,定期手动置空处理。