你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Data Box 进行 Azure 备份脱机备份

本文介绍如何使用 Azure Data Box 将大型初始备份数据从 MARS 代理脱机播种到恢复服务保管库。

可以使用 Azure Data Box 将大量初始 Microsoft Azure 恢复服务 (MARS) 备份以脱机方式(不使用网络)植入到恢复服务保管库。 此过程可节省通过高延迟网络联机移动大量备份数据所需的时间和网络带宽。 与基于 Azure 导入/导出服务的脱机备份相比,基于 Azure Data Box 的脱机备份具有两个明显优势:

  • 无需购买自己的与 Azure 兼容的磁盘和连接器。 Azure Data Box 会运送与选定的 Data Box SKU 相关联的磁盘。
  • Azure 备份(MARS 代理)可以直接将备份数据写入支持的 Azure Data Box SKU。 此功能使你无需为初始备份数据预配暂存位置。 也不需要使用实用工具来格式化数据并将其复制到磁盘上。

支持矩阵

本部分介绍受支持的方案。

支持的平台

使用 Azure Data Box 从 MARS 代理提取数据的过程在以下 Windows SKU 上受支持。

操作系统 SKU
工作站
Windows 10 64 位 Enterprise、Pro、Home
Windows 8.1 64 位 企业版、专业版
Windows 8 64 位 企业版、专业版
Windows 7 64 位 Ultimate、Enterprise、Professional、Home Premium、Home Basic、Starter
服务器
Windows Server 2022 64 位 Standard、Datacenter、Essentials
Windows Server 2019 64 位 Standard、Datacenter、Essentials
Windows Server 2016 64 位 Standard、Datacenter、Essentials
Windows Server 2012 R2 64 位 Standard、Datacenter、Foundation
Windows Server 2012 64 位 Datacenter、Foundation、Standard
Windows Storage Server 2016 64 位 标准、工作组
Windows Storage Server 2012 R2 64 位 Standard、Workgroup、Essential
Windows Storage Server 2012 64 位 标准、工作组
Windows Server 2008 R2 SP1 64 位 Standard、Enterprise、Datacenter、Foundation
Windows Server 2008 SP2 64 位 Standard、Enterprise、Datacenter

备份数据大小和支持的 Data Box 型号

每个服务器的备份数据大小(通过 MARS 压缩后)* 支持的 Azure Data Box SKU
<= 7.2 TB Azure Data Box 磁盘
>7.2 TB 和 <=80 TB** Azure Data Box (100 TB)

*典型的压缩率在 10% 和 20%之间变化。
**如果希望单个 MARS 服务器的初始备份数据超过 80 TB,请联系 AskAzureBackupTeam@microsoft.com

重要

来自单个服务器的初始备份数据必须包含在单个 Azure Data Box 实例或 Azure Data Box 磁盘中,并且不能在相同或不同 SKU 的多个设备之间共享。 但 Azure Data Box 设备可以包含来自多个服务器的初始备份。

先决条件

Azure 订阅和所需权限

  • 此过程需要 Azure 订阅。
  • 此过程要求指定执行脱机备份策略的用户是 Azure 订阅的所有者。
  • Data Box 作业和恢复服务保管库(需将数据植入到的位置)必须位于同一订阅中。
  • 建议与 Azure Data Box 作业和恢复服务保管库关联的目标存储帐户位于同一区域。 但是,这不是必要的。
  • 确保你拥有创建 Microsoft Entra 应用程序所需的权限。 脱机备份工作流在与 Azure 存储帐户关联的订阅中创建一个 Microsoft Entra 应用程序。 此应用程序允许 Azure 备份服务对 Azure 导入服务进行安全且限定范围的访问,这是脱机备份工作流所必需的

获取 Azure PowerShell 3.7.0

这是该过程最重要的先决条件。 在安装 Azure PowerShell 版本 3.7.0 之前,请执行以下检查。

步骤 1:检查 PowerShell 版本

  1. 打开 Windows PowerShell 并运行以下命令:

    Get-Module -ListAvailable AzureRM*
    
  2. 如果输出显示的版本高于 3.7.0,请执行“步骤 2”。否则,请跳到“步骤 3”。

步骤 2:卸载 PowerShell 版本

卸载当前版本的 PowerShell。

  1. 通过在 PowerShell 中运行以下命令来删除依赖模块:

    foreach ($module in (Get-Module -ListAvailable AzureRM*).Name |Get-Unique)  { write-host "Removing Module $module" Uninstall-module $module }
    
  2. 若要确保成功删除所有依赖模块,请运行以下命令:

    Get-Module -ListAvailable AzureRM*
    

步骤 3:安装 PowerShell 版本 3.7.0

验证不存在 AzureRM 模块后,使用以下方法之一安装版本 3.7.0:

  • 在 GitHub 中,使用此 链接

或者您可以:

  • 在 PowerShell 窗口中运行以下命令:

    Install-Module -Name AzureRM -RequiredVersion 3.7.0
    

也可以使用 MSI 文件安装 Azure PowerShell。 若要将其删除,请使用控制面板中的 “卸载程序 ”选项将其卸载。

订购并接收 Data Box 设备

使用 MARS 和 Azure Data Box 的脱机备份过程要求 Data Box 设备处于传递状态,然后才能使用 MARS 代理触发脱机备份。 若要订购最适合要求的 SKU,请参阅 备份数据大小和支持的 Data Box SKU。 按照教程 订购 Azure Data Box 磁盘 中的步骤,来订购和接收您的 Data Box 设备。

重要

请勿选择“BlobStorage”作为“帐户类型”。 MARS 代理需要一个支持页 blob 的帐户,而在选择 BlobStorage 的情况下,此需求无法满足。 为 Azure Data Box 作业创建目标存储帐户时,选择 “存储 V2”(常规用途 v2) 作为 帐户类型

屏幕截图显示了如何在实例详细信息中选择帐户类型。

安装和设置 MARS 代理

  1. 请确保卸载 MARS 代理之前的任何安装。

  2. 此网站下载最新的 MARS 代理。

  3. 运行 MARSAgentInstaller.exe,只执行安装并注册代理所需的步骤,以便将代理注册到要在其中存储备份的恢复服务保管库

    注释

    恢复服务保管库必须与 Azure Data Box 作业位于同一订阅中。

    将代理注册到恢复服务保管库后,请按照后续部分的步骤进行操作。

设置 Azure Data Box 设备

根据订购的 Azure Data Box SKU,执行以下相应部分中介绍的步骤。 这些步骤说明了如何为 MARS 代理设置和准备 Data Box 设备,以识别和传输初始备份数据。

配置 Azure Data Box 磁盘

如果订购了一个或多个 Azure Data Box 磁盘(最多 100 TB),请按照 解压缩、连接和解锁 Data Box 磁盘 文章中所述的步骤进行作。

注释

具有 MARS 代理的服务器可能没有 USB 端口。 在这种情况下,可以将 Azure Data Box 磁盘连接到另一个服务器或客户端,并将设备的根公开为网络共享。

设置 Azure Data Box

如果订购了 Azure Data Box 实例(最多 100 TB),请按照此处的步骤 设置 Data Box 实例

将 Azure Data Box 实例装载为本地系统

MARS 代理在本地系统上下文中运行,因此需要向连接 Azure Data Box 实例的装载路径提供相同的权限级别。

若要确保可以使用 NFS 协议将 Data Box 设备装载为本地系统:

  1. 在安装了 MARS 代理的 Windows 服务器上启用 NFS 功能的客户端。 指定备用源 WIM:D:\Sources\Install.wim:4

  2. 将 PsExec 从 Sysinternals 页下载到安装了 MARS 代理的服务器。

  3. 打开提升的命令提示符,并使用包含 PSExec.exe的 目录作为当前目录运行以下命令。

    psexec.exe  -s  -i  cmd.exe
    

    由于先前的命令而打开的命令窗口位于本地系统上下文中。 使用此命令窗口执行相关步骤,以将 Azure 页 Blob 共享作为网络驱动器装载到 Windows Server。

  4. 按照 连接到 Data Box 中的步骤,通过 NFS 将服务器与 MARS 代理连接到 Data Box 设备。 在本地系统命令提示符下运行以下命令,以装载 Azure 页 blob 共享。

    mount -o nolock \\<DeviceIPAddress>\<StorageAccountName_PageBlob X:  
    

    装载共享后,请检查是否可以从服务器访问 X:。 如果可以,请继续完成本文的下一部分。

将初始备份数据传输到 Azure Data Box 设备

  1. 在服务器上打开 Microsoft Azure 备份 应用程序。

  2. “操作”窗格中,选择“计划备份”

    屏幕截图显示如何选择计划备份。

  3. 按照计划备份向导中的步骤进行操作。

  4. 通过选择“ 添加项目 ”按钮添加项目。 请确保项目的总大小在您订购并收到的 Azure Data Box SKU 支持的大小限制范围内。

    屏幕截图显示了如何向备份添加项。

  5. 文件和文件夹系统状态选择适当的备份计划和保留策略。 系统状态仅适用于 Windows Server,不适用于 Windows 客户端。

  6. 在向导的“ 选择初始备份类型”(文件和文件夹) 页上,选择 “使用 Microsoft azure Data Box 磁盘传输” 选项,然后选择“ 下一步”。

    屏幕截图显示如何选择初始备份类型。

  7. 当系统进行提示时,请使用对 Azure 订阅拥有“所有者”访问权限的用户凭据登录到 Azure。 成功这样做后,您应该会看到一个类似于这个的页面。

    屏幕截图显示如何创建资源并应用所需的权限。

    然后,MARS 代理会提取订阅中处于“已交货”状态的 Data Box 作业。

    屏幕截图显示了如何获取订阅 ID 的 Data Box 作业。

  8. 选择已拆开包装并进行了连接和解锁的 Data Box 磁盘的相应 Data Box 订单。 选择“下一步”。

    屏幕截图显示了如何选择 Data Box 订单。

  9. Data Box 设备检测页上选择“检测设备”。 此作会使 MARS 代理扫描本地附加的 Azure Data Box 磁盘并检测它们。

    屏幕截图显示了 Data Box 设备检测功能。

    如果将 Azure Data Box 实例作为网络共享连接(由于 USB 端口不可用或已订购并装载了 100 TB Data Box 设备),检测首先会失败。 你可以选择输入 Data Box 设备的网络路径。

    屏幕截图显示如何输入网络路径。

    重要

    提供指向 Azure Data Box Disk 的根目录的网络路径。 此目录中必须包含一个名为 PageBlob 的目录。

    屏幕截图显示了 Azure Data Box 磁盘的根目录。

    例如,如果磁盘的路径为 \\mydomain\myserver\disk1\disk1 且 disk1 包含名为 PageBlob 的目录,则你在 MARS 代理向导页上输入的路径为 \\mydomain\myserver\disk1\

    如果 设置了 Azure Data Box 100 TB 设备,请输入 \\<DeviceIPAddress>\<StorageAccountName>_PageBlob 设备的网络路径。

  10. 选择“ 下一步”,然后在下一页上选择“ 完成 ”,使用 Azure Data Box 将备份和保留策略与配置脱机备份一起保存。

    以下页面确认策略已成功保存。

    屏幕截图显示已成功保存策略。

  11. 在上一页上选择 “关闭 ”。

  12. 在 MARS 代理控制台的“作”窗格中选择“立即备份”。 在向导页上选择 “备份 ”。

    屏幕截图显示了“立即备份”向导。

MARS 代理开始备份所选数据到 Azure Data Box 设备。 此过程可能需要几个小时到几天的时间。 所需时间取决于文件数量,以及托管 MARS 代理的服务器与 Azure Data Box 磁盘之间的连接速度。

完成数据备份后,你将在 MARS 代理上看到一个类似于此页的页面。

屏幕截图显示了备份进度。

备份后步骤

本部分介绍将数据备份到 Azure Data Box Disk 成功后要执行的步骤。

  • 按照本文中的步骤 将 Azure Data Box 磁盘寄送到 Azure。 如果使用 Azure Data Box 100 TB 设备,请按照以下步骤 将 Azure Data Box 设备寄送到 Azure

  • 在 Azure 门户中监视 Data Box 作业。 完成 Azure Data Box 作业后,MARS 代理会在下次计划备份时自动将数据从存储帐户移动到恢复服务保管库。 然后,如果成功创建恢复点,则会将备份作业标记为 “作业已完成 ”。

    注释

    MARS 代理会在策略创建时设定的计划时间触发备份。 这些作业会被标记为“等待 Azure Data Box 作业完成”,直到该作业完成。

  • MARS 代理成功创建与初始备份对应的恢复点后,可以删除与 Azure Data Box 作业关联的存储帐户或特定内容。

故障排除

Microsoft Azure 恢复服务 (MARS) 代理会在你的租户中为你创建一个 Microsoft Entra 应用程序。 此应用程序需要证书进行身份验证,该证书是在配置脱机种子设定策略时创建的和上传的。 我们使用 Azure PowerShell 创建证书并将其上传到 Microsoft Entra 应用程序。

问题

配置脱机备份时,可能会因为 Azure PowerShell cmdlet 中的 bug 而遇到问题。 可能无法将多个证书添加到 MAB 代理创建的同一Microsoft Entra 应用程序。 如果为相同或不同的服务器配置了脱机种子设定策略,则此问题会影响你。

验证问题是否由此特定根本原因引起

若要查看问题是否与前面所述的问题相同,请执行以下步骤之一。

验证步骤 1

检查配置脱机备份时 MAB 控制台中是否显示以下错误消息。

屏幕截图显示当前 Azure 帐户的脱机备份策略未创建。

验证步骤 2

  1. 在安装路径中打开 Temp 文件夹。 默认临时文件夹路径为 C:\Program Files\Microsoft Azure 恢复服务代理\Temp。查找 CBUICurr 文件,然后打开该文件。

  2. CBUICurr 文件中,滚动到最后一行,并检查问题是否与以下错误消息中的问题相同: Unable to create an Azure AD application credential in customer's account. Exception: Update to existing credential with KeyId <some guid> is not allowed

解决方法

执行以下步骤以解决此问题,然后重试策略配置。

解决方法的步骤 1

使用在要创建 Data Box 作业的订阅上具有管理员访问权限的另一个帐户,登录到 MAB UI 上显示的 PowerShell。

解决方法的步骤 2

如果任何其他服务器均未配置脱机种子设定,而且任何其他服务器均不依赖于 AzureOfflineBackup_<Azure User Id> 应用程序,请删除此应用程序。 选择 Azure 门户>Microsoft Entra ID>应用注册

注释

查看 AzureOfflineBackup_<Azure User Id> 应用程序是否未配置任何其他脱机种子设定,以及是否任何其他服务器均不依赖于此应用程序。 转到“公钥”部分下的“设置>密钥”。 它不应添加任何其他公钥。 请查看以下屏幕截图作为参考。

公钥

步骤 3

要在您尝试配置脱机备份的服务器上执行以下作业。

  1. 转到 “管理计算机证书应用程序>个人 ”选项卡,并查找具有名称 CB_AzureADCertforOfflineSeeding_<Timestamp>的证书。

  2. 选择证书,右键单击 “所有任务”,然后选择“ 导出 ”,而不使用.cer格式的私钥。

  3. 转到步骤 2 中提到的 Azure 脱机备份应用程序。 选择 “设置>密钥>上传公钥”。 上传在上一步中导出的证书。

    屏幕截图显示已上传公钥。

  4. 在服务器中,通过在运行窗口中输入 regedit 来打开注册表。

  5. 转到注册表 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure Backup\Config\CloudBackupProvider。 右键单击 CloudBackupProvider,并添加名称为 AzureADAppCertThumbprint_<Azure User Id>的新字符串值。

    注释

    若要获取 Azure 用户 ID,请执行以下操作之一:

    • 在已连接到 Azure 的 PowerShell 中运行 Get-AzureRmADUser -UserPrincipalName "Account Holder's email as defined in the portal" 命令。
    • 转到名为 CurrentUserId 的注册表路径Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure Backup\DbgSettings\OnlineBackup
  6. 右键单击在上一步骤中添加的字符串并选择“修改”。 在值中,提供在步骤 2 中导出的证书的指纹。 选择“确定”

  7. 若要获取指纹值,请双击该证书。 选择“详细信息”选项卡,并向下滚动,直到看到指纹字段。 选择“指纹”并复制其值

    屏幕截图显示了证书的指纹字段。

问题

如有任何疑问或对所遇到的任何问题的说明,请联系 AskAzureBackupTeam@microsoft.com