前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >灾备知识总结:容灾与备份区别、灾备技术、容灾体系规划

灾备知识总结:容灾与备份区别、灾备技术、容灾体系规划

作者头像
民工哥
发布于 2021-01-12 02:58:25
发布于 2021-01-12 02:58:25
12.2K0
举报

容灾备份的区别

容灾(Disaster Tolerance):就是在上述的灾难发生时,在保证生产系统的数据尽量少丢失的情况下,保持生存系统的业务不间断地运行。

容错(Fault Tolerance):指在计算机系统的软件、硬件发生故障时,保证计算机系统中仍能工作的能力。

区别:容错可以通过硬件冗余、错误检查和热交换 再加上特殊的软件来实现,而容灾必须通过系统冗余、灾难检测和系统迁移等技术来实现。当设备故障不能通过容错机制解决而导致系统宕机时,这种故障的解决就属于容灾的范畴。

什么是灾难恢复(Disaster Recovery):指的是在灾难发生后,将系统恢复到正常运作的能力。

区别:容灾强调的是在灾难发生时,保证系统业务持续不 间断地运行的能力,而灾难恢复强调的灾难之后,系统的恢复能力。现在的容灾系统都包含着灾难恢复的功能,所以本文的讨论除了包括容灾方面的内容,还包括了 灾难恢复的部分内容。高性能、高可用平台架构的演变过程

容灾系统在企业中给与数据安全系数相当高的保障,但是容灾系统倒是是什么,他们是什么意思?恐怕连正在使用容灾备份的网络管理人员都不能解释。本文用最浅显的语言给大家解释容灾备份到底是什么。

容灾和备份的目的不同

容灾系统的目的在于保证系统数据和服务的“在线性”,即当系统发生故障时,仍然能够正常地向网络系统提供数据和服务,以使系统不致停顿。

而容灾备份技术的目的与此并不相同,备份是“将在线数据转移成离线数据的过程”,其目的在于应付系统数据中的逻辑错误和历史数据保存。

所以,在各种容错技术非常丰富的今天,备份系统仍然是不可替代的。

备份是基石

备份是指为防止系统出现操作失误或系统故障导致数据丢失,而将全系统或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。

备份是数据高可用的最后一道防线,其目的是为了系统数据崩溃时能够恢复数据。

容灾不可少

那么建设了备份系统,是否就不需要容灾备份系统?这还要看业务部门对RTO(恢复所需的时间指标)/RPO(能够恢复到的最新状态)指标的 期望值,如果允许1TB的数据库RTO=8小时,RPO=1天,那备份系统就能满足要求。同时,备份的目的在于应付系统数据中的逻辑错误和历史数据保存。只能够满足数据丢失、数据破坏时的数据恢复目的,而不能提供实时的业务接管功能。

因此容灾系统对于某些关键业务而言也是必不可少的。人们谈及容灾备份往往是针对当生产系统,不能正常工作时,其业务可由容灾系统接替这些业务,继续进行正常的工作。

能够提供很好的RTO和RPO指标。同时远程容灾系统具备应付各种灾难,特别是区域性与毁灭性灾难的能力,具备较为完善的数据保护与灾难恢复功能,保证灾难降临时数据的完整性及业务的连续性,并在最短时间内恢复业务系统的正常运行,将损失降到最小。

容灾不能替换备份

容灾系统会完整地把生产系统的任何变化复制到容灾端去,包括不想让它复制的工作,比如不小心把计费系统内的用户信息表删除了,同时容灾端的 用户信息表也会被完整地删除。如果是同步容灾,那容灾端同时就删除了;如果是异步容灾,那容灾端在数据异步复制的间隔内就会被删除。这时就需要从备份系统 中取出最新备份,来恢复被错误删除的信息。因此容灾系统的建设不能替代备份系统的建设。

规划企业安全保障体系考虑的因素

对于企业而言到底应该如何建设自己的灾备系统,是只建设备份系统、还是只建设容灾系统、还是需要二者同时建设、或者是分步骤的建设,谁先谁后等问题,主要根据业务的需求而定:

  • (1)需要防范的灾难类型:

企业信息系统可能遇到的灾难类型及其发生的比例如下:

  • 对于“人为错误”、“软件损坏和程序错误”加上“病毒”等这些都称为逻辑错误,占总故障的 56%,这些错误只能通过备份系统才能防范;
  • 对于“硬件和系统故障”以及“自然灾难”等故障可以通过在容灾系统(或者异地备份)来防范,占总故障率的44%。
  • (2)允许的RTO和RPO指标

从技术上看,衡量容灾系统有两个主要指标:RPO(Recovery Point Object)和RTO(Recovery Time Object),其中RPO代表了当灾难发生时允许丢失的数据量;而RTO则代表了系统恢复的时间。

一般而言:容灾系统能够提供较好的RTO和RPO指标。

  • (3)系统投资

总的说来,建设备份系统的投资远比建设标准意义的容灾系统的投资小得多:

  • 备份系统的投资规模一般在几百万;
  • 而最节省的一套容灾系统投资都将上千万;

灾难恢复与投资关系:

常用的灾备组合方式

基于以上原因,业界在灾备系统的建设上一般按照以下几种方式:

  • 建设机房内的本地备份系统
  • 建设异地的备份系统

该方式可以备份系统的价格满足备份和异地容灾功能,能够避免主生产中心由于地震、火灾或其他灾害造成的数据丢失。

  • 备份系统+异地容灾系统

这是一个较为理想化的容灾系统一体化解决方案,能够在很大程度上避免各种可能的错误。

容灾恢复等级

灾难恢复层次

灾备技术层次

1.1 磁盘阵列灾备技术

同步方式

半同步方式

异步方式

1.2 智能交换机技术

2.1 卷管理软件灾备技术

2.2 数据库日志复制技术

2.3 数据库灾备技术

3.1 应用灾备技术

11.容灾体系结构规划

系统正常运行

生产中心单台主机宕机

生产中心所有主机宕机

生产中心回切

来源:http://www.cfdzsw.com/2019/09/07/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FFmpeg4.0笔记:rtsp2rtmp
Github https://github.com/gongluck/FFmpeg4.0-study.git #include <iostream> using namespace std; extern "C" { #include "libavformat/avformat.h" #include "libavutil/time.h" } #pragma comment(lib, "avformat.lib") #pragma comment(lib, "avutil.lib") #pragma co
gongluck
2018/06/22
1.5K0
基于FFmpeg进行RTMP推流(二)
在前面一节基于FFmpeg进行RTMP推流(一)我们写了最简单的一版推流代码。但细心调试过的兄弟会发现当我们把文件换成mp4后,发现上面的代码在写入文件头时报错。也就是说上一版的代码是有bug的。
用户2929716
2018/08/23
8.8K0
基于FFmpeg进行RTMP推流(二)
基于FFmpeg进行RTMP推流(一)简介
这里的bin、include、lib就是我们刚才在FFmpeg下载的相关文件。 src是我们的项目源码目录。 新建Win32控制台应用程序、选择位置、项目名称。注意:去掉“为结局方案创建目录”的勾选
用户2929716
2018/08/23
14.2K0
基于FFmpeg进行RTMP推流(一)简介
FFmpeg流媒体处理-收流与推流
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10623968.html
叶余
2019/04/19
10.4K1
FFmpeg流媒体处理-收流与推流
FFmpeg菜鸡互啄#第7篇#文件/rtsp推流到rtmp
关键步骤 avformat_open_input//打开输入文件/rtsp avformat_find_stream_info////获取音视频流信息 avformat_alloc_output_context2//创建输出上下文 avformat_new_stream//创建输出流 avcodec_copy_context//复制配置输出流 avio_open//打开io avformat_write_header//写入头信息 av_int
_gongluck
2018/03/08
3.3K0
FFmpeg封装格式处理4-转封装例程
源码修改自 FFmpeg 4.1 自带的例程 remuxing.c。代码非常简短:
叶余
2019/04/02
1.1K0
FFmpeg封装格式处理4-转封装例程
AVFormatContext封装层:理论与实战
AVFormatContext 是一个贯穿始终的数据结构,很多函数都用到它作为参数,是输入输出相关信息的一个容器,本文讲解 AVFormatContext 的封装层,主要包括两大数据结构:AVInputFormat,AVOutputFormat。
Gnep@97
2023/12/06
5510
AVFormatContext封装层:理论与实战
ffmpeg-视频操作
视频截取合并 __int64 index_context = 0, last_start_pts=0; std::list<AVFormatContext*> ifmt_ctx_lst; AVFormatContext *ofmt_ctx = nullptr, *ifmt_ctx = nullptr; void BeginSplitFile(const char* file, const char* out_file) { index_context = 0; AVFormatContext* ifmt
sofu456
2020/11/12
4570
如何将视频文件.h264和音频文件.mp3复用为输出文件output.mp4?
  在这个部分我们可以分三步进行:(1)打开输入视频文件上下文句柄 (2)打开输入音频文件上下文句柄 (3)打开输出文件上下文句柄
故乡的樱花开了
2023/10/22
2880
【JS】基于node-media-server搭建流媒体服务器示例
node-media-server 是一个基于 Node.js 的流媒体服务器,它提供了构建和管理实时音视频流媒体应用程序所需的功能。它是一个开源项目,具有灵活性和可扩展性,适用于各种流媒体应用场景。
DevFrank
2024/07/24
7390
ffmpeg实战实现音视频解封装!
大家好,很长一段时间没有继续更新ffmpeg的相关技术文章了,最近更多的时间和精力主要集中在给自己不断灌入新的知识,所以接下来只要有时间就会疯狂输出所学习到的技术干货!
用户6280468
2022/03/21
1.1K0
ffmpeg实战实现音视频解封装!
QT应用编程: 基于FFMPEG设计的流媒体播放器(播放rtmp视频流)
使用的FFMPEG库版本下载地址:https://download.csdn.net/download/xiaolong1126626497/12304729
DS小龙哥
2022/01/07
4.3K2
QT应用编程: 基于FFMPEG设计的流媒体播放器(播放rtmp视频流)
音视频八股文(11)-- ffmpeg avio 内存输入和内存输出。内存输出有完整代码,网上很少有的。
avio提供了一系列API,可以将数据从内存读取到缓冲区中,也可以将缓冲区中的数据写入到内存中。其实现依赖于IOContext结构体,该结构体定义了当前输入/输出事件的状态、数据、回调函数等信息,并支持通过自定义回调函数实现不同的输入/输出方式。
福大大架构师每日一题
2023/05/09
2.1K0
音视频八股文(11)-- ffmpeg avio 内存输入和内存输出。内存输出有完整代码,网上很少有的。
FFmpeg解封装实验!
大家好,我是txp,好久没有写技术原创文章了,久等了,记得之前写的播放器学习文章后面也没有继续更了;主要原因这段时间一个是由于工作的原因,二来主要是最近利用空闲时间看完了今年的第四本非技术书籍,目前又买了几本新的非技术书籍学习!在书上看到学到的知识,目前我都在总结输出!一些学习经验和工作当中的经验,我会慢慢录制视频出来,视频比文字更加生动(ps:因为之前录制的视频,不知道如何添加字幕,所以现在知道了,做就要认真做,就要把一件事情做好!)
用户6280468
2022/03/21
6760
FFmpeg解封装实验!
Android平台下使用FFmpeg进行RTMP推流(摄像头推流)
前面讲到了在Android平台下使用FFmpeg进行RTMP推流(视频文件推流),里面主要是介绍如何解析视频文件并进行推流,今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码推流。同时项目工程也是在之前的代码基础上新增功能。源码仓库地址FFmpegSample,这一节对应的代码版本是v1.2。大家注意不要下载错了版本。主要涉及的代码。
用户2929716
2018/08/23
6.5K0
Android平台下使用FFmpeg进行RTMP推流(摄像头推流)
ffmpeg直播项目
一个描述数字音视频传输和播放流程的简单步骤:录制 -> 编码 -> 网络传输 -> 解码 -> 播放
Gnep@97
2023/12/30
3120
ffmpeg直播项目
ffmpeg音视频合成
原理 : 主要是拿到视频文件得视频流,然后拿到音频文件的音频流,根据时间戳一帧一帧的封装成一个新的视频文件
曾大稳
2018/09/11
3.1K1
如何通过OpenHarmony系统中集成的ffmpeg库和NAPI机制,实现更多的多媒体功能?
OpenAtom OpenHarmony(以下简称“OpenHarmony”)作为“开源”世界的“连接器”,不断为智能社会的发展提供源源不断的“源动力”。深开鸿一直以来积极投身于OpenHarmony社区建设,不断推动开源事业的发展。
小帅聊鸿蒙
2025/04/14
1180
如何通过OpenHarmony系统中集成的ffmpeg库和NAPI机制,实现更多的多媒体功能?
【C++】FFmpeg:音视频库介绍与使用示例
FFmpeg是一款开源的音视频库,提供了处理音视频文件、转码、解码、编码、播放等功能。它是一个完整的跨平台解决方案,支持多种音视频格式,并提供多种API和工具来处理音视频数据。
DevFrank
2024/07/24
7100
FFmpeg简单转码程序--视频剪辑
学习了雷神的文章,慕斯人分享精神,感其英年而逝,不胜唏嘘。他有分享一个转码程序《最简单的基于FFMPEG的转码程序》其中使用了filter(参考了ffmpeg.c中的流程),他曾说想再编写一个不需要filter的版本,可惜未有机会。恰好工作中有相关ffmpeg处理内容,故狗尾续貂,撰写本文。
jacker
2018/09/01
8.5K0
FFmpeg简单转码程序--视频剪辑
推荐阅读
相关推荐
FFmpeg4.0笔记:rtsp2rtmp
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档