
1. 告警现象与触发机制当你登录vCenter管理界面时突然看到Log Disk Exhaustion on vcsa的红色告警这意味着什么简单来说就是vCenter Server ApplianceVCSA的日志磁盘空间即将耗尽。这个告警通常会在/storage/log分区使用率达到75%时触发黄色警告达到85%时升级为红色严重告警。我遇到过不少客户对这个告警感到困惑因为他们觉得明明还有15%的空间怎么就告警了这其实和汽车油量警示灯一个道理——系统需要提前预警避免真正耗尽时导致服务中断。当/storage/log分区完全填满时可能会导致vCenter服务不可用出现503错误甚至影响vSAN健康状态检查等功能。通过VAMIvSphere Appliance Management Interface的监控界面你可以直观看到各磁盘分区的使用情况。这里有个实用技巧点击Monitor Disk后系统会用不同颜色标识磁盘状态绿色正常使用率75%黄色警告75%≤使用率85%红色严重使用率≥85%2. 常见根因深度分析2.1 日志轮转机制失效这是最常见的问题根源。正常情况下vCenter的各组件日志应该会自动轮转rotation和压缩但某些情况下这个机制会失效。我曾在多个环境遇到过这些典型场景SSO日志未压缩在vCenter 7.0 U1之前的版本中/storage/log/vmware/sso/目录下的日志文件可能不会自动压缩导致大量未压缩的catalina.log和localhost_access.log堆积Pod启动日志泛滥7.0 U3c之前的版本存在一个已知Bug/storage/log/vmware/pod-startup/目录会生成大量pod-startup.log文件且不会自动清理vmafdd服务日志异常同样在7.0 U3c之前/storage/log/vmware/vmafdd/vmafdd.log文件不会按预期压缩可能增长到数GB大小2.2 支持包未自动清理很多管理员不知道通过vSphere Client导出的支持包默认会保存在/storage/log/vc-support-bundles/目录下。我见过一个案例某客户连续三个月每天自动导出支持包最终占用了近200GB空间这些文件通常以vc-support-bundle-日期.tgz命名可以通过以下命令快速查看ls -lh /storage/log/vc-support-bundles/ | wc -l2.3 默认分区大小不足随着环境规模扩大默认的10GB日志分区可能不够用。特别是以下场景会加速日志增长大规模vSAN集群会产生更多调试日志频繁vMotion操作启用了详细调试日志级别存在大量告警和事件2.4 版本特定Bug根据VMware知识库这些版本存在已知问题6.0 U3之前cloudvm-ram-size.log轮转失效7.0 U1之前SSO日志压缩功能异常7.0 U3c之前pod-startup.log和vmafdd.log问题8.0 U3之前支持包不会自动删除3. 诊断与排查实战3.1 快速定位问题分区首先通过SSH登录VCSA如果提示Appliance Shell输入shell进入Bash环境执行df -h | grep -E Filesystem|storage典型输出类似/dev/mapper/log_vg-log 10G 8.7G 1.3G 87% /storage/log /dev/mapper/core_vg-core 25G 5.1G 20G 21% /storage/core3.2 查找大文件使用组合命令找出前20大文件find /storage/log -type f -exec du -h {} 2/dev/null | sort -rh | head -n 20我曾用这个方法发现一个8.4GB的stdstream.log.stderr文件原因是WCP服务持续报错。3.3 检查inode使用情况有时候磁盘有剩余空间但仍报no space left可能是inode耗尽了df -i /storage/log如果IUse%接近100%说明有海量小文件。进一步分析find /storage/log -type d | while read dir; do echo $dir: $(find $dir -type f | wc -l); done | sort -n -k2 | tail -n 103.4 服务特定日志检查重点关注这些高危目录/storage/log/vmware/vpxd/ - vCenter核心服务日志/storage/log/vmware/vsphere-ui/ - Web客户端日志/storage/log/vmware/eam/web/ - ESX Agent Manager日志/storage/log/vmware/lookupsvc/ - Lookup Service日志4. 解决方案与实操步骤4.1 安全清理日志文件原则只删除已压缩或轮转的旧日志如*.gz、.log.1不要删除正在写入的当前日志.log。清理7天前的压缩日志find /storage/log -name *.gz -mtime 7 -type f -delete针对特定服务的清理示例WCP服务日志rm -f /storage/log/vmware/wcp/stdstream.log-*.stderr4.2 手动轮转日志对于持续增大的当前日志可以强制轮转/usr/sbin/logrotate -f /etc/logrotate.d/vmware-vpxd然后重启相关服务service-control --restart vmware-vpxd4.3 扩容/storage/log分区步骤1确认当前磁盘布局lsblk -o NAME,SIZE,MOUNTPOINT步骤2在vSphere Client中扩展VMDK通常为Hard Disk 5步骤3执行自动扩容脚本/usr/lib/applmgmt/support/scripts/autogrow.sh验证vpxd_servicecfg storage lvm autogrow echo $? # 返回0表示成功4.4 应用补丁修复已知问题根据版本选择对应补丁KB 318575修复vmafdd.log问题KB 318217解决pod-startup.log问题KB 318209处理SSO日志压缩5. 预防措施与最佳实践5.1 日志管理策略定期清理计划设置cronjob每月清理旧日志0 3 1 * * /usr/bin/find /storage/log -name *.gz -mtime 30 -delete调整日志级别避免不必要的DEBUG日志vim-cmd vpxd/setloglevel info5.2 监控配置建议在VAMI中设置预警阈值访问 https://vCenter_IP:5480导航到Monitor Health调整Storage告警阈值5.3 容量规划指南根据环境规模建议的日志分区大小小型环境100主机15GB中型环境100-500主机30GB大型环境500主机50GB对于特别活跃的环境可以考虑将某些高频日志如vSAN日志重定向到共享存储。