前言

对于企业生产来说,最重要的就是数据。可以说数据是企业的生命,数据的破坏、丢失都会给企业造成巨大的损失,所以数据的保护至关重要。

数据的保护方案可以分为快照和备份,那么这两种方案有什么区别,又分别适用于什么场景呢?首先,我们需要明确一点,快照不是备份,当数据处于危险时,快照和备份可做的事情是不一样的,两种不同的机制是用来应对不同需求的。

一、 快照

概括地说,快照是保存数据状态的方式,以便于能够及时恢复到该点。以下是存储网络工业协会(以下简称SNIA)对快照的定义:

A type of point in time copy that preserves the state of data at an instant in time, by storing only those blocks that are different from an already existing full copy of the data

快照是一个特定时间点对数据状态的保护,只保存那些完整拷贝以外有变化的数据。换言之,如果数据没有变化,快照是不会保存额外数据的,快照可以看成是对某个特定时间点的数据的冻结。

目前行业内快照实现有两种方式,COW(Copy On Write)和ROW(Redirect On Write),这两种方式的区别是:当数据有变化时,对应数据块的处理方式也会不同。

1.1 COW

首先看COW,快照生成后,如果没有数据的写入,那么快照卷的指针还是指向原始卷的数据块。

一旦有数据写入,比如写入此处的E数据块,系统会重新分配一个数据块,将E的数据整体拷贝到新的数据块中,然后原来E的位置写入新数据,计为I。相应的,快照卷对E的指针需要指向新的数据块,而原始卷的指针指向是不变的。

1.2 ROW

再看ROW,和COW的不同之处在于,如果有数据进行了修改,则分配数据块将修改的数据写入新的空间记为I,然后将原始卷的指针指向I,快照卷不做任何改动。

从以上的分析可以看到,COW的优势在于:原始卷的物理块是连续的,没有碎片,缺点则是写放大了,本来1个写现在变成3个写,原始数据、快照指针指向、新数据,所以COW适合读多写少的业务;ROW的优势是:写性能比COW更好,1个写变成2个写,原始卷指针指向、新数据,但缺点是原始卷物理块不连续,会导致读性能较低,删除快照需要将原始卷指针修改,将数据提交至原始物理块,快照越大越消耗时间,故而ROW适合写密集型业务。

1.3 使用场景

从快照原理上可以看到,快照其实还是对原始卷有依赖,快照卷中大部分的指针依然会指向原始卷的数据块,如果有某个数据块损坏,很有可能快照是无法恢复的,因为有可能损坏的数据块就是没有变化过的。所以快照的作用是对一些操作的临时回滚,是一个临时手段。比如开发测试环境,以及生产环境做一些可能会影响操作系统、业务系统的操作,可以用快照做一个临时的保障,在异常时快速回滚到正常状态。

另外,快照如果创建的太多了,会极大的影响业务的性能,快照的各种链接会使得数据的读写变的非常复杂,同时也会占用大量的存储空间。所以,一般生产不建议使用快照,一定要使用快照的话,也是在进行危险的操作时,如可能损坏系统的操作系统更新或配置变动。

一个典型的快照应用就是windows还原点,将系统的部分信息存放在C盘某个位置,并且不影响个人的文件,可以在系统发生故障时迅速还原。

二、备份

同样看下SNIA对备份的定义:

A collection of data stored on (usually removable) non-volatile storage media for purposes of recovery in case the original copy of data is lost or becomes inaccessible; also called a backup copy.To be useful for recovery, a backup must be made by copying the source data image when it is in a consistent state.

简单来说备份就是对数据的一个完整的拷贝,是新增加了一个一致性的副本,在原始卷因灾难或人为错误而损坏的情况下,能够为您提供恢复的可能性。与快照不同的是,备份独立于原始卷,可以轻松导出并存储到其他地方。

备份的类型可以分为全量备份、增量备份、差异备份三种。

2.1 全量备份

全量备份顾名思义就是把整个数据都备份下来,全量备份的数据完整性最好,可以提供最好的数据保护,恢复速度也非常快,但是全量备份占用的空间非常大,可能会造成磁盘的浪费,而且因为是做所有数据的备份,数据量越大备份的时间就越长。

2.2 增量备份

增量备份是备份上一次备份之后发生变化的数据量,第一次做增量备份必然会做一个全量备份,后续所有的备份操作都是增量。增量备份会形成一条备份链,除了第一次的全量备份以外,后续所有增量备份都需要依赖于前一次备份的数据,如果一旦有某个中间的备份数据损坏或者丢失,那么在这个点以后的所有备份就全部失效了;如果要进行恢复,必须沿着从全量备份到指定时间点增量备份的顺序来进行恢复,这就使得恢复时间会变得很长,但是相对的,相比较于全量备份,每个增量备份的备份数据量非常小,只有上次备份以后发生变化的量,所以备份时间也非常短。

2.3 差异备份

差异备份是备份上一次全量备份之后发生变化的数据量,第一次做差异备份必然会做一个全量备份,后续所有的备份操作都是和全量备份相比发生变化的数据,在进行恢复时,只需对第一次全量备份和最后一次差异备份进行恢复。差异备份避免了全量备份和增量备份的缺陷,同时又具备了它们各自的优点。首先,它具有增量备份的备份时间短、节省磁盘空间的优势;其次,它又具有全量备份恢复时间短的特点,管理员只需要第一次全量备份和最后一次差异备份两份数据即可。差异备份的缺点是会存在一定量的重复数据,之前的差异备份数据都和最后一份差异备份数据有重复,当然可以根据设定的保留策略将多余的数据删除。

2.4 使用场景

从备份原理上可以看到,备份是拷贝出新的副本,是长久的数据保存方式,适用于对数据的长期保护,当数据发生错误或者丢失时,可以进行快速恢复,以保证业务的连续性。

其实备份过程中也用到了快照技术,一般要进行备份时都会做一个临时快照,把数据进行冻结,然后把快照的内容拷贝一份,最后删除快照。备份的时间点一般会选择凌晨业务量低谷的时候,以避免备份数据的不一致性。

三、快照和备份对比

一句话来对比:快照是数据存储的某一时刻的状态记录,备份则是数据存储的某一个时刻的副本,这是两种完全不同的概念。

来详细对比下快照和各种不同类型的备份方式的差异:

3.1 快照对比全量备份

通过之前的概念介绍,我们可以了解到:全量备份是对所有数据的一个拷贝,会将数据保存在不同的地方,和原始卷没有任何关系,是独立的存在;而快照还是依赖于原始卷,并且只有变化的数据块才会拷贝。

3.2 快照对比增量备份、差异备份

增量备份是将上次备份之后变化的数据拷贝出来,和原始卷是没有依赖关系的,但是和上次的备份之间有依赖关系,会有一条依赖链接,一直链接到上次的全量备份。

差异备份是将上次全量备份之后变化的数据拷贝出来,同样也是和原始卷没有依赖关系的,差异备份之间也没有任何关系,但是和上次的全量备份之间有依赖。

对比COW,COW的快照之间没有依赖关系,但是都和原始卷有依赖,对于变化的数据块,会分配新的数据块将老的数据拷贝过去。

对比ROW,ROW的快照之间会有快照链,也和原始卷有依赖,当删除快照的时候,因为要把数据都提交给原始卷,所以会把此快照时间点之后的快照都一并删除。

四、 总结

通过比较快照和备份的差异,可以看到其实快照是一种技术,而备份是一个过程,快照是某个时间点的状态,而备份是对数据的拷贝,快照并不能等同于备份。对于数据的临时保护,可以使用快照,如果要进行长期保护,则需要使用备份。

快照和备份都有各自的应用场景,在合适的场景使用恰当的方案,才能够最大程度的保护数据。

- END -

欢迎关注ZStack中国社区QQ群、ZStack官方微信!

相关阅读

ZStack实践汇|从VMware到ZStack的手动迁移之路

ZStack实践汇 | ZStack平台的使用心得

ZStack实践汇 | ZStack部署实战之VDI异构部署

ZStack实践汇 | 基于ZStack云平台部署FortiGate

ZStack实践汇 | 制造业企业IT经理的虚拟化方案选型经历

ZStack实践汇 | 详解ZStack高级功能--裸金属服务部署实践

基于ZStack构建深度学习云平台

ZStack的VPC特性详解及实战

如何基于国产CPU的云平台构建容器管理平台?(上)

如何基于国产CPU的云平台构建容器管理平台?(下)

如何在私有云语境下定义VPC

技术测评:ZStack 网络性能测试

干货课堂:硬盘容量不均衡导致的缓存盘寿命急速衰减分析

干货课堂|私有云的裸金属

-  点击"阅读原文"进入ZStack知识库  -

ZStack实践汇 | 快照和备份的区别相关推荐

  1. 桥梁通服务器物理连接成功,ZStack 实践汇|OSPF搭建与物理网络通信的“桥梁”

    原标题:ZStack 实践汇|OSPF搭建与物理网络通信的"桥梁" 前言 今年3月,国家人大会议提出,要加快5G网络.数据中心等新型基础设施的建设进度.新型基础设施建设,包括信息基 ...

  2. ZStack实践汇 | 基于ZStack云平台部署FortiGate

    2019年国际知名信息安全峰会RSA Conference在美国旧金山举行,在所有演讲主题中,云安全超过网络安全和数据安全,成为热门关键词第一.ZStack实践汇这次带来的是<基于ZStack云 ...

  3. ZStack实践汇 | 虚拟化软件漏洞和解决方案

    ​ 概况 本文主要比较了主流虚拟机虚拟层(KVM,ESX,Hyper-V和Xen)中的安全功能和常见漏洞,并分析了安全趋势.然后,对虚拟化软件的常见威胁进行了分类,并讨论其影响.最后,对于解决虚拟化软 ...

  4. ZStack实践汇 | ZStack云平台应用堡垒机教程

    1.目的 1.1堡垒机支持统一账户管理策略,能够实现对所有远程服务器等账号进行集中管理,完成对账号整个生命周期的监控:还支持对不同用户进行不同策略的制定,细粒度的访问控制能够严防非法.越权访问事件的发 ...

  5. ZStack实践汇|ZStack与行云管家对接实践

    一.ZStack与行云管家概述 大道至简·极速部署,ZStack致力于产品化私有云和混合云. ZStack是一家坚持自主创新.专注产品化的云计算公司,以"降低企业上云门槛.让每一家企业都拥有 ...

  6. 什么是快照? 快照与备份有什么区别?

    https://zhidao.baidu.com/question/390419827403884965.html 快照原理:将当前虚拟机的虚拟硬盘文件锁定,不再更改.之后新建一个文件,之后所有更改都 ...

  7. 三分钟掌握数据中心“容灾和备份的区别”

    前言: 数据中心运行突发故障(如:天灾不可避免的灾难)是无法预测的,计算机里的数据就像扫雷游戏一样,十面埋伏充满雷区,随时都有可能Game Over,容灾备份就是数据安全的最后防线,但是你可以避免由数 ...

  8. 数据中心服务器备份,三分钟掌握数据中心“容灾和备份的区别”

    前言: 数据中心运行突发故障(如:天灾不可避免的灾难)是无法预测的,计算机里的数据就像扫雷游戏一样,十面埋伏充满雷区,随时都有可能Game Over,容灾备份就是数据安全的最后防线,但是你可以避免由数 ...

  9. “容灾”和“备份”的区别?原来如此!

    作者 | 朱小厮的博客 来源 | https://mp.weixin.qq.com/s/6-XwBzEw0cT2sFC_FCkidg 数据中心运行突发故障(如:天灾不可避免的灾难)是无法预测的,计算机 ...

  10. 存储大师班 | 浅谈数据保护之快照与备份

    作者简介:徐林波 NeonSAN 开发人员,具备丰富的存储领域从业经验,资深存储系统软件研发工程师,熟悉当前主流及新型存储介质. 引言 面对当前企业数字化转型浪潮,信息数据已经成为企业赖以生存的基础, ...

最新文章

  1. using的几种用途
  2. uwsgi安装过程中遇到的问题
  3. 百度云使用第三方工具下载文件
  4. 2021-10-21 二叉堆 恋上数据结构笔记
  5. MyEclipse中代码提醒功能
  6. [小记]Centos7网络配置DNS配置解决、yum出错解决。
  7. mac m1安装mysql
  8. javascript 设计模式之单例模式
  9. camera---(4)双摄像头分类
  10. 时间戳转换为时间格式,时间格式转换为时间戳
  11. ZOJ3778 Talented Chef(贪心)
  12. 适配器模式之组合模式
  13. word 职称计算机考试大纲,全国职称计算机考试Word2003大纲
  14. android中的后退功能,在Android中单击按钮时触发后退按钮功能
  15. 血泪!pyinstaller打包文件过大的解决方法
  16. spoon各个控件的说明
  17. Zabbix介绍及部署
  18. Python实战案例分享:爬取当当网商品数据
  19. SpringBoot-多模块打包与问题排解
  20. 根文件制作:ramdisk.image.gz和uramdisk.image.gz文件转换,修改文件系统内容

热门文章

  1. smartplant license manager issue
  2. Python 中的 __str__ 与 __repr__ 到底有什么差别
  3. rabbitmq4-工作队列及公平分发模式
  4. spring中redistemplate不能用通配符keys查出相应Key的问题
  5. php 3种常见设计模式
  6. 30+简约和平铺的WordPress复古主题
  7. 《Python核心编程》第二版第407页第十三章练习 续六 -Python核心编程答案-自己做的-...
  8. 桌面被恶意软件放上几个ie图标删除不了怎么办?
  9. python 字符串以及通过dos命令运行py脚本
  10. 番茄助手破解找到VA_X.dll的位置