Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
本文介绍如何排查在 Azure Site Recovery 中将 Azure 虚拟机 (VM) 从一个区域复制和恢复到另一个区域期间出现的常见错误。 有关支持的配置的详细信息,请参阅 support matrix for replicating Azure VMs(复制 Azure VM 的支持矩阵)。
有多个磁盘可用于保护(错误代码 153039)
可能的原因
- 最近在保护后将一个或多个磁盘添加到虚拟机。
- 在保护虚拟机之后初始化了一个或多个磁盘。
解决方法
若要使 VM 的复制状态再次恢复正常,可以选择保护磁盘或消除警告。
保护磁盘
转到“复制的项” VM 名称 >“磁盘”。
选择未受保护的磁盘,然后选择“启用复制”:
消除警告
转到“复制的项” VM 名称。
选择“概述”部分选择警告,然后选择“确定”。
无法选择 VM 进行保护
可能的原因
虚拟机安装的扩展处于失败或无响应状态
解决方法
转到“虚拟机”“设置”>“扩展”,并检查是否有任何扩展处于失败状态。 卸载所有失败的扩展,然后重试保护虚拟机。
当 GRUB 使用设备名称时未启用保护(错误代码 151126)
可能的原因
Linux Grand Unified Bootloader (GRUB) 配置文件(“/boot/grub/menu.lst”、“/boot/grub/grub.cfg”、“/boot/grub2/grub.cfg”或“/etc/default/grub”)可能为 和 参数指定了实际设备名而非全局唯一标识符 (UUID) 值。 Site Recovery 需要 UUID,因为设备名称可能会更改。 重启后,VM 在故障转移时可能不会使用相同的名称,从而导致出现问题。
以下示例摘自 GRUB 文件的代码行,其中显示了设备名称而不是所需的 UUID:
文件 /boot/grub2/grub.cfg:
linux /boot/vmlinuz-3.12.49-11-default root=/dev/sda2 ${extra_cmdline} resume=/dev/sda1 splash=silent quiet showopts文件: /boot/grub/menu.lst
kernel /boot/vmlinuz-3.0.101-63-default root=/dev/sda2 resume=/dev/sda1 splash=silent crashkernel=256M-:128M showopts vga=0x314
解决方法
将每个设备名称替换为相应的 UUID:
执行
blkid <device name>命令来查找设备的 UUID。 例如:blkid /dev/sda1 /dev/sda1: UUID="6f614b44-433b-431b-9ca1-4dd2f6f74f6b" TYPE="swap" blkid /dev/sda2 /dev/sda2: UUID="62927e85-f7ba-40bc-9993-cc1feeb191e4" TYPE="ext3"请将设备名称替换为其 UUID,采用
root=UUID=<UUID>和resume=UUID=<UUID>格式。 例如,在替换后,/boot/grub/menu.lst 中的行将如以下行所示:kernel /boot/vmlinuz-3.0.101-63-default root=UUID=62927e85-f7ba-40bc-9993-cc1feeb191e4 resume=UUID=6f614b44-433b-431b-9ca1-4dd2f6f74f6b splash=silent crashkernel=256M-:128M showopts vga=0x314重试保护。
由于不存在 GRUB 设备,保护失败(错误代码 151124)
可能的原因
GRUB 配置文件(/boot/grub/menu.lst、/boot/grub/grub.cfg、/boot/grub2/grub.cfg 或 /etc/default/grub)可能包含参数 或 。 这些参数指定了在启动时要发现的逻辑卷管理器 (LVM) 设备。 如果这些 LVM 设备不存在,则受保护的系统本身不会启动,而是停滞在启动过程。 故障转移 VM 上也会出现相同的问题。 以下是几个示例:
RHEL7 上的 /boot/grub2/grub.cfg 文件:
linux16 /vmlinuz-3.10.0-957.el7.x86_64 root=/dev/mapper/rhel_mup--rhel7u6-root ro crashkernel=128M\@64M rd.lvm.lv=rootvg/root rd.lvm.lv=rootvg/swap rhgb quiet LANG=en_US.UTF-8RHEL7 上的 /etc/default/grub 文件:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rootvg/root rd.lvm.lv=rootvg/swap rhgb quietRHEL6 上的 /boot/grub/menu.lst 文件:
kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=36dd8b45-e90d-40d6-81ac-ad0d0725d69e rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=rootvg/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=rootvg/lv_swap rd_NO_DM rhgb quiet
在每个示例中,GRUB 都必须检测卷组 root 中名为 swap 和 rootvg 的两个 LVM 设备。
解决方法
如果 LVM 设备不存在,请创建该设备,或者从 GRUB 配置文件中删除该设备对应的参数。 然后重试启用保护。
如果存在副本托管磁盘,则不会启用保护
当副本托管磁盘已存在,但目标资源组中不包含预期的标记时,会发生此错误。
可能的原因
如果虚拟机过去受保护,但禁用复制时未删除副本磁盘,则可能会出现此问题。
解决方法
删除错误消息中指出的副本磁盘,然后重试失败的保护作业。
启动保护失败,因为安装程序无法找到根磁盘(错误代码 151137)
对于使用 Azure 磁盘加密 (ADE) 对 OS 磁盘进行加密的 Linux 计算机,会发生此错误。 这只是代理版本 9.35 中的有效问题。
可能的原因
安装程序无法找到托管根文件系统的根磁盘。
解决方法
请执行以下步骤来修复此问题。
使用以下命令在 RHEL 计算机上的目录 /var/lib/waagent 下查找代理位:
# find /var/lib/ -name Micro\*.gz预期输出:
/var/lib/waagent/Microsoft.Azure.RecoveryServices.SiteRecovery.LinuxRHEL7-1.0.0.9139/UnifiedAgent/Microsoft-ASR_UA_9.35.0.0_RHEL7-64_GA_30Jun2020_release.tar.gz创建一个新目录,并将目录更改为此新目录。
使用以下命令提取在第一步中找到的代理文件:
tar -xf <Tar Ball File>打开文件 prereq_check_installer.json 并删除以下行。 在此之后保存该文件。
{ "CheckName": "SystemDiskAvailable", "CheckType": "MobilityService" },使用以下命令调用安装程序:
./install -d /usr/local/ASR -r MS -q -v Azure如果安装程序成功,请重试“启用复制”作业。