VMware VirtualCenter Server 服务在重新引导之后不会自动启动
search cancel

VMware VirtualCenter Server 服务在重新引导之后不会自动启动

book

Article ID: 343586

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

在某些情况下,当 VirtualCenter Server 服务在其依赖的 SQL 数据库服务启动之前启动时,可能会出现争用状况。
本文介绍了阻止争用状况发生的步骤。


Symptoms:
免责声明:本文为 VMware VirtualCenter Server service does not start automatically after reboot (1007669) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • VirtualCenter Server 服务在重新引导之后不会启动
  • VMware Infrastructure (VI) Client 无法连接至 VirtualCenter
  • 您正在使用 Microsoft SQL Server 或 SQL Express
  • VirtualCenter Server 服务可正常手动启动
  • vpxd.log 文件中,您会看到类似以下内容的条目:

    ODBC error:(08001) - [Microsoft][SQL Native Client]Named Pipes Provider:Could not open a connection to SQL Server [2].


Environment

VMware vCenter Server 5.0.x
VMware vCenter Server 4.1.x
VMware VirtualCenter 2.0.x
VMware VirtualCenter 2.5.x
VMware vCenter Server 4.0.x

Cause

如果 VirtualCenter Server 服务在其依赖的服务之一启动之前启动,则可能会出现此问题。VirtualCenter Server 服务依赖以下服务:
  • SQL 服务
  • ADAM 服务(在 vCenter Server 4.x 中使用链接模式时)

Resolution

要解决此问题,请向 VirtualCenter 服务添加依赖关系,以便该服务仅在必要服务启动之后启动。

此解决方案假设数据库服务器和 SQL Server 位于同一台计算机上。如果 SQL Server 位于不同的物理计算机上,则必须确保该 SQL Server 正常运行,然后再尝试启动 VirtualCenter 服务。
此外,可对遇到此问题的任何服务执行相同的步骤,如 vCenter Server Webservices。
注意:此过程将修改 Windows 注册表。在进行任何注册表修改之前,请确保拥有最新的有效注册表和虚拟机备份。有关备份和还原注册表的详细信息,请参见 Microsoft 知识库文章 136393
要创建服务依赖关系,请执行以下操作:
  1. 单击开始 > 运行,键入 services.msc,然后按 Enter 键。
  2. 找到 vCenter Server 所需的任何服务。例如,SQLEXP_VIMADAM_VCMSDS ADAM_VMwareVCMSDS

    注意:SQL Express 和完整 SQL 实施中的服务名称不同。例如,服务名称在 SQL Express 中为 SQLEXP_VIM,在完整 SQL 实施中为 MSSQLSERVER

  3. 打开服务属性并记下服务名称。例如,MSSQL$SQLEXP_VIM。
  4. 单击开始 > 运行,键入 regedit,然后单击确定。此时将打开“注册表编辑器”窗口。
  5. 导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vpxd
  6. 双击 DependOnService 项,然后使用步骤 4 中标识的名称添加服务名称。
  7. 关闭“注册表编辑器”窗口。
  8. 在“服务”窗口中,打开步骤 3 中标识的服务的服务属性。
  9. 在“依赖关系”选项卡中,确保 VMware VirtualCenter 服务作为依赖服务列出。
  10. 对 VirtualCenter 所需的任何服务重复步骤 3 到 9。
如果正在运行 Windows 2008,则可将 VMware VirtualCenter Server 服务设置为启动类型“自动 (延迟)”,如下所示:
  1. 单击开始 > 运行,键入 services.msc,然后单击确定
  2. 右键单击 VMware VirtualCenter Server 服务,然后单击“属性”。
  3. 将启动类型从“自动”更改为“自动(延迟启动)”。
注意
  • 有关 DependOnService 项的详细信息,请参见 Microsoft 文章 193888
  • 如果正在使用 VMware SSL 证书自动化工具,则更改服务依赖关系可能会影响该工具。VMware SSL 证书自动化工具必须能够启动和停止特定服务。
  • 每次进行 vCenter Server 升级之后请检查并修改启动类型,因为启动类型可能会重置为默认设置“自动”。


注意:截至 2011 年 4 月 25 日,上述链接正确无误。如果您发现链接已损坏,请提供反馈,VMware 员工会更新该链接。


Additional Information

SQL 2005 与 SQL 2008 处理启动和数据库准备情况的方式不同。SQL 2005 在完成启动并可供访问后立即授予数据库访问权限(使用 FastRecovery 方法时),而 SQL 2008 在检查完数据库之前拒绝进行连接,这可能需要 1 分钟。
有关在 SQL Server 中恢复性能的详细信息,请参见 Microsoft 文章 http://msdn.microsoft.com/en-us/library/ms189262%28SQL.100%29.aspx

注意截至 2011 年 4 月 25 日,上述链接正确无误。如果您发现链接已损坏,请提供反馈,VMware 员工会更新该链接。
VMware VirtualCenter Server service does not start automatically after reboot