Veeam v11版本里面最重要的一项技术功能更新是CDP,它有以下特点:
无需虚拟机快照 — Veeam CDP通过VMware认证的I/O驱动程序直接在数据路径中捕捉所有读写I/O,无需像Replication作业一样创建VM虚拟机快照。借助I/O级跟踪,只有实际更改的数据会被发送到灾难恢复站点。
无工作负载或硬件依赖性 — 保护在VMware 虚拟机内运行的任何操作系统和应用程序。与基于硬件级的复制技术不同,Veeam CDP能够跨非同类型的存储阵、超融合存储解决方案甚至在本地vSphere ESXi存储运行,且不受距离限制。
灵活保留 — 短期保留Short-term retention允许将VM虚拟机恢复到几秒或几分钟前的状态(取决于指定的RPO),最多可以保留24 小时。长期保留Long-term retention允许创建额外的还原点用于将VM虚拟机恢复到较早的状态(如24小时之前),并可以设置Application-consistent应用一致性保护。
灵活部署模式 — 根据受保护的VM虚拟机数量,可以灵活选择虚拟机、甚至是物理机充当 CDP Proxy,以便从VMware 主机上分流所有复制数据处理的开销,从而消除对虚拟机整合率的影响。无论是哪种情形下,使用多个CDP Proxy可提供冗余并提高可扩展性。
部署助手 — 内置的部署计算器可查看在CDP策略中选择用于保护的VM虚拟机的历史I/O,以估计实现指定RPO所需的带宽,并评估当前可用的CDP代理资源是否足以适应历史变化率,从而消除复制时网络的不确定性。
1、Veeam CDP要求和限制
Veeam CDP有以下要求和限制,请严格遵守:
要求:
-
CDP功能包含在Veeam VUL许可中,但使用基于CPU授权的旧许可证时,需要Enterprise Plus版本。
-
CDP功能只支持VMware to VMware,且VMware 软件必须是标准版或更高版本,不支持Essentials版本。
-
VMware 版本最低要求为6.5 U2,且必须要有VC和Cluster的环境,不支持独立的ESXi主机。
-
同一个Cluster中的所有ESXi主机必须具有相同的大版本:7.x或6.x(如:支持6.5或6.7、或6.5和6.7的组合,不支持7.0和6.7、或7.0和6.5的组合),复制时可以跨版本,如:6.x to 7.x、或7.x to 6.x。
-
在CDP策略首次启动时,计划保护的VM虚拟机不能有快照。但是,在CDP策略成功创建第一个还原点后,可以创建快照。这意味着还可以备份受CDP保护的 VM虚拟机。
-
在初始同步期间,VBR需要为具有厚配置磁盘的VM虚拟机分配双倍空间。初始同步完成后,VBR会为此VM虚拟机释放一半的已分配空间。这是支持保护新添加到原始VM虚拟机的磁盘所需的机制的一部分。
-
CDP所需的基础设施组件之间的网络必须至少为1Gbps,建议使用10Gbps 或更快的速度和修改对应的MTU值为9000。
-
如果在VMware站点上启用VM虚拟机加密,请确保在默认加密属性存储策略组件中将加密前允许 I/O 过滤器参数设置为True。
-
源ESXi主机和目标ESXi主机,以及VBR服务器,都至少需要16GB RAM。
-
VBR Server、CDP Proxy Server、VC和ESXi主机必须能够相互解析DNS名称。
限制:
-
CDP仅适用于已启动的VM虚拟机,即源虚拟机需要是开机状态,并且这台VM虚拟机只能由一条CDP策略处理。
-
一个VM虚拟机已经由CDP策略执行复制时,还可以继续对该虚拟机执行备份,但复制后的VM虚拟机不支持备份。
-
复制后的VM虚拟机只能使用Veeam故障转移操作启动,VC上的手工开机操作被禁用。
-
在目标端ESXi主机上,VBR不允许使用VMware Storage vMotion迁移虚拟机副本,但是支持主机vMotion。
-
不支持共享磁盘、物理RDM和SCSI总线共享。请注意,支持vRDM磁盘。
-
一台源VM虚拟机支持的最大磁盘数为50,一台源ESXi主机的最大磁盘数为500。
-
数据加密规则不适用于ESXi主机和VMware CDP Proxy之间的流量。
-
不支持将Cisco HyperFlex作为源或目标,不支持VMware Cloud on AWS。
2、测试环境
本次的测试环境是VMware vSphere 7.0.1 , Veeam v11 11.0.0.837 P20210507版本。
如下图测试架构图所示:实现对VC:10.10.1.198所在的Workload-Cluster上的源ESXi主机:10.10.1.100中的一台名为Oracle的源虚拟机,使用Veeam CDP技术,复制到VC:10.10.3.198所在的DR-Cluster上的目标ESXi主机:10.10.3.100上,目标虚拟机名称名为Oracle_CDP。
其中:VBR Server随意部署,只需要与两个VC正常通讯即可,并要求有足够的权限。CDPProxy01与Oracle虚拟机均部署在ESXi:10.10.1.100上;CDPProxy02则部署在ESXi:10.10.3.100上。本次测试使用的传输网络,可以理解成“万兆内网”。
3、增加DNS解析
于前面章节“Veeam CDP要求和限制”提到的,请在准备安装、配置Veeam CDP之前,先做好VC、ESXi、VBR Server、CDP Proxy Server的DNS解析!DNS解析!DNS解析!(最重要的事情说三遍)
如果现有VMware环境正在使用DNS服务,则把VBR Server、CDP Proxy Server增加到DNS解析记录即可。否则请手工增加VC、ESXi、VBR Server、CDP Proxy Server之间的Hosts解析,不然在接下来的添加 CDP I/O filter时,会发生千奇百怪、莫名其妙的报错。
VC、ESXi的Hosts解析文件是:/etc/hosts,VBR Server、CDP Proxy Server的Hosts解析文件是:C:\Windows\System32\drivers\etc\hosts。
示例如下:
###Veeam10.10.1.201 SEDEMOVBRGA10.10.1.36 CDPProxy0110.10.3.36 CDPProxy02###VMware10.10.1.198 vCenter0110.10.1.100 ESXi0110.10.3.198 vCenter0210.10.3.100 ESXi02
4、添加CDP I/O filters
VBR v11的安装、配置过程忽略,以下只介绍与CDP相关的内容。
请注意:ESXi Server必须位于Cluster之下,才能推送CDP I/O filter;另外,不能指定ESXi Server推送CDP I/O filter,即:Cluster下面的所有ESXi主机都会被推送CDP I/O filter。
选中需要安装CDP I/O filter的Cluster,右键后选择Install I/O filter。
https://
点击Yes,开始安装I/O filter。
点击Close,确保安装成功。
点击Details,检查安装状态。
也可以在VC管理界面上,检查ESXi主机上veecdp I/O filters的安装情况。
请注意:如果ESXi主机上已经安装其他厂商的CDP I/O filters,强烈建议先卸载原有的CDP I/O filters,再安装Veeam CDP I/O filters,否则可能会有冲突。或者使用全新的ESXi环境来测试Veeam CDP。
继续在其他Cluster上执行相同的安装CDP I/O filters的操作,如:对Workload-Cluster安装CDP I/O filters。
5、添加 VMware CDP Proxy Server
请注意:CDP Proxy Server必须是Windows系统,暂不支持Linux系统;且最好不建议与原有的VMware Backup Proxy一起使用,即不建议在VMware Backup Proxy上推送CDP Proxy Server组件。
点击Add VMware CDP proxy。
点击Add New,开始添加Windows Server向导。
请注意:CDP Proxy Server需要一些端口进行通讯。
关于CDP Proxy Server端口的更多介绍,请参阅以下网址: https://helpcenter.veeam.com/docs/backup/vsphere/used_ports.html?ver=110#cdp-connections
点击Next,输入名称。
在Credentials选项里,点击Add 添加凭证。
Veeam Transport组件将被推送安装,点击Apply,完成添加Windows Server向导。
点击上图的Finish后,回到添加CDP Proxy向导。
在Cache选项里,指定CDP Cache路径。
请注意推荐值:为每台源虚拟机上的每块VM磁盘分配10GB可用空间。
数据加密规则不适用于ESXi主机和VMware CDP Proxy之间的流量。
点击Apply,开始往CDPProxy01上推送Veeam CDP组件。
点击Next,确保推送成功。
点击Finish,完成添加CDP Proxy向导。
继续使用相同配置方法在CDPProxy02上执行操作,并确保成功添加。
6、 添加CDP Policy并运行
点击CDP Policy,开始添加向导。
在Name选项里,输入CDP Policy名称。
请注意:CDP与Replication的向导操作过程很相似。原有的:Replica seeding、Network remapping、Replica re-IP都适用于CDP策略。
在Virtual Machines选项里,点击Add,选择做CDP保护的源虚拟机。可以通过多种方式添加虚拟机,比较简便的方式是使用VMware Tag。
在Destination选项里,选择目标端的Host或者Cluster、Resource pool、VM folder、Datastore。
请注意:通过CDP复制到目标端后的虚拟机,是会直接注册到目标端VC上的,即:目标端VC是可以正常查看到CDP复制过来的虚拟机。所以如果复制虚拟机数量比较多时,会对VC日常管理运维工作带来困扰。建议使用专用的VM folder来存放CDP复制虚拟机,并对这个VM folder设定相关的VC帐号、权限即可。
在Policy Settings选项里,选择合适的Source proxy、Target proxy、指定复制虚拟机的后缀名称(目的是容易识别),并可以点击Test,计算出CDP Proxy的计算资源的Sizing结果,以供参考。
在Schedule选项里,输入需要设置的RPO值、Short-term retention值、Long-term retention值。
在Schedule选项里,可以设置CDP策略的允许执行时间、禁止执行时间。
在Reporting选项里,可以设置Warning或Error的报告阈值。
在Short-term retention选项里,可以设置合适的point-in-time值。如下图举例所示:是指可以在2小时内拉起任意时间点(point-in-time)的目标端虚拟机。
在Long-term retention选项里,可以设置合适的restore point值。如下图举例所示:是指每24小时对目标端虚拟机生成一个快照还原点,该还原点保留7天。
点击Schedule,可以设置Long-term retention的运行时间段。其中:Application-consistent应用一致性保护是可以确保目标端虚拟机的应用是受一致性保护,而Carsh-sonsistent系统一致性保护只是确保系统受一致性保护。
简单理解就是:目标端虚拟机Oracle_CDP,如果只是执行了Carsh-sonsistent系统一致性保护,那么在进行虚拟机切换后,是可以保证虚拟机系统是可以启动、运行,但不确保数据库、应用能正常启动;但是如果需要目标端虚拟机Oracle_CDP上面运行的Oracle数据库也要正常启动、运行,则就需要Application-consistent应用一致性保护。
所以如果需要Application-consistent应用一致性保护,则需要在Guest Processing选项上,勾选Enable application-aware processing。
再次提醒:只有勾选使用Enable application-aware processing,才能确保对受保护的虚拟机执行Application-consistent应用一致性的保护。
点击Add,选择合适的oracle帐号。
请注意:这里是选择oracle数据库帐号,不是root系统帐号。
关于添加Oracle帐号权限的更多介绍,请参阅以下网址: https://helpcenter.veeam.com/docs/backup/vsphere/required_permissions.html?ver=110#rptcb
需要把Oracle帐号提权。
如果没有事先配置好sudores file,则需要使用su方式提权,此时需要输入root用户密码。
点击Test Now,可以提前验证网络通讯、帐号权限等。
确保验证成功。
点击Apply,
勾选Enable the policy when I click Finish,可以立即启动CDP策略。
开始执行首次的Initial sync传输,请耐心等待Initial sync传输完成。
Initial sync传输完成后,进入Syncing状态,开始执行增量复制。
如果需要暂停CDP复制策略,Veeam不提供Pause按键,只提供Disable按键。
也不提供Enable按键,只需要再次点击Disable即可。
CDP复制策略将继续欢快地执行增量复制。
7、 切换和回迁
7.1、Failover 切换
本次测试旨在展示CDP复制功能,并未对Oracle数据库进行读写操作,有兴趣可以自行测试。
Failover切换是指把目标端虚拟机Oracle_CDP开机起来,它的主要使用场景是:计划内的停机切换用于业务测试、容灾演练,非计划内的停机用于接管生产。
如果是用于业务测试、容灾演练时,则建议手工关机源虚拟机,然后再进行切换测试、演练。这样好处是确保CDP复制时的数据一致性。如果是非计划内的停机,那就直接Failover切换吧。
请注意:如果源虚拟机Oracle还在开机状态,Failover切换时是不会执行源虚拟机关机的,只会对目标端虚拟机Oracle_CDP执行开机。另外,执行完Failover切换后,原有CDP策略会自动停止复制。
点击VBR主界面的Ready,找到已经做过CDP复制的虚拟机。
右键虚拟机后,点击Failover now,开始切换。
开始进入切换向导。点击Point,选择指定的还原点时间、还原项。
在Restore Points选项里,选择合适的还原项。其中:
Restore to the latest crash-consistent state(least data loss),是指还原到最近时间点的系统一致的状态。
Restore to the last application-consistent state,是指还原到最后一个时间点的应用程序一致的状态。
Restore to point in time,是指通过拖拽式的滚动条方式选择合适时间点的:系统一致的状态或应用程序一致的状态。
本次测试选择:Restore to the latest crash-consistent state。
输入任意Reason,点击Next、Finish,开始切换。
检查Failover结果。
原有CDP策略会自动停止复制。
检查目标端虚拟机的状态。
检查oracle数据库状态。
7.2、Failback 回迁
点击VBR主界面的Active,找到已经执行Failover切换的虚拟机。
右键虚拟机后,会有几种Failover的选择项。其中:
Permanent failover,是指永久切换,让目标端虚拟机Oracle_CDP变为永久生产状态。
Undo failover,是指不带目标端虚拟机Oracle_CDP新增的数据回迁,然后对源端虚拟机Oracle开机,让源端虚拟机Oracle接管生产。执行完Undo failover后,原有的CDP复制策略会自动继续执行增量复制。
Failback to production,是指带目标端虚拟机Oracle_CDP新增的数据回迁,然后对源端虚拟机Oracle开机,让源端虚拟机Oracle接管生产。执行完Failback to production,原有的CDP复制策略会自动继续执行增量复制。
本次测试使用Failback to production。
开始Failback向导。其中Size的数据是目标虚拟机Oracle_CDP上新增的数据。
在Destinatin选项里,有三个选择:
Failback to the original VM:是指回迁到原始位置,并可使用Quick rollback技术,快速回迁有变化的数据。
Failback to the original VM restored in a different location:是指回迁到原始位置,并与源虚拟机Oracle的Mapping。
Failback to the specified location (advanced):是指回迁到任意位置,从目标端虚拟机Oracle_CDP传输全部数据。这是非常耗时的。
本次测试使用Failback to the original VM方式回迁,并指定CDP Proxy和使用Quick rollback技术。
关于Quick rollback的更多介绍,请参阅以下网址: https://helpcenter.veeam.com/docs/backup/vsphere/cdp_failback_quick_rollback.html?ver=110
在Failback Mode选项里,可选择Failback生效时间。
本次测试使用Auto。
在Summary选项里,可勾选"Power on target VM after restoring",回迁完成后执行开机。
点击Finish,然后请耐心等待。
请注意:为确保回迁前后的数据一致性,目标端虚拟机Oracle_CDP会关机。
Failback回迁成功。
在接下来的Switch过程中,对目标端虚拟机Oracle_CDP进行关机,对源端虚拟机Oracle进行开机。
(注意:此界面不会自动弹出出现,在History里面可以看到这个界面)
检查源虚拟机Oracle的状态。
检查源虚拟机Oracle的数据库状态。
在Active处,找到已经执行Failback回迁的虚拟机。(细心的可以发现Oracle虚拟机旁边不同形状的图标)
右键虚拟机后,继续会有几种Failback的选择项。
其中:Commit failback,是指永久回迁,让源端虚拟机Oracle变为永久生产状态。
Undo failback,是指撤消回迁,把业务撤回目标端虚拟机Oracle_CDP。
本次测试选择Commit failback。
查看Commit failback结果。
原有CDP策略,自动开启CBT mode模式。耐心等待后,会自动变成Syncing。
如果感觉上述术语“Failover、Permanent failover、Undo failover、Failback to production、Commit failback、Undo failback”不容易记住、又或者对整个Failover切换、Failback回迁的逻辑、流程不熟悉,那除了多做几遍Failover切换、Failback回迁的操作以外,希望下图可以帮助更加清晰地理解。
8、 其他注意事项
8.1、卸载CDP I/O filter
如果VBR在可用的情况下,请在VBR上右键对应Cluster进行Uninstall I/O filter。
关于卸载CDP I/O filter的更多介绍,请参阅以下网址: https://helpcenter.veeam.com/docs/backup/vsphere/cdp_io_filter_remove.html
请注意:卸载前请确保ESXi主机进入维护模式。
如果VBR已经不可用的情况下、或者在VBR可用时却没有在VBR上使用正确方式卸载的情况下,请手动卸载CDP I/O filter。
关于手动卸载CDP I/O filter的更多介绍,请参阅以下网址: https://www.veeam.com/kb4151
8.2、检查虚拟机存储策略的合规性
检查CDP复制的源虚拟机,执行“检查虚拟机存储策略的合规性”。如果检查结果是非合规的状态,则有可能会造成CDP策略运行失败。
如果检查结果是:已过期、不合规、不适用时,需要手工操作“重新应用虚拟机存储策略”。
确保合规性状态是:合规。
如对以上过程有技术疑问,请联系本文作者:helly.wu@veeam.com