检查 VM 角色是否有预配错误 [SPFSDK][VMROLE]
适用于:Windows Azure Pack
每当对 VM 角色执行操作时,VM 角色 ProvisioningState 属性将设置为 “预配”、“ 预配”或 “失败 ”,具体取决于操作的结果。 影响 ProvisioningState 属性的一些操作类型包括创建 VM 角色、从其他库项版本更新 VM 角色以及缩放/修复 VM 角色。
如何检测错误
如果上一操作导致 ProvisioningState 属性的 Provisioned 或 Provisioning 值,则无需执行任何操作。 但是,如果操作 结果失败,则需要进一步调查以确定问题的原因。 子州属性也存在于 VM 角色实例上。 此属性描述使用 VM 角色时可能发生的错误。 此属性具有名为 VMRoleMessages 的子属性,该属性是描述错误的消息数组。
下面是一个示例,显示包含单个 VM 角色实例的 HTTP 响应正文。 在预配 VM 角色期间,此实例有三个问题。 请注意 ,ProvisioningState 属性设置为 Failed , Substate 属性包含 VMRoleMessages 属性,该属性是错误详细信息数组。
{
"InstanceView": {
"InstanceCount": "1",
"ResolvedResourceDefinition": { "... removed for brevity ... ": "" },
"VIPs": []
},
"Label": "testquickvm",
"Name": "testquickvm",
"ProvisioningState": "Failed",
"ResourceConfiguration": { "... removed for brevity ... ": "" },
"ResourceDefinition": { "... removed for brevity ... ": "" },
"Substate": {
"VMRoleMessages": [{
"Message": "Virtual Machine Manager cannot detect a heartbeat from the specified virtual machine. Either the virtual machine is not running or Virtual Machine Additions is not installed.",
"MessageQualifier": "Error",
"VMId": null
},
{
"Message": "One or more virtual machines have failed during customization during the deployment of the service.",
"MessageQualifier": "Warning",
"VMId": null
},
{
"Message": "Virtual Machine Manager cannot detect a heartbeat from the specified virtual machine. Either the virtual machine is not running or Virtual Machine Additions is not installed.",
"MessageQualifier": "Error",
"VMId": "9f7ac179-68f2-4703-9d58-d64b45fadc92"
}]
},
"odata.metadata": "https://spf-server:8090/SC2012R2/VMM/Microsoft.Management.Odata.svc/$metadata#VMRole/@Element"
}
对错误执行的操作
如果在预配 VM 角色时出错,则它可能与其配置相关。 如果为 true,请更新 ResourceConfiguration 属性并启动 修复 操作。 如果错误与部署相关, (查找资源来放置虚拟机或类似此) ,还可以尝试启动 修复 操作以强制重新部署。 否则,Virtual Machine Manager可能存在问题,管理员必须进一步调查。 有关 修复 操作的详细信息,请参阅 修复 VM 角色 [SPFSDK][VMROLE]。
另请参阅
创建云服务以托管 VM 角色 [SPFSDK][VMROLE]
从库 [SPFSDK][VMROLE] 创建新的 VM 角色实例