近年来,数据安全问题日渐受到大家的关注,对于任何一家企业,数据无疑是最重要的资产之一。提到数据容灾,大家可能会想到备库和备份的概念,那么我们先来谈谈备库与备份的区别。
备库与备份的区别
通常来讲,备库更侧重于保障服务的可用性,旨在当主库不可用时进行服务接管,从而确保故障发生后,能够在极短时间内继续拥有对外提供服务的能力;
而备份则侧重于保障数据的可靠性,其重大意义在于将数据文件进行离线冗余操作,当出现人为误操作或者不可逆故障的时候,能够使用副本进行数据的重放。
由此可见,备库与备份不可相提并论,同时也都是进行数据容灾规划中不可或缺的部分。下面的两张图片很好的诠释了这个观点。
IDC数据容灾方案
云掣科技IDC数据容灾方案基于自研EasyDO平台实现,通过一键式配置实现数据高可用、数据备份、及备份容灾转储。在这整个体系中,主备库、备份、容灾备份构成了多份数据副本。EasyDO负责整体的任务配置、任务调度、运维监控、以及多数据副本管控。整体逻辑架构图如下:
01高可用设计
高可用方案基于MySQL原生半同步复制+keepalived技术实现,主备库部署于不同物理机。通过内置的脚本实现安全切换,通过vip机制达到透明切换的目的。
核心实现逻辑如下:
平台巡检ha配置库
记录时间戳以及切换标志位,用于进行读写检测以及维护切换流程。
实例检测机制
除了需要检测是否能获取连接外,还要进行读写检测。
安全切换
同机房半同步复制保证传输延时的问题,当存在应用延时的备库提升为主库的情况时,需要等待日志应用完成;若复制中断,则不发生切换。
02数据备份
备份底层基于xtrabackup实现,通过EasyDO平台可做到一键全自动备份;云掣科技DBA团队根据用户实例数据量、运行情况、以及业务负荷峰谷规律制定备份策略。
03备份容灾
容灾通过EasyDO的异地备份功能实现,目前已成熟支持OSS存储或异地FTP服务器的接入。
备份任务完成后,备份文件实时上传至异地FTP服务器或OSS存储,实现数据多份存储,保障数据可靠性。
04运维监控
每台数据库主机独立安装EasyDO agent程序,实时采集备份信息以及主备复制信息,并实时上报给服务端。
服务端对上报数据进行统计分析并生成图表,云掣科技DBA团队基于EasyDO 平台进行每日数据备份巡检核查。
当数据备份或转储,以及复制状态出现异常时,会触发平台告警,提醒DBA团队进行排查处理。
EasyDO运维监控方案整体逻辑架构图如下:
恢复演练
为避免由于备份介质或文件损坏、备份数据不完整等,而导致将来可能存在的无法恢复数据的情况,云掣科技DBA团队制定恢复演练计划,定期开展演练并记录演练过程,以此确保备份文件可用性以及备份策略的正确性。通过模拟自然或人为的故障,来校验当前系统的数据安全级别。通过恢复演练提高未来可能出现的数据恢复过程的高效性和准确性。
01演练准备
服务器准备:操作系统、数据磁盘
软件包准备:MySQL安装,xtrabackup安装
02常规数据恢复
通过本地全备文件中的最新备份进行数据库实例级别恢复,以应对实例级别的故障,或者不可逆drop操作。将IDC机房备份文件传输至恢复服务器在恢复服务器进行全量数据恢复。
03时间点恢复
在本地binlog文件保存完好,且未出现物理或逻辑损坏的情况下。可将整个实例恢复至比指定备份文件更新的某个时间点状态。
- 将备份文件以及备份时间点之后的binlog文件传输至恢复服务器。
- 通过备份文件进行全量恢复。
- 通过应用binlog日志进行增量恢复至故障前的时间点。
04大型故障恢复
当出现重大服务器级别故障或者由于自然灾害导致的机房级别的故障,导致本地数据库无法访问以及备份文件丢失的情况时;可以通过异地备份文件进行数据恢复。
- 从异地灾备机房下载备份文件至恢复服务器。
- 恢复服务器本地进行全量数据恢复。
写在最后
造成数据丢失和毁坏的原因主要有以下几个方面:
- 程序设计设计缺陷
- 系统硬件故障
- 人为失误操作
- 网络安全攻击
- 机房故障
如果没有做好备份,一旦数据损毁,会严重影响企业正常业务的开展,给生产造成巨大的损失。数据库备份及备库是企业数据高可靠及业务高可用的重要保障,也是预防主动性攻击的安全屏障。做好数据容灾是企业IT运维必不可少的重要环节。