当您欣喜地使用着vCenter6.5对自己心爱的数据中心进行管理的时候,不知某一时刻突然在界面上出现了如下画面:


503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f0782fb55f0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)


并且与此同时,无论如何重启vCenter都没有作用。此时,请不要慌张,只需按照如下的步骤,问题即可迎刃而解,并且数据中心的一切数据都完好如初:

     1. 使用ssh或者直接从ESXi界面登陆到vCenter Applience虚机中,进入SHELL

          Last login: Thu Sep 28 10:05:40 2017 from 10.4.143.97

        Connected to service


            * List APIs: "help api list"

            * List Plugins: "help pi list"

            * Launch BASH: "shell"


        Command> shell

        Shell access is granted to root


     2. 输入如下命令:service-control --status vmware-vpxd看到状态为“Stopped”

     3. 输入如下命令:service-control --start vmware-vpxd并不能启动相应服务


当确认了2,3两点后,继续执行:

     4. 输入如下命令:/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres,此命令登陆postgres数据库

     5. 输入如下命令,找到有问题的虚机:select v.id, v.local_file_name, h.IP_ADDRESS FROM VPX_VM v, VPX_NIC n, VPX_HOST h WHERE v.id=n.entity_id and v.host_id=h.id and n.network_name=''; 

      6. 输入如下命令,请用5中得到的虚机id来替换本语句的“”:select * from vpx_entity where id = ''; 

      7. 找到受影响的虚机后您有两个选择:

          1)删除相应虚机以及删除相应记录:delete from vpx_entity where id = ''; 

          2)删除该虚机的网络适配器(Network Adepter) -> 保存 -> 添加网络适配器

      8. 输入如下命令:service-control --start vmware-vpxd

      

          您将可以看到您的vCenter可以访问了。


受影响的vCenter版本为:Version 6.5.0 Build 4944578,原因是在创建虚机的时候虚机数据库出现了网卡数据项空(NULL)值。