System Center Data Protection Manager(以下简称 DPM)是微软推出的企业级备份与恢复产品,运行在 Windows Server 平台上,支持对文件、SQL Server、Exchange 以及 Hyper-V 虚拟机进行粒度不同的保护。在虚拟化环境中,直接在每台虚拟机里装备份客户端不仅管理成本高,还容易遗漏,而 DPM 可以从宿主机层面对整个虚拟机进行备份,一台 DPM 服务器就能接管整个数据中心里成百上千台虚拟机的保护任务。本文将从环境准备、安装部署、保护组配置到常见问题排查,完整讲一遍 DPM 备份 Hyper-V 虚拟机的落地过程。

一、部署 DPM 前的环境准备
DPM 并不是一台独立服务器装上就能用的产品,它对底层环境有一系列硬性要求。首先,DPM 服务器必须是域成员,不能部署在工作组环境中,因为它依赖 Active Directory 进行身份验证和 Kerberos 委派。如果生产环境还没有域,需要先搭建 AD 域服务。其次,DPM 需要一个独立的 SQL Server 实例来存放 DPMDB 数据库,从 DPM 2016 开始可以使用远程 SQL Server,小规模环境也可以直接把 SQL 装在 DPM 服务器本机。
存储方面,DPM 依赖存储池来存放备份数据。存储池由一组动态磁盘(在较新版本中支持 MBR 或 GPT 磁盘)组成,容量建议至少是受保护数据总量的 1.5 倍以上,这样才能容纳副本和恢复点。现代存储配置(Modern Backup Storage)允许直接使用 ReFS 格式的磁盘作为卷存储,相比传统的动态磁盘方式,空间利用率更高,恢复点的创建速度也更快。如果条件允许,优先采用这种基于 ReFS 卷的存储方式。
网络方面,DPM 服务器需要能够访问每一台 Hyper-V 宿主机和域控制器。建议在 DPM 服务器上提前放行相关端口,DPM 使用的端口包括 135(RPC 端点映射)、5718 和 5719(DPM 专用通信端口)。如果宿主机与 DPM 之间有防火墙,需要在防火墙上放行这些端口,否则保护代理安装完成后会出现通信失败的提示。
二、安装 DPM 与部署保护代理
安装 DPM 之前,先确认服务器已加入域,并安装好必备的 Windows 功能,包括 .NET Framework、Windows PowerShell 以及 IIS 的部分组件。运行安装程序时,选择独立安装,安装向导会自动检测 SQL Server 实例,如果使用本机 SQL,可以由安装程序一并完成配置。安装完成后打开 DPM 管理控制台,第一件事是检查磁盘存储是否已正确添加到存储池。
DPM 通过保护代理来抓取受保护服务器上的数据。为 Hyper-V 宿主机安装代理有两种方式:推送安装和手动安装。推送安装适合服务器数量不多的场景,在 DPM 控制台的管理视图中点击“已安装的代理”,选择“安装”,输入宿主机的名称或浏览选择即可。如果推送失败,多半是管理员凭据权限或防火墙的问题,此时改用手动安装更可靠。手动安装需要在宿主机上运行以下命令:
cd C:\Program Files\Microsoft Data Protection Manager\DPM\ProtectionAgents\RA\5.0.158.0\amd64 DPMAgentInstaller.exe DPM服务器域名\FQDN
注意路径中的版本号会随 DPM 版本不同而变化。安装完成后,还要在宿主机上执行 SetDpmServer 命令将代理指派给 DPM 服务器:
SetDpmServer.exe -dpmServerName DPM01.contoso.com
代理安装完成后,在 DPM 控制台的代理列表中刷新,确认宿主机状态为“正常”带绿色勾选,这一步是后续一切保护操作的基础。如果状态一直是黄色感叹号,可以查看宿主机上 DPMRA 服务的日志,日志位于 C:\Windows\Temp\MSDPMRA 目录下。
三、创建保护组并备份虚拟机
代理就绪后,就可以创建保护组了。保护组是 DPM 中定义备份对象、备份策略和存储分配的基本单位。在 DPM 控制台的保护视图中点击“创建保护组”,向导会列出所有已安装代理的服务器,展开 Hyper-V 宿主机,就能看到宿主机上的虚拟机列表。这里有一个关键选择:是直接选择虚拟机本身,还是展开虚拟机选择里面的内容。
如果直接选择虚拟机,DPM 会以“保存状态”方式备份整个虚拟机,即备份时虚拟机被短暂挂起,生成一致的快照后写入副本区域。这种方式最简单,恢复时可以整体还原虚拟机,但如果虚拟机里跑的是域控制器或有分布式事务的应用,保存状态备份可能带来数据一致性问题。此时建议在虚拟机内部也安装 DPM 代理,对数据库、应用做子级备份,形成宿主机整备加子级细备的双层保护。
对于运行域控制器角色的虚拟机,DPM 提供了专门的“子客户端”方式处理 AD 备份,而普通虚拟机则按照以下流程配置:在保护组向导中选择数据源后,设置保护组名称,接着选择保护方式(磁盘短期保护、磁带长期保护或两者兼有),然后指定恢复点目标,也就是保留范围和备份频率。以常见配置为例,可以设置保留 15 天,同步频率每天一次,并勾选每日的快速完整备份。确认计划后,向导会提示初始副本的创建方式,第一次备份建议选择“现在自动通过网络复制”,副本复制完成后,后续的增量同步都会基于这个初始副本进行。
rem 也可以用 PowerShell 创建保护组,适合批量部署场景
$pg = New-DPMProtectionGroup -DPMServerName "DPM01" -Name "HyperV-VMs"
$ps = Get-DPMProductionServer -DPMServerName "DPM01" | Where-Object {$_.ServerName -eq "HV01.contoso.com"}
$ds = Get-DPMDatasource -ProductionServer $ps | Where-Object {$_.Name -like "VM-*"}
Add-DPMChildDatasource -ProtectionGroup $pg -ChildDatasource $ds
保护组创建完成后,回到保护视图就能看到虚拟机的状态。正常情况下,副本状态显示为“正常”,恢复点会按照计划逐步生成。恢复操作同样在保护视图中进行,选中虚拟机点击“恢复”,可以选择恢复到原位置、备用位置或者只拷贝单个文件。由于 DPM 支持项目级恢复,即使做的是整虚拟机备份,也能从恢复点里直接提取虚拟机内部的某个文件,这在实际运维中非常实用。
四、常见问题排查
DPM 备份虚拟机时最常见的报错是“副本不一致”。这个提示的本质是 DPM 记录的数据变更与实际副本内容对不上,可能原因包括虚拟机磁盘写入量过大导致同步窗口不足、宿主机 VSS 服务异常,或者备份窗口与其他任务冲突。排查时先看作业详情中的具体错误码,比如 ID 33506 通常指向宿主机上的 VSS 问题,此时在宿主机上运行 vssadmin list writers 查看各写入器状态,如果 Hyper-V 写入器处于失败状态,重启 Hyper-V 卷影复制服务往往能解决。
另一个高频问题是代理通信失败,表现为保护组创建时找不到数据源或作业卡在排队。排查思路是:先在 DPM 服务器上执行 ping 和 telnet 测试宿主机 5718、5719 端口连通性,再检查宿主机上的 DPMCPWrapperSvc 和 DPMRA 两个服务是否正常运行。如果域账户密码过期导致代理失联,需要重新附加代理凭据,可以在宿主机上重新运行 SetDpmServer 命令并附加认证参数。
最后提醒一点关于恢复点的容量规划。虚拟机的恢复点数量受存储池剩余空间约束,当空间不足时 DPM 会自动修剪最早的恢复点,如果保留了过长的恢复期却没有相应扩容存储池,可能发现历史恢复点被提前清理。建议定期在管理视图中查看磁盘分配情况,对增长较快的虚拟机适当调整卷影副本存储上限,路径一般在 C:\Program Files\Microsoft Data Protection Manager\DPM\Volumes\ShadowCopy 下按卷分布,通过 DPM 控制台调整比手动操作文件系统安全得多。
整体来看,DPM 备份虚拟机的核心在于三件事:域环境与存储池准备到位、代理部署状态正常、保护组策略贴合业务恢复目标。把这三块理顺之后,日常只需要关注作业成功率和存储池水位,虚拟机的数据保护就能长期稳定运行。如果后续需要异地容灾,还可以在 DPM 之间配置辅助保护,把主 DPM 的副本再备份到第二台 DPM 服务器上,形成更完整的多级保护体系。
DPM备份Windows Server虚拟机备份修改时间:2026-09-04 06:40:47