当您欣喜地使用着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来替换本语句的“<YOURID>”:select * from vpx_entity where id = '<YOURID>'; 

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

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

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

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

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

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