华为云计算学习:快照技术分析
一切定义都属于个人重新定义过,便于自己的理解快照技术定义:利用算法实现快照前后的写分离,从而实现数据的时间定格,用于数据回退到某个时间的技术,所以快照不是备份技术。常见分类全拷贝镜像(分离镜像)写即拷贝(CoW:copy on write)写即重定向(RoW:redirect on write)数据I/O主要就是读和写全拷贝镜像图1图2图1,源数据被镜像了一个相同数据镜像,并且同时针对写进行2边同
一切定义都属于个人重新定义过,便于自己的理解
快照技术
定义:利用算法实现快照前后的写分离,从而实现数据的时间定格,用于数据回退到某个时间的技术,所以快照不是备份技术。
常见分类
全拷贝镜像(分离镜像)
写即拷贝(CoW:copy on write)
写即重定向(RoW:redirect on write)
数据I/O主要就是读和写
全拷贝镜像
图1
图2
图1,源数据被镜像了一个相同数据镜像,并且同时针对写进行2边同步(由镜像子系统维护)
图2,当对源数据镜像快照时,镜像自动断开变成只读存储,成为快照定格全数据
多次快照情况(优化方案)
3. 镜像断开后,源数据还是处于最新,但是新增的数据通过记录写操作,不存储新数据,只是记录,当快照的时候,只把记录单独存储下来,快照回退时候需要拿着记录把数据从源数据取回来然后和断开的镜像同步,再次快照的时候需要依赖前面已经同步好的卷
写即重定向(RoW:redirect on write)
数据正常写入源盘
当快照后,把写入的新数据重定向到另一块空间存储,记录索引和日志存放对应的卷号和数据(源数据变成只读)
恢复快照的时候系统读取数据是先读取新的重定向数据,发现没有后就从源数据读取数据
多次快照情况
再次快照,快照存储的只是针对上次快照后所产生的新的数据和记录
恢复快照,系统读取数据是先读取上次产生的重定向数据,再读取上上次产生的重定向,一直读取到源卷数据
特征:写一次数据只需要在新的空间重定向数据
经过:写
写即拷贝(CoW:copy on write)
数据正常写入源盘
快照后,把久的数据进行拷贝到一个单独的存储空间,源数据保持最新
恢复快照,先读取新空间拷贝的数据,没有的话再读取源数据卷
多次快照情况
再次快照,快照存储的只是针对上次快照后所产生的久的数据和记录
恢复快照,系统读取数据是先读取上次产生的拷贝数据,再读取上上次产生的拷贝数据,一直读取到源卷
特征:写一次数据需要先经过拷贝(读和写),然后在源卷写入新数据
经过:读+写+写(只有第一次写动作)
后续直接写到原卷上,不需要拷贝(写)
总结:
全拷贝
优点:不依赖源卷,独立,源卷丢失,数据也不会丢失
缺点:占用空间大,写性能下降(要等待镜像同步完成),快照次数需要依赖已经同步好的卷
CoW
优点:占用空间小,读性能无影响(直接读取最新的源数据)
缺点:初次写性能下降(后续写无影响),依赖原卷
Row
优点:占用空间小,写性能无影响(单独新空间写新数据)
缺点:读影响下降(每次读都需要先到快照的空间卷读取,再到原卷读取,才算最新数据),依赖原卷
读和写都是针对最新数据而言,针对快照时间读写就是根据原理来读取影响性能,快照创建越多,读取快照时间性能越低,因为有依赖关系(全拷贝没有影响)
基于块使用cow,基于文件使用row
Y。S。H。
关注
0
0
1
————————————————
版权声明:本文为CSDN博主「Y。S。H。」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangshihuz/article/details/104150856
更多推荐
所有评论(0)