vmware自身日志机制导致服务器虚拟化Datastore空间占用异常增大

发布时间:  2014-09-05 浏览次数:  296 下载次数:  0
问题描述
某一个用户在我们实施完NBU备份一段时间之后,发现他的vmware虚拟化datastore存储空间所剩不多,急剧减少。
告警信息
处理过程
1、首先从时间上来看,用户部署NBU是在虚拟化部署完不久,时间上一前一后,从这个逻辑上,用户首先有疑问,是不是我们NBU备份导致了空间的异常占用。
问题到我们这,先去分析NBU备份vmware的原理,实际NBU备份vmware是调用了vsphere的vstorage API,由该API 去调度虚拟机做快照,快照之后把快照数据备份传输到NBU 备份介质,NBU master做好相关处理过程的记录在NBU自己的数据库里。以下是官方文档对过程的说明。

但去查vmware快照,没有发现什么异常的未删除的快照。
进一步通过反复的备份测试也表明NBU备份并没有导致异常快照,以及空间的异常增长。

2、为了去弄清楚到底这些消失的空间到了哪里,我们进一步去详细研究,每个虚拟机都具体包含哪些文件。如下图:




如果虚拟机还做了快照,则会产生另外的一些文件。


这些文件里除了vmdk磁盘文件,会占用比较大的空间(跟虚拟机空间分配大小和是否精简配置有关),如果管理员固定分配,并且不精简的话,这个文件也不会出现异常增长,剩下可能增长的文件就只有.log文件。仔细查询发现,一部分虚拟机的.log文件增长到20g.
而且这个日志文件有点类似UNIX系统的系统日志,会有轮询的,文件数量是5个。如果每个虚拟机的这5个文件都到20G左右的话,一个虚拟机就可能异常增长出来100G左右的空间,如果虚拟机众多的话,这个空间异常增长也是令人意外的。

原因找到了,这种情况如何处理,我们再去查询和测试,发现有以下解决办法:
1.对长时间运行的虚拟机进行一些关电源和开电源的动作,可以释放这些日志空间(通过轮询覆盖)
2.对于某些对可用性要求高的环境,通过vmware的vmotion操作也可以达到类似的效果。
根因
1.NBU备份导致快照空间未删除,从而占用空间。
2.Vmware自身的某些机制存在对空间的占用。
建议与总结
类似虚拟化场景下日志占用空间这种问题,有一定的隐蔽性,在长时间积累后才会爆发,需要仔细排查才能找到端倪。

END