当业务系统出现故障不可用时,如果此前开启数据备份保护,可以通过查找备份文件恢复虚拟机到最近的业务正常运行点实现业务恢复。备份恢复一般做法如下:迁移备份数据至运行位置,等待数据迁移完后,在运行位置拉起虚拟机恢复业务。如果业务数据量大,数据迁移时间长,就会导致业务恢复的RTO很大。为此,对备份恢复功能进一步进行优化。 1. 快速恢复主要优化点 新增一种恢复方式,即“生成全新虚拟机”方式。优化前仅支持对原虚拟机覆盖性恢复,这就导致了无法验证备份数据是否正常可用就覆盖了原来的虚拟机数据,有了“生成全新虚拟机”的恢复方式后很好地解决这个问题。 在满足一条限制条件的情况下,可以快速恢复虚拟机备份,仅需几分钟时间便可完成备份恢复并开机;通过先拉起虚拟机实现业务快速恢复,业务运行的同时迁移备份数据至目标存储的方式实现业务快速恢复上线。 快速恢复原理如下: 1. 快速恢复步骤 1) 快速拉起虚拟机运行业务 在业务恢复位置上新建空白镜像,QEMU进程会通过该空白镜像拉起虚拟机,此时业务可正常运行。 如图恢复位置中的第一行,形成一个空白镜像。 2) 业务读数据优先恢复位置 业务运行过程中,优先从恢复位置读取数据,如果恢复位置没有该数据,需要从备份文件池中将该位置数据迁移到恢复位置中,然后进行数据读取。 如图恢复位置中的第二行,业务需要读取位置1的K和位置3的M数据。 3) 业务写数据位置为恢复位置 业务运行过程中,虚拟机新产生的数据,则直接写入新镜像中。 如图恢复位置中第三行和第四行,分别在位置3和位置1写入O和P。 4) 备份数据不断从备份文件池迁移至恢复位置 在恢复虚拟机进行业务运行的同时,虚拟机QEMU进程中还会有一个默默在后台持续将备份恢复池的数据搬运到恢复位置上的虚拟机镜像中,我们称之为备份数据整理,数据整理完成后,该虚拟机恢复为普通虚拟机。 如图恢复位置的第三行和第四行,在第三行状态时,QEMU发现恢复位置中的镜像文件中位置2和没有数据,此时将这位置2的数据从备份文件池迁移至恢复位置,当所有数据迁移完成后,如恢复位置的第四行状态,意味着虚拟机完全恢复,成为一个普通虚拟机。 2. 业务快速回复时的数据放丢失机制 快速恢复首先通过在恢复位置新建空白镜像快速拉起虚拟机,实现业务快速恢复;其次优先恢复业务运行的热数据,在短时间内提高业务运行性能,然后以不影响主业务运行的速度迁移备份文件池中其他数据(冷数据)到恢复位置中。 |