开发者社区> boxti> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

曙光存储快照 此快照非彼快照

简介:
+关注继续查看
  
 SNIA(存储网络行业协会)对于快照的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。

快照能够进行在线数据恢复,当出现逻辑错误或是存储设备发生应用故障时可以进行有效及时的数据恢复,将数据恢复成快照产生时间点的状态。除此之外,还可以通过访问只读快照在不影响应用的前提下进行验证、测试等操作。当前,快照技术已经成为企业进行数据保护的一种常规手段,快照技术的应用也趋向于多元化,从目前市场情况来看,所有存储系统无论高、中、低端设备,但凡有用到业务系统上的,一般均配有快照的功能。快照在备份、数据保护过程中发挥着非常重要的作用。

但不同种类快照技术的区别及适合的场景,快照的优缺点却很少有人提及。市场上的快照技术多种多样,用户该如何选择呢?

传统快照技术与曙光快照技术的对比:

传统存储快照技术工作原理

传统的存储快照技术由于自动生成的能力不足,防御意外的能力较弱,一般不用于自动备份,而是用于计划内的数据保存。

传统快照技术借助于快照缓存以记录有变动的数据块,在这中间需要进行一次读(读取初始数据块),两次写(写缓存及写更新后的数据)的过程才可以完成。这种技术通常是基于时间点的复制,能够在一个存储单元中建立数据的完全卷拷贝。但如果生产系统此时对某一个数据集合进行频繁的修改,在这种情况下产生一个时间点一致拷贝是比较困难的。当进行快照时,快照的源卷将会被冻结几秒钟;当快照拷贝的位图建立之后,源卷才可以继续进行I/O操作。当位图建立后,后台拷贝需要进行一段时间,但是在目标卷上看来,拷贝已经完成了。这很容易导致拷贝出错或者丢失的危险。

传统快照在写入数据后需要以下几个步骤完成:

1、读取初始数据块;

2、写初始数据块到快照缓冲区域;

3、快照 指针指向快照缓冲区;

4、写入新的数据;

5、文件指针指向更新后的文件;

曙光存储快照技术工作原理

曙光存储快照技术凭借优异的文件系统数据布局,不需预留快照缓存区域,即可在非常短的时间内完成。在整个数据更新过程之中只需要一次写,中间没有拷贝的过程,从而快照制作时间(秒级)会比传统时间短,且在快照期间几乎不影响应用。

曙光快照技术

在写入数据后曙光快照技术通过以下几个步骤完成:

1、快照指针指向数据,快照完成(图左);

2、更新数据写入新的数据块(图右);

3、文件指针指向新的数据块(图右);

快照时曙光与传统存储对性能的影响对比

而传统存储的性能在做快照后下降了40-50%,并在整个快照期间性能一直处于下降后的水平,对上层应用系统影响较大,这也是目前很多管理员不愿多做快照的一个主要原因。

传统存储快照模式

业界快照模式主要采用循环模式。以多份快照循环为例,10份快照每个快照间隔1小时,数据即可恢复到10个快照的时间点,若再做一次快照则将最早的一份快照删除,如此循环一直保持10份快照。

曙光存储快照模式

除上述提到的快照循环模式外,曙光还提供基于GFS(祖父、父亲、儿子)三代的数据快照循环模式(下图所示)。

曙光快照模式

跟备份类似,以Grandfather、father、son三代循环模式,分别对应周、日、小时快照。例如对应于上述周期分别保留4、6、12份快照,也就意味着数据可以恢复到4周前、6天前、24小时前(快照周期按2小时),从而达到了数据可以按月、周、天的方式进行备份。又由于曙光快照技术的高效性,使得快照能够在很短的时间内(通常是秒级)即可完成,其备份效果要好于通常备份软件的同时又可以做到业务应用的弹性规划。

传统存储快照使用方式

一般快照使用需要涉及到3种角色:存储管理员、系统管理员、使用者。一般步骤为:

1、存储管理员将多份快照卷依次启用以找到目标快照卷;

2、存储管理员将多份快照卷分别设定LUN映射以让应用主机可以识别卷;

3、系统管理员扫描disk LUN;

4、系统管理员分别挂载disk LUN供使用者使用、查看;

5、使用者读取所需数据。

曙光存储快照使用方式

曙光快照使用只需要一种角色参与即可,也即使用者。曙光快照通过NFS/CIFS只读方式共享,所以使用者只需要直接通过网络进行读取即可,不需要麻烦存储管理员和系统管理员,从一定程度上减轻了管理员的运维复杂度。

对比结论:

快照指标

传统存储

曙光存储

快照读写

1R2W

1W

快照性能

影响应用

几乎不受影响

快照周期

循环

循环+GFS

快照读取

SAN方式

SANNAS方式

快照技术对比

从上表对比中可以发现快照性能部分,在快照建立时曙光存储性能下降很小,几乎不会影响到上层应用,而传统存储在整个快照周期内性能损失较为严重且快照时间较长(通常是小时级);在数据修改后,曙光只需要写1次即可,而传统存储需要读1次,写2次,从读写效率上看每个数据块多浪费了1读1写两次IO;曙光可以提供循环、GFS方式的快照周期,非常方便应对复杂多变的应用场景,而业界存储主要还是以循环方式为主;曙光快照读取方式更为灵活,只需要使用者通过NAS的方式即可读取快照内容,自由决定想读取内容,而传统存储还需要向存储管理员、系统管理员申请,经过管理员配合后方可使用。

此高性能快照技术是曙光高端存储系统的标配功能,配合这些存储系统的双活、远程数据复制等容灾功能模块,可以为用户构建全方位的数据灾备方案,避免逻辑以及物理故障对数据可用性以及业务连续性的影响。

作者:佚名
来源:51CTO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
块存储快速入门-1
块存储快速入门-1
20 0
分布式存储系统关键问题
本文介绍分布式存储系统关键问题。
3292 0
列式存储
在大数据的HBase中与Hive中都有用到列(族)式存储,列式存储被广泛应用,有关于HBase讲解,请访问我的 https://yq.aliyun.com/articles/376750?spm=a2c4e.11155435.0.0.62bc19c8kgVjfV。
1438 0
Docker生态系统系列之三:服务发现和分布式配置存储
本文讲的是Docker生态系统系列之三:服务发现和分布式配置存储,【编者的话】本文介绍了服务发现与全局可读配置存储两部分内容,不仅介绍了工作原理和工作方式,也介绍了与之相关的故障检测、重配置和安全问题,最后还介绍了常用的服务发现项目。
4121 0
存储过程
存储过程简介 存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
840 0
存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
748 0
调用存储过程
引用:http://blog.sina.com.cn/s/blog_58b90369010008xy.html MYSQL DELIMITER $$ DROP PROCEDURE IF EXISTS `freewap`.
634 0
存储过程
1 declare @i int 2 set @i=0 3 begin transaction 4 while @i
588 0
存储过程写法
引用:http://hi.baidu.com/vb98/blog/item/4c6de43f780bf5fa54e723ed.html 存储过程调用:http://hi.baidu.com/vb98/blog/item/7fbda7d99a9fd93a11df9bb4.
542 0
+关注
boxti
12535
10005
文章
1326
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载