2.2 系统镜像数据的复制
除了数据备份之外,镜像级数据的复制技术也是一种非常便捷的数据保护手段。常见的复制技术都是基于存储来实现的,然而在虚拟化环境中,随着技术的发展和演进,虚拟机的镜像级复制技术也越来越成熟。VBR提供了这样的复制技术并且不需要在虚拟机内安装任何代理程序,和镜像级备份一样,它也借助虚拟机的快照来实现。在第一次复制过程中,VBR会将虚拟机完完整整地从一个位置复制到另一个位置,而在后续的复制过程中,变化的数据会被持续更新至新的位置。
这个功能的用途非常多,对于同一个站点的复制来说,可以认为是一种高可用(HA)的替代方案;而对于异地的第二个站点的复制来说,可以认为是一种数据灾备方案。异地传输的很大一部分挑战来自异地网络传输,广域网链路带宽通常很昂贵,在这种场景下,VBR还提供了广域网加速技术来优化复制过程中的数据传输。
VBR支持两种由系统管理程序管理的虚拟机的复制,一种是VMware vSphere的虚拟机,另一种是Microsoft Hyper-V的虚拟机,这两种平台没有太大的差别,下面以vSphere为例说明虚拟机的复制流程和原理。
1. 复制流程和原理
VBR处理虚拟机复制的过程和备份过程非常相似,同样也是通过备份代理来处理所有的数据提取,只是在提取并处理数据后,直接将获取到的数据复制到虚拟机,而不是存放于备份存储库中。虚拟机的备份流程如图2-8所示。
1)复制作业启动后,VBR会查询数据库中作业的配置信息,读取所有需要备份的虚拟机以及与它们相关的虚拟磁盘的列表,见图2-8中的步骤①。
2)VBR会为后续的复制过程准备一系列资源,准备合适的源端和目标端备份代理和相关的备份存储库,并为它们建立Veeam数据搬运工的数据传输连接,见图2-8中的步骤②。
3)接下来,VBR会向虚拟化平台请求虚拟机快照,在执行快照前如果需要对应用程序进行一致性处理,VBR还会和客户机操作系统通信来处理应用程序,见图2-8中的步骤③。
4)备份代理上的数据搬运工从VMware快照中读取数据,如果是增量复制,则还会使用CBT/RCT技术获取增量数据块。VBR在备份代理上对读取到的数据进行一系列处理,这些数据包括填零的数据块、交换文件、被排除的数据文件等,在处理完成后,根据重删和压缩条件的设定,对数据完成重删和压缩,并把数据传递到目标端备份代理上,见图2-8中的步骤④。
5)目标端备份代理将接收到的数据写入目标端虚拟化主机上,创建一个完整的虚拟机。如果是增量复制,则将变化的数据块叠加至一个虚拟机快照中,见图2-8中的步骤⑤。
6)数据传输完成后,VBR向虚拟化平台发起快照合并请求,在虚拟化平台上,源虚拟机的快照被删除,复制作业完成,见图2-8中的步骤⑥。
以上复制过程的原理非常简单,而实际上对于异地灾备,通常会有各种来自网络带宽、网络配置和IT条件限制的挑战。为了应对这些挑战,并更好地适应虚拟机的灾备环境,可以在复制过程中配置广域网加速器来提升广域网传输的效率及稳定性。
2. 种子副本技术
通过种子副本(Replica Seeding)技术,可以显著减少网络上的数据传输,这个技术先通过备份技术,将源虚拟机从源站点备份出来,这份备份的数据通过离线运输的方式被运送到目标站点。在目标站点建立虚拟机的复制关系时,VBR可以指定从特定的备份存储库中读取这份数据,以用作目标站点虚拟机的基础数据源。而更新变化的数据则继续从原生产环境当前的最新虚拟机中提取。通过这种方式,网络上的数据传输将会大大减少,大量的虚拟机的数据都将会从目标站点的本地存储设备中获取。这种方式和异地播种非常相似,因此我们称之为种子副本技术。
3. 副本映射技术
有些情况下,目标站点上会存在源站点需要复制的虚拟机副本,这时候可以利用副本映射(Replica Mapping)技术,在建立复制作业的时候,指定将目标站点上的哪个虚拟机作为复制的副本对象。这可以避免在已存在副本的情况下重复传输不必要的数据。这种技术通常会用于复制作业的拆分场景,比如在复制作业的设计之初,在一个复制作业中设置了需要复制5台虚拟机,这时5台虚拟机使用同一个计划任务进行处理。在这个任务运行了一段时间后,管理员认为部分虚拟机的RPO等级需要提升,但是其他虚拟机还是要保持原来的RPO设定。这时候,管理员可以将需要提升RPO的虚拟机从这个复制作业中移除出去,然后创建一个新的复制作业,在这个新的复制作业中启用副本映射技术,将之前已经复制的虚拟机作为新的作业的初始映射副本,这样就无须重新进行完整的虚拟机复制,只需接着之前的任务进行后续的增量传输即可。
4. 网络重映射和IP更换技术
在有些场景下,灾备环境的网络配置和IP架构与源环境完全不一样,这时候完整的虚拟机复制技术需要在目标端的站点上使用和源环境不同的网络端口组,甚至是不同的IP地址。
在VBR的复制技术中,可以为复制到目标端的虚拟机配置一个新的网络端口组,在每次复制作业运行时,VBR会根据网络重映射配置表检查源虚拟机的网络配置。如果源虚拟机的网络变更需求在这个网络重映射配置表中,那么VBR就会将它的网络切换到新的网络端口组中。当需要进行灾备切换的时候,该虚拟机就会正确地连接至切换后的合适的端口组上。
对于一些Windows服务器,VBR也支持在灾备环境中使用和源环境不同的IP地址配置,这是通过IP更换对应规则来实现的。在复制作业中,可以指定IP更换对应规则,每次复制作业运行时,VBR会检测当前源环境中这个IP地址的信息,如果满足IP更换规则的设定,那么VBR会在灾备切换时挂载虚拟机的虚拟磁盘,然后通过注入Windows注册表的方式修改目标服务器的IP地址。
需要注意的是,虽然在复制作业中这个IP更换并不是发生在复制时,而是发生在灾备切换的那一刻,但是如果有IP更换的需求,请务必保证灾备切换操作是在VBR中进行的。如果灾备切换操作在虚拟化平台上执行,就像正常的虚拟机开机动作一样,那么IP更换技术不会生效,因为这时虚拟化平台上的虚拟机内的IP地址并未被更换。
5. 从备份存档文件中进行复制
在典型的灾备场景中,所有的业务系统都需要有一份备份存档文件,同时对于关键系统还需要有一份拷贝用于灾备切换,这时就需要备份系统和灾备系统用两种不同的方式去生产环境提取数据,创建备份和复制备份。如果管理员不希望从生产环境中重复提取相同的数据,当虚拟机的备份存档文件已经存在于备份存储中时,VBR可以使用从备份存档文件中进行复制的功能,在不影响生产环境的情况下,从备份存档文件中提取数据创建合适的虚拟机灾备副本。这种操作方式不仅能够节省大量的系统计算资源,同时能够降低网络中大量的重复数据传输。
和种子副本不一样的是,从备份存档文件中进行复制不仅在第一次复制过程中从备份存档文件中提取所需要的数据,在后续的增量复制过程中,也都是从备份存档文件中提取数据。假如在复制任务启动时,并没有产生合适的备份还原点,这时复制任务将不会处理数据。