备份 DPM 服务器

重要

此版本的 Data Protection Manager (DPM) 已终止支持。 建议 升级到 DPM 2022

要确保可在 System Center Data Protection Manager (DPM) 故障时恢复数据,则需要备份 DPM 服务器的策略。 如果未备份,则需要在发生故障后手动重新生成它,并且基于磁盘的恢复点将无法恢复。 有几种方法可以备份 DPM 服务器:

  • 备份 DPM 服务器 - 可以使用辅助 DPM 服务器备份主 DPM 服务器。 辅助服务器将保护主服务器数据库及存储在主服务器上的数据源副本。 如果主服务器出现故障,则辅助服务器可以继续保护由主服务器保护的工作负荷,直到主服务器再次可用为止。 如果需要重新生成主服务器,可以从辅助服务器还原数据库和副本。 在主服务器不可用时,也可以将数据从辅助服务器直接还原到受保护计算机。 可以设置两个服务器,一个作为主服务器,另一个作为辅助服务器,或者将每个服务器配置为充当另一个服务器的主服务器。 您还可以配置 DPM 服务器链,其中的 DPM 服务器按照链顺序相互保护。

  • 备份 DPM 服务器 - 可以将 DPM 服务器配置为将其自己的数据库备份到其磁带库中,也可使用非 Microsoft 软件将数据库备份到磁带或可移动媒体中。

  • 使用第三方软件备份 DPM - 可以使用支持 DPM 和 VSS 的第三方软件备份 DPM 服务器。

使用辅助 DPM 服务器备份

在下列任何配置中,DPM 服务器上的信息可以使用另一台 DPM 服务器来进行备份和保护:

  • 主服务器到辅助服务器保护 - 可以将存储在主 DPM 服务器上的数据库和副本备份到辅助 DPM 服务器。 如果主服务器发生故障,辅助服务器将继续备份受保护的工作负荷。 如果主服务器发生故障,则可以执行以下操作之一:重新生成主服务器并从辅助服务器还原其数据库和副本。 然后将受保护的工作负荷移回重建的主服务器。 选择将保护切换到辅助 DPM 服务器。 使用此设置,可以在需要时直接从辅助服务器还原到受保护的计算机。 有关说明,请参阅 Set up secondary servers

  • DPM 链接 - DPM 服务器链提供保护,每个服务器保护链中的下一个服务器。 例如:DPM1 由 DPM2 保护(DPM1 是主服务器,DPM2 是辅助服务器)。 DPM2 由 DPM3 保护(DPM2 是主服务器,DPM3 是辅助服务器)有关说明,请参阅“设置链接”。

  • 循环保护 - 一台 DPM 服务器由另一台 DPM 服务器备份,反之亦然。 例如,如果 DPM1 保护 DPM2,则 DPM2 保护 DPM1。 对于小型环境,这非常有用。

设置主要和辅助保护

使用辅助 DPM 服务器备份主 DPM 服务器:

  1. 主 DPM 服务器已安装保护代理。 需要将此保护代理附加到辅助 DPM 服务器。

    重要

    主 DPM 服务器和辅助 DPM 服务器的主要版本和次要版本必须匹配。

    可按照以下步骤附加代理:

    1. 在辅助 DPM 服务器的 DPM 管理员控制台中,在导航栏上,选择“ 管理>代理”。 在 “操作 ”窗格中,选择“ 安装”。
    2. 在“选择代理部署方法”页上,选择“附加代理”>“受信任域中的计算机”>“下一步”。 保护代理安装向导将打开。
    3. 在“选择计算机”页上,DPM 将显示可用计算机的列表。 从“计算机名称”列表>“添加”>>“下一步”中选择主 DPM 服务器的名称。
    4. 在“输入凭据”页中,键入域帐户(该帐户是主 DPM 服务器上的本地管理员组的成员)的用户名和密码。
    5. “摘要 ”页上,选择“ 附加”。
  2. 将主 DPM 服务器添加到现有保护组,或新建保护组。 选择保护以下数据源:

    • 为主服务器配置的 SQL Server 数据库。

    • 主 DPM 服务器上的所有卷 (共享不会单独) 可见。

    • 主 DPM 服务器上的所有副本。

    • 你至少应选择数据库、\Program Files\Microsoft System Center\DPM\DPM\Config folder, and the \Program Files\Microsoft System Center\DPM\Scripting 文件夹。

注意

无法将文件名从副本 (replica) 的保护中排除。 此外,所有 DPM 服务器必须运行相同的版本、更新等。设置同步时,建议每 24 小时同步一次。

设置 DPM 链接

在考虑链接之前,请记住以下限制:

  • 每个 DPM 服务器在链中只能受到一次保护,因此请验证它们是否不受多台服务器的保护。

  • 主服务器和辅助服务器都通过链建立。 例如,如果服务器 DPM3 实际上正在保护服务器 DPM1,因为它充当 DPM2 的辅助服务器,则它不能直接充当 DPM1 的辅助服务器。

  • 如果 DPM 服务器配置为保护其自己的数据源,则链将断开。 例如,如果 DPM1 保护它自己的数据库或系统状态,则 DPM2 无法保护 DPM1。

  • 在保护主 DPM 服务器的数据库之前,需要在主服务器上启动SQL Server VSS 编写器服务。

链接示例 1

方案 1:链接的保护

方案 1 显示一个链接了四台 DPM 服务器的方案:

服务器 保护 保护者
DS1(主服务器) PS1、PS2 DS3
DS2(主服务器) PS3、PS4 DS3
DS3(辅助服务器) DS1、DS2 DS4
DS4(辅助服务器) DS3 -

链接了四台 DPM 服务器的方案

链接示例 2

方案 2:链接的保护

方案 2 显示一个链接了四台 DPM 服务器的方案:

服务器 保护 保护者
DS1(主服务器) PS1、PS2 DS2
DS2(主服务器) PS3 DS3
DS2(辅助服务器) DS1 DS3
DS3(主服务器) PS4 DS4
DS3(辅助服务器) DS2 DS4
DS4 DS3 -

链接了四台 DPM 服务器的备用方案示意图。

循环保护

如果不想使用辅助服务器,则两个 DPM 服务器可以相互保护。

方案 3:循环保护

方案 3 显示了使用循环保护的方案。

服务器 保护 保护者
DS1(主服务器) PS1、PS2 DS2
DS2(主服务器) PS3 DS3
DS2(辅助服务器) DS1、DS3 DS3
DS3(主服务器) PS4 DS2
DS3(辅助服务器) DS2 DS2

循环保护方案示例示意图。

配置链接

按如下所示设置链接:

  1. 在要从 DPM 服务器中保护的 DPM 服务器(要在其中对前者进行保护)上安装 DPM 保护代理。

  2. 为要保护的 DPM 服务器保护的数据源配置辅助保护。

注意

在 DPM 控制台中,无法为已受代理保护的数据源配置保护。 这样可以避免重复保护数据。

  1. 例如,如果有 DPM1 和 DPM2,则需要将 DPM 保护代理从 DPM1 安装到 DPM2,反之亦然。 然后在 DPM2 上为 DPM1 保护的服务器配置辅助保护,并在 DPM1 上为 DPM2 保护的服务器配置辅助保护。

恢复服务器

如果主服务器出现故障,可以将保护切换到辅助服务器。 切换后,可以从辅助服务器执行恢复功能。

将保护切换到辅助服务器

请使用以下步骤:

  1. 在辅助 DPM 服务器上,在 DPM 管理员控制台的 “保护 ”区域中,转到 “保护 ”工作区域,右键单击要为其切换保护的 数据源
  2. 从上下文菜单中选择“切换灾难保护”
  3. 运行一致性检查。

切换保护后,在运行检查之前副本会显示为不一致。

示例:交换机保护示意图。

注意

  • 若要将保护切换回主服务器,请执行上述步骤。
  • 还可以通过使用 Start –DPMSwitchProtection PowerShell cmdlet 将保护切换到辅助 DPM 服务器。

恢复主 DPM 服务器

恢复主 DPM 服务器时,需要重建对之前受主 DPM 服务器保护的计算机的保护。

注意

  • 无法还原受主 DPM 服务器保护的数据源的恢复点。
  • 恢复数据库文件时,确保主 DPM 服务器上的还原位置是安全的。

使用主 DPM 服务器重建保护

  1. 在受保护的计算机上,从命令提示符处运行命令 Setdpmserver.exe <主 DPM 服务器名称>。

  2. 打开“计算机管理”,然后执行以下操作:

    • 选择“本地用户和组” 。 确认格式为“域/名称”的主服务器是以下组的成员:
      • Distributed COM Users
      • DPMRADCOMTrustedMachines
      • DPMRADmTrustedMachines
    • 如果主服务器未在任何组中列出,请手动添加域/名称格式的服务器。

如果完成上述步骤后保护失败,请执行以下操作:

  1. 在“管理工具”中,打开“组件服务”。 展开 “计算机”,展开“ 我的电脑”,然后选择“ DCOM 配置”。
  2. 在结果窗格中,右键单击“DPM RA 服务” 。 选择 “属性>安全性”。
  3. “启动和激活权限” 区域中,选择“ 编辑”。
    • 如果列出了主服务器,则访问控制列表 (ACL) 条目可能不正确。 删除该条目,然后添加具有完全权限的主服务器。
    • 如果未列出主服务器,请添加具有完全权限的主服务器。

备份 DPM 数据库

作为 DPM 备份策略的一部分,你需要备份 DPM 数据库。 DPM 数据库命名为 DPMDB。 此数据库包含 DPM 配置以及有关 DPM 的备份的数据。 发生灾难时,可以使用数据库的最新备份来重新生成 DPM 服务器的大部分功能。 假设你可以还原数据库,则基于磁带的备份是可以访问的并且会保留所有保护组设置和备份计划。 如果 DPM 存储池磁盘不受中断的影响,则基于磁盘的备份也可以在重新生成后使用。 可以使用不同的方法来备份数据库。

数据库备份方法 优点 缺点
备份到 Azure 可在 DPM 中轻松地配置和监视。

备份数据库文件有多个位置。

云存储为灾难恢复提供了强大的解决方案。

数据库存储非常安全。

支持 120 个在线恢复点。
仅在 DPM 2012 SP1 或更高版本上可用。

需要 Azure 帐户和其他 DPM 配置。 Azure 存储会产生一些费用。

- 需要使用包含 Azure 代理的基于 Windows Server 的受支持版本才能访问存储在 Azure 备份保管库中的 DPM 备份。 不能是其他 DPM 服务器。

如果数据库在本地托管,并且你想要启用辅助保护,则不是选项。 一种解决方法是使用远程 SQL Server 来托管数据库。

这需要一些额外的准备和恢复时间。
通过备份 DPM 存储池来备份数据库 易于配置和监视。

备份保存在 DPM 存储池磁盘中,易于在本地访问。

DPM 计划的备份支持 512 个快速完整备份。 如果每小时备份一次,则会有 21 天的完整保护。
对于灾难恢复而言不是一个好的选择。 它处于联机状态,且如果 DPM 服务器或存储池磁盘出错,恢复可能不如预期。

如果数据库托管在本地,并且你想要启用辅助保护,则不是一个选项。 一种解决方法是使用远程 SQL Server 来托管数据库。

如果 DPM 服务或控制台未在运行或工作,则需要一些准备工作和特殊步骤才能访问恢复点。
备份到辅助 DPM 服务器 可在 DPM 中轻松地配置和监视。

DPM 计划的备份支持 512 个快速完整备份。 如果每小时完成一次,则提供 21 天的短期保护。 如果每 30 分钟进行备份,将提供 10 天的保护。

备份保留在本地可访问的辅助 DPM 服务器存储池磁盘上。

如果辅助 DPM 服务器位于场外,则可为灾难恢复提供一个良好的解决方案。
需要其他 DPM 服务器和存储。 这两个 DPM 服务器必须运行相同的 DPM 版本和更新汇总。
备份到磁带 可在 DPM 中轻松地配置和监视。

DPM 计划的磁带备份支持长达 99 年的保留期。

可以在场外为灾难恢复执行磁带备份。

可以从连接了使用相同磁带媒体类型的磁带驱动器/库的所有其他 DPM 服务器中还原磁带备份。

可以对磁带进行加密,以确保安全存储。
如果数据库托管在本地,并且你想要启用辅助保护,则不是一个选项。 一种解决方法是使用远程 SQL Server 来托管数据库。

每天只可以计划一个磁带备份。

你需要一个含有磁带库的活动 DPM 服务器,以便读取包含要还原的数据库副本的 DPM 备份磁带。

需要一些准备和特殊步骤才能访问基于磁带的恢复点。
通过本机 SQL Server 备份,备份到本地磁盘 内置到 SQL Server。

备份保存在易于访问的本地磁盘上。

可以计划为按需要的频率运行。

与 DPM 完全无关。

你可以计划一个备份文件清理。
除非备份已复制到远程位置,否则对于灾难恢复而言不是一个好的选择。

备份需要使用本地存储空间,这可能会限制保留期和频率。
通过本机 SQL 备份和 DPM 保护备份到受 DPM 保护的共享 可在 DPM 中轻松地监视。

备份数据库文件有多个位置。

易于通过网络从任意 Windows 计算机进行访问。

可能是最快的恢复方法。
仅支持 64 个恢复点。

对于站点灾难恢复而言不是一个好的选择。 DPM 服务器或 DPM 存储池磁盘故障可能会妨碍恢复工作。

如果 DPM DB 在本地托管且你要启用辅助保护,则不可使用此方法。 一种解决方法是使用远程 SQL Server 来托管 DPMDB。

需要一些额外的准备工作以对其进行配置和测试。

如果 DPM 服务器本身关闭,但 DPM 存储池磁盘可正常使用,则需要一些额外的准备和恢复时间。
数据库备份方法 优点 缺点
备份到 Azure 可在 DPM 中轻松地配置和监视。

备份数据库文件有多个位置。

云存储为灾难恢复提供了强大的解决方案。

数据库存储非常安全。

支持 120 个在线恢复点。
仅在 DPM 2012 SP1 或更高版本上可用。

需要 Azure 帐户和其他 DPM 配置。 Azure 存储会产生一些费用。

- 需要使用 Azure 代理支持基于 Windows Server 的系统版本才能访问存储在 Azure 备份保管库中的 DPM 备份。 不能是其他 DPM 服务器。

如果数据库托管在本地,并且你想要启用辅助保护,则不是一个选项。 一种解决方法是使用远程 SQL Server 来托管数据库。

这需要一些额外的准备和恢复时间。
通过备份 DPM 存储池来备份数据库 易于配置和监视。

备份保存在 DPM 存储池磁盘中,易于在本地访问。

DPM 计划的备份支持 512 个快速完整备份。 如果每小时备份一次,则会有 21 天的完整保护。
对于灾难恢复而言不是一个好的选择。 它处于联机状态,且如果 DPM 服务器或存储池磁盘出错,恢复可能不如预期。

如果数据库托管在本地,并且你想要启用辅助保护,则不是一个选项。 一种解决方法是使用远程 SQL Server 来托管数据库。

如果 DPM 服务或控制台未在运行或工作,则需要一些准备工作和特殊步骤才能访问恢复点。
备份到辅助 DPM 服务器 可在 DPM 中轻松地配置和监视。

DPM 计划的备份支持 512 个快速完整备份。 如果每小时完成一次,则提供 21 天的短期保护。 如果每 30 分钟进行备份,将提供 10 天的保护。

备份保留在本地可访问的辅助 DPM 服务器存储池磁盘上。

如果辅助 DPM 服务器位于场外,则可为灾难恢复提供一个良好的解决方案。
需要其他 DPM 服务器和存储。 这两个 DPM 服务器必须运行相同的 DPM 版本和更新汇总。
备份到磁带 可在 DPM 中轻松地配置和监视。

DPM 计划的磁带备份支持长达 99 年的保留期。

可以在场外为灾难恢复执行磁带备份。

可以从连接了使用相同磁带媒体类型的磁带驱动器/库的所有其他 DPM 服务器中还原磁带备份。

可以对磁带进行加密,以确保安全存储。
如果数据库托管在本地,并且你想要启用辅助保护,则不是一个选项。 一种解决方法是使用远程 SQL Server 来托管数据库。

每天只可以计划一个磁带备份。

你需要一个含有磁带库的活动 DPM 服务器,以便读取包含要还原的数据库副本的 DPM 备份磁带。

需要一些准备和特殊步骤才能访问基于磁带的恢复点。
通过本机 SQL Server 备份,备份到本地磁盘 内置到 SQL Server。

备份保存在易于访问的本地磁盘上。

可以计划为按需要的频率运行。

与 DPM 完全无关。

你可以计划一个备份文件清理。
除非备份已复制到远程位置,否则对于灾难恢复而言不是一个好的选择。

备份需要使用本地存储空间,这可能会限制保留期和频率。
通过本机 SQL 备份和 DPM 保护备份到受 DPM 保护的共享 可在 DPM 中轻松地监视。

备份数据库文件有多个位置。

易于通过网络从任意 Windows 计算机进行访问。

可能是最快的恢复方法。
仅支持 64 个恢复点。

对于站点灾难恢复而言不是一个好的选择。 DPM 服务器或 DPM 存储池磁盘故障可能会妨碍恢复工作。

如果 DPM 数据库托管在本地,并且你想要启用辅助保护,则不是一个选项。 一种解决方法是使用远程 SQL Server 来托管 DPMDB。

需要一些额外的准备工作以对其进行配置和测试。

如果 DPM 服务器本身已关闭,但 DPM 存储池磁盘正常,则需要一些额外的准备和恢复时间。
  • 如果使用 DPM 保护组进行备份,建议对数据库使用唯一的保护组。

  • 如果要备份到磁带,则最好是至少生成两个备份磁带副本,并在不同的远程位置存储每个备份磁带。 这添加了防止造成物理损坏或丢失备份磁带的保护措施。

  • 如果 DPM SQL Server 实例没有在 DPM 服务器上运行,请先在 SQL Server 计算机上安装 DPM 保护代理,然后才可以保护该服务器上的 DPM 数据库。

    注意

    为了实现还原,想要使用 DPM 数据库还原的 DPM 安装必须与 DPM 数据库本身的版本匹配。 例如,如果你要恢复的数据库来自 DPM 2016 更新汇总 4 安装,则 DPM 服务器必须运行与更新汇总 4 相同的版本。 这表示,你可能需要卸载并重新安装兼容版 DPM,然后才能还原数据库。 若要检查数据库版本,可能需要手动将其装载到临时数据库名称,然后针对数据库运行 SQL 查询,以基于主要版本和次要版本检查上次安装的汇总。

  • 若要检查 DPM 数据库版本,请按照下列步骤操作:

    1. 若要运行查询,请打开 SQL Management Studio ,然后连接到运行 DPM 数据库的 SQL 实例。

    2. 选择 DPM 数据库,然后启动一个新查询。

    3. 将以下 SQL 查询粘贴到查询窗格并运行:

      Select distinct MajorVersionNumber,MinorVersionNumber ,BuildNumber, FileName FROM dbo.tbl_AM_AgentPatch order byMajorVersionNumber,MinorVersionNumber,BuildNumber

    如果查询结果中未返回任何内容,或者 DPM 服务器已从以前的版本升级,但升级后未安装任何新更新汇总,则 DPM 基础安装的主要和次要版本没有任何条目。 若要检查与更新汇总关联的 DPM 版本,请参阅 System Center Data Protection Manager (DPM) 的生成号列表

    如果查询结果中未返回任何内容,或者 DPM 服务器已从以前的版本升级,但升级后未安装任何新更新汇总,则 DPM 基础安装的主要和次要版本没有任何条目。 若要检查与更新汇总关联的 DPM 版本,请参阅 System Center Data Protection Manager (DPM) 的生成号列表

    如果查询结果中未返回任何内容,或者 DPM 服务器已从以前的版本升级,但升级后未安装任何新更新汇总,则 DPM 基础安装的主要和次要版本没有任何条目。 若要检查与更新汇总关联的 DPM 版本,请参阅 System Center Data Protection Manager (DPM) 的生成号列表

    如果查询结果中未返回任何内容,或者 DPM 服务器已从以前的版本升级,但升级后未安装任何新更新汇总,则 DPM 基础安装的主要和次要版本没有任何条目。 若要检查与更新汇总关联的 DPM 版本,请参阅 System Center Data Protection Manager (DPM) 的生成号列表

    如果查询结果中未返回任何内容,或者 DPM 服务器已从以前的版本升级,但升级后未安装任何新更新汇总,则 DPM 基础安装的主要和次要版本没有任何条目。 若要检查与更新汇总关联的 DPM 版本,请参阅 System Center Data Protection Manager (DPM) 的生成号列表

备份到 Azure

  1. 在开始之前,需要运行脚本来检索 DPM 副本 (replica) 卷装入点路径,以便知道哪个恢复点包含 DPM 备份。 初始复制后使用 Azure 备份执行此操作。 在脚本中,将 dplsqlservername% 替换为托管 DPM 数据库的 SQL Server 实例的名称。

    Select ag.NetbiosName as ServerName,ds.DataSourceName,vol.MountPointPath
    from tbl_IM_DataSource as ds
    join tbl_PRM_LogicalReplica as lr on ds.DataSourceId=lr.DataSourceId
    join tbl_AM_Server as ag on ds.ServerId=ag.ServerId
    join tbl_SPM_Volume as vol on lr.PhysicalReplicaId=vol.VolumeSetID
    and vol.Usage =1
    and lr.Validity in (1,2)
    where ds.datasourcename like '%dpmdb%'
    and servername like '%dpmsqlservername%' --netbios name of server hosting DPMDB
    

    确保具有安装 Azure 恢复服务代理且 DPM 服务器在 Azure 备份 保管库中注册时指定的密码。 还原备份时需要此密码。

  2. 创建Azure 备份保管库,并下载 Azure 备份 代理安装文件和保管库凭据。 在 DPM 服务器上运行安装文件以安装该代理,并使用保管库凭据在保管库中注册 DPM 服务器。 了解详细信息

  3. 配置保管库后,设置包含 DPM 数据库的 DPM 保护组,并选择将其备份到磁盘和 Azure。

从 Azure 恢复 DPM 数据库

可以使用任何 DPM 服务器从 Azure 恢复数据库, (必须至少运行 DPM 2012 R2,并在 Azure 备份 保管库中注册更新汇总 7) ,如下所示:

  1. 在 DPM 控制台中,选择“ 恢复>添加外部 DPM”。

  2. 提供保管库凭据(从 Azure 备份保管库下载)。

    注意

    凭据仅在两天内有效。

  3. “选择外部 DPM 进行恢复”中,选择要恢复数据库的 DPM 服务器,键入加密通行短语,然后选择“ 确定”。

  4. 从可用点列表中选择要使用的恢复点。 选择“ 清除外部 DPM ”以返回到本地 DPM 视图。

将 DPM 数据库备份到 DPM 存储池

注意

此选项适用于具有新式备份存储的 DPM。

  1. 在 DPM 控制台中,选择“ 保护>”“创建保护组”。
  2. 在“选择保护组类型” 页上,选择“服务器” 。
  3. 在“选择组成员” 页上,选择“DPM 数据库” 。 如果远程运行 SQL Server,请选择安装的远程 SQL Server,并选择“DPM 数据库”。 如果 SQL Server 在 DPM 服务器上运行,请展开 DPM 服务器并选择“DPMDB”。
  4. 在“选择数据保护方法” 页上,选择“我想使用磁盘进行短期保护” 。 指定短期保护策略选项。
  5. 在 DPM 数据库的初始复制后,运行以下 SQL 脚本:
select AG.NetbiosName, DS.DatasourceName, V.AccessPath, LR.PhysicalReplicaId from tbl_IM_DataSource DS
join tbl_PRM_LogicalReplica as LR
on DS.DataSourceId = LR.DataSourceId
join tbl_AM_Server as AG
on DS.ServerId=AG.ServerId
join tbl_PRM_ReplicaVolume RV
on RV.ReplicaId = LR.PhysicalReplicaId
join tbl_STM_Volume V
on RV.StorageId = V.StorageId
where datasourcename like N'%dpmdb%' and ds.ProtectedGroupId isn't null
and LR.Validity in (1,2)
and AG.ServerName like N'%<dpmsqlservername>%' -- <dpmsqlservername> is a placeholder, put netbios name of server hosting DPMDB

恢复 DPM 数据库

若要使用相同的数据库重新构造 DPM,需要先恢复 DPM 数据库,并将它与全新安装的 DPM 同步。

使用以下步骤

  1. 打开管理命令提示符并运行 psexec.exe -s powershell.exe,以在系统上下文中启动 PowerShell 窗口。
  2. 确定要从何处恢复数据库:

从上次备份复制数据库

  1. 导航到副本 VHD 路径 <DPMServer FQDN><PhysicalReplicaId><PhysicalReplicaId>
  2. 使用 mount-vhd disk0.vhdx 命令装载其中存在的 disk0.vhdx。
  3. 装载副本 (replica) VHD 后,使用 mountvol.exe 使用 SQL 脚本输出中的物理副本 (replica) ID 将驱动器号分配给副本 (replica) 卷。 例如,mountvol X: ?\Volume{}\

从以前的恢复点复制数据库

  1. 导航到 DPMDB 容器目录 <DPMServer FQDN><PhysicalReplicaId>;你将看到多个目录,其下具有一些唯一 GUID 标识符,对应于为 DPM DB 获取的恢复点。 PhysicalReplicaId> 以外的<目录表示 PIT/恢复点。

  2. 导航到任何 PIT vhd 路径(即 <DPMServer FQDN><PhysicalReplicaId><PITId>),并使用 mount-vhd disk0.vhdx 命令装载其中存在的 disk0.vhdx

  3. 装载副本 VHD 后,运行 mountvol.exe 并使用 SQL 脚本输出中的物理副本 ID 为副本卷分配驱动器号。 例如,mountvol X: ?\Volume{}\

    上述步骤中角大括号内的所有以下文本都是占位符:将它们替换为适当的值。

    • ReFSVolume - SQL 脚本输出中的访问路径
    • DPMServer FQDN - DPM 服务器的完全限定域名
    • PhysicalReplicaId - SQL 脚本输出中的物理副本 (replica) ID
    • PITId - 容器目录中物理副本 (replica) ID 以外的 GUID 标识符
  4. 打开另一个管理命令提示符并运行 psexec.exe -s cmd.exe,以在系统上下文中启动命令提示符。

  5. 将目录更改为 X: 驱动器,并导航到 DPM 数据库文件的位置。

  6. 将它们复制到易于从中还原的位置。 复制后退出 psexec cmd 窗口。

  7. 转到在步骤 1 中打开的 psexec PowerShell 窗口,导航到 VHDX 路径,并使用命令 dismount-vhd disk0.vhdx 卸载 VHDX

  8. 重新安装 DPM 服务器后,可以运行 DPMSYNC-RESTOREDB 命令,使用还原的 DPMDB 附加到 DPM 服务器。

  9. DPMSYNC-RESTOREDB 完成后,运行 DPMSYNC-SYNC

通过备份 DPM 存储池来备份数据库

注意

此选项适用于具有传统存储的 DPM。

在开始之前,需要运行脚本来检索 DPM 副本 (replica) 卷装入点路径,以便知道哪个恢复点包含 DPM 备份。 初始复制后使用 Azure 备份执行此操作。 在脚本中,将 dplsqlservername% 替换为托管 DPM 数据库的 SQL Server 实例的名称。

Select ag.NetbiosName as ServerName,ds.DataSourceName,vol.MountPointPath
from tbl_IM_DataSource as ds
join tbl_PRM_LogicalReplica as lr on ds.DataSourceId=lr.DataSourceId
join tbl_AM_Server as ag on ds.ServerId=ag.ServerId
join tbl_SPM_Volume as vol on lr.PhysicalReplicaId=vol.VolumeSetID
and vol.Usage =1
and lr.Validity in (1,2)
where ds.datasourcename like '%dpmdb%'
and servername like '%dpmsqlservername%' --netbios name of server hosting DPMDB
  1. 在 DPM 控制台中,选择“保护>”“创建保护组

  2. 在“选择保护组类型” 页上,选择“服务器” 。

  3. 在“选择组成员” 页上,选择 DPM 数据库。 如果远程运行 SQL Server,请选择安装的远程 SQL Server,并选择“DPM 数据库”。 如果 dpm 服务器上正在运行SQL Server,请展开 DPM 服务器项并选择“DPMDB”。

  4. 在“选择数据保护方法” 页上,选择“我想使用磁盘进行短期保护” 。 指定短期保护策略选项。 我们建议为 DPM 数据库使用两周的保持期。

恢复数据库

如果 DPM 服务器仍在运行,并且存储池 (DPM 服务或控制台) 出现问题,则从副本 (replica) 卷或卷影副本复制数据库,如下所示:

  1. 确定想要开始恢复数据库的时间。

    • 如果要直接从 DPM 副本卷的最新备份中复制数据库,请使用 SQL 脚本输出中的 GUID,通过使用 mountvol.exe 将驱动器号分配给副本卷。 例如:C:\Mountvol X: \\?\Volume{d7a4fd76-a0a8-11e2-8fd3-001c23cb7375}\

    • 如果要从以前的恢复点(影子副本)复制数据库,则需要使用 SQL 脚本输出中的卷 GUID 列出副本的所有影子副本。 此命令会列出该卷的卷影副本:C:\>Vssadmin list shadows /for=\\?\Volume{d7a4fd76-a0a8-11e2-8fd3-001c23cb7375}\。 请记住创建时间和要从中恢复的卷影副本 ID。

  2. 然后使用 diskshadow.exe 将影子副本装载到未使用的驱动器号 X:使用影子副本 ID 以便能够复制数据库文件。

  3. 打开管理命令提示符并运行 psexec.exe -s cmd.exe 以在系统上下文中启动命令提示符,以便你有权导航到 X:) 副本 (replica) 卷 (并复制文件。

  4. 通过 CD 进入 X: 驱动器,然后导航到 DPM 数据库文件的位置。 将它们复制到易于从中还原的位置。 复制完成后,退出 psexec cmd 窗口,运行 diskshadow.exe 并取消显示 X: 卷。

  5. 现在可以使用 SQL Management Studio 或通过运行 DPMSYNC-RESTOREDB 来还原数据库文件。

将数据库备份到辅助服务器

  1. 在辅助 DPM 服务器上,将保护代理推送到安装了 DPM 数据库的服务器 - 主 DPM 服务器上或远程SQL Server。 安装后,服务器将出现在 具有保护代理的未受保护的服务器 中,刷新时应显示“ 正常” 状态。

  2. 创建新保护组。 在 “选择组成员”中,选择托管 DPM 数据库的服务器。 在“ 所有 SQL Server”中,选择要保护的数据库。 在 “选择数据保护方法 ”页中,选择将短期保护用于磁盘和联机保护(如有必要)。 在“指定 Short-Term Goals”页上,选择要将备份配置为短期存储的方式。 对于磁盘存储,每 30 分钟可以有 512 个快速完整备份。 完成该向导。 创建初始恢复点后将启动保护

恢复数据库

  1. 如有必要,将主服务器重新生成为 DPM 服务器。

  2. 若要还原数据库,请在辅助服务器上的 DPM 控制台中选择“ 恢复 ”并找到受保护的数据库。

  3. 为要恢复的恢复点选择日期。 将数据库恢复到原始位置。 恢复数据库后,运行 DPMSync 工具。

将数据库备份到磁带

你需要知道包含 DPM 数据库副本的磁带的条形码或磁带标签。 执行此操作的最佳方法是在备份 DPM 数据库的同一天计划通过邮件发送状态报告。 报告将包括上次备份日期/时间、磁带标签和条形码,以便你可以找到它以便进行恢复。 或者,可以使用此 SQL 脚本从当前数据库中提取信息,以便在发生灾难时单独存储信息。

Select Path,ro.FileSpec,media.Label,media.BarcodeValue,pd.CreationDate,
pd.ExpiryDate,pd.LifeStatus as "1=valid, 2=expired"
from dbo.tbl_MM_MediaMap mm
join dbo.tbl_MM_PhysicalDataset pd on pd.datasetid = mm.datasetid
join dbo.tbl_MM_Media media on media.MediaId = mm.MediaId
join dbo.tbl_RM_RecoverableObjectFileSpec ro on ro.DatasetId = mm.DatasetId
where ro.filespec like '%DPMDB%'
order by CreationDate desc
  1. 创建保护组,然后在“选择组成员”页上,选择SQL Server (如果它在本地运行,请在 DPM 服务器) 下选择“DPMDB”。

  2. 选择使用磁带进行长期保护,并在“选择库和磁带详细信息” 上指定磁带详细信息。

恢复数据库

  • 还原过程取决于可用的磁带硬件和执行基于磁带的备份的 DPM 服务器的当前状态。 如果无法从执行备份的 DPM 服务器还原磁带,你需要从包含相同类型的磁带驱动器的其他 DPM 服务器进行还原,以便该磁带可以读取。 如果唯一可用的磁带硬件是连接到出现故障的 DPM 服务器的磁带,你可能需要重建 DPM 服务器。

  • 如果使用的是 DPM 磁带加密,你需要用于加密安装在备用 DPM 服务器上的磁带的同一证书。

恢复:

  1. 找到包含要还原的 DPM 数据库的版本/日期/时间的物理磁带。

  2. 在 DPM 控制台 ->“管理”->“库”中,将备份磁带插入磁带驱动器或库并执行详细清单。

    注意

    如果要从中还原的 DPM 服务器是不同的 DPM 服务器,或者它是原始服务器上 DPM 的新安装,则磁带将显示为导入 (不是由此 DPM 服务器) 创建的。

  3. 根据需要重新编录导入的磁带。

  4. 在“恢复” 选项卡上,找到数据库数据源。 如果来自导入的磁带,恢复点将位于“外部 DPM 磁带” 下。

  5. 恢复数据库 (DPMDB) 文件。 可以选择“恢复到SQL Server的任何实例”或“复制到网络文件夹”。 从磁带中还原文件之后,使用 SQL Management Studio 或 DPMSYNC -RESTOREDB 继续恢复步骤。

通过本机 SQL Server 备份,备份到本地磁盘

可以将 DPM 数据库备份到具有本机SQL Server备份(独立于 DPM)的本地磁盘。

  1. 获取 SQL Server 备份的概述

  2. 详细了解如何将 SQL Server 备份到云。

通过本机 SQL Server 备份,备份到受 DPM 保护的共享

此备份选项使用本机 SQL 将 DPM 数据库备份到共享,使用 DPM 保护共享,并使用 Windows VSS 早期版本促进还原。

开始之前

  1. 如果 DPM 数据库位于远程 SQL Server 上,请在该服务器上安装 DPM 代理。

  2. 在 SQL Server 上,在有足够可用空间的驱动器上创建一个文件夹,以保存备份的单个副本。 例如:C:\DPMBACKUP。

  3. 共享该文件夹。 例如,将 C:\DPMBACKUP 文件夹共享为 DPMBACKUP。

  4. 复制以下 OSQL 命令并将其粘贴到记事本,并保存为 C:\DPMBACKUP\bkupdb.cmd 的文件。 确保没有 .txt 扩展。 修改 SQL_Instance_name 和 DPMDB_NAME,使其与实例名称和 DPM 服务器使用的 DPMDB 名称匹配。

    OSQL -E -S localhost\SQL_INSTANCE_NAME -Q "BACKUP DATABASE DPMDB_NAME TO DISK='C:\DPMBACKUP\dpmdb.bak' WITH FORMAT"
    
    
  5. 通过记事本,打开位于 ...\DPM\Scripting 文件夹下的 ScriptingConfig.xml 文件。

    • 在远程 SQL Server 上:C:\Program Files\Microsoft Data Protection Manager\DPM\Scripting

    • 在 DPM 服务器上:C:\Program Files\Microsoft System Center\DPM\DPM\Scripting

  6. 修改 ScriptingConfig.xml 并将 DataSourceName= 更改为包含 DPMDBBACKUP 文件夹/共享的驱动器号。 将 PreBackupScript 条目更改为在步骤 5 中保存的 bkupdb.cmd 的完整路径和名称。

    <?xml version="1.0" encoding="utf-8"?>
    <ScriptConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="https://schemas.microsoft.com/2003/dls/ScriptingConfig.xsd">
    <DatasourceScriptConfig DataSourceName="C:">
    <PreBackupScript>C:\DPMDBBACKUP\bkupdb.cmd</PreBackupScript>
    <TimeOut>120</TimeOut>
    </DatasourceScriptConfig>
    </ScriptConfiguration>
    
  7. 将所做更改保存到 ScriptingConfig.xml。

  8. 使用 DPM 保护 C:\DPMBACKUP 文件夹或 \\sqlservername\DPMBACKUP 共享,并等待创建初始副本。 由于运行备份前脚本,C:\DPMBACKUPfolder 中应存在dpmdb.bak,该脚本又被复制到 DPM 副本 (replica) 。

  9. 如果未启用自助恢复,则需要执行其他步骤以共享副本上的 DPMBACKUP 文件夹:

    1. 在 DPM 控制台 >“保护”中,找到 DPMBACKUP 数据源并选择它。 在详细信息部分,选择指向副本路径的链接上的“单击可查看详细信息”,并将该路径复制到记事本中。 删除源路径,并保留目标路径。 路径应类似以下内容:C:\Program Files\Microsoft System Center\DPM\DPM\Volumes\Replica\File System\vol_c9aea05f-31e6-45e5-880c-92ce5fba0a58\454d81a0-0d9d-4e07-9617-d49e3f2aa5de\Full\DPMBACKUP

    2. 使用共享名称 DPMSERVERNAME-DPMDB 共享该路径。 你可以在管理命令提示符中使用以下 Net Share 命令。

      Net Share DPMSERVERNAME-dpmdb="C:\Program Files\Microsoft System Center\DPM\DPM\Volumes\Replica\File System\vol_c9aea05f-31e6-45e5-880c-92ce5fba0a58\454d81a0-0d9d-4e07-9617-d49e3f2aa5de\Full\DPMBACKUP"
      

配置备份

像其他任何 SQL Server 数据库一样,你可以使用 SQL Server 本机备份对 DPM 数据库进行备份。

恢复数据库

  1. 通过任何 Windows 计算机的资源管理器,连接到 \\DPMServer\DPMSERVERNAME-dpmdb 共享。

  2. 右键单击 dpmdb.bak 文件,查看其属性。 在“ 以前的版本 ”选项卡上,有可以选择和复制的所有备份。 还有最后一个备份仍位于 C:\DPMBACKUP 文件夹中,该文件夹也易于访问。

  3. 如果需要将连接 SAN 的 DPM 存储池磁盘移到另一台服务器,以便能够从副本 (replica) 卷读取数据,或者需要重新安装 Windows 来读取本地附加的磁盘,则需要事先知道 DPM 副本卷装入点路径或卷 GUID,以便知道哪个卷保存了数据库备份。 在初始保护之后、需要还原之前,可以使用下面的 SQL 脚本随时提取该信息。 将“%dpmsqlservername%”替换为托管数据库的 SQL Server 的名称。

    Select ag.NetbiosName as
    ServerName,ds.DataSourceName,vol.MountPointPath,vol.GuidName
    from tbl_IM_DataSource as ds
    join tbl_PRM_LogicalReplica as lr on ds.DataSourceId=lr.DataSourceId
    join tbl_AM_Server as ag on ds.ServerId=ag.ServerId
    join tbl_SPM_Volume as vol on lr.PhysicalReplicaId=vol.VolumeSetID
    and vol.Usage =1
    and lr.Validity in (1,2)
    where ds.datasourcename like '%C:\%' -- volume drive letter for DPMBACKUP
    and servername like '%dpmsqlservername%' --netbios name of server hosting DPMDB
    
    
  4. 如果需要在移动 DPM 存储池磁盘或 DPM 服务器重建之后进行恢复:

    1. 你具有卷 GUID,因此该卷需要装入另一台 Windows 服务器,或者在 DPM 服务器重建后,通过使用 mountvol.exe,使用 SQL 脚本输出中的卷 GUID 将其分配给驱动器号:C:\Mountvol X: \\?\Volume{d7a4fd76-a0a8-11e2-8fd3-001c23cb7375}\。

    2. 通过驱动器号和表示文件夹结构的部分副本路径,在副本卷上重新共享 DPMBACKUP 文件夹。

      net share SERVERNAME-DPMDB="X:\454d81a0-0d9d-4e07-9617-d49e3f2aa5de\Full\DPMBACKUP"
      
      
    3. 通过任何 Windows 计算机的资源管理器,连接到 \\SERVERNAME\DPMSERVERNAME-dpmdb 共享

    4. 右键单击 dpmdb.bak 文件,查看其属性。 在“ 以前的版本 ”选项卡上,有可以选择和复制的所有备份。

DPM 灾难恢复管理:备份 DPM 数据库

使用相同数据库重新构造 DPM 服务器的方法之一是将 DPM 数据库备份到本地磁盘。

DPM 数据库包含 DPM 配置以及有关 DPM 的备份的数据。 发生灾难时,可以使用本地磁盘中的最近数据库备份重建 DPM 服务器的功能。 如果 DPM 服务器崩溃或无法运行,并且存储池仍包含备份,则可以使用相同的 DPM 数据库重新配置 DPM 服务器。

请确保:

  1. DPM 数据库已备份到本地磁盘。
  2. 存储池保持原样且可用。

注意

DPM 服务器在恢复期间的完全限定的域名 (FQDN) 需要与原始 DPM 服务器相同。

备份 DPM 数据库

  1. 在 DPM 控制台中,选择“ 保护>”“创建保护组”。

  2. 在“选择保护组类型” 页上,选择“服务器” 。

  3. 在“选择组成员” 页上,选择“DPM 数据库” 。 如果远程运行 SQL Server,请选择安装的远程 SQL Server,并选择“DPM 数据库”。 如果 SQL Server 在 DPM 服务器上运行,请展开 DPM 服务器并选择“DPMDB”。

  4. 在“选择数据保护方法” 页上,选择“我想使用磁盘进行短期保护” 。 指定短期保护策略选项。

  5. 完成 DPM 数据库的初始复制后,运行以下 SQL 脚本:

    select AG.NetbiosName, DS.DatasourceName, V.AccessPath, LR.PhysicalReplicaId from tbl_IM_DataSource DS
    join tbl_PRM_LogicalReplica as LR
    on DS.DataSourceId = LR.DataSourceId
    join tbl_AM_Server as AG
    on DS.ServerId=AG.ServerId
    join tbl_PRM_ReplicaVolume RV
    on RV.ReplicaId = LR.PhysicalReplicaId
    join tbl_STM_Volume V
    on RV.StorageId = V.StorageId
    where datasourcename like N'%dpmdb%' and ds.ProtectedGroupId is not null
    and LR.Validity in (1,2)
    and AG.ServerName like N'%<dpmsqlservername>%' -- <dpmsqlservername> is a placeholder, put netbios name of server hosting DPMDB
    

恢复 DPM 数据库

若要使用相同的数据库重新构造 DPM,需要先恢复 DPM 数据库,并将它与全新安装的 DPM 同步。

请使用以下步骤:

  1. 打开管理命令提示符并运行 psexec.exe -s powershell.exe,以在系统上下文中启动 PowerShell 窗口。
  2. 确定要从何处恢复数据库:

从上次备份复制数据库

  1. 导航到副本 (replica) VHD 路径,即 <ReFSVolume><DPMServer FQDN><PhysicalReplicaId><PhysicalReplicaId>
  2. 使用 mount-vhd disk0.vhdx 装载此路径中的 disk0.vhdx
  3. 装载副本 VHD 后,运行 mountvol.exe 并使用 SQL 脚本输出中的物理副本 ID 为副本卷分配驱动器号。 例如,mountvol X: \?\Volume{<PhysicalReplicaId>}\

从以前的恢复点复制数据库

  1. 导航到 DPMDB 容器目录, <即 ReFSVolume><DPMServer FQDN><PhysicalReplicaId>,你将看到多个目录,其下有一些唯一 GUID 标识符,对应于为 DPM DB 获取的恢复点。 除 PhysicalReplicaId> 之外的<目录表示 PIT/恢复点。

  2. 导航到任何 PIT vhd 路径,即 <ReFSVolume><DPMServer FQDN><PhysicalReplicaId><PITId> ,并使用 mount-vhd disk0.vhdx 装载其中存在的 disk0.vhdx。

  3. 装载副本 VHD 后,运行 mountvol.exe 并使用 SQL 脚本输出中的物理副本 ID 为副本卷分配驱动器号。 例如,mountvol X: \?\Volume{<PhysicalReplicaId>}\

    在上述步骤中,角大括号内的所有以下文本都是占位符;将它们替换为适当的值。

    • ReFSVolume - SQL 脚本输出中的访问路径
    • DPMServer FQDN - DPM 服务器的完全限定域名
    • PhysicalReplicaId - SQL 脚本输出中的物理副本 (replica) ID
    • PITId - 容器目录中除物理副本 ID 以外的 GUID 标识符。
  4. 打开另一个管理命令提示符并运行 psexec.exe -s cmd.exe,以在系统上下文中启动命令提示符。

  5. 将目录切换为 X: 驱动器,然后导航到 DPM 数据库文件所在的位置。

  6. 将它们复制到易于从中还原的位置。 复制后退出 psexec cmd 窗口。

  7. 转到步骤 1 中打开的 psexec PowerShell 窗口,导航到 VHDX 路径,并使用命令 dismount-vhd disk0.vhdx 卸载 VHDX。

  8. 重新安装 DPM 服务器后,可以运行 DPMSYNC-RESTOREDB,使用还原的 DPMDB 附加到 DPM 服务器。

  9. 完成 DPMSYNC-RESTOREDB 后,运行 DPMSYNC-SYNC。

使用 DPMSync

DpmSync 是一个命令行工具,可用于将 DPM 数据库与存储池中的磁盘状态和已安装的保护代理进行同步。 DpmSync 可还原 DPM 数据库,将 DPM 数据库与存储池中的副本进行同步,还原报表数据库,并重新分配缺少的副本。

参数

参数 说明
-RestoreDb 从指定的位置还原 DPM 数据库。
-Sync 同步还原的数据库。 还原数据库后,必须运行 DpmSync –Sync。 运行 DpmSync –Sync 后,某些副本可能仍标记为缺少。
-DbLoc location 标识 DPM 数据库备份的位置。
-InstanceName  
server\instance
DPMDB 必须还原到的实例。
-ReallocateReplica 重新分配所有缺少的副本卷而不进行同步。
-DataCopied 指示已完成将数据加载到新分配的副本卷中。
这仅适用于客户端计算机。

示例 1: 从 DPM 服务器上的本地备份介质还原 DPM 数据库。
运行以下命令:

DpmSync –RestoreDb -DbLoc G:\DPM\Backups\2005\November\DPMDB.bak

在还原 DPM 数据库之后,若要同步数据库,请运行以下命令:

DpmSync -Sync

在还原和同步 DPM 数据库之后、在还原副本之前,请运行以下命令来重新分配副本的磁盘空间:

DpmSync -ReallocateReplica

示例 2: 从远程数据库还原 DPM 数据库。
在远程计算机上运行以下命令:

DpmSync –RestoreDb -DbLoc G:\DPM\Backups\2005\November\DPMDB.bak –InstanceName contoso\ms$dpm

在还原 DPM 数据库之后,若要同步数据库,请在 DPM 服务器上运行以下命令:

DpmSync -Sync

在还原与同步 DPM 数据库之后还原副本之前,请在 DPM 服务器上运行以下命令来重新分配副本的磁盘空间:

DpmSync -ReallocateReplica