最近成功中标一个国内重大酒业集团的公有云项目,因客户自身的IT人员紧张,客户提出要求将应用、数据库的迁移上云作为中标方的服务内容之一。以前,经常接触的政企云项目,一般由服务商配合客户完成迁移方案的拟定,服务商将云资源分配好,由客户自身的厂商完成应用、数据库的迁移。厂商一般进行应用、数据库的重新部署,虽然这种方法较繁杂,但也是最稳妥的一种迁移方式。
在本次的中标项目中,客户的原厂存在无法协调的问题,且数据库种类多(oracle、oracle rac、sql server、mysql),我们服务商该怎样为用户迁移,才能做到既安全可靠、又高效,现将该MySql数据库迁移的案例进行简单剖析。
一、首先介绍几个数据库迁移备份的术语。
热备份:在进行数据库迁移备份时,用户原数据库业务不中断,仍继续产生新数据。
温备份:在进行数据库迁移备份时,用户原数据库业务仅产生读操作,不允许产生新数据。
冷备份:在进行数据库迁移备份时,用户原数据库业务中断。
物理备份:直接将数据库文件进行备份,简单粗暴的办法。
逻辑备份:将用户数据库按sql语句进行备份,备份内容为文本。
完全备份:备份当前的全部数据库。
增量备份:仅备份上次完全备份或上次增量备份后的数据。
二、该项目用户需求要求不能中断业务,数据量大(超过100GB),且要求做到与原私有云的秒级数据同步。
1、首先因数据量大,拟为用户拉一条临时高带宽100Mbps的专线实现数据的迁移使用。
2、其次,因必须减少对在线业务的中断影响,因此迁移必须采用热迁移的方式。另外,迁移完成后,可采用完全备份 增量备份的方式实现在用户原私有云的数据备份。可采用原生工具:Mysqldump原厂工具(逻辑备份)、或xtraBackup第三方开源工具(物理备份)、或其它第三方收费工具(物理备份)。采用第三方工具一般为物理备份,采用Mysqldump为文本备份,存在数据的恢复时间。如果在备份数据库量较大的情况,备份时会影响业务的运行效率。
3、在定期备份的基础上,用户还要求必须做到与原私有云的秒级数据同步。可采用Mysql的主从配置方式(云上的Mysql数据库设置为主、用户原私有云的数据库设置为从),这样数据的同步效率更高、数据丢失可能更低。采用主从方式的数据恢复效率更高,不存在数据恢复时间。
三、综上所述,结合用户需求,建议在本项目中采用Mysqldump原厂工具或xtraBackup第三方工具为用户进行数据的迁移与定期备份,这样的好处既可以保证热备份不影响业务运行,同时也保证在被数据库恶意攻击时数据仍有备份。
针对用户希望做到秒级数据同步、零数据丢失的要求,采用Mysql主从配置进行数据的云上、私有云的同时双写。唯一的问题是该方案针对不同的数据库需进行不同的脚本操作,同时需操作用户的数据库(存在安全风险)。