快照实现技术浅析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
快照实现技术浅析

快照实现技术浅析 什么是快照技术 SNIA(Storage Networking Industry Association)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。快照的作用主要是能够进行在线数据恢复当存储设备发生应用故障或者文件损坏时可以进行数据恢复,将数据恢复时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。所有存储系统,不论高中低端,只要应用于在线系统,那么快照就成为一个不可或缺的功能。 图1 写时复制示意图 但是这种方式的缺点也是非常明显的。如果写操作过于分散且频繁,那么 COW 造成的开销则是不可忽略的,有时甚至是无法接受的。因此在应用时,则需要综合评估应用系统的使用场景,以判断这种方式的快照是否适用。 快照实现技术中的另一种技术是 I/O 重定向(I/O Redirect)。即将读写操作重新定向到另一个存储空间中。在一个快照生成期间,所有的写操作将被重定向到另一个介质,而读操作是否需要读重定向,则需要根据读取的位置是否有过自上次快照以来的写重定向,必须对有过写重定向的位置进行读重定向,否则不需要进行读定向。当要创建一个快照时,则将自上次快照以来所有的重定向写数据所对应在源介质中的数据复制出来生成这个时间点的快照,然后再将这些重定向写数据写回到源介质中的相应位置上,从而完成一个快照生成过程。下图中显示了IO重定向的执行过程。 图2 I/O 重定向示意图 从上面的过程来看,关键的性能影响在于快照生成时的四次I/O操作(一次读源介质,一次写快照数据,一次读快照介质,一次写源介质),另一个则是重定向的计算工作。这种方式虽然看起来最后生成快照时的I/O操作较多,但是考虑到这个操作是在生成快照时才会发生,特别是快照生成时可以对I/O操作进行排序,可以使得对介质的读写得到较好的优化,因此使影响很小。而对于重定向的计算操作对于当下的计算能力来说,不会成为一个性能的瓶颈问题。因此这种快照实现方式在非快照执行期间的影响甚小。因此这种方式比较适合Write-Intensive(写密集)类型的存储系统。下图是快照生成过程的示意图: 图3 快照生成图 SNIA 将快照的实现方式表述为:镜像分离 split mirror 、改变块 changed block 、并发 concurrent 三大类。后两种在实现时其实质就是写时复制及I/O重定向。对于 split mirror 的方式,由于其灵活性以及开销问题,在实际的存储系统中,并不实用。 快照的实现层次 计算机的存储结构是一个类似于 TCP/IP 一样的栈结构。栈中包括硬件与软件部分。栈中不同层为上层提供服务,同时利用下层的接口(如下图)。因此在实现上,快照可以在不同的栈层上实现。但是不同的层其效果及特点是不一样的。 图3 存储栈 一般来说,在应用层不太合适实现快照功能。因为不同的应用是千差万别的,因此需要针对不同的应用实现快照功能,这个代价也太高了。但在应用层实现快照也并不是说一无用处,如在应用层实现快照的一个典型的例子就是 vmWare 虚拟化软件中的快照功能。只是这种快照功能应用在存储系统中不现实。 其次在文件系统层实现快照与应用也是具有同样的缺点,就是需要针对不同的文件系统实现快照功能,这样的代价也很大。实现的快照的功能的文件系统基本上都是一些专用系统为者专为某个特定功能实现的文件系统。 在这个层级上实现快照,缺乏灵活性和可扩展性。这个比较典型的例子就是 ZFS。 而较为适宜实现快照功能的层应该为卷管理层以及物理层。在这两个层中都不与特定的应用及文件系统相关。这里比较典型的例子有Linux 的LVM。而在硬件层次上实现快照又通常有许多种,在这个层次上实现的快照一般为专用系统,好处是性能是各个方式中最好的。但是在这个层次上实现的快照也有一个不可避免的缺点,那就是由于不与特定的应用及文件系统关联,因此其就无法理解上层的应用逻辑,也就无法保证每个快照都处于数据一致性状态的。但是这个缺点是可以通过其他的方式减少或者解决的,比如在生成快照之前先对数据进行刷新操作,或者在恢复快照时对文件系统进行一致性检查等。 结束语 计算技术不断在进步,存储技术同样也在进行着日新月异的变化。不同的应用在不断地更新着对存储的需求。同时对于数据重要性的体现,各种容灾技术也给用户的数据加上了防护安全帽。爱数软件作为国内数据备份与容灾技术的践行者,更是紧跟用户需求,适时提出的存储、备份、容灾一体化方案,使得用户数据安全的各种措施不必再单打独斗。用户需求主导着技术的进步,

文档评论(0)

kakaxi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档