存储数据保护技术——HyperSnap快照与HyperCDP高密快照技术讲解

本文详细介绍了存储系统中的快照技术,包括COW(Copy-On-Write)和ROW(Redirect-On-Write)两种工作原理,对比了它们的优缺点。COW在数据写入时会先复制原数据,ROW则是将写操作重定向到快照卷。此外,还阐述了HyperCDP高密度快照技术,其特点是数据保护密集、持久,支持秒级保护且占用存储空间少。高密快照通过创建副本转换为可写快照,提供持续的数据保护功能。
摘要由CSDN通过智能技术生成

目录

HyperSnap快照

快照基本概念

快照COW工作原理

快照ROW工作原理

ROW和COW的区别

快照注意事项

HyperCDP高密快照技术

高密快照基本概念

高密快照主要特点

高密快照读写原理

高密快照回滚数据过程

高密快照存储池容量阈值


HyperSnap快照

快照基本概念

基本概念

快照——HyperSnap

在不中断主机业务的情况下,对源数据在某个时间点的一致性数据副本。

快照生成后可以被主机读取,也可以作为某个时间点的数据备份(快照保存的是元数据--当存储介质损坏后无法进行恢复)

快照的特点

由于快照不是完成的数据拷贝,所以有以下特点

1.瞬时生成:             存储系统可以在几秒钟内生成一个快照,获取元数据的一致性副本

2.占用存储空间少:   所以即使源数据量很大,也只会占用很少的存储空间

3.快照依赖于源数据:当源数据损坏后,快照就不能正常使用了(镜像不依赖于源数据,是独立存在的)

快照常用术语

一个文件可以分为元数据和源数据:其中元数据(Meta Data)存放对文件的描述信息(文件属性、权限、标识数据块的位置等);源数据存放实际的数据

快照实现方式

快照分为全量快照和增量快照(本次主要讲解增量快照)

增量快照又分为ROW(Redierct-On-Write)和COW(Copy-On-Write)

快照COW工作原理

 创建快照以后,如果源卷的数据发生了变化,那么快照系统会首先将原始数据拷贝到快照卷上对应的数据块中,然后再对源卷进行改写 

COW涉及的表项概念

快照LUN

对源LUN创建快照后,逻辑上生成的数据副本

COW数据空间

快照生成并激活后,存储系统会在源LUN所在的存储资源池中动态划分出来的一部分空间

该空间用来保存写前拷贝数据(也就是快照的数据);COW分为两个区域

COW Mate区域:同一个源LUN下所有快照共用的元数据区(存放元数据的更改情况-通过共享映射表实现)

COW Data区域:用于存放写源LUN时产生的写前拷贝数据(即存放快照时的源数据)

共享映射表的作用--存放在COW Meta区域中

在数据写入/修改和数据回滚的时候需要用到(用于存放元数据的更改情况)

在数据写入时:为1表示此数据相比于快照数据有所更改,等到再次写入数据时就可以直接覆盖;为0表示当前数据与快照数据相比无更改,在下次写入数据时需要进行写时复制

在数据回滚时:为0表示无更改,就不需要恢复;为1表示更改了,需要进行恢复

独享映射表的作用--存放在每个快照LUN的Meta区域中

记录写快照LUN时所产生的源数据与其在快照LUN中存放元数据位置的映射关系

独享映射表记录快照LUN的数据是否有更改;共享映射表记录源LUN上关于快照的数据是否更改

快照初始化状态

快照创建并激活后,会生成与源卷一致的元数据副本

存储系统在源卷中划分出COW数据空间并自动生成快照卷,此时由于没有数据写入COW和快照卷都没有记录

对源卷进行数据写入过程

当将源数据D更改为E后,会将D4的源数据写时复制到COW数据空间的Data区域,并且共享映射表的G0对应修改为1(表示我目前的数据相比于快照数据有更改)

再次将E数据更改为H后,由于映射表G01,所以此时可以直接覆盖H的数据(不用再进行复制操作)

当添加新的源数据F、G时,会将F、G数据块复制到COW数据空间的Data区域,并将其置0,当进行快照回滚时可以直接把F、G区域置0

此时再创建新的快照,共享映射表加入新的元数据D5,此时也会为快照LUN2创建一个COW数据空间

对快照LUN进行数据写入过程

当在快照LUN中添加数据时,直接写入到快照LUN中,并在独享映射表中记录数据在快照LUN中的存放位置

当修改快照LUN数据时,直接将源LUN数据复制到COW区域,然后将其更改为修改后的数据

例如:将快照LUN的D数据修改为E数据

例如:向快照LUN中加入数据F、G

读取快照的过程

当把快照LUN映射给其他主机使用时,其他主机需要读取快照LUN的数据

主要包含快照LUN写入过数据和快照LUN没有写入过数据两种情况

快照LUN没有写入过数据

结合共享映射表直接从源卷读取,如果源LUN在快照创建之后有数据改变,则也需要根据共享映射表从COW读取

步骤为:下发读快照请求→快照中不包含数据(即应用服务器只在源LUN中写入数据,没有在快照LUN中写入数据)→ 通过共享映射表确定快照数据的存放位置→在源LUN和COW数据空间中读取数据

例如:当读取Time2时刻数据时,查找共享映射表,G0、G2、G3数据直接从源卷读取,g0有更改,直接从COW数据空间读取

快照LUN写入过数据

对没有改变过的块结合共享映射表直接从源卷读取,对已经改变的块根据独享映射表从COW读取

步骤为:下发读快照请求→快照中包含数据(在快照LUN中写入了数据)→通过独享映射表和共享映射表确定快照数据的存放位置→在源LUN和COW数据空间中读取数据

例如:当读取Time2时刻数据时,查找独享映射表,从COW数据空间读取g0数据,然后关于g1、g2、g3查看共享映射表,如果共享映射表显示没有更改,则直接从源卷获取;如果共享映射表显示更改,则从COW数据空间读取

快照回滚过程

查询独立映射表和逻辑映射表,找到快照LUN对应的源数据

快照删除时直接删除,不需要进行回滚

快照ROW工作原理

创建快照以后,快照系统把对数据卷的写请求重定向给了快照预留的存储空间,直接将新的数据写入快照卷;原始数据保存在源卷中

ROW各表项之间的关系

每次快照与快照之间是有联系的--新的快照产生的快照映射表就是上一次快照修改时更新的源卷映射表

快照初始状态

在创建快照时,创建快照卷(快照卷不包含任何实际数据),源LUN状态会由读写状态变为只读状态;并且会复制一份源数据映射表作为快照数据映射表

创建的快照LUN专门用来存放新的数据,并且每个快照LUN都有自己的快照映射表

数据写入时一次写入(在源LUN进行数据写入)

ROW对原始数据卷首次写操作时,会将新数据重定向写入到快照卷中,并更新源卷映射表

步骤

下发写数据请求→源卷将数据写入到快照卷中→然后更新源卷的映射表(后续随着数据写入会一直重复此步骤,直到下次快照生成)

快照读取过程

在进行数据读取时,如果要读取的位置在上次快照之后发生了重定向(进行了数据修改),则需要对重定向的位置(快照LUN)进行读重定向;反之,直接读取源卷

例如:读取在Time2时刻下发了读请求,此时查看源卷映射表,对于G0、G2、G2数据直接读源卷,对于G1的数据,由于发生了重定向,因此需要从快照卷进行读取

快照删除过程

快照回滚过程

当对一个虚拟机做了多次快照后,此时虚拟机的写操作会全部落到最后一次快照的快照卷中

如果做了5次快照,此时如果要快照回滚到第3次快照,就需要将前3次的快照LUN合并为一个完整的快照点数据来进行回滚;由此看来ROW方式是没有一个完成的快照LUN,快照之间是有关系的

ROW和COW的区别

COW的优缺点

优点:COW在进行快照操作之前不会占用任何的存储资源

缺点:当修改源数据时,会发生三次读写操作(读源数据、将源数据写入到快照卷、将新数据写入到源数据卷);无法得到完成的物理副本,快照卷的COW可能只保留了源数据卷的部分原始数据;当快照卷的数据(也就是COW的数据)超过创建快照时的数据,该快照就会失效

ROW的优缺点

优点:不会降低源数据卷的写性能(源数据卷创建快照后的写操作会被重定向,所有的写操作都被重定向到新卷中;所有的快照卷数据都保留在只读的源数据卷中)

缺点:没有一个完整的快照卷(ROW的快照卷数据映射表保存的是源数据卷的原始副本);单机读写性能下降

 COW写时拷贝    ROW写时重定向
读区别    一次(源卷记录的是最新的数据,可以直接读源卷) 查映射表(根据需求选择是读源卷还是快照卷)
写区别  二次(先拷贝再写入)           一次(直接写入到快照存储空间)
删除快照区别   直接删除快照空间即可   需要进行回滚操作

因此COW适合读密集型应用,或者对存储设备容易出现写热点的应用

ROW适合写密集型应用,在分布式存储中,读性能会更高

快照注意事项

快照的对象是LUN

COW数据空间时需要占用存储空间的----存储在源LUN的存储池中

影响快照占用空间的因素(主要是COW数据空间):

        1.创建快照卷的数量

        2.数据变更的频率

        3.数据保存的时间

快照卷:记入的是快照时刻的数据,每创建一个快照对应一个快照卷

快照生效的时刻应该时快照激活的时刻(当快照创建但是没有激活的时候时不会生效的)

快照创建时默认是激活状态


HyperCDP高密快照技术

高密快照基本概念

传统数据备份面临的挑战

1.备份数据量大,数据快速增长

2.备份窗口要求越来越小

3.备份过程种不能影响生产系统的性能

4.用户对RPO/RTO的要求越来越高

高密快照的介绍

一种高密快速技术,为用户提供持续的数据保护功能(达到RPO≈3的效果)

高密快照主要特点

1.数据保护密集、持久。单LUN支持6万个HyperCDP,最短定时间隔支持3s

即单个LUN最大保留CDP个数为60000个--如果每3s创建一次快照,做多可以存储两天的数据

2.秒级保护,性能无损,占用存储空间少

3.不直接映射主机读写,可以通过创建副本转换为可写快照映射给主机

--每3s创建一次快照,可能最多存储两天的数据,所以一般做定时计划来规避这个问题-可以存储你更多天数的数据

高密快照读写原理

CDP创建的快照不能直接映射给主机,需要通过创建副本转换为可写快照映射给主机

高密快照回滚数据过程

回滚主机未修改的数据

 回滚主机已经修改的数据

高密快照存储池容量阈值

为什么要设置存储池容量阈值

由于3s写一次的原因,持续写源LUN可能会产生大量的数据保护容量导致存储池容量耗尽,进而影响源LUN的主机业务

通过设置存储池容量阈值来规避此问题

存储池容量阈值的特点

支持对存储池已经使用的通量和保护容量分别设置容量阈值

通过定时数据保护自动删除开关控制容量阈值是否生效---只能删除定时HyperCDP计划创建的HyperCDP,不会删除手动创建的HyperCDP

容量阈值开关默认关闭,建议配置HyperCDP时将此功能打开

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值