豆子昨天做了一件很SB的事情,为了偷懒5分钟结果耗费了一天的时间来解决造成的问题。记下来引以为戒。


事情的经过是这样的,同事需要我搭建一个新的SMTP服务器转发邮件到Office365,豆子懒得搭建一个新的Windows服务器,于是直接打算将就现有的一个Windows 2012的VCenter上面安装就好了。同时因为觉得这个事情很简单,因此也没有考虑任何备份回滚的问题,直接上手就做了。半个小时后,IIS,SMTP等等设置都好了,邮件转发也工作了,重启服务器以后问题出现了-- 我的Vmware VCenter Service无法启动了?!!根据日志的报错,貌似是无法连接都SQL服务器,重启对应的sql服务,sso服务,vcenter服务问题依然如故。


后来想起来,这个问题大概是IIS引起的,估计某个端口被占用了,我如果直接回滚之前的操作估计就恢复正常了,结果我偷懒又做了一个更SB的事情,我看见对应的虚拟机上有一个很久之前做的快照,事实上我都记不起是啥时候做的的,因为我取的名字很弱智就叫做before change,但是当时不假思索的就直接恢复快照了。这个快照其实是我6个月前做的(又是因为偷懒没删除),因为超过了60天,和AD之间的信任已经破坏了, 回复之后我连登录AD都进不去鸟了。于是,我又重新退域,加域,登录,然后喜滋滋的看见VCenter 服务成功启动。


但是好事情总是一波三折。我以为成功了,其实SSO和AD的绑定已经断开了。我用域账户登录进去web client,很惊讶的看见VCenter里面都是空的,空的,空的~~。 网上研究了一下,估计大概需要重新绑定一下SSO和AD,但是问题在于这个VCenter不是我搭建的,本地的管理员账户 [email protected] 我都不知道密码。

好在官方的KB给力,在VCenter的服务器里面有程序可以重设密码。参考

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2034608


根据帮助文档重设密码,登录Web Client,重新绑定SSO和AD,把域设为默认项,然后重新配置域用户的访问权限。完成这几个步骤以后,我的域账户终于可以成功的登录vsphere client和web client了。这下终于可以缓口气了。


登录之后,我一口气还没出完。里面一大堆红叉叉,发现所有主机的HA Agent的断开了链接,事实上,VCenter根本无法控制主机,直接报错。


VCenter的经验教训-为了偷懒5分钟结果花了一天的时间来查错_第1张图片


豆子重启了host上对应的hostd和vpxd的服务,管理网络,然而并卵用,这到底是怎么回事啊?根据他的错误提示,看了十几篇kb都没有找到合适的解决方法,盯着日志文件看了半天也没找到有用提示。后来终于想起我见过这个问题,这货和我的快照有关系。 当初我还写了个博客记录下来这个问题

http://beanxyz.blog.51cto.com/5570417/1723429


简而言之,是我的快照是在升级VCenter版本之前做的,恢复快照以后,现在我的主机版本高于VCenter

版本,因此无法连接。加载对应版本的镜像,升级VCenter之后,一切恢复正常。


小结一下:

  1. 不同厂家的产品最好不要混在一个服务器上使用,因为说不准什么东西就冲突了。不要偷懒混着一起用,事实上我都有现成的模板,生成一个虚拟机也就5分钟而已。

  2. 做改动之前,即使是做过很多次的改动,也需要考虑回滚的步骤。比如说,做个简单的快照。

  3. 快照的名字要给出具体的时间,不然隔几天可能就忘记了。

  4. 做了快照不需要了要及时删除,不然不仅影响性能,还可能误导以后的操作。


不过好歹总算是修复了自己造成的错误~