记一次vcsa6修复过程
一、
某天发现一台vmware vCenter Server Appliance services 6偶尔能登陆了,但极不稳定,连shell都偶尔能进......
然后利用各种手段想方设法进到shell里,这是必须的,否则白谈....
首先查看空间:df -h,发现/和/storage/log都用了100%,好把开刀:
find /storage/log -mtime +90 -exec rm -rf {} \;
(千万别学,可能死得好惨)
再来检查/目录:du -xah | sort -h
发现是/var/log占空间巨大,逐步深入发现是audit.log有5G,删掉
好吧,以为到此为止,清理完了reboot一把
坏事正式开始:reboot后,web服务打开即报503错:
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f134ccefc60] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)
再次进入shell,检查空间df -h正常了,检查服务:service-control --status,发现一堆的vmware相关服务是stop状态
手工启动,结果报的是/yyy/xxxxx.log不能生成,KAO,原来上面find会把目录也删掉的,而java也太垃圾了居然不会自已重建log目录....没办法,没有对比无法手工修复了....
二、(以下过程同时适用于vcsa6镜像恢复后的手工更新工作)
幸好还有一招,恢复备份的镜像.....
恢复完了,启动还是不行,有两个服务始终启动不了:vmware-invsvr和vmware-vpxd,然后又是各种翻日志,省略1千字......
通过invsvr服务的log,发现vcenter Invalid credentials LDAP error 49这个错误,并且再次F.U.C.K垃圾百度.....毫无作用.....
幸好有yahoo找到一个帮助:https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2147280
先别急着动手干,首先要找的是帐号:
/opt/likewise/bin/lwregshell
cd HKEY_THIS_MACHINE\services\vmdir\
list_values,显示如下:
+ "dcAccount" REG_SZ "192.168.10.2"
+ "dcAccountDN" REG_SZ "cn=192.168.10.2,ou=Domain Controllers,dc=vsphere,dc=local"
+ "dcAccountOldPassword" REG_SZ "U2<SExr*XbXZ1z\\H\"zZW"
+ "dcAccountPassword" REG_SZ "pI;;$n;R(yiXG49:uAT"
+ "LduGuid" REG_SZ " da32t2ds-4f24-86d4-dc46587a0fed"
+ "MachineGuid" REG_SZ "easdfwef-3dwf4-45bf-9c38-0205778722c5"
+ "SiteGuid" REG_SZ "62wefwef60-wef3-bcba-5583f2f16470"
"Arguments" REG_SZ "/usr/lib/vmware-vmdir/sbin/vmdird -s -l 0 -f /usr/lib/vmware-vmdir/share/config/vmdirschema.ldif"
"Autostart" REG_DWORD 0x00000001 (1)
"Dependencies" REG_SZ "lsass dcerpc vmafd"
"Description" REG_SZ "VMware Directory Service"
"Environment" REG_SZ ""
"Path" REG_SZ "/usr/lib/vmware-vmdir/sbin/vmdird"
"Type" REG_DWORD 0x00000001 (1)
注意第二行:得到的帐号是:192.168.10.2@vsphere.local
下面开始更新密码:/usr/lib/vmware-vmdir/bin/vdcadmintool
选3,然后输入上面得到的帐号192.168.10.2@vsphere.local,系统显示密码已更新,这时,要记住显示的古怪新密码,例如pI;\;$n;R(yiXG49:uAT
然后要把这个新密码更新到系统里:
/opt/likewise/bin/lwregshell
cd HKEY_THIS_MACHINE\services\vmdir\
set_value dcAccountPassword "pI;\;$n;R(yiXG49:uAT"
quit
然后就可以重启所有服务或直接reboot了
service-control --stop --all
service-control --start --all
终于久违的WEB界面又正常了。
三、
顺带记号一下:修改WEB管理员的密码(或忘记密码)的方法:
/usr/lib/vmware-vmdir/bin/vdcadmintool
先3,输入管理员帐户:如administrator@vsphere.local,得到一个新密码。