VMM 主机未响应规则

Microsoft.SystemCenter.VirtualMachineManager.2008.Engine.HostAgentNotResponding.rule (Rule)

Knowledge Base article:

概述

虚拟主机上的 Virtual Machine Manager 代理对来自 VMM 服务器的通信没有响应。主机第一次没有响应时会生成此警报,并且此警报不会重复。

原因

主机不响应的可能原因包括:

1

主机上的 WS-Management(也称为 Windows 远程管理 (WinRM))已停止。

2

主机上运行的是 Hyper-V 的预发行版本。VMM 2008 仅能与 Hyper-V 的发行版本一起工作。

3

主机上不存在虚拟服务器服务(无论 Hyper-V 或虚拟服务器),或者该服务已停止。

4

VMM 服务器的计算机帐户不在主计算机上的本地 Administrators 组中。

5

VMM 服务器的计算机帐户不在主计算机上的“Virtual Machine Manager 服务器”组中。

6

在主计算机上启用了 Windows 防火墙,但未添加以下防火墙例外:

  • 端口例外 - HTTP (80)、HTTPS (443)(这些是 HTTP 和 HTTPS 的默认端口分配,可能与您使用的端口不同。)

  • 程序例外 - VMMAgent

7

WinRM 侦听器不存在,或者它未侦听主机上的所有 IP 地址。如果卸载并重新安装 WS-Management,便会发生这种情况。

8

代理服务器阻止与主机的通信。

9

删除了位于外围网络中或位于非受信任 Active Directory 域中的某个主机的 SCVMM 用户和组。

10

WMI 存储已损坏。

11

DNS 名称解析问题导致无法通信。

12

Kerberos 身份验证问题导致无法通信。

解决方案

解决这些问题:

1

确保能够从 VMM 服务器连接到主计算机。

2

确保主计算机上正在运行 Virtual Machine Manager 代理服务和 WS-Management 服务(以前称为 WinRM)。否则,请重新启动这些服务。

3

确保主计算机上安装了 Hyper-V 或虚拟服务器,并且虚拟服务器服务正在运行。

4

如果在服务器上安装有并运行 Hyper-V,则将 Hyper-V 更新至 KB956589.要下载更新,请前往针对 Windows Server 2008 x64 Edition (KB956589) 的 Hyper-V 更新(网址为: http://go.microsoft.com/fwlink/?LinkId=113199,该网页可能为英文)。

5

确保 VMM 服务器的计算机帐户位于主计算机上的以下组中:

  • Administrators

  • Virtual Machine Manager 服务器

6

如果在主计算机上启用了 Windows 防火墙,请检查是否添加了以下防火墙例外。位置:“控制面板”->“Windows 防火墙”->“例外”选项卡。

  • 端口例外 - HTTP (80)、HTTPS (443)(这些是默认端口,可能与您使用的端口不同。)

  • 程序例外 - VMMAgent

7

检查主计算机上是否存在 WinRM 侦听器。为此,请在命令提示符下输入下面的命令:

winrm enum winrm/config/listener

如果 WinRM 存在,该命令会返回类似下面的内容:

Address = *

Transport = HTTP

Port = 80(此处使用的是默认端口。)

HostnameEnabled = true

URLPrefix = wsman

CertificateThumbprint

ListeningOn = 127.0.0.1, 172.30.190.61(主机的所有 IP 地址)

8

如果在步骤 4-6 中更新了任何配置,则必须在主机上卸载并重新安装 Virtual Machine Manager 代理。

9

使用控制面板中的“添加或删除程序”在主计算机上本地删除 Virtual Machine Manager 代理。

10

在主机上重新安装 Virtual Machine Manager 代理:

  • 如果主机位于受信任的 Active Directory 域服务 (AD DS) 域中,请从 VMM 管理员控制台的任意视图中单击“操作”窗格中的“添加主机”,然后按照向导说明将主机添加到 VMM 中。

  • 如果主机位于外围网络中,请在主计算机上本地安装 Virtual Machine Manager 代理,然后使用“添加主机”操作将主机添加到 VMM 中。有关代理安装说明,请参阅 Microsoft TechNet 库中的“本地安装 VMM 代理”(网址为:http://go.microsoft.com/fwlink/?LinkId=121006,该网页可能为英文)。

11

如果主机仍然不可用,请在 Virtual Machine Manager 中刷新主机。为此,在 VMM 管理员控制台中显示“主机”视图,选择主机,然后单击“操作”窗格中的“刷新”

12

要下载 Hyper-V 的发行版本,请打开 http://go.microsoft.com/fwlink/?LinkId=113199(该网页可能为英文)。

13

要检查主机 WMI 存储库的完整性或对其进行修复,请运行下面的命令:

winmgmt /salvagerepository

14

要检查主机的 WMI 虚拟化存储,请执行以下操作:

a. 在主计算机上使用本地 Administrator 帐户来启动 Wbemtest。

b. 连接到 \\hostname\root\virtualization。

c. 尝试下面的查询,看其是否成功:select * from msvm ComputerSystem</host>

15

检查主机的 WMI 命名空间安全性设置:

a. 打开“服务器管理器”,单击“配置”,右键单击“WMI 控制”,然后选择“属性”

b. 要查看安全性设置,请在“安全性”选项卡上选择“SCVMM”,然后单击“安全设置”。确保 Administrators 组和 Virtual Machine Manager 服务对命名空间具有完全控制权限。

16

要检查 WinRM 的状态,请运行下面的命令:winrm qc

17

要检查 WinRM 侦听器是否正在运行,请输入以下命令之一:

* 要仅获取侦听器配置,请输入:winrm enum winrm/config/listener

要获取完整的 WinRM 配置,请输入:winrm get winrm/config

18

要检查 VMM 代理对 WinRM 调用是否有响应,请运行下面的命令:

winrm invoke GetVersion wmi/root/scvmm/AgentManagement -r:http://<host> @{}

19

要手动重新启动 VMM 服务器服务,请输入以下命令:

net stop vmmservice

net start vmmservice

20

要在主机上手动重新启动 VMM 代理服务,请输入以下命令:

net stop vmmagent

net start vmmagent

21

要手动重新启动 Hyper-V 服务,请输入以下命令:

net stop vmms

net start vmms

22

要了解 DNS 名称解析服务是否正在按预期的方式工作,请输入下面的命令:nslookup <主机名>|<IP 地址>]

FQDN 应与在 Active Directory 中注册的 FQSDN 相匹配。

Additional

Windows NT 事件 435,Param6=3

External

VMM TechCenter(网址为:http://go.microsoft.com/fwlink/?LinkId=85920,该网页可能为英文)

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.2008.Engine
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
托管主机未响应
{0}
Event LogVM Manager

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.VirtualMachineManager.2008.Engine.HostAgentNotResponding.rule" Enabled="true" Target="Microsoft.SystemCenter.VirtualMachineManager.2008.Engine">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>VM Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Virtual Machine Manager</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>435</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Params/Param[7]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>3</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.VirtualMachineManager.2008.Engine.HostAgentNotResponding_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
</WriteAction>
</WriteActions>
</Rule>