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

备库与备份的区别

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

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

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

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基础——二分法、面向过程编程思想、有名函数、lambda、max、_min的应用、sorted排序、map的应用、filter的应用、reduce的应用

    文章目录 内容回顾 二分法 伪代码模板 面向过程编程思想 函数式 def用于定义有名函数 lambda用于定义匿名函数 调用匿名函数 匿名函数作用 匿名函数的示范 max的应用 min的应用 sort ...

  2. Update 1.82.1: The update addresses this security issue.

    August 2023 (version 1.82) 更新后显示发行说明 Update 1.82.1: The update addresses this security issue. Welcom ...

  3. 要知其然还要知其所以然printChar

    虽然过渡与的追求细节不是好事, 但是现实社会逼迫我们不得不兼顾周全. 所以什么都是最好不仅要知其然还要知其所以然! public class printChar { public static voi ...

  4. Rockchip rk3588 U-Boot详解 (三)

    Rockchip rk3588 U-Boot详解 (三) 专栏总目录 1.1 Environment-Variables ENV(Environment-Variables)是U-Boot支持的一种全 ...

  5. 【Flask模板注入】

    [Flask模板注入]--概览 背景 Flask是python语言下的轻量级web应用框架,可以用来开发一些简单的网站.它使用Jinjia2渲染引擎(将html文件存放在templates文件夹中,当 ...

  6. [ABC201D] Game in Momotetsu World 题解

    Game in Momotetsu World 题目大意 在一个 \(n\times m\) 的网格中,存在红色和蓝色两种格子,红色格子用 - 表示,蓝色格子用 + 表示. 现在 Takahashi ...

  7. APP攻防--反模拟器&反代理&反证书&真机逃逸&XP框架&Frida技术

    APP攻防--反模拟器&反代理&反证书&真机逃逸&XP框架&Frida技术 APP抓包技术 关于APP抓包,使用burpsuite抓模拟器中的数据包,需要将模拟 ...

  8. Unity - UIWidgets 7. Redux接入(二) 把Redux划分为不同数据模块

    参考QF.UIWidgets 参考Unity官方示例 - ConnectAppCN 前面说过,当时没想明白一个问题,在reducer中每次返回一个new State(), 会造成极大浪费,没想到用什么 ...

  9. fread实现getchar(加速!!!)

    fread实现的getchar代码: inline char get() { static char buf[100000], *p1 = buf, *p2 = buf; return p1 == p ...

  10. Chromium Canvas工作流

    blink 中实现了2种 canvas,分别是 blink::HTMLCanvasElement 和 blink::OffscreenCanvas ,前者对应 html/dom 中的 canvas,后 ...