虚拟机报告为受 Site Recovery Manager 管理
search cancel

虚拟机报告为受 Site Recovery Manager 管理

book

Article ID: 344701

calendar_today

Updated On:

Products

VMware Live Recovery

Issue/Introduction

Symptoms:
免责声明:本文为 VMs are reported as managed by Site Recovery Manager (2032366) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

  • 之前的故障切换和故障恢复完成后,摘要选项卡报告生产站点中的虚拟机/实际虚拟机由 VMware vCenter Site Recovery Manager (SRM) 管理。

  • 单击虚拟机时,您会看到以下警示︰

    This entity is managed by solution VMware vCenter Site Recovery Manager Extension. It is not recommended to modify it directly. Instead use the management console for the solution if you want to make changes.


Environment

VMware vCenter Site Recovery Manager 5.8.x
VMware vCenter Site Recovery Manager 6.0.x
VMware vCenter Site Recovery Manager 5.0.x
VMware vCenter Site Recovery Manager 5.5.x
VMware vCenter Site Recovery Manager 5.1.x

Cause

Site Recovery Manager (SRM) 使用 vm.config.managedBy 属性将某些虚拟机声明为故障切换 vCenter Server 站点上的占位虚拟机。实际进行故障切换时,这些虚拟机将成为实际(生产)虚拟机。

为此,SRM 会在占位虚拟机上调用vm.reconfigure 操作来清除 vm.config.managedBy属性。vCenter Server 会从其缓存中清除此属性,但不会从下面的 vCenter Server 数据库表中清除此属性:VPX_VM.

有两个属性反映相同的值:vm.config.managedBy vm.summary.config.managedBy,不会从VPX_VM表中清除第二个属性 (vm.summary.config.managedBy)。

如果 vCenter Server 出于任何原因重新启动或者发生虚拟机重新配置事件(打开电源/关闭电源),vCenter Server 会读取VPX_VM表并使用旧 managedBy 值填充 vm.summary.config.managedBy 属性,导致错误地将实际虚拟机声明为占位虚拟机。

Resolution

要解决此问题,请执行以下操作:
  1. 使用本文随附的 2032366_ManagedBy_Power CLI script.zip 文件夹中的 Power CLI 脚本手动标识并移除虚拟机中的managedBy标记。
  2. 手动清除 vCenter Server 数据库中的错误条目。

标识并移除虚拟机中的 managedBy 标记

要手动标识并移除虚拟机中的managedBy标记,请执行以下操作︰
  1. 安装 PowerCLI。要下载 PowerCLI,请参见VMware vSphere PowerCLI page
  2. 右键单击PowerCLI,并以管理员身份运行。
  3. 运行以下命令:
Set-ExecutionPolicy -scope CurrentUser -ExecutionPolicy RemoteSigned
这使得当前用户能够运行第三方签名脚本和 cmdlet。或者,您可以忽略 scope 字段并使用-Unrestricted。但是,这样安全性较低,因为这台计算机上的所有人都可以运行任何 cmdlet 或脚本。
有关详细信息,请输入:

get-help Set-ExecutionPolicy -full
  • 下载本文随附的脚本 (ManagedBy.ps1) 并将其复制到可访问的文件夹。打开 PowerCLI 会话,然后通过运行Connect-VIServer命令连接到 vCenter Server。将目录更改为保存ManagedBy.ps1脚本的文件夹。要获取虚拟机阵列,请运行以下命令︰
$hmsVms = .\ManagedBy.ps1 -Cmd getVms -extKey "com.vmware.vcDr"
  • 您可以检查该列表,也可以在列表中添加或删除虚拟机。
  • 要移除$hmsVms列表中的所有虚拟机的managedBy引用,请运行以下命令︰
.\ManagedBy.ps1 -Cmd Clear -VMs $hmsVms

要查看虚拟机的列表,请运行以下命令︰
$hmsVms

注意:其他可用命令如下︰
  • help.\ManagedBy.ps1 -detailed:显示详细的帮助信息。
  • getVMs:获取由特定扩展管理的虚拟机。
  • scanVMs:返回管理某些虚拟机的 vCenter 扩展密钥的列表。
  • clean:从虚拟机列表中移除 managedBy 引用。
  • set:添加 managedBy 引用。

清除 vCenter Server 数据库中的错误条目

要手动清除 vCenter Server 数据库中的错误条目,请执行以下操作︰
  1. 停止 VMware vCenter Server 服务。
  2. 备份 vCenter Server 数据库。
  3. 使用 SQL Management Studio,在 vCenter Server 数据库上运行以下脚本︰

    注意:此脚本会查找 managed_by_ext_key managed_by_ext_type 字段在VPX_VM和VPX_VM_CONFIG_INFO表之间不同步的虚拟机 ID。

    select t1.ID, t1.MANAGED_BY_EXT_KEY, t1.MANAGED_BY_TYPE
    from [VIM_VCDB].[dbo].[VPX_VM] t1
    inner join [VIM_VCDB].[dbo].[VPX_VM_CONFIG_INFO] t2
    on t1.ID = t2.ID
    where t2.MANAGED_BY_EXT_KEY IS NULL and t1.MANAGED_BY_EXT_KEY IS NOT NULL

  4. 要获取受影响的虚拟机数目以便根据步骤 5 的输出进行交叉检查,请运行以下查询︰

    select COUNT(t1.ID)
    from [VIM_VCDB].[dbo].[VPX_VM] t1
    inner join [VIM_VCDB].[dbo].[VPX_VM_CONFIG_INFO] t2
    on t1.ID = t2.ID
    where t2.MANAGED_BY_EXT_KEY IS NULL and t1.MANAGED_BY_EXT_KEY IS NOT NULL

  5. 要将这两个字段与 VPX_VM_CONFIG_INFO 同步,请使用以下脚本更新VPX_VM表︰

    echo "data : $hmsVms"
    update [VIM_VCDB].[dbo].[VPX_VM]
    set MANAGED_BY_EXT_KEY=t2.MANAGED_BY_EXT_KEY, MANAGED_BY_TYPE=t2.MANAGED_BY_TYPE
    from [VIM_VCDB].[dbo].[VPX_VM] t1
    inner join [VIM_VCDB].[dbo].[VPX_VM_CONFIG_INFO] t2
    on t1.ID = t2.ID
    where t2.MANAGED_BY_EXT_KEY IS NULL and t1.MANAGED_BY_EXT_KEY IS NOT NULL

    输出报告受影响的行数。将此数字与步骤 4 输出的行数进行比较,并确保两个数字匹配。

  6. 启动 VMware vCenter Server 服务。
解决数据库不一致问题后,请运行此工作流,确保您的环境运行正常︰
  1. 从站点 A 恢复到站点 B。
  2. 重新保护站点 B。
  3. 从站点 B 恢复到站点 A。
  4. 重新保护站点 A。
重要事项:升级到 vCenter Server 5.0 Update 2 或 vCenter Server 5.1 Update 1 不能解决该问题。vCenter Server 修补程序只能防止该问题继续出现。当前错误显示 ManagedBy SRM 标记的虚拟机即使在升级后也必须按照本文中的步骤进行更正。

注意:如果无法运行恢复,请向 VMware 技术支持提交支持请求,并在问题描述中注明本知识库文章的 ID (2032366)。有关详细信息,请参见 Filing a Support Request in My VMware (2006985)


Additional Information

要在更新本文时收到提醒,请在 “Actions” 框中单击 Subscribe to Article。
有关详细信息,请参见 Microsoft TechNet 文章 Set-Execution Policy
注意:截至 2014 年 9 月 12 日,上述链接正确无误。如果您发现链接已损坏,请提供反馈,VMware 员工会更新该链接。


Impact/Risks:
如果您尝试编辑被标记为占位虚拟机的实际虚拟机的设置,则会看到警告和图标更改,并且无法区分受保护的(实际)虚拟机和占位虚拟机。
注意:弹出是测试故障切换所创建的虚拟机上的预期行为。