如何在 Azure 门户中还原 Azure VM 数据

本文介绍如何从 Azure 备份恢复服务保管库中存储的恢复点还原 Azure VM 数据。

还原选项

Azure 备份提供了几种用来还原 VM 的方法。

还原选项 详细信息
创建新 VM 从还原点快速创建并正常运行一个基本的 VM。

可以指定 VM 的名称,选择要将此 VM 放入到的资源组和虚拟网络 (VNet),以及为已还原的 VM 指定存储帐户。 新 VM 必须在源 VM 所在的区域创建。

如果由于 Azure VM SKU 在指定的 Azure 区域中不可用,或者由于任何其他问题,VM 还原失败,则 Azure 备份仍将还原指定资源组中的磁盘。
还原磁盘 还原某个 VM 磁盘,然后使用它来创建新的 VM。

Azure 备份提供一个模板来帮助你自定义和创建 VM。

还原作业会生成一个模板,可以下载该模板,并使用它来指定自定义的 VM 设置和创建 VM。

磁盘将复制到指定的资源组。

或者,可将磁盘附加到现有 VM,或使用 PowerShell 创建新的 VM。

若要自定义 VM、添加在备份时不存在的配置设置,或添加必须使用模板或 PowerShell 配置的设置,则此选项非常有用。
替换现有项 可以还原某个磁盘,并使用它来替换现有 VM 上的磁盘。

当前 VM 必须存在。 如果已将其删除,则无法使用此选项。

Azure 备份会在替换磁盘之前获取现有 VM 的快照,并将其存储在指定的暂存位置。 连接到该 VM 的现有磁盘将替换为所选的还原点。

快照将复制到保管库,并根据保留策略进行保留。

替换磁盘操作完成后,原始磁盘会保留在资源组中。 如果不需要原始磁盘,可选择手动删除它们。

对于未加密的托管 VM(包括使用自定义映像创建的 VM),支持替换现有磁盘。 经典 VM、非托管 VM 以及通用 VM 不支持此操作。

如果还原点中的磁盘数多于或少于当前 VM 中的磁盘数,则还原点中的磁盘数只反映 VM 配置。

对于包含链接资源的 VM(例如用户分配的托管标识Key Vault),还支持替换现有磁盘。
跨区域(次要区域) 跨区域还原可用于还原次要区域(Azure 配对区域)中的 Azure VM。

如果备份在次要区域中完成,则可针对所选恢复点还原所有 Azure VM。

在备份期间,不会将快照复制到次要区域。 仅会复制存储在保管库中的数据。 因此,次要区域还原只是保管库层还原。 次要区域的还原时间与主要区域的保管库层还原时间几乎相同。

此功能适用于以下选项:
  • 创建 VM
  • 还原磁盘

    当前不支持替换现有磁盘选项。

    权限
    次要区域中的还原操作可由备份管理员和应用管理员执行。
  • 备注

    还可以恢复 Azure VM 上的特定文件和文件夹。 了解详细信息

    存储帐户

    一些有关存储帐户的详细信息:

    • 创建 VM:在创建新的 VM 时,该 VM 将放置于指定的存储帐户中。
    • 还原磁盘:当你还原磁盘时,该磁盘将复制到指定的存储帐户。 还原作业会生成一个模板,你可以下载该模板,并使用它来指定自定义的 VM 设置。 此模板放置于指定的存储帐户中。
    • 替换磁盘:替换现有 VM 中的磁盘时,Azure 备份会在替换该磁盘前创建现有 VM 的快照。 快照还将通过数据传输复制到恢复服务保管库,以后台进程执行。 但是,快照阶段一旦完成,就会触发替换磁盘操作。 替换磁盘操作完成后,源 Azure VM 的磁盘将保留在指定资源组中供操作使用,而 VHD 则存储在指定的存储帐户中。 你可选择删除或保留这些 VHD 和磁盘。
    • 存储帐户位置:存储帐户必须与保管库位于同一个区域中。 仅显示这些帐户。 如果该位置中没有任何存储帐户,你需要创建一个存储帐户。
    • 存储类型:不支持 Blob 存储。
    • 存储冗余:不支持区域冗余存储 (ZRS)。 帐户的复制和冗余信息显示在帐户名之后的括号内。
    • 高级存储
      • 在还原非高级 VM 时,高级存储帐户不受支持。
      • 在还原托管 VM 时,使用网络规则配置的高级存储帐户不受支持。

    开始之前

    若要还原 VM(创建新的 VM),请确保对“还原 VM”操作具有正确的 Azure 基于角色的访问控制 (Azure RBAC) 权限

    如果没有权限,则可以还原磁盘,然后在该磁盘还原后,可以使用模板(在执行还原操作的过程中生成)来创建新的 VM。

    选择还原点

    1. 在与要还原的 VM 关联的保管库中,选择“备份项” > “Azure 虚拟机”。

    2. 选择 VM。 VM 仪表板默认会显示过去 30 天的恢复点。 可以显示 30 天以前的恢复点,或者根据日期、时间范围和不同类型的快照一致性进行筛选,以找到所需的恢复点。

    3. 若要还原 VM,请选择“还原 VM”。

      还原点

    4. 选择用于恢复的还原点。

    选择 VM 还原配置

    1. 在“还原虚拟机”中,选择一个还原选项:

      • 新建:若要创建新的 VM,请使用此选项。 可以使用简单的设置创建 VM,或还原某个磁盘并创建自定义的 VM。

      • 替换现有项:若要替换现有 VM 上的磁盘,请使用此选项。

        “还原虚拟机配置”向导

    2. 为选定的还原选项指定设置。

    创建 VM

    作为还原选项之一,你可以使用基本的设置从还原点快速创建 VM。

    1. 在“还原虚拟机” > “新建” > “还原类型”中,选择“创建虚拟机” 。

    2. 在“虚拟机名称”中,指定订阅中不存在的 VM。

    3. 在“资源组”中,为新 VM 选择现有的资源组,或者创建具有全局唯一名称的新资源组。 如果分配的名称已存在,则 Azure 将为该组分配与 VM 相同的名称。

    4. 在“虚拟网络”中,选择要将 VM 放入到的 VNet。 此时会显示与订阅关联的所有 VNet。 选择子网。 默认已选择第一个子网。

    5. 在“暂存位置”中,为该 VM 指定存储帐户。 了解详细信息

      “还原配置”向导 - 选择还原选项

    6. 选择“还原”来触发还原操作。

    还原磁盘

    作为还原选项之一,你可以从还原点快速创建磁盘。 然后可使用该磁盘执行以下操作之一:

    • 使用执行还原操作期间生成的模板来自定义设置,并触发 VM 部署。 编辑默认模板设置,然后提交模板进行 VM 部署。
    • 将已还原的磁盘附加到现有 VM。
    • 使用 PowerShell 从已还原的磁盘创建新的 VM
    1. 在“还原配置” > “新建” > “还原类型”中,选择“还原磁盘”。

    2. 在“资源组”中,为已还原的磁盘选择现有资源组,或者创建具有全局唯一名称的新资源组。

    3. 在“暂存位置”中,指定要将 VHD 复制到的存储帐户。 了解详细信息

      选择“资源组”和“暂存位置”

    4. 选择“还原”来触发还原操作。

    当虚拟机使用托管磁盘,而你选择“创建虚拟机”选项时,Azure 备份不使用指定的存储帐户。 在使用“还原磁盘”和“即时还原”时,存储帐户仅用于存储模板。 在指定的资源组中创建了托管磁盘。 当虚拟机使用非托管磁盘时,它们会以 Blob 的形式还原到存储帐户。

    使用模板自定义还原 VM

    还原磁盘后,使用执行还原操作期间生成的模板进行自定义并创建新的 VM:

    1. 在“备份作业”中,选择相关还原作业。

    2. 在“还原”中,选择“部署模板”来启动模板部署 。

      深入到还原作业

      备注

      对于将“允许存储帐户密钥访问”设置为“禁用”的共享访问签名 (SAS),选择“部署模板”时,模板不会部署。

    3. 若要自定义模板中提供的 VM 设置,请选择“编辑模板”。 若要添加其他自定义项,请选择“编辑参数”。

      加载模板部署

    4. 输入 VM 的自定义值,接受条款和条件,然后选择“购买”。

      提交模板部署

    替换现有磁盘

    作为还原选项之一,你可以使用选定的还原点替换现有的 VM 磁盘。 查看所有还原选项。

    1. 在“还原配置”中,选择“替换现有项” 。

    2. 在“还原类型”中,选择“替换磁盘”。 这是用于替换现有 VM 磁盘的还原点。

    3. 在“暂存位置”中,指定在还原过程中应将当前托管磁盘的快照保存到的位置。 了解详细信息

      还原配置向导“替换现有”

    跨区域还原

    作为还原选项之一,跨区域还原 (CRR) 允许你在某个次要区域(Azure 配对区域)中还原 Azure VM。

    要开始使用此功能,请阅读“开始之前”部分

    若要查看是否启用了 CRR,请按照配置跨区域还原中的说明进行操作。

    查看次要区域中的备份项

    如果启用了 CRR,则可以查看次要区域中的备份项。

    1. 在门户中,转到“恢复服务保管库” > “备份项”。
    2. 选择“次要区域”以查看次要区域中的项。

    备注

    只有支持 CRR 功能的备份管理类型才会显示在列表中。 目前,只允许将次要区域数据还原到次要区域。

    Azure 托管 VM(包括加密的 Azure VM)支持用于 Azure VM 的 CRR。

    次要区域中的虚拟机

    选择“次要区域”

    在次要区域中进行还原

    次要区域还原用户体验将类似于主要区域还原用户体验。 在“还原配置”窗格中配置详细信息以配置还原时,系统会提示你仅提供次要区域参数。

    目前,从主要区域到次要区域的 RPO 最多为 12 个小时,即使读取访问异地冗余存储 (GRS) 复制为 15 分钟。

    选择要还原的 VM

    选择还原点

    备注

    • 在触发还原后并处于数据传输阶段时,无法取消还原作业。
    • “跨区域还原”功能会将启用了 CMK(客户管理的密钥)的 Azure VM(这些虚拟机未在启用了 CMK 的恢复服务保管库中备份)还原为次要区域中未启用 CMK 的 VM。
    • 在次要区域中进行恢复所需的 Azure 角色与在主要区域中所需的角色相同。
    • 还原 Azure VM 时,Azure 备份自动在次要区域中配置虚拟网络设置。 如果在部署模板时还原磁盘,请确保提供与次要区域对应的虚拟网络设置。

    监视次要区域还原作业

    1. 在门户中,转到“恢复服务保管库” > “备份作业”

    2. 选择“次要区域”以查看次要区域中的项。

      筛选的备份作业

    将非托管的 VM 和磁盘还原为托管项

    在还原过程中,系统会提供一个选项来将非托管磁盘还原为托管磁盘。 默认情况下,非托管的 VM/磁盘会还原为非托管的 VM/磁盘。 但如果选择还原为托管的 VM/磁盘,现在可以执行此操作。 这些还原不会从快照阶段触发,而只会从保管库阶段触发。 此功能不适用于加密的非托管 VM。

    还原为托管磁盘

    采用特殊配置还原 VM

    在许多常见情况下,可能需要还原 VM。

    方案 指南
    通过混合使用权益还原 VM 如果 Windows VM 使用混合使用权益 (HUB) 许可,请还原磁盘,并使用提供的模板(将“许可证类型”设置为“Windows_Server”)或 PowerShell 创建新的 VM。 也可以在创建 VM 后应用此设置。
    在发生 Azure 数据中心灾难期间还原 VM 如果保管库使用 GRS 并且 VM 的主数据中心出现故障,Azure 备份支持将已备份的 VM 还原到配对的数据中心。 在配对的数据中心选择一个存储帐户,然后像平时一样进行还原。 Azure 备份使用配对区域中的计算服务来创建已还原的 VM。 详细了解数据中心复原能力。

    如果保管库使用 GRS,则你可以选择新功能跨区域还原。 这使你可以在完全或部分中断的情况下还原到次要区域,甚至在根本没有中断的情况下进行还原。
    裸机还原 Azure VM 与本地虚拟机监控程序之间的主要差别是 Azure 中不提供 VM 控制台。 某些方案(如使用裸机恢复 (BMR) 类型备份进行恢复)需要控制台。 但是,通过保管库进行 VM 还原完全取代了 BMR。
    还原采用特殊网络配置的 VM 特殊网络配置包括使用内部或外部负载均衡、使用多个 NIC 或多个保留 IP 地址的 VM。 可使用还原磁盘选项还原这些 VM。 此选项会将 VHD 复制到指定的存储帐户,然后,你可以根据配置,使用内部外部负载均衡器、多个 NIC多个保留 IP 地址创建 VM。
    NIC/子网上的网络安全组 (NSG) Azure VM 备份支持在 VNet、子网和 NIC 级别备份和还原 NSG 信息。
    还原任何可用性集中的 VM 从门户还原 VM 时,没有选择可用性集的选项。 还原的 VM 没有可用性集。 如果使用了还原磁盘选项,则使用提供的模板或 PowerShell 从磁盘创建 VM 时,可以指定可用性集
    还原特殊 VM,例如 SQL VM 如果要使用 Azure VM 备份来备份 SQL VM,然后使用“还原 VM”选项或在还原磁盘后创建 VM,则必须向 SQL 提供程序注册新创建的 VM,如此处所述。 这会将还原的 VM 转换为 SQL VM。

    还原域控制器 VM

    方案 指南
    还原单个域中的单个域控制器 VM 像还原其他任何 VM 一样还原该 VM。 请注意:

    从 Active Directory 的角度来看,Azure VM 与任何其他 VM 类似。

    还可使用目录服务还原模式 (DSRM),因此所有 Active Directory 恢复方案都是可行的。 详细了解虚拟化域控制器的备份和还原注意事项。
    还原单个域中的多个域控制器 VM 如果可以通过网络访问同一个域中的其他域控制器,则可以像还原任何 VM 一样还原域控制器。 对于域中剩余的最后一个域控制器,或者在隔离的网络中执行恢复,请使用林恢复
    在多个域配置中还原单个域控制器 VM 使用 PowerShell 还原磁盘并创建 VM
    还原一个林中的多个域 建议使用林恢复

    有关详细信息,请参阅备份和还原 Active Directory 域控制器

    通过托管标识还原 VM

    托管标识使用户无需维护凭据。 托管标识为应用程序提供一个标识,可以在连接到支持 Azure Active Directory (Azure AD) 身份验证的资源时使用。

    Azure 备份提供了通过托管标识还原托管 Azure VM 的灵活性。 可以选择系统托管标识或用户托管标识,如下图所示。 这是在 Azure VM 的还原配置边栏选项卡中引入的输入参数之一。 用作输入参数之一的托管标识仅用于访问存储帐户,该帐户在还原期间用作暂存位置,不适用于任何其他 Azure 资源控制。 这些托管标识必须与保管库相关联。

    用于选择系统托管标识或用户托管标识的选项的屏幕截图。

    如果选择系统分配或用户分配的托管标识,请在目标临时存储帐户上检查是否有针对托管标识的以下操作。

    "permissions": [
                {
                    "actions": [
                        "Microsoft.Authorization/*/read",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/delete",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/read",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/write"
                    ],
                    "notActions": [],
                    "dataActions": [
                        "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action"
                    ],
                    "notDataActions": []
                }
    

    或者,在暂存位置 (Storage Account) 上添加角色分配,以提供存储帐户备份参与者和存储 Blob 数据参与者实现成功还原操作。

    在暂存位置添加角色分配的屏幕截图。

    你还可以选择用户托管标识,方法是将输入作为其 MSI 资源 ID 提供,如下图所示。

    通过将输入作为 MSI 资源 ID 提供来选择用户托管标识的屏幕截图。

    备注

    支持仅适用于托管 VM,不支持经典 VM 和非托管 VM。 对于防火墙限制的存储帐户,只支持系统 MSI。

    托管标识不支持跨区域还原。

    跟踪还原操作

    触发还原操作后,备份服务会创建一个作业用于跟踪。 Azure 备份在门户中显示有关作业的通知。 如果未显示通知,请选择“通知”符号,然后选择“活动日志中的更多事件”来查看还原过程状态。

    已触发还原

    按如下所述跟踪还原:

    1. 若要查看针对作业的操作,请选择通知超链接。 或在保管库中选择“备份作业”,然后选择相关的 VM。

      保管库中的 VM 列表

    2. 若要监视还原进度,请选择状态为“正在进行”的任何还原作业。 此时会出现进度栏,其中显示了有关还原进度的信息:

      • 还原估计所需时间:最初提供完成还原操作所需的时间。 随着操作的不断进行,该时间会不断减少,还原操作完成后,将显示为 0。
      • 还原百分比。 显示还原操作的完成百分比。
      • 传输的字节数:如果通过创建新的 VM 进行还原,此字段将显示已传输的字节数,以及有待传输的字节总数。

    还原后的步骤

    还原 VM 之后,还需要注意一些事项:

    • 将安装备份配置期间存在的扩展,但不会启用这些扩展。 如果出现问题,请重新安装这些扩展。

    • 如果备份的 VM 使用了静态 IP 地址,则还原的 VM 将使用动态 IP 地址,以避免冲突。 可将静态 IP 地址添加到还原的 VM

    • 还原的 VM 没有可用性集。 如果使用了还原磁盘选项,则使用提供的模板或 PowerShell 从磁盘创建 VM 时,可以指定可用性集

    • 如果使用基于 cloud-init 的 Linux 分发版(例如 Ubuntu),出于安全原因,还原后将阻止密码。 请在还原的 VM 上使用 VMAccess 扩展 重置密码。 我们建议在这些分发版中使用 SSH 密钥,这样,在还原后就无需重置密码。

    • 如果在还原后因 VM 与域控制器的关系遭到破坏而无法访问 VM,请执行以下步骤来启动 VM:

      • 将 OS 磁盘作为数据磁盘附加到恢复的 VM。
      • 如果发现 Azure 代理无响应,请按此链接的要求手动安装 VM 代理。
      • 在 VM 上启用串行控制台访问,以便通过命令行访问 VM
        bcdedit /store <drive letter>:\boot\bcd /enum
        bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /set {bootmgr} displaybootmenu yes
        bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /set {bootmgr} timeout 5
        bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /set {bootmgr} bootems yes
        bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /ems {<<BOOT LOADER IDENTIFIER>>} ON
        bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
      
      • 重新生成 VM 后,请通过 Azure 门户重置本地管理员帐户和密码

      • 使用串行控制台访问和 CMD,使 VM 从域中脱离

        cmd /c "netdom remove <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10 /Force"
        
    • VM 脱离并重启后,即可使用本地管理员凭据成功地通过 RDP 连接到 VM,并将 VM 成功地重新加入域。

    备份已还原的 VM

    • 如果将 VM 还原到了与最初备份 VM 时所在的资源组同名的资源组,则还原之后,会继续备份该 VM。
    • 如果将 VM 还原到了其他资源组或者为还原的 VM 指定了其他名称,则需要为还原的 VM 设置备份。

    后续步骤

    • 如果在还原过程中遇到难题,请查看常见问题和错误。
    • 还原 VM 后,请了解如何管理虚拟机