如何解决 VMware 克隆虚拟机在 Azure Site Recovery 中的复制状态异常问题
问题描述
在 VMware 环境中的虚拟机 A 已经被 Azure Site Recovery(以下简称:ASR) 进行了容灾保护,虚拟机 A 在 ASR 中的状态正常。现将其克隆后新建了另一台虚拟机 B。在对虚拟机 B 启用复制后,可能会遇到虚拟机 A、B 的复制状态出现异常,如复制进度卡住等现象。
问题分析
VMware 环境中对虚拟机进行复制时,会在虚拟机中安装 Mobility Agent。该 Agent 在安装过程中会生成一个 ID,称为 Host ID
或 AgentGeneratedId
,在复制过程中,该 ID 会唯一标识一台虚拟机,被记录在配置服务器的数据库中。同时,虚拟机的复制数据也会写入进程服务器的以该 ID 命名的文件夹下面。
虚拟机被克隆并启用复制后,该 ID 不会改变,会重新写入数据库,并复用原有进程服务器中的文件夹,因此会造成配置服务器中虚拟机记录的不正确,进程服务器中的复制数据处理异常,导致整个复制状态异常。
解决方法
基于这种情况,建议用户清理这两台虚拟机的复制环境,重新进行复制。具体过程如下:
清理这两台虚拟机现有的信息和环境
在 Azure ASR 中,禁用两台虚拟机的复制。
登录 Azure 门户,选中您的 Recovery Services 保管库,在左侧导航栏中,点击 “复制的项”,在右侧标签页下,右键单击计算机,再单击 “禁用复制”。在 “禁用复制” 页中,选择 禁用复制并删除(推荐)。
在配置服务器上,检查两台虚拟机信息是否正确:
以管理员身份打开 mysql 的命令行,执行命令查看所有注册的虚拟机的信息:
mysql> use svsdb1; mysql> select id as hostid, name, ipaddress, ostype as operatingsystem, from_unixtime(lasthostupdatetime) as heartbeat from hosts where name!='InMageProfiler'\G;
注意查看虚拟机的信息是否正确。若不正确,请按下面步骤进行清理:
在命令行中切换到
C:\home\svsystems\bin
(根据安装情况,盘符可能不同)。
运行以下命令注销:
语法:Unregister-ASRComponent.pl -IPAddress <IP_ADDRESS_OF_MACHINE_TO_UNREGISTER> -Component <Source/ PS / MT>
例如,若需要取消虚拟机 "OnPrem-VM01"( 10.0.0.4)的注册,则运行:
Unregister-ASRComponent.pl -IPAddress 10.0.0.4 -Component Source
参考文档:如何清理重复项。
删除两台虚拟机上的 Mobility Agent。
以 root 用户身份在 Linux 服务器上登录。
在终端中转到/user/local/ASR
,请运行以下命令卸载移动服务:
uninstall.sh -Y
参考文档:安装移动服务。
重新为两台虚拟机启用复制。
注意
如果客户有克隆虚拟机并使用 ASR 复制的需求,建议在克隆之前先停止 ASR 复制,删除 Mobility Agent,在克隆后再启用复制。这样来避免其他潜在的由克隆引起的问题。