快照的介绍和原理

3 篇文章 0 订阅
订阅专栏

 1、快照的概念

存储网络行业协会(SNIA)对快照的定义是:对指定数据集合的一个完全可用拷贝,该拷贝包含源数据在拷贝时间点的静态影像。  
快照可以是数据再现的一个副本或者复制。对于文件系统来说,文件系统快照是文件系统的一个即时拷贝,它包含了文件系统在快照生成时刻所有的信息,本身也是一个完整可用的副本。

        1.1创建一个快照不同的设备需要不同的命令,但对于系统来说,基本都包括如下几个步骤:
                1、首先发起创建指令
                2、在发起时间点,指令通知操作系统暂停应用程序和文件系统的操作
                3、刷新文件系统缓存,结束所有的读写事务
                4、创建快照点
                5、创建完成之后,释放文件系统和应用程序,系统恢复正常运行。 

1.2 快照在不同层级的实现

在IT设备的不同层级都会有相应的产品去实现快照,而且不同的存储产品也经常会使用多种技术实现快照。

1

 

广义的快照技术通常可有7个不同类型的实现主体:

1、主机文件系统(包括服务器、台式机、笔记本电脑)
2、逻辑卷管理器(LVM)
3、网络附加存储系统(NAS)
4、磁盘阵列
5、存储虚拟化设备
6、主机虚拟化管理程序
7、数据库。

基于文件系统和LVM的快照

1.2.1 基于文件系统的快照

很多文件系统都支持快照功能,免费是文件系统快照的优势之一,因为它集成在文件系统内部;另一个优点是非常好用,最新版文件系统的快照功能通常使用起来很简单。但存在的劣势是每个文件系统都必须独立进行管理,当系统数量激增时,管理工作会变得非常繁重

1.2.2 基于LVM逻辑卷管理器快照

我们可以创建跨多个文件系统的LVM快照。像赛门铁克的Veritas Volume Manager可以支持大多数常见的操作系统和文件系统。LVM通常还包括存储多路径和存储虚拟化等功能。

基于NAS和磁盘阵列的快照

1.2.3 基于NAS的快照

NAS本质上就是一个经过优化的、或是专门定制的文件系统,运行在特定的设备上,或集成在存储设备里。
通过网络连接到NAS的计算机系统都可以使用这种标准的通用快照,包括物理服务器、虚拟机、台式机和笔记本电脑。它也非常容易操作和管理

1.2.4 基于磁盘阵列的快照

基于磁盘阵列的快照与基于NAS的快照有非常相似的优点,即所有与磁盘阵列相连的计算机系统都可以使用这种标准的通用快照功能。

基于存储虚拟化的快照技术

1.2.5 基于存储设备的快照

这里所说的存储虚拟化设备主要用于SAN光纤网络环境,不同于基于文件(NFS)应用的网络设备,像F5 Network公司的Acopia ARX产品就是排除在这个范畴之外的。主要的存储虚拟化软硬件存储设备(或融合了虚拟化功能的存储系统)都支持快照能力。

1.2.6 基于主机虚拟化软件的快照

随着服务器虚拟化应用的普及,基于主机虚拟化管理软件(Hypervisor)的快照技术也逐渐流行起来。像Citrix公司的 XenServer、微软的Hyper – V、SUN的xVM Ops Center、以及VMware的ESX和vSphere4等主机虚拟化产品都支持快照功能。

1.2.7 基于数据库的快照

在数据库中,快照动作被称为“SnapShot Isolation(快照隔离)”,这点在SQL Server中应用比较多(其6个事物隔离级别中的一个就是snapshot isolation)

1.3 快照的分类

快照分类的方式有很多种,比如按照是全量还是增量来区分为全量快照、增量快照。比较也可以分为物理快照和逻辑快照。
这里按照常用的快照技术分类:

  • Clone or split mirror 克隆或镜像分离
  • Copy-on-write with background copy 后台拷贝的复制写
  • 写时拷贝 (Copy-On-Write),COW
  • 写时重定向 (Redirect-On-Write),ROW

二、快照实现原理

2.1 Clone or split mirror 克隆或镜像分离

Clone(或Split-Mirror)快照所创建的是数据的完整副本。

  • clone:顾名思义,就是完整复制数据,需要在没有写入的时候复制,这样数据才具有一致性。
  • split mirror:

    如下图,先创建一个原始卷的镜像卷,每次写磁盘的时候,都会往原始卷和快照卷同时写入内容,当启动快照时,则镜像卷能快速脱离,生成一个快照卷。  
    然后重新创建一个原始卷的镜像卷,等待下次快照。

    2

可以看到这种方案最大的缺点是很费磁盘空间,每个快照都需要占用和原始卷同样的空间,而且写数据时同时写两份,对写入性能影响比较大。
优点是快照生成和恢复都方便,而且数据隔离很好,不存在快照卷和原始卷的相互影响。

2.2 Copy-on-write with background copy 后台拷贝的复制写

该快照有两个生成步骤,首先创建一个瞬时即可生成的COW快照,然后利用后台进程将数据卷的数据复制到快照空间,最后生成一份数据卷的克隆或镜像。

创建这种快照的目的是发挥COW快照的优势,同时尽量屏蔽它的不足。因此,这种快照常常被形容为COW和Clone快照的混合体。

2.3 COW快照(copy on write)

2.3.1 COW快照原理:

  1. 每个源数据卷都具有一张数据指针表(元数据),简称源数据指针表,表记录就是指向相应源数据块的地址指针。
  2. 在创建快照时,存储子系统会建立源数据指针表的一个副本(元数据拷贝),作为快照卷的数据指针表,简称快照数据指针表。
  3. 在创建快照之后,这个快照就相当于一个可供上层应用访问的存储逻辑副本,快照卷与源数据卷通过各自的指针表共享同一份物理数据。
  4. 当源数据卷中任意数据将要被改写时,COW会在原始数据修改之前进行拷贝到快照卷中,然后将新数据写入到源数据块中覆盖原始数据,并且将原始数据在快照卷中的新地址更新到快照数据指针表记录中,使快照时间点后更新的数据不会出现在快照卷中。

2.3.2 图解原理

3

  1. 在创建快照时,会同时创建快照卷和快照数据指针表。快照卷只需要很少的存储空间;
  2. 更改数据时,会拷贝旧数据到快照卷,源数据会被覆盖,快照指针表的地址会更新;插入新数据,自然是不会对快照卷有影响。
  3. 再次创建快照,会再次拷贝源数据指针表,新的修改会记录到旧的快照卷和新的快照卷。

2.3.3 优缺点

  • 优点:原始卷物理块连续,没有碎片
  • 缺点:降低源数据卷的写性能,每首次更新数据,至少进行两次写操作。

2.3.4 注意

  • 只有首次对原始数据进行更改的数据会被拷贝到快照卷;
  • 源数据指针表至此至终都不会发生变化;
  • 如果执行了多次快照,那么对一个数据的修改会有多次写操作,导致
    读写延时较大;

2.4 ROW快照(redirect on write)

2.4.1 ROW快照原理

  1. ROW 的实现原理与 COW 非常相似,区别在于ROW 对原始数据卷的首次写操作,会将新数据重定向到预留的快照卷中,而非 COW 一般会使用新数据将原始数据覆盖。
  2. 所以,ROW 快照中的原始数据依旧保留在源数据卷中,并且为了保证快照数据的完整性,在创建快照时,源数据卷状态会由读写变成只读的。

2.4.2 图解原理

4

  1. 创建快照时,也会copy一份源数据指针表作为快照数据指针表,此时两张表的指针记录都相同;
  2. 发生了写操作,那么新数据会直接被写入到快照卷中,然后再更新源数据指针表的记录,使其指向新数据所在的快照卷地址;
  3. 再次创建快照,会再次copy一份源数据指针表,新的修改会写入到新的快照卷;
  4. 因为源数据指针表上有上次快照的修改和新增数据,所以显然快照之间的关系是链式,恢复后面的快照需要源数据以及全面的快照作为基础。

2.4.3 优缺点

  • 优点:写性能基本没有损耗,只是修改指针
  • 缺点:没有一个完整的快照卷,其快照之间的关系是链式,如果快照层级越多,进行快照恢复时的系统开销会比较大;

2.4.4 删除中间快照原理

当不需要某个快照,或者因为快照太多,要删除一些快照的时候,根据我们上面所说的,每个快照都有部分数据,所有需要快照数据合并。
这里懒得画图,直接使用ECS快照的删除快照原理:

假设需要删除快照链中的某一份快照S1,则流程示意图和逻辑概览如下所示:

 

5

  1. 阿里云离线分析已删除快照S1的所有数据块(Block),删除未被快照链中其他快照引用的数据块。
  2. 添加快照S1脏数据块到快照S2。剩下的快照一共记录了10个Block的信息:
  • 快照S0的6个
  • 快照S1的2个脏数据块
  • 快照S2的2个。

2.5 COW和ROW小结及使用场景

  1. COW的快照卷存放的是原始数据,而 ROW的快照卷存放的是新数据。
  2. 根据以上的介绍,可以总结的是COW的写性能开销较大,但是存储的数据是顺序的,适合顺序读取。所以其适合读多写少场景。
  3. ROW的写性能基本没有损耗,但是其数据会变得非常离散(源数据指针表记录被更新),所以其连续读写性能不如COW。
  4. 在分布式场景下,读取不再是性能瓶颈,数据越分散,性能越高,所以现阶段,ROW + 分布式存储的快照方式是业界发展的主要方向
虚拟机快照技术实现原理详解
背锅神童的博客
12-13 817
COW、ROW、CBT、快照
快照技术原理讲解
职场里拉开差距的不是知识,而是认知!
08-06 8346
快照是一种基于时间点的数据拷贝技术,它的目的在于能够记录出某一个时刻的数据信息并将其保存,如果之后发生某些故障需要数据恢复的时候,可以通过快照来将数据恢复到之前时间点的状态,而该时间点之后的数据都会丢失。备份系统是快照技术的主要应用领域之一,当备份软件需要备份某些不能停止运行的关键业务的时候,利用快照技术可以将某时间点的所有数据信息保存并备份,不会影响到业务的正常运行。  快照技术分为两类:物理拷
【存储学习笔记】4:快照(Snapshot)技术的实现方式
最新发布
LauZyHou的笔记
08-18 961
在上一篇《备份》里提到,热备份就是在执行操作时,服务器需要正常处理来自用户或应用对数据的更新,这样能够保证数据7*24小时可用(在很多服务里这是必要的)。而热备份的困难就是如何保证数据的一致性,比如有两个数据块,在第一个时刻,他们是A1​B1​,此时备份了数据块A1​,在下一个时刻,它们被修改成了下一个版本A2​B2​,此时备份了下一个数据块B2​,得到的备份数据就是A1​B2​,并不能组成一个一致的数据。就是出于动机3被引入的,通过对一个数据对象进行。
磁盘快照技术
weixin_33717117的博客
05-21 1154
一、概念解释 像照相机一样,机器快门一闪,很快就把刚刚的人像停留在了相纸上。存储系统中的数据“快照”与我们生活中所说的“照片”非常相似,所不同的是,照片的对象不是人,而是数据。如同照片留住了我们过去的摸样和岁月,快照把数据在某一时刻的映像也保留了下来。因此我们可以根据快照查找数据在过去某一时刻的映像,常常用来作为增强数据备份系统的一种技术,它可以很大的缩短RT...
快照技术原理
weixin_65197154的博客
06-11 1871
基于磁盘阵列的快照与基于NAS的快照有非常相似的优点,即所有与磁盘阵列相连的计算机系统都可以使用这种标准的通用快照功能,包括物理服务器、虚拟机、台式机和笔记本电脑等等。创建的快照越多,维护快照的复杂度也会以指数级别上升。存储系统中的数据“快照”与我们生活中所说的“照片”非常相似,所不同的是,照片的对象不是人,而是数据。有一种可能的情况是,在我们创建快照的瞬间,数据库恰好不在静止状态(缓存正在刷新、写操作事务尚未完成、索引和元数据正在更新等等),此刻生成的快照数据是不一致的,很有可能无法正常使用。
快照实现原理浅析
Charles Ren's Tech Blog
08-22 3380
快照是完全可用的拷贝,但不是一份完整的拷贝。 使用场景一:快照是一份完全可用的副本,那么,它完全可以被上层业务当做源数据。针对源数据,创建快照后,将快照卷映射给其他上层业务,可以用于数据挖掘和开发测试等工作,针对快照的读操作不影响源卷的数据。 使用场景二:若因为各种原因(误操作、系统错误等)导致源数据损毁,那么,我们可以通过回滚(rollback)快照,将源数据恢复至快照创建时的状态(即t1时刻),这样,可以尽量降低数据损失(损失的数据,是t1到t2之间产生的数据)。 cow 写操作:创建快照以后,如果源
【Ceph】Ceph快照原理和实现--未消化
小鱼菜鸟的博客
07-22 690
快照原理 1、先了解一下文件系统的知识 https://blog.csdn.net/bandaoyu/article/details/125375996?spm=1001.2014.3001.5501 2、快照原理 https://blog.csdn.net/bandaoyu/article/details/120421383 http://t...
掌握SQL Server数据库快照的工作原理第1/2页
09-14
掌握 SQL Server 数据库快照的工作原理 数据库快照是 SQL Server 中的一种功能,它允许用户创建一个只读的数据库副本,该副本可以反映源数据库在某个时间点的状态。数据库快照的工作原理是基于稀疏文件的技术,稀疏...
VMware中的快照功能的原理与使用
热门推荐
Goallegoal的博客
07-09 1万+
VMware中的快照功能原理与使用 VMware 的菜单栏中有虚拟机快照这个选项,形象来说快照就相当于一个备份文件,记录的是虚拟机运行到某一节点时的状态,在虚拟机的使用过程中如果发生了意外,比如系统崩溃或系统异常,此时如果事先保存了快照,就可以选择恢复到快照,即将虚拟机的磁盘文件系统和存储系统恢复到留下快照的那个节点,以恢复虚拟机的正常使用。 正经说 虚拟机是由各种虚拟文件所构成的虚拟计算机,而这些虚拟文件都可以由文件系统进行管理。快照本身就是帮助用户记录当前虚拟机状态的方式,这个状态包含虚拟磁盘状态(相当
java 数据快照原理_理解值和对象-快照
weixin_39907220的博客
02-24 2193
快照图(Snapshot diagrams)能代表程序运行时的各种状态——它的栈(即方法和局部变量)和它的堆(即现在存在的对象)。具体来讲,使用快照图有以下优点:在课堂上和会议上与同学交流解释一些概念例如原始类型 vs. 对象类型不可更改的值 vs. 不可更改的引用, 指针别名, stack栈 vs. 堆heap, 抽象表达 vs. 具体表达.能够帮助你解释你的工程的设计思想为以后的课程做铺垫(例...
快照原理(全拷贝快照、cow、row)
weixin_44754615的博客
12-09 6372
快照原理(全拷贝快照、cow、row) 快照是记录系统某个时间点的状态,可以帮助用户回到快照记录的时刻,例如恢复故障等等,可见快照功能非常重要。 常见快照的有两类:全拷贝快照、差分快照(cow、row) RAID JBOD: raid0,raid1,raid2,raid3 … 常用的RAID模式及其基本特点如下; RAID0可以简单理解为将多个硬盘合并为一个大硬盘使用。由于数据可以分散同时写入多块硬盘,所以可以获得很高的读写性能。其缺点是阵列中任意一块硬盘损坏则数据全部丢失。RAID0至少需要两块硬盘。
Linux 快照 (snapshot) 原理与实践(一) 快照基本原理
洛奇看世界
12-30 1万+
网上介绍存储快照原理的文章很多,要我说简直是太多了,但大多都只是讲最基础的原理。 我还没有找到一篇可以从基础的原理,落实到随处可见的 linux 中的实现,然后再来一些具体操作例子的文章。 于是我自己产生了写一篇快照科普的想法,希望把快照的基础原理同 linux 下具体的 snapshot 实现结合起来,再来一些操作实验增加对快照的理解。
存储快照实现原理
ws1296931325的博客
01-26 1252
存储快照有两种实现方式:COW(写时复制Copy-On-Write)、ROW(写重定向Redirect-On-Write),两种实现方法有区别,造成读写性能、应用场景有比较大的区别。COW: 原理见下图(从网上找的,没自己画)。 1)原卷数据是A~G。此卷Metedata像指针一样指向这些数据。 2)当做快照时,重新复制一份Metedata,并且也指向这些A~G数据。 3)当有数据要写入到源卷时...
快照实现原理详解(运维)
Cool2050的博客
04-26 4726
一、概念解释 像照相机一样,机器快门一闪,很快就把刚刚的人像停留在了相纸上。存储系统中的数据“快照”与我们生活中所说的“照片”非常相似,所不同的是,照片的对象不是人,而是数据。如同照片留住了我们过去的摸样和岁月,快照把数据在某一时刻的映像也保留了下来。因此我们可以根据快照查找数据在过去某一时刻的映像,常常用来作为增强数据备份系统的一种技术,它可以很大的缩短RTO和RPO两个指标。 SNIA(存储网...
HBase中的快照技术-原理和实践
qq_41336462的博客
09-28 2393
这都是我自己的随笔,有错误请指正. 用法 在hbase shell下执行 创建  snapshot 'tablename','snapshot_name' 删除  delete_snapshot 'snapshot_name' 克隆  clone_snapshot 'snapshot_name','new_tablename' 列出  list_snapshots 替换  rest...
Maven快照机制(SNAPSHOT)
justlpf的专栏
08-27 528
以下引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_snapshots.html: 一、场景 一个大型的软件应用通常包含多个模块,并且通常的场景是多个团队开发同一应用的不同模块。举个例子,设想一个团队开发应用的前端,项目为app-ui(app-ui.jar:1.0),而另一个团队开发应用的后台,使用的项...
Oracle快照复制:原理与实施
快照的工作原理中,关键步骤包括: 1. 数据链路连接:通过数据库链接(dblink)建立与远程数据库的连接,这个链接允许快照从源数据库获取数据。dblink是在两个数据库之间建立的逻辑连接,用于执行SQL查询和事务...
写文章

热门文章

  • windows的终端命令 9891
  • 快照的介绍和原理 8131
  • SAM、BAM 645
  • C++Primer.plus第三章3.7编程练习第6题 537
  • C++Primer.plus第二章2.7编程练习第4题 499

分类专栏

  • C 3篇
  • C++primer.plus 30篇
  • C++

大家在看

  • GOT-OCR2.0:本地部署基于QWen0.5B大模型的强大OCR服务
  • 盒子绝对定位开启视觉新纪元(脱离文档流) 1
  • 接收一个整数,输出这个整数是几位数
  • centos之下的mysql8的安装
  • 《C++开发 AR 游戏:开启未来娱乐新潮流》

最新文章

  • windows的终端命令
  • SAM、BAM
  • LInux的多线程的安全函数
2022年2篇
2021年34篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司济南网站的排名优化西安网站关键词优化企业九江外贸网站优化推广郑州快速网站优化哪家便宜什么是网站外链优化邯郸五金行业网站优化推广方案珠海网站优化软件国外百度优化网站石家庄网站优化seo简阳手机网站优化公司沧州百度快照网站优化哪家好仲恺网站优化推广石首网站推广优化哪家好省心的优化网站专业团队买的网站模板如何优化页面襄阳搜索引擎优化服务网站优化网站被降权福建泉州网站排名优化武城网站优化报价大悟县网站排名优化代理南宁网站优化经验惠城区网站seo优化排名清水河网站优化怎么做网站优化推广百度百科对网站优化网站排名优化悄云速捷好网站排名优化必要选云速捷6德阳优化手机网站如何学习seo网站优化韶关网站搜索优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化