据美国航空监管机构报道,这次事故原因是数据库文件受损,可见企业容灾备份的重要性。 数据库为数据提供存取服务,担任着重要的角色,如果因服务器故障、程序 BUG、操作人员勿删、病毒感染、恶意删除等原因导致数据丢失或服务不可用,会对公司造成重大损失,所以构建企业容灾就是提高企业核心竞争力, 企业数据容灾备份方法按照不同的数据库备份方式,数据库备份可以分为完全备份、增量备份(又称差异备份)、事务日志备份、文件备份。完全备份备份整个数据库,恢复时恢复所有。 NineData 提供的备份功能,包括数据备份、结构备份、日志备份,具备全量和增量的备份能力,基于这些能力,可以快速、有效的帮助企业构建数据容灾备份能力。 小结通过这篇介绍,可以了解到如何使用 NineData 快速构建企业容灾备份。
一、前言 本文主要介绍 Hbase 常用的三种简单的容灾备份方案,即CopyTable、Export/Import、Snapshot。 org.apache.hadoop.hbase.mapreduce.CopyTable \ --starttime=1265875194289 \ --endtime=1265878794289 \ --peer.adr=server1,server2,server3: 2181:/hbase \ --families=myOldCf:myNewCf,cf2,cf3 TestTable 2.4 更多参数 可以通过 --help 查看更多支持的参数 # hbase org.apache.hadoop.hbase.mapreduce.CopyTable Export 还支持指定导出数据的开始时间和结束时间,因此可以用于增量备份。 Listing Snapshots # 获取快照列表 hbase> list_snapshots 3.
容灾备份方案 2.0 需要建设一套实时性更强的容灾备份系统,以实现业务系统数据实时备份保护及应用级业务接管,以符合下图的数据级向应用级容灾备份的趋势。 △容灾级别与能力 三、容灾备份方案 2.0 的创新应用 容灾备份方案 1.0,有基于硬件存储层架构,也有基于应用层架构。基于硬件存储层方案,建设和运维成本比较高。 3.核心数据实时备份 通过持续数据保护软件 i2CDP,对业务系统核心数据进行实时备份保护,即集中备份至灾备服务器内。 以最简单的方式,帮助企业完成操作系统、文件、数据库和应用等所有数据的整体保护和验证,部署和操作也更加简单。 3.提供备份库数据库回滚功能 i2Active 在数据同步过程中备份数据库始终处于 Open 状态,当开启了 Active DRS(Data Rollback Service) 数据库回滚功能,还能够在备份服务器进行数据回滚
本文通过浅显易懂的语言,系统梳理容灾、备份、灾难恢复等核心概念,结合中科热备等前沿技术方案,为企业构建多层级灾备体系提供理论与实践指导。一、核心概念解析1. 灾难恢复(Disaster Recovery)阶段定位:灾难发生后的系统重建与容灾关系:现代容灾系统集成恢复功能二、容灾与备份的协同关系1. 功能互补性2. 典型故障应对案例1:数据库误删操作容灾系统同步删除→需从备份恢复案例2:机房级火灾容灾系统接管业务→备份用于数据追溯三、企业灾备体系规划策略1. 风险评估矩阵2. 医疗行业应用三甲医院HIS系统:容灾中心部署中科热备CDP技术实现诊疗业务零中断切换3. 建议企业根据业务特性选择"备份+容灾+恢复"的三维防护策略,定期开展灾备演练,真正实现业务连续性保障。
一.备份脚本 环境需求 编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后重启服务 #开启,并且可以将mysql-bin改为其它的日志名 log-bin=mysql-bin /xx.sh -uroot -p'123456',使用前修改脚本进行变量配置 #过程:备份并刷新binlog,将最新的binlog文件名记录并整体压缩打包 #恢复:先进行全量备份,再对根据tim-binlog.txt }days "+%F";done)) #开始 /usr/bin/echo >> ${log_dir} /usr/bin/echo "time:$(date +%F-%H-%M-%S) info:开始全备份 -ne 0 ]];then /usr/bin/echo "time:$(date +%F-%H-%M-%S) error:备份失败" /usr/bin/echo "time:$(date +%F-% H-%M-%S) error:备份失败" >> ${log_dir} /usr/bin/cat /tmp/bak_error.txt #如果错误则显示错误信息 exit 1 else
容灾系统在企业中给与数据安全系数相当高的保障,但是容灾系统倒是是什么,他们是什么意思?恐怕连正在使用容灾备份的网络管理人员都不能解释。本文用最浅显的语言给大家解释容灾备份到底是什么。 备份是数据高可用的最后一道防线,其目的是为了系统数据崩溃时能够恢复数据。 容灾不可少 那么建设了备份系统,是否就不需要容灾备份系统? 如果是同步容灾,那容灾端同时就删除了;如果是异步容灾,那容灾端在数据异步复制的间隔内就会被删除。这时就需要从备份系统 中取出最新备份,来恢复被错误删除的信息。 规划企业安全保障体系考虑的因素 对于企业而言到底应该如何建设自己的灾备系统,是只建设备份系统、还是只建设容灾系统、还是需要二者同时建设、或者是分步骤的建设,谁先谁后等问题,主要根据业务的需求而定: (1 (3)系统投资 总的说来,建设备份系统的投资远比建设标准意义的容灾系统的投资小得多: 备份系统的投资规模一般在几百万; 而最节省的一套容灾系统投资都将上千万; 灾难恢复与投资关系: ?
三.容灾测试 准备 按照第一步,环境需求中,将mysql开启binlog并重启,也可以设置全局变量,不用重启 vim /root/bin/mybak-all.sh,将全量脚本复制到其中,并 chmod+ cd /ops/bak 解开最近时间点的全量备份包,最近时间是2016-04-06 tar -xf mybak-all-2016-04-06-00-00.tar.gz 解压后可以看到 mybak-all 解压增量备份的文件夹 ,因为这2个脚本是先后执行的,所以不需要解压6号前的,只解压6号及以后的。 mybak-section-2016-04-06-00-00.tar.gz 解压后可以看到 mysql-bin.000008 和 mysql-bin.000009 2个binlog日志 恢复第二步:全备份恢复 mysql -uroot -p'123456' 检查表的条目数是否是3000条,因为在写入3000条后,mysqldmp全备刷新了一下binlog,这个最新的是14,而还没有写入任何东西时便执行增量备份了
/xx.sh -uroot -p'123456',将第一次增量备份后的binlog文件名写到/tmp/binlog-section中,若都没有,自动填写mysql-bin.000001 #过程:增量先刷新 binlog日志,再查询/tmp/binlog-section中记录的上一次备份中最新的binlog日志的值 # cp中间的binlog日志,并进行压缩。 再将备份中最新的binlog日志写入。 #恢复:先进行全量恢复,再根据全量备份附带的time-binlog.txt中的记录逐个恢复。当前最新的Binlog日志要去掉有问题的语句,例如drop等。 " >> ${log_dir} /usr/bin/echo >> ${log_dir} 二.备份策略 周日晚3点进行全量备份 周一到周六每天进行增量备份, 全量保存4周 增量保存近一周的每天数据 crontab -e 添加计划任务 1 3 * * 6 /bin/bash /root/bin/mybak-all.sh -uroot -p'123456' 1 2 * * * /bin/bash /root/bin
将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可,redis就会自动加载文件数据至内存了。 获取 redis 的安装目录可以使用 config get dir 命令 RDB优势与劣势 优势 适合大规模的数据恢复 对数据完整性和一致性要求不高 劣势 在一定间隔时间做一次备份,所以如果redis意外 正常恢复到内存中 ❝将有数据的aof文件复制一份保存到对应目录,目录路径可以通过config get dir命令获取,重新启动Redis就可以了 ❞ 异常恢复文件到内存中 ❝备份异常AOF文件,使用命令对文件进行修复
;第三,容灾系统要追求全方位的数据复制,也称为容灾的"3R"(Redundance、Remote、Replication)。 在这种容灾方案中,最常用的是备份管理软件加上磁带机,可以是手工加载磁带机或自动加载磁带机。它是所有容灾方案的基础,从个人用户到企业级用户都广泛采用了这种方案。其特点是用户投资较少,技术实现简单。 3级:在线数据恢复 第3级容灾方案是通过网络将关键数据进行备份并存放至异地,制定有相应灾难恢复计划,有备份中心,并配备部分数据处理系统及网络通信系统。 4级:定时数据备份 第4级容灾方案是在第3级容灾方案的基础上,利用备份管理软件自动通过通信网络将部分关键数据定时备份至异地,并制定相应的灾难恢复计划。 采取这种容灾方式的用户主要是资金实力较为雄厚的大型企业和电信级企业。
针对这一普遍挑战,YashanDB提出了系统化的容灾备份策略,旨在保障企业关键数据安全无忧。 三、恢复机制与容灾支持YashanDB设计了多级恢复机制保障数据完整性:完整恢复:基于备份集进行全库恢复,并结合归档日志回放,确保恢复至指定时间点。 备份恢复机制与高可用架构协同,容灾过程支持主备切换(Switchover)和故障切换(Failover),通过redo日志复制和回放,确保数据切换和恢复的实时性和一致性。 合理规划备份存储介质,推荐使用企业级高可靠存储和远程灾备存储,防止单点故障。开启主备自动选主功能,实现故障自动切换,确保业务连续性。定期进行恢复演练,验证备份和恢复策略的有效性。 随着企业数据规模的不断增长和业务对数据可靠性的严格要求,构建高效、自动化的容灾备份体系,将成为数据库核心竞争力。
本文作者向大家介绍了一种Redis在非大集群分布式应用场景下的灾备解决方案。 当时的Redis都未采用分布式部署,采用单实例部署,并未考虑容灾方面的问题。 三,非分布式场景下Redis应用的备份与容灾 Redis主从复制现在应该是很普遍了。常用的主从复制架构有如下两种架构方案。 常用Redis主从复制 方案一 ? Redis主从复制优点与不足 优点 实现了对master数据的备份,一旦master出现故障,slave节点可以提升为新的master,顶替旧的master继续提供服务 实现读扩展。 3)告诉Client端(也就是连接Redis的程序)新的Master节点的连接地址。 4)配置Slave2从新的Master进行数据复制。
当时的Redis都未采用分布式部署,采用单实例部署,并未考虑容灾方面的问题。 三,非分布式场景下Redis应用的备份与容灾 Redis主从复制现在应该是很普遍了。常用的主从复制架构有如下两种架构方案。 常用Redis主从复制 方案一 ? Redis主从复制优点与不足 优点 实现了对master数据的备份,一旦master出现故障,slave节点可以提升为新的master,顶替旧的master继续提供服务 实现读扩展。 3)告诉Client端(也就是连接Redis的程序)新的Master节点的连接地址。 4)配置Slave2从新的Master进行数据复制。 之后需要经过如下操作: 1)在Slave1上执行slaveof no one命令提升Slave1为新的Master节点 2)在Slave1上配置为可写,这是因为大多数情况下,都将Slave配置只读 3)
当时的Redis都未采用分布式部署,采用单实例部署,并未考虑容灾方面的问题。 三,非分布式场景下Redis应用的备份与容灾 Redis主从复制现在应该是很普遍了。常用的主从复制架构有如下两种架构方案。 常用Redis主从复制 方案一 ? Redis主从复制优点与不足 优点 实现了对master数据的备份,一旦master出现故障,slave节点可以提升为新的master,顶替旧的master继续提供服务 实现读扩展。 3)告诉Client端(也就是连接Redis的程序)新的Master节点的连接地址。 4)配置Slave2从新的Master进行数据复制。 之后需要经过如下操作: 1)在Slave1上执行slaveof no one命令提升Slave1为新的Master节点 2)在Slave1上配置为可写,这是因为大多数情况下,都将Slave配置只读 3)
也许很多人可能想说,典型情况下既然Ceph保持3个副本,那么是否可以将副本放在异地数据中心。然而,这么做会导致Ceph读写数据的时延急剧上升。 基于上述问题,Ceph从Jewel版本开始引入了RBD Mirror功能来解决Ceph存储在数据备份容灾方面的需求。 具体的写IO过程如下: 1)写请求首先把数据写入RBD Journal; 2)Journal写入成功后,RBD再把数据写入RBD image,并回复Client ACK响应; 3)备份集群中的rbd-mirror 发现主集群中的journal有更新,则从主集群中读取journal数据,写入备份集群的RBD image; 4)备份集群写入数据成功后,更新主集群的journal的元数据,表明该IO journal已经同步成功 ; 5)主集群定期检查并删除已经写入备份集群的journal数据。
Ceph的快照技术本来只是用来进行RBD或者Pool的回滚,但管理员可以利用快照进行Image的异地备份和容灾。 本文首先介绍Ceph的快照技术的使用方法,然后提出一种初级的异地备份方案,管理员可以以此为基础,创造更自动更智能的备份容灾方案。 创建image快照 #rbd snap create<pool-mas /image-mas> -snap <snap-mas> 3) 导出image和快照之间的增量 #rbd export-diff< snap-2的增量 #rbd export-diff –from-snap <snap-1><pool-mas/image-mas@snap2> image-snap1-snap2-diff 3) ,管理员可以基于上述介绍编写自己的自动备份和恢复脚本,从而实现一个更完整更智能的两中心备份方案。
基于国标规范GB/T20988的容灾等级划分 GB/T20988的定义与Share78思路相同,区别在于取消了Share78的Tier1,同时对各级别的内容、标准做了更详细的定义,相比较而言具有更实际的参考意义 第1级 基本支持 要素 要求 数据备份系统 a) 完全数据备份至少每周一次; b) 备份介质场外存放。 灾难恢复预案 有相应的经过完整测试和演练的灾难恢复预案 注:“—”表示不作要求 第2级 备用场地支持 要素 要求 数据备份系统 a) 完全数据备份至少每周一次; b) 备份介质场外存放 注:“—”表示不作要求 第3级 电子传输和部分设备支持 要素 要求 数据备份系统 a) 完全数据备份至少每天一次; b) 备份介质场外存放; c) 每天多次利用通信网络将关键数据定时批量传送至备用场地 有电子传输数据备份系统运行管理制度。
如何实现高效且可靠的数据容灾备份,成为数据库管理中的关键技术难题。容灾备份不仅关系到数据的完整性和安全性,也直接影响系统的恢复速度和运维复杂度。 YashanDB的容灾备份体系架构YashanDB提供了完备的容灾备份体系,涵盖多种部署形态和技术方案,以满足不同业务场景下的高可用需求。 3. 共享存储与集群文件系统共享集群部署依赖YashanDB自研的崖山文件系统(YFS),提供高性能并行文件访问接口,支持多实例数据共享与访问一致性。 容灾备份实施的技术建议合理规划部署形态:根据业务规模与性能需求,选择合适的单机、分布式或共享集群部署,确保容灾策略与系统架构高度协调。 未来,随着分布式数据库和云原生技术的发展,基于YashanDB的容灾体系将持续演进,满足更复杂、多样化的数据安全需求,助力企业构建稳健的数据基础设施。
随着业务对持续性要求越来越高,云上不少企业对跨AZ或多地域的容灾建设有强烈的诉求。 当企业内部经过评估选定容灾建设整体方向,即同城双活;需要对方案进行验证,包括组件容灾能力建设,数据同步以及切换验证等。 通常对组件容灾能力建设和验证会花费大量时间,如果测试不符合预期,对之前调研、部署以及测试人力和时间成本带来较大耗费。因此借助云平台能力“一站式”提升系统容灾能力,助力企业降本增效。 5)降低企业人力成本。云上通过控制台便捷的操作,一站式进行容灾建设;同时减少对社区开源软件维护以及二次开发的人力成本。 以腾讯云为例,构建异地灾备整体架构: image.png 3.一站式构建容灾能力 关于云上容灾能力概况,以腾讯云为例如下: 产品 多可用区实例 多地域实例 CLB 1.控制台支持购买多可用区实例。
在至少有一个Leader存在的前提下,进行Zookeeper的在线增量、在线减量、在线迁移 在全过程中ZooKeeper不停止服务 注意事项 首先,当我们要从3台扩充到5台时,应保证集群不停止服务。 3台不停止服务的最低限度是2台(X/2+1),而5台的最低限度是3台。 我们应该保证,集群中最低有3台ZooKeeper是启动的。 10.1.24.112:2888:3888 实验过程 配置一个3节点的ZooKeeper idc02-kafka-ds-00: 12345 [hadoop@idc02-kafka-ds-00 bin] 然后只要将现在的5台再缩小到3台且不包括原本myid为1-2的机器,就完成了迁移 将5台缩小回3台 修改idc02-kafka-ds-02 根据前面的注意事项,我们此时5台集群中启动的数量不得少于3台, 因此我们需要先修改3-5号机器的配置文件为3台,再关闭1-2号机器 关闭 12345 [hadoop@idc02-kafka-ds-02 bin]$ .