前段时间管理vsan的vcsa突然登录不了,网上查阅了不少资料,解决了这个因为日志爆满的,虚拟磁盘没有空间的问题,删了部分日志,然后还给log_vg-log加了空间

(ps.说一下我进入vcenter单用户模式踩过的坑(小白比较需要):要不要Failsafe的那个选项都是可以的,根据提示按e编辑,在Kernel内核项增加这个init=/bin/bash,然后保存,然后在看到Kernel项,看到你修改内容,一定要根据下面提示按b键,表示从这项boot,然后就可以进入单用户模式为所欲为了)

加到了50G的空间还是提示类似:

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x00007fb7d00200a0] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe

(人生有时候像极了游戏,你想过关A,必须完成任务B,任务B的条件要拿到C装备,然后又要必须打败boss D。。。。。。)

各种百度也是找不到答案,都是说开启某三个服务就OK,然鹅并没有。

后来我用service-control命令把所有服务重启一遍

service-control --all --start

然而vmware-invsvc (VMware Inventory Service)起不来,VMware Inventory Service dont star

清单服务起不来,不知道是不是我们看到的虚机清单列表的服务。

当然这个问题度娘也是搜出来一堆乱七八糟的,于是非度娘搜到了一个解决方案:

https://kb.vmware.com/s/article/2147280  (这网页开多次,半天才打得开)

所以这里主要搬运这篇东西

首先还是要查日志,确认问题   找到这个文件 /var/log/vmware/inv-svc.log 

vCenter LDAP权限 vcenter service control_linux

 日志情况如果这个以上差不多的(我的这边的inv-svc.log 并没有标注时间)

然后就再看下一个日志,这个日志才是重点 /storage/log/vmware/vmdird/vmdird-syslog.log (原文说是这个路径/var/log/vmware/vmdird/vmdird-syslog.log 实际上并不是,不行就find命令找)

vCenter LDAP权限 vcenter service control_重启_02

 这里的重点关注就是password error,所以引起这个服务起不来的原因就是,Inventory service 失去了信任因为密码不对,而这个账户就是vmdird-syslog.log里面所列的那个账户。大概是因为日志爆满磁盘服务宕机引起的。所以就要重置这个密码。

以下就是步骤:

1.备份,做个快照啥的

2.SSH连接vcsa,用root登录

3.执行以下命令:shell.set –enabled true

4.执行命令:shell

5.打开vdcadmintool工具:

   

/usr/lib/vmware-vmdir/bin/vdcadmintool

     然后就会看到:

        ================================
        Please select:
    

0. exit
         1. Test LDAP connectivity
         2. Force start replication cycle
         3. Reset account password
         4. Set log level and mask
         5. Set vmdir state
         ======================

==========

6.选择3

7.输入vmdird-syslog.log里面提示的那个账户,反正就肯定不是administrator@vsher这个,这里举栗子:

2016-09-21T18:47:48.024538+00:00 err vmdird t@140107551946496: Bind Request                 Failed  ([17] 10.105.217.85:389<-10.105.212.102:54753) error 49: Protocol version: 3,                 Bind DN: "cn=VCVA01.vmware.local,ou=Computers,dc=vsphere,dc=local", Method:                 163
       cn用户头名的头:VCVA01.vmware.local     ou不用管后面就直接加@vsphere.local

       于是用户就是VCVA01.vmware.local@vsphere.local       介样子

   于是乎,这个工具就是帮你生成一个新的密码#%#$G%Y^_))  各种路七八糟的,但是有可能生成成无效字符:

      

& (ampersand)
         ; (semicolon)
         " (double quotation mark)
         ' (single quotation mark)
         ^ (circumflex)
         \ (backslash)
         % (percentage)

只要密码含有以上字符,请重新生成,不然你最后还是启动不了那个鬼服务

8.记下刚刚自动生成的有效的密码

9.10.11.重复上面2.3.4(或者直接退出vdcadmintool那个界面就好了)

12.执行以下命令更新刚刚记住的那个密码(肯定直接复制啦)

 

/opt/likewise/bin/lwregshell

cd HKEY_THIS_MACHINE\services\vmdir\

set_value dcAccountPassword "new password(刚刚生成的密码放这里)"

quit

13.Restart the vCenter Server Appliance services重启服务,我是重启服务器才奏效