近年来,数据安全问题日渐受到大家的关注,对于任何一家企业,数据无疑是最重要的资产之一。提到数据容灾,大家可能会想到备库和备份的概念,那么我们先来谈谈备库与备份的区别。

备库与备份的区别

通常来讲,备库更侧重于保障服务的可用性,旨在当主库不可用时进行服务接管,从而确保故障发生后,能够在极短时间内继续拥有对外提供服务的能力;

而备份则侧重于保障数据的可靠性,其重大意义在于将数据文件进行离线冗余操作,当出现人为误操作或者不可逆故障的时候,能够使用副本进行数据的重放。

由此可见,备库与备份不可相提并论,同时也都是进行数据容灾规划中不可或缺的部分。下面的两张图片很好的诠释了这个观点。

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数据容灾设计实现的更多相关文章

  1. 【虚拟化实战】容灾设计之四VPLEX

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 VPLEX等存储设备的出现,可以实现双活数据中心,最大程度的有效利用运算和存储资源. 在“容灾设计之三Stretched Clust ...

  2. 腾讯云COS对象存储占据数据容灾C位

    说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...

  3. 【虚拟化实战】容灾设计之一VR vs SRM

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...

  4. 【虚拟化实战】容灾设计之三Stretched Cluster

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个 ...

  5. 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计

    摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...

  6. 13.在项目中部署redis企业级数据备份方案以及各种踩坑的数据恢复容灾演练

    到这里为止,其实还是停留在简单学习知识的程度,学会了redis的持久化的原理和操作,但是在企业中,持久化到底是怎么去用得呢? 企业级的数据备份和各种灾难下的数据恢复,是怎么做得呢? 1.企业级的持久化 ...

  7. 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计

    容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾  本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...

  8. 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南

    本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...

  9. 电商网站垮IDC数据备份,MySql主从同步,图片及其它数据文件的同步

    原文网址:http://www.bzfshop.net/article/180.html 对一个电子商务网站而言,最宝贵的资源就是数据.服务器是很廉价的东西,即使烧了好几个也问题不大,但是用户数据如果 ...

  10. QQ 相册后台存储架构重构与跨 IDC 容灾实践

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者简介:xianmau,2015 年加入腾讯 TEG 架构平台部,一直负责 QQ 相册平台的维护和建设,主导相册上传架构重构和容灾优化等工作. ...

随机推荐

  1. 在线问诊 Python、FastAPI、Neo4j — 创建 饮食节点

    目录 饮食数据 创建节点 根据疾病.症状,判断出哪些饮食不能吃,哪些建议多吃 饮食数据 foods_data.csv 建议值用""引起来.避免中间有,号造成误识别 饮食 " ...

  2. 起风了,NCC 云原生项目孵化计划

    时间回到 2016 年,彼时 .NET Core 1.0 刚刚发布 1.0 版本,我跟几位好友共同发起 .NET Core 中文学习组(.NET Core China Studying Group)和 ...

  3. code2uml使用教程

    通常的开发顺序是 先设计uml然后进行code编程. 但是很多时候我们是先看到code源码,却不知道uml关系如何. 特别是写论文的时候也是很需要的. 这个code2uml,就是辛苦搜寻到的结果,可以 ...

  4. FragmentStatePagerAdapter

    public abstract class FragmentStatePagerAdapter extends PagerAdapter java.lang.Object    ↳ android.s ...

  5. 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)

    视频以及图片修复技术是一项具有挑战性的AI视觉任务,它涉及在视频或者图片序列中填补缺失或损坏的区域,同时保持空间和时间的连贯性.该技术在视频补全.对象移除.视频恢复等领域有广泛应用.近年来,两种突出的 ...

  6. Zuul 2.1.5 设计分析

    前言 https://github.com/Netflix/zuul zuul 是 SpringCloud 家族老兵,使用 Java 微服务大部分都在使用 zuul 作为网关.既然他如此重要,那么我们 ...

  7. C、C++函数和类库详解(GCC版)(2014-4-23更新)

    C.C++函数和类库详解(GCC版)(未完成) 整理者:高压锅 QQ:280604597 Email:280604597@qq.com 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认 ...

  8. FWT & FMT(位运算卷积)学习笔记

    它们两个的全名叫 快速沃尔什变换(FWT) 和 快速莫比乌斯变换(FMT),用来在 \(O(n\log n)\) 时间复杂度内求位运算卷积. 因为 FMT 能解决的问题是 FWT 的子集,所以这里不讲 ...

  9. Nacos注册中心有几种调用方式?

    Spring Cloud Alibaba Nacos 作为近几年最热门的注册中心和配置中心,也被国内无数公司所使用,今天我们就来看下 Nacos 作为注册中心时,调用它的接口有几种方式? 1.什么是注 ...

  10. JavaScript用策略模式消除if else 和 switch

    js程序中最常用的if else循环,如果分枝很多的的情况下难免使写出的程序又臭又长,但是根据需求又必须将这些分支处理,此时稍有经验的程序员可能会想到用switch case优化但是只是仅仅做到利于阅 ...