目前业界的系统迁移方案会引发业务中断时间长、需要人工操作导致成本高等问题,我们发布了一种采用文件实时同步、数据库磁盘快照和网络流量复制等技术,实现新老系统的实时同步。通过数据库磁盘快照技术解决物理热备份下数据库的一致性问题,并将可能丢失的用户操作以流量方式缓存起来,等到源系统所有业务正式切换到目的系统时,再将缓存的流量释放到目的系统,使新老系统完全同步。采用海量文件同步闭环解决TB/PB级数据迁移时间长问题,实现快速、安全、一致的数据传输。
业界常见的系统迁移框架图:
老系统停机 -> 老系统数据全量同步到新系统 -> 新老系统一致性校验 -> 业务系统切换到老系统
改进后的方案流程框架图:
老系统不中断生产 -> 系统文件镜像同步,并激活目的端 -> 实时全量+增量同步数据文件至新系统 -> 数据库磁盘快照 ->
新系统启用流量缓存 -> 新老系统一致性校验 -> 将缓存的流量复制到新系统 -> 业务切换到新系统
在业界常见方案基础上,采用全量同步及增量同步进行文件实时同步,数据库磁盘快照保证一致性,并添加流量缓存方式保证业务不中断。
- 全量同步系统/用户数据到目的系统;增量同步利用文件变动检测技术来同步实时变化的文件。
- 采用目录分析及任务拆分(前)+线程池并发及资源保护(中)+重点数据校验(后)完整的闭环流程实现快速、一致的同步。
- 针对数据库直接通过文件进行热备份可能产生的一致性问题,通过对源库短暂锁表,将脏数据文件生成快照同步到目的系统确保数据库的一致性,期间业务仍然保持不中断。
- 由于源系统正在实时生产,增量处理存在一定的延迟和误差,所以引入网络流量复制缓存技术来弥补增量同步的误差,在保证系统数据一致性的前提下,迁移期间业务不中断,服务始终可用。
相对业界技术而言,本方案所具有的如下优点:
- 适用场景广泛,支持物理机、虚拟机及不同厂商云主机间的迁移,覆盖主流操作系统;
- 基于操作系统实现数据盘、系统盘分离迁移,大大降低系统镜像占用存储空间大小和镜像制作的时间,同时能提供迁移异常时选择阶段性重迁的便利性。迁移过程中仅同步差异部分,且支持迁移数据定制化,大大节省流量及带宽;
- 针对大数据量 (TB/PB级) 迁移时间长问题,采用目录分析及任务拆分(前)+线程池并发及源端系统资源保护(中)+重点数据校验(后)完整的闭环流程来保证迁移过程不影响源机业务的前提下,最大限度实现快速,一致的数据传输;
- 采用数据库磁盘快照技术,通过短暂锁表,对脏数据文件生成快照同步到目的系统,实现业务不中断的前提下保证数据库事务的一致性;
- 采用流量复制缓存技术解决在系统切换过程中可能丢失少量业务请求的问题;
- 支持迁移的暂停及恢复,对源端资源占用可控,避免迁移操作影响源机业务,保证业务不中断。
当前多数企业应用部署在物理/虚拟机环境,并且不希望停产,使用该方案可以实现业务不中断,将现在企业应用系统迁移到云上。