解决Azure VM备份中的文件恢复问题

本文提供故障排除步骤,可帮助你解决从Azure虚拟机(VM)备份恢复文件和文件夹时遇到的问题。

常见错误消息

本部分提供对可能看到的错误消息进行故障排除的步骤。

“连接到目标时捕获到异常”

可能的原因:脚本无法access恢复点。

建议的措施:若要解决此问题,请按照 脚本运行但连接失败中列出的步骤进行操作。

“目标已通过 iSCSI 会话登录”

可能的原因:脚本已在同一台计算机上运行,驱动器已附加。

建议的操作:已附加恢复点所在的卷。 不能使用原始 VM 的相同驱动器号装载它们。 浏览File Explorer中的可用卷。

“此脚本无效,因为磁盘已通过门户卸载/超出了 12 小时的限制。 从门户下载新脚本”

可能的原因:磁盘已从门户卸载或超过 12 小时的时间限制。

建议的作:下载脚本 12 小时后,该脚本将变为无效且无法运行。 转到门户,然后下载新脚本以继续文件恢复。

无法加载iscsi_tcp模块或者找不到iscsi_tcp模块

建议的作:若要解决此问题,请 遵循脚本下载成功但无法运行的步骤。

常见问题

本部分提供用于排查下载和执行用于文件恢复的脚本时可能会遇到的常见问题的步骤。

无法下载脚本

  1. 确保具有下载脚本要求的权限

  2. 验证与Azure目标 IP 的连接。 在提升权限的命令提示符下运行以下命令之一:

       nslookup download.microsoft.com
    

       ping download.microsoft.com
    

脚本已成功下载,但无法运行

在 SUSE Linux Enterprise Server 12 SP4 上运行项目级别恢复(ILR)的 Python 脚本时,它失败并出现错误“无法加载iscsi_tcp模块”或“找不到iscsi_tcp_module”。

可能的原因:ILR 模块使用 iscsi_tcp 建立与备份服务的 TCP 连接。 作为 SLES 12 SP4 版本的一部分,SUSE 从 open-iscsi 包中删除了 iscsi_tcp,因此 ILR 操作失败。

建议的作:SUSE 12 SP4 VM 不支持文件恢复脚本执行。 尝试在旧版的 SUSE 12 SP4 上执行还原操作。

脚本运行,但与 iSCSI 目标的连接失败

你可能会看到“连接到目标时捕获到异常”错误消息。

  1. 确保运行脚本的计算机满足 access 要求

  2. 验证与Azure目标 IP 的连接。 在提升权限的命令提示符下运行以下命令之一:

       nslookup download.microsoft.com
    

       ping download.microsoft.com
    
  3. 确保可以访问 iSCSI 出站端口 3260。

  4. 检查防火墙或 NSG 是否阻止 Azure 目标 IP 或恢复服务 URL 的流量。

  5. 确保防病毒软件未阻止脚本的执行。

你已连接到恢复点,但磁盘未附加

通过按照您的操作系统的步骤来解决此问题。

Windows 文件恢复在具有storage池的服务器上失败

首次在 Windows Server 2012 R2 和 Windows Server 2016(使用存储池)运行脚本时,存储池可能以只读方式附加到 VM。

小窍门

确保拥有合适的计算机来运行脚本

若要解决此问题,请手动将读写访问权限分配给存储池并附加虚拟磁盘。

  1. 转到 Server Manager>文件和存储服务>>存储池

    截图展示存储池选项。

  2. Storage Pool 窗口中,右键单击可用的storage池,然后选择 Set Read-Write Access

    截图显示存储池的右键单击选项。

  3. 存储池分配读写访问权限后,右键单击 虚拟磁盘 部分,然后选择 挂载虚拟磁盘

    截图显示虚拟磁盘的右键单击选项。

Linux 文件恢复无法自动装载,因为磁盘未包含卷

执行文件恢复时,备份服务会检测卷并自动装载。 但是,如果备份的磁盘具有原始分区,则不会自动装载这些磁盘,并且看不到用于恢复的数据磁盘。

若要解决此问题,请转到从Azure虚拟机备份中恢复文件

Linux 文件恢复失败,因为 OS 无法识别文件系统

运行文件恢复脚本时,数据磁盘无法连接。 你会看到“由于 OS 无法识别文件系统”错误,以下分区无法装载。

若要解决此问题,请检查是否使用第三方应用程序对该卷进行了加密。 如果已加密,则磁盘或 VM 不会在门户中显示为加密。

  1. 登录到备份的 VM 并运行以下命令:

       lsblk -f
    

    列出块设备的命令结果的截图显示.

  2. 验证文件系统和加密。 如果卷已加密,则不支持文件恢复。 有关详细信息,请参阅 Azure 虚拟机备份支持矩阵

磁盘已附加,但卷未装载

通过按照您的操作系统的步骤来解决此问题。

Windows操作系统

运行适用于 Windows 的文件恢复脚本时,你看到“附加了 0 个恢复卷”消息。 但是,会在磁盘管理控制台中发现这些磁盘。

可能的原因:通过 iSCSI 附加卷时,检测到的某些卷进入脱机状态。 当 iSCSI 通道在 VM 和服务之间通信时,它将检测这些卷并将其联机,但不会装载它们。

Screenshot 显示附加的 0 个恢复卷

若要识别并解决此问题,请执行以下步骤:

小窍门

确保拥有 合适的计算机来运行脚本

  1. cmd 窗口中,运行 diskmgmt 以打开 磁盘管理

  2. 查找是否有任何附加磁盘。 在以下示例中, 磁盘 2 是一个额外的磁盘。

    磁盘管理窗口的截图,其中包含其他磁盘。

  3. 右键单击“新建卷”,并选择“更改驱动器号和路径”。

    截图显示在额外磁盘上的右键单击选项。

  4. “更改驱动器号或路径” 窗口中,选择“ 分配以下驱动器号”,分配可用驱动器,然后选择“ 确定”。

    “更改盘符或路径”窗口的截图。

  5. 打开File Explorer以查看所选驱动器并浏览文件。

Linux

小窍门

确保拥有 合适的计算机来运行脚本。 如果受保护的 Linux VM 使用 LVM 或 RAID 阵列,请按照 从Azure虚拟机备份中恢复文件中的步骤作。

磁盘已附加,但启用多路径时不会在 Linux VM 上装载卷

可能的原因:在 Linux VM 上运行单个文件恢复(ILR),Azure Backup使用 iSCSI 将恢复磁盘附加到 VM。 如果在 VM 上启用了多路径,Linux OS 可能会将这些 iSCSI 磁盘标识为多路径设备,并通过多路径守护程序声明它们。 因此,在文件恢复期间,磁盘不会被装载为常规的块设备。 默认情况下,在启用了多路径的 Linux 分发版上通常会观察到此问题。

建议的作: 更新 VM 上的多路径配置,以排除用于从多路径处理中恢复文件的 iSCSI 设备。 应用配置更改并重启多路径服务后,请重新运行文件恢复脚本。 有关配置多路径排除项的指导,请参阅 Linux 分发版的文档。
Ubuntu: 多路径配置选项和概述

无法从装载的卷复制文件

副本可能会失败 ,并出现错误0x80070780:系统无法访问该文件。

检查源服务器是否已启用磁盘 重复数据删除 。 如果启用此选项,请确保还原服务器在驱动器上也启用了 重复数据删除 。 你可以不配置重复数据删除功能,这样就不会对还原服务器上的驱动器执行重复数据删除操作。

虽然在 Azure portal (Linux OS)上点击卸载磁盘指令,但磁盘没有被卸载。

运行带有 clean 参数的 python 脚本以手动卸载磁盘。 以下示例显示计算机安装的 python 3 包


 python3 XXX.py clean

卸载 Windows 上的停滞磁盘

若要解决此问题,请执行以下步骤:

  1. 打开 Azure VM 上存在装载磁盘的iSCSI 发起程序属性窗口。

  2. “ISCSI 发起程序属性” 窗口中,选择“ 设备” 并检查要卸载的磁盘 的名称

  3. 请返回到 ISCSI 发起程序属性窗口,选择 断开连接>

  4. 检查目标 名称 是否显示 状态:非活动

后续步骤