vcenter现在只支持postgresql 和 oracle。用了embed的vpostgresql。
@H_404_2@有一天忽然发现,vcenter服务连接不上。登录到服务器后,发现/storage/db空间使用100%。 @H_404_2@@H_404_2@临时恢复办法,我是这样处理的。 @H_404_2@1、给vcenter 挂载一个更大的磁盘,分区,格式化。 @H_404_2@2、然后将 /storage/db 下的所有内容复制到 新的分区 cp -P -r @H_404_2@3、修改/etc/fstab 将新分区代替原有分区 挂载到/storage/db @H_404_2@4、重新启动 @H_404_2@这时候,可以正常启动,发现 /storage/db 增长依然非常迅猛。每天几个G,根本停不下来。。。。。。。 @H_404_2@查阅相关文章 说要控制 数据库记录日志的事物级别 ,记录周期等等依然无法解决。。 @H_404_2@登录到 vpostgresql @H_404_2@cd /opt/vmware/vpostgres/9.0/bin @H_404_2@./psql -U vc -W VDBC @H_404_2@这个密码存放在/etc/vmware-VPX/embeddb. cfg 文件内 但我 没输入密码也进去了。。。。 @H_404_2@使用 @H_404_2@
SELECT relname,relpages FROM pg_class ORDER BY relpages DESC; |
能够查看那个表占用空间最大
@H_404_2@我这里是 VPX_EVENT_ARG这个 @H_404_2@没办法 @H_404_2@truncate VPX_EVENT_ARG; @H_404_2@一下释放了50G空间。。。 @H_404_2@http://www.vmware.com/cn/support/support-resources/pubs/vsphere-esxi-vcenter-server-pubs/vsphere-vcenter-server-55u2-release-notes.html#resolvedissues @H_404_2@中提到了这个问题,但vmware 也只是能提供警告。。。@H_404_2@http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2078305
@H_404_2@http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=1025914
@H_404_2@http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=1007453
@H_404_2@http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.vsphere.vcenterhost.doc%2FGUID-84DE30DD-E1C4-4E6D-899D-4756FE77CB15.html
@H_404_2@以上是相关的一些文章 @H_404_2@但是依然没有找到数据库增长的原因。 @H_404_2@我怀疑和 vcenter 中集成的第三方 vshield vswitch 等管理软件有关。。。 @H_404_2@目前能想到的办法就是 @H_404_2@观察数据库增长的速率,保证足够的空间,写个脚本,定时执行 truncate 相关的表。。。。。。 @H_404_2@清除数据的脚本如下 @H_404_2@#!/bin/bash @H_404_2@cd /opt/vmware/vpostgres/9.0/bin @H_404_2@service vmware-vpxd stop @H_404_2@./psql -U root -w -d VCDB --command "truncate vpx_event,vpx_event_arg,vpx_entity_last_event;" @H_404_2@service vmware-vpxd start @H_404_2@然后设成定时自动执行脚本就可以了。