快照技术对比学习

打印 上一主题 下一主题

主题 550|帖子 550|积分 1650

本文分享自天翼云开发者社区《快照技术对比学习》,作者:z****n
1.快照的分类
根据 SNIA 的定义, 快照有全量快照 (full snapshot) 和增量快照 (incremental snapshot) 两种类型。
2.全量快照
克隆(Clone):
与备份操作类似,克隆技术是一种数据复制和规复的方法,用于创建源数据的完全副本。将源数据的所有信息和状态以二进制形式进行备份,并在需要时将其规复到相同或另一个体系中。克隆对象可以是存储卷、文件体系或者LUN,优势在于它提供了完全一致和独立的复制,不受源体系的影响。缺点就是在创建时要完整的复制一份数据,需要占用和源数据空间一样大的存储空间,资源成本高,消耗时间长。
镜像分离(Split Mirror):
镜像分离也属于全量快照,先创建源卷的一个镜像卷,每次磁盘写入数据的时候,都会向源卷和快照卷同时写入内容。当启动快照时,镜像卷能快速脱离,直接生成一个快照卷。因此镜像分离在读操作时没有任何影响,在写操作时会有两次写入操作,分别写入源卷与镜像卷。
3.增量快照
3.1写时拷贝(Copy-On-Write,CoW):在源卷之外创建一个快照卷,用于存放快照数据。
写数据
1、写入请求:当需要对原始数据进行写入操作时,体系首先创建一个新的空白数据块(或称为写时复制快照),并将写入请求发送到该新数据块。
2、数据复制:体系将需要被修改的数据块从原始数据中复制到新的写时复制快照中,这样可以确保原始数据不会被修改。
3、修改写时复制快照:在写时复制快照中进行实际的数据修改操作,即将写入请求应用于写时复制快照。
4、更新快照指针:完成写入操作后,体系更新增量快照指针,使其指向新的写时复制快照,以反映最新的数据状态。
 
读数据
1、初始状态:增量快照指向原始数据。
2、读取请求:当有读取请求时,体系检查增量快照指针。
3、检查增量快照:如果读取请求的数据在增量快照中存在,体系直接从增量快照中读取相应的数据,并返回给请求方。
4、查找原始数据:如果读取请求的数据不在增量快照中,体系将查找原始数据。
5、读取原始数据:体系根据读取请求定位到原始数据,并返回相应的数据给请求方。
优点:CoW在写入操作时,不直接修改原始数据,而是创建副本并在副本上进行修改。这样可以淘汰对原始数据的复制操作,因此CoW快照创建非常快。其次,CoW确保了数据的完整性和一致性,原始数据始终保持不变,只有在写入操作完成后,新的数据副本才会出现。同时CoW可以节省存储空间。由于只有在数据块被修改时才复制数据,多个副本可以共享未修改的数据块,淘汰了存储空间的占用。
缺点:降低源数据卷的写性能,因为每次改写新数据,实际上都进行了两次写操作。
应用场景:CoW技术提供了空间效率、写入性能和数据完整性的优势,适用于需要高效存储、备份和规复数据的场景。因此在虚拟化、容器化、数据备份、文件体系和数据库管理等领域得到广泛应用。
3.2写时重定向(Redirect-On-Write,RoW)
写数据:
1、初始状态:RoW技术在初始状态下指向原始数据。
2、写入请求:当有写入请求时,体系首先检查RoW指针。
3、创建副本:如果RoW指针指向原始数据,体系会创建原始数据的副本。
4、修改副本:体系在副本上进行修改操作,而不会对原始数据进行任何更改。
5、更新RoW指针:当修改操作完成后,体系会更新RoW指针,使其指向新创建的副本。
6、更新元数据:体系会更新相关的元数据,如指针或索引,以反映新的数据位置。 

读数据
1、初始状态:RoW技术在初始状态下指向原始数据。
2、读取请求:当有读取请求时,体系会根据读取操作所需的数据确定读取路径。
3、检查RoW指针:体系首先检查RoW指针。
4、判定读取路径:根据RoW指针的状态,有两种可能的读取路径:
1)如果RoW指针指向原始数据,则体系直接读取原始数据。
2)如果RoW指针指向副本数据,则体系需要跟踪回溯到原始数据,并读取经过修改的副本数据。
5、读取数据:根据所确定的读取路径,体系从相应的位置读取数据。
1)如果RoW指针指向原始数据,体系直接从原始数据位置读取数据。
2)如果RoW指针指向副本数据,体系通过回溯到原始数据并按照修改路径读取副本数据。
优点:RoW技术避免了对原始数据的复制,只在修改发生时创建副本,因此具有较高的空间效率。其次办理了CoW快照写两次的问题,就写性能而言RoW是优于CoW 的。RoW技术通过在副本上进行修改而不直接修改原始数据来保持数据的完整性和一致性。RoW技术可以通过跟踪回溯到原始数据来实现快速规复和数据保护。
缺点:RoW技术在读取操作时可能需要进行回溯操作以获取经过修改的副本数据,这可能略微降低读取性能。RoW没有一个完整的快照卷,其快照之间的关系是链式的,如果快照层级越多,进行快照规复时的体系开销会比较大。
应用场景:RoW技术适用于需要高效存储、备份和规复数据的场景。它提供了空间效率、写入性能和数据完整性的优势,因此在虚拟化、容器化、文件体系和数据库管理等领域得到广泛应用。
在传统存储场景下,RoW技术存在一个紧张问题,即对读取性能的影响较大。随着多次读写操作的进行,源数据卷中的数据会变得非常离散,这导致RoW在一连读取和写入性能方面不如CoW。因此,RoW更适用于写入密集型的存储体系。然而,在分布式存储的情况下,RoW的一连读写性能却会超过CoW。在传统存储场景中,读写性能的瓶颈通常出现在磁盘上,但这种瓶颈在分布式存储场景中不存在。在业务层面上,用户看到的是一连存储,实际上数据分布在不同服务器的不同硬盘上,数据越分散,体系性能越高。RoW技术将源数据卷中的原始数据打散后,反而对性能有益。因此,现在阶段下,RoW联合分布式存储的快照方式是业界主要发展方向。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表