存储系统的Snapshot快照技术(COW与ROW)

存储系统--快照技术:

1 快照定义

SNIA对快照的定义是:关于指定数据集合的一个完全可以拷贝,该拷贝包括相应数据在某个时间点的映像。

快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。

快照有全量快照和增量快照两种类型。

2 全量快照:

镜像分离(Split Mirror)

3 增量快照

3.1 COW: Copy On Write  写时拷贝

a 创建COW数据空间

快照生成后,存储系统在源LUN所在的存储池子里动态划分一部分存储空间,用于保存写前copy数据。同一个源lun所对应的所有快照共享同一个cow空间。包括cow meta和cow data。

b 原理

COW称为写时拷贝快照技术,创建快照后,如果source端有IO和新数据进来,那快照系统会首先将原始数据拷贝到快照卷上对应的数据块中,然后再对源卷进行写覆盖。

注:下次主机针对同一位置的写操作将不再执行写时拷贝。

即:首次写入时要完成:

一个读(读取源位置的数据);

两个写(写原位置和写快照预留空间)。

c 优缺点

优点:

快照操作之前,不会占用任何存储资源;不会影响系统性能。

快照卷只需要保留发生过数据变化的数据块,与数据卷相比小很多。

缺点:

1) 降低源数据卷的写性能。当修改source时,会发生三次读写:

        a: 读取源数据

        b: 将源数据写入快照卷中

        c: 将新数据写入源数据卷中

如果写入频繁,将会非常消耗IO,因此适合写操作较少的场景。

2) 无法得到完整的物理副本,快照卷仅保存了source卷的部分原始数据。

3) 如果拷贝到快照卷的数据量超过cow保留空间,快照将会失效。

3.2 ROW: Riredect On Write 写时重定向

Snapshot创建后,快照系统把对源数据卷的写IO重定向到快照预留空间,直接将新数据写到快照卷。当需要读取source数据时,快照前的数据从源端读取,快照后的数据(新数据)从快照卷读取。

写操作:
快照创建以后,若上层业务对源卷写数据X,X在缓存中排队,快照系统判断X即将写入源卷的逻辑地址,然后将数据X写入快照卷中预留的对应逻辑地址中,同时,将源卷和快照卷的逻辑地址写入映射表,即写重定向。上层针对源卷写入一个数据块X,存储上只发生一次写操作,只是写之前进行了重定向。

读操作:
若快照创建以后,上层业务对源卷进行读,则有两种情况:1)若读取的数据,在创建快照前产生,数据是保存在源卷上的,那么,上层就从源卷进行读取;2)若需要读取的数据是创建快照以后才产生的,那么上层就查询映射表,从快照卷进行读取(即读重定向)。

若快照创建以后,上层业务对快照卷进行读,同样也有两种情况:1)若读取的数据,在创建快照前产生,数据是保存在源卷上的,那么上层就查询映射表,从源卷进行读取;2)若需要读取的数据是创建快照以后才产生的,那么上层就直接从快照卷进行读取。

ROW优缺点:

优点:

不会降低源卷的性能;因为快照后更新源数据,只需要一个重定向的写操作,解决COW两次写的性能问题;

对分布式存储系统,正是由于数据的分散,进而提供了并发读的机会

缺点:

没有一个完整的快照卷。

ROW的快照卷数据映射表保存的是源数据卷的原始副本,而源数据卷指针表保存的是更新后的副本。因此,当创建了多个快照时,会产生一个快照链,使得原始数据的访问快照卷和源数据卷数据的追踪;以及对快照的删除将变得异常复杂。

而且,在恢复快照时会不断的合并快照文件,会造成较大的系统开销。

单机读性能下降:因为是重定向写,使得原本连续的数据,现在变的分散;连续写变成了分散写,造成读性能下降。

4 总结:

COW快照更适合于读密集型应用;

或者对存储设备容易出现写入热点(小范围内的数据频繁写入)的应用,因为数据的修改都局限在小范围内,对同一份数据进行多次写只会出现一次复制操作;

ROW快照更适合于写密集型应用;

由于ROW重定向的特性,在分布式存储中,读性能会更高。

参考文档:

华为--COW、ROW快照技术原理

快照是什么?揭秘存储快照的实现_row快照占用空间吗-优快云博客

也欢迎大家点赞关注我的微信公众号:大滨读书健身(全网同名)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值