[发明专利]块设备快照方法、系统和存储介质有效
申请号: | 202210362073.X | 申请日: | 2022-04-07 |
公开(公告)号: | CN114880277B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 侯普;张宇 | 申请(专利权)人: | 中科驭数(北京)科技有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F12/02 |
代理公司: | 北京金咨知识产权代理有限公司 11612 | 代理人: | 宋教花 |
地址: | 100089 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 设备 快照 方法 系统 存储 介质 | ||
1.一种块设备快照方法,其特征在于,该方法包括以下步骤:
基于快照创建命令在块设备上为原始盘创建快照,在原始盘和快照盘的配置块中记录原始盘识别码、快照盘识别码和快照块大小信息,创建原始盘和快照盘间的块对应关系映射表和快照盘的可用空闲块号并记录在快照盘的配置块中,其中,快照盘的配置块中还设置有打开状态标志字段,初始创建的快照盘中各快照块的元数据区被初始化,所述元数据区用于存储快照的块号关系信息;
打开已创建有快照的块设备,基于快照盘的配置块中的打开状态标志字段中的打开状态标志确定块设备的前次关闭是否为正常关闭,在确定前次关闭为正常关闭的情况下,从快照盘的配置块读取所述块对应关系映射表和可用空闲块号至内存,并更新打开状态标志字段中的打开状态标志;在基于快照盘的配置块中的打开状态标志字段中的打开状态标志确定块设备的前次关闭为非正常关闭的情况下,扫描快照盘,从第一个块元数据开始扫描,直到扫描至块元数据为0的位置,来基于从快照盘的各个块的块元数据中读取的数据确定原始盘和快照盘间的块对应关系,基于原始盘和快照盘间的块对应关系重建块对应关系映射表,并基于块元数据为0的位置确定空闲块号;
对原始盘的块进行读写操作,基于内存中的块对应关系映射表确定是否触发写时复制操作,在确定触发写时复制操作时将原始盘的要复制的块的内容复制到内存中记录的快照盘的空闲块号所对应的空闲块中,将原始盘的被复制的块的块号写入所述空闲块的元数据区,并更新内存中的块对应关系映射表和可用空闲块号,所述写时复制操作在被执行写操作的块在内存中的块对应关系映射表中没有映射时触发;
在关闭快照盘时,将内存中的块对应关系映射表和可用空闲块号写入快照盘的配置块,将所述打开状态标志字段中的打开状态标志清除。
2.根据权利要求1所述的方法,其特征在于,所述基于快照创建命令在块设备上为原始盘创建快照包括基于快照创建命令在已打开的块设备或未打开的块设备上为原始盘创建快照;
在已打开的块设备上为原始盘创建快照的情况下,在创建快照过程中暂停对块设备的IO操作,在快照创建完成后继续进行所述IO操作。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
恢复快照步骤,扫描整个快照盘,找到快照盘中每个块对应的原始盘的块号,并将快照盘的块中的内容写入原始盘对应的块中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
删除快照步骤,将原始盘和快照盘的配置块全部写0,并删除原始盘和快照盘间的块对应关系。
5.根据权利要求1所述的方法,其特征在于,所述初始创建的快照盘中各快照块的元数据区被初始化包括:
在创建快照盘之前将快照盘池的全部快照盘中各快照块的元数据区清0;或者
在创建快照盘时对快照盘池的预定数量的快照盘中各快照块的元数据区清0,然后通过后台进程对其他快照盘中各快照块的元数据区清0;或者
利用硬件通过磁盘内预留的接口对快照盘中各快照块的元数据区清0。
6.根据权利要求1所述的方法,其特征在于,在所述写操作为多个写操作的情况下,所述方法还包括:
利用记录表来记录每个写操作对应的快照盘的块号,在相应写操作完成后从所述记录表中删除对应的块号;
对于新到来的写操作,如果其对应的块号与未完成的写操作对应的最小块号之差大于预定值,则使新到来的写操作进行等待,直至与未完成的写操作对应的最小块号之差不大于预定值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科驭数(北京)科技有限公司,未经中科驭数(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210362073.X/1.html,转载请声明来源钻瓜专利网。