技本功|数据安全之IDC数据容灾设计实现
近年来,数据安全问题日渐受到大家的关注,对于任何一家企业,数据无疑是最重要的资产之一。提到数据容灾,大家可能会想到备库和备份的概念,那么我们先来谈谈备库与备份的区别。
备库与备份的区别
通常来讲,备库更侧重于保障服务的可用性,旨在当主库不可用时进行服务接管,从而确保故障发生后,能够在极短时间内继续拥有对外提供服务的能力;
而备份则侧重于保障数据的可靠性,其重大意义在于将数据文件进行离线冗余操作,当出现人为误操作或者不可逆故障的时候,能够使用副本进行数据的重放。
由此可见,备库与备份不可相提并论,同时也都是进行数据容灾规划中不可或缺的部分。下面的两张图片很好的诠释了这个观点。
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运维必不可少的重要环节。
了解更多数据库容灾方案
技本功|数据安全之IDC数据容灾设计实现的更多相关文章
- 【虚拟化实战】容灾设计之四VPLEX
作者:范军 (Frank Fan) 新浪微博:@frankfan7 VPLEX等存储设备的出现,可以实现双活数据中心,最大程度的有效利用运算和存储资源. 在“容灾设计之三Stretched Clust ...
- 腾讯云COS对象存储占据数据容灾C位
说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...
- 【虚拟化实战】容灾设计之一VR vs SRM
作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...
- 【虚拟化实战】容灾设计之三Stretched Cluster
作者:范军 (Frank Fan) 新浪微博:@frankfan7 Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个 ...
- 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计
摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...
- 13.在项目中部署redis企业级数据备份方案以及各种踩坑的数据恢复容灾演练
到这里为止,其实还是停留在简单学习知识的程度,学会了redis的持久化的原理和操作,但是在企业中,持久化到底是怎么去用得呢? 企业级的数据备份和各种灾难下的数据恢复,是怎么做得呢? 1.企业级的持久化 ...
- 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计
容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾 本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...
- 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南
本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...
- 电商网站垮IDC数据备份,MySql主从同步,图片及其它数据文件的同步
原文网址:http://www.bzfshop.net/article/180.html 对一个电子商务网站而言,最宝贵的资源就是数据.服务器是很廉价的东西,即使烧了好几个也问题不大,但是用户数据如果 ...
- QQ 相册后台存储架构重构与跨 IDC 容灾实践
欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者简介:xianmau,2015 年加入腾讯 TEG 架构平台部,一直负责 QQ 相册平台的维护和建设,主导相册上传架构重构和容灾优化等工作. ...
随机推荐
- 「luogu - P4313」文理分科 Mincut
link. Pretty nice practice for the min-cut trick. Starting out we eliminate the constraint that if f ...
- C++的动态分派在HotSpot VM中的重要应用
众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定.C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于多态的支持 ...
- Arduino – Turn LED ON and OFF With Button
In this Arduino tutorial I will show you how to turn an LED on and off with a push button. In fact, ...
- CF433B
题目简化和分析: 为了更加快速的求出答案,好像没前缀和快速. 为了大家更好的理解线段树,我们使用了线段树. 如果您并不了解线段树,可以转战模板. 因为我们知道线段树可以快速求区间和,于是我们建两棵树. ...
- P8741 [蓝桥杯 2021 省 B] 填空问题 题解
P8741 [蓝桥杯 2021 省 B] 填空问题 题解 题目传送门 欢迎大家指出错误并联系这个蒟蒻 更新日志 2023-05-09 23:19 文章完成 2023-05-09 23:20 通过审核 ...
- 3.MongoDB-备份恢复
备份工具 (1)** mongoexport/mongoimport (2)***** mongodump/mongorestore 备份工具区别在那里? 应用场景总结: mongoexport/mo ...
- Unity - EditorWindow 折叠树显示(IMGUI)
仅适用于2018之前的版本,有UIElements或者UIWidgets的最好用新的 基本实现 树节点 public interface ITreeNode { ITreeNode Parent { ...
- DS18B20初始化-读-写-温度转换
DS18B20 (一)初始化 (二)读字节 (三)写字节 (四)温度转换 1获得数据 2转换数据 (一)初始化 初始化时序: 数据线先拉到高电平,稍作延时即可(刚开始是高电平还是低电平芯片手册上其实不 ...
- 大白话说Python+Flask入门(二)
写在前面 笔者技术真的很一般,也许只靠着笨鸟先飞的这种傻瓜坚持,才能在互联网行业侥幸的生存下来吧! 为什么这么说? 我曾不止一次在某群,看到说我写的东西一点技术含量都没有,而且很没营养,换作一年前的我 ...
- Netty源码学习4——服务端是处理新连接的&netty的reactor模式
系列文章目录和关于我 零丶引入 在前面的源码学习中,梳理了服务端的启动,以及NioEventLoop事件循环的工作流程,并了解了Netty处理网络io重要的Channel ,ChannelHandle ...