linux中cow技术,Linux中COW快照bitmap语义分析

编程入门 行业动态 更新时间:2024-10-12 12:27:10

linux中cow技术,Linux中COW快照bitmap<a href=https://www.elefans.com/category/jswz/34/1769519.html style=语义分析"/>

linux中cow技术,Linux中COW快照bitmap语义分析

《Linux中COW快照bitmap语义分析》由会员分享,可在线阅读,更多相关《Linux中COW快照bitmap语义分析(2页珍藏版)》请在人人文库网上搜索。

1、快照技术是计算机技术中的传统技术,常应用于数据的快速备份。在快照实现技术中, 最常用的快照算法有COW写时拷贝算法和ROW写时映射算法。COW算法适合在写少读 多的情况下应用;ROW算法适合在写多读少的情况下应用。这里主要分析一下COW算法实现过程中的bitmap语义。COW (Copy On Write)快照有两种实现方式:一种为草型快照,另一种为链式快照。 草型快照在快照设备非常多的时候需要进行多份数据拷贝,但是快照设备之间不存在紧密 的依赖关系;链式快照只需要进行一次数据拷贝,但是快照设备之间存在紧密的依赖关系。 两种快照的逻辑结构表述如下:COW链式快照草型快照在实现COV快照过程中需。

2、要用一个bitmap来表示快照设备之间的增量信息。对于链式 快照而言,假设创建一个快照点 s4,那么源设备会将记录的bitmap信息交给s4,然后将 源设备的bitmap清空。这样在写源设备的时候,系统会检查写操作所在的chunk是否在历史的某个时刻被写过,如果已经被写过,那么将orig设备上所对应chunk拷贝到快照点s4, 并且将新的数据写入orig,然后再修改orig设备的bitmap对应chunk的位信息。这个过 程就是快照的写时拷贝过程。对于草型快照而言,数据将向多个快照点进行CO,效率相对于链式快照低。从这个过程可以看出,orig设备上的bitmap信息记录的是最近一个快照点 之后。

3、的增量数据信息。在未来的某个时刻,如果再创建一个快照点,那么orig上的bitmap信息将转移给新创建的快照设备,这样这个bitmap信息就描述了目前最近快照点到未来快照点之间的增量数据。这些增量数据的老数据都位于最近快照设备之上,因此,在链式快 照的读写算法中,需要通过读前驱设备的bitmap信息来定位数据是否位于被访问的快照设备上。草型快照具有同样的原理,其bitmap信息在创建快照的时候从orig转移给新快照,然后orig上的bitmap清空。由于草型快照设备之间具有很强的独立性,无法反映快照设备之间的增量信息,所以通过这个增量数据的bitmap信息,可以方便的获取草型快照之间的增量信息。

4、。下面补充一下链式快照的读过程:假设读快照设备s2时间点的信息,那么首先读取 S3时间的bitmap信息,如果读取chunk的位信息为1,那么说明s2上的数据有效,直接从 s2设备上读取信息。如果位信息无效,那么依次往前遍历,定位bitmap位有效的下一个快照设备。这就是COV快照设备的读过程。草型快照的读过程和这个不一样,具体代码可以 参考 Linux 中的 snapshot代码。从上述分析可以看出,COW的 bitmap语义为快照点之间的增量信息,通过这个增量信息, 链式快照可以遍历得到快照点上的数据,草型快照可以得到快照点之间的增量信息。感兴 趣的朋友可以阅读Linux中的snapshot相关代码,本文只是对阅读代码过程中遇到的 bitmap语义进行分析说明。

更多推荐

linux中cow技术,Linux中COW快照bitmap语义分析

本文发布于:2024-02-27 14:06:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1706835.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语义   快照   技术   cow   linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!