一种精简配置存储池数据一致性维护的方法及装置的制造方法

文档序号:9923690阅读:518来源:国知局
一种精简配置存储池数据一致性维护的方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及计算机数据保护和存储领域,更具体地说,涉及一种精简配置存储池数据一致性维护的方法及装置。
【背景技术】
[0002]当前计算机存储数据方式多样,本地磁盘存储、存储区域网络SAN(StorageAreaNetwork)、网络附加存储NAS(Network Attached Storage)、直连存储(Direct AttachedStorage)等,在计算机系统或存储系统中,一块或多块磁盘被虚拟化为存储池,再划分逻辑卷提供给客户端或上层文件系统使用。逻辑卷一般在创建时就分配了物理空间,而只有应用写入数据,存放了应用数据的空间才是真正有用的,空闲的物理空间分配了却没有有效数据,也不能为其他逻辑卷使用。为了提高存储空间利用率,存储行业发展了自动精简配置存储特性,即逻辑卷在创建时不分配物理空间,或只分配部分空间,当应用写入数据时若未分配空间则实时分配物理空间进行存储。精简配置存储池用元数据记录逻辑卷逻辑空间及其物理空间位置,为了提高性能,运行时一般元数据在内存中相应存放和处理,累积一定更新量后再写入存储介质,从而发生系统掉电时可能会丢失一部分元数据,进而丢失部分数据。
[0003]因此,如何避免由于系统掉电造成元数据和数据丢失,是本领域人员需要解决的问题。

【发明内容】

[0004]本发明的目的在于提供一种精简配置存储池数据一致性维护的方法及装置,以避免由于系统掉电造成元数据和数据的丢失。
[0005]为实现上述目的,本发明实施例提供了如下技术方案:
[0006]—种精简配置存储池数据一致性维护的方法,包括:
[0007]接收数据空间修改指令;
[0008]根据所述修改指令对映射树中的逻辑卷空间映射信息进行修改,并对超级块中的元数据版本号进行修改;
[0009]将超级块中的元数据版本号信息、修改后的逻辑卷空间映射信息及修改指令类型信息保存至日志空间。
[0010]优选的,对超级块中的元数据版本号进行修改,包括:
[0011]将超级块中的元数据版本号加一。
[0012]优选的,所述修改指令至少包括增加指令、删除指令和数据迀移指令中的一个。
[0013]优选的,若所述修改指令为增加指令,则所述接收数据空间修改指令之后还包括:
[0014]将写数据的起始地址作为键值中的逻辑地址,查询所述映射树中是否存在所述逻辑地址的物理区段;
[0015]若不存在,则执行根据所述修改指令对映射树中的逻辑卷空间映射信息进行修改的步骤;
[0016]若所述修改指令为删除修改指令或者数据迀移修改指令,则所述接收数据空间修改指令之后,还包括:
[0017]将写数据的起始地址作为键值中的逻辑地址,查询所述映射树中是否存在所述逻辑地址的物理区段;
[0018]若存在,则执行根据所述修改指令对映射树中的逻辑卷空间映射信息进行修改的步骤。
[0019]优选的,将超级块中的元数据版本号信息、修改后的逻辑卷空间映射信息及修改指令类型信息保存至日志空间之后,还包括:
[0020]在存储池重启时,判断所述存储池中元数据版本号信息是否小于所述日志空间中存储的元数据版本号信息;
[0021 ]若是,则确定所述存储池缺少的元数据版本号信息;
[0022]从所述日志空间中获取与所述存储池缺少的元数据版本号信息相对应的逻辑卷空间映射信息及修改指令类型信息,并对所述存储池进行修复。
[0023]—种精简配置存储池数据一致性维护的装置,包括:
[0024]接收模块,用于接收数据空间修改指令;
[0025]逻辑卷空间映射信息修改模块,用于根据所述修改指令对映射树中的逻辑卷空间映射信息进行修改;
[0026]元数据版本号信息修改模块,用于对超级块中的元数据版本号进行修改;
[0027]保存模块,用于将超级块中的元数据版本号信息、修改后的逻辑卷空间映射信息及修改指令类型信息保存至日志空间。
[0028]优选的,所述元数据版本号信息修改模块为将超级块中的元数据版本号加一的模块。
[0029]优选的,所述接收模块包括如下单元中的至少一个:
[0030]第一接收单元,用于接收数据空间增加指令;
[0031]第二接收单元,用于接收数据空间删除指令;
[0032]第三接收单元,用于接收数据空间数据迀移指令。
[0033]优选的,所述装置还包括:
[0034]第一查询模块,用于当所述修改指令为增加指令时,将写数据的起始地址作为键值中的逻辑地址,查询所述映射树中是否存在所述逻辑地址的物理区段;若不存在,则触发所述逻辑卷空间映射信息修改模块;
[0035]第二查询模块,用于当所述修改指令为删除修改指令或者数据迀移修改指令时,将写数据的起始地址作为键值中的逻辑地址,查询所述映射树中是否存在所述逻辑地址的物理区段;若存在,则触发所述逻辑卷空间映射信息修改模块。
[0036]优选的,所述装置还包括:
[0037]判断模块,用于在存储池重启时,判断所述存储池中元数据版本号信息是否小于所述日志空间中存储的元数据版本号信息;
[0038]若是,则触发修复模块;
[0039]所述修复模块,用于确定所述存储池缺少的元数据版本号信息,从所述日志空间中获取与所述存储池缺少的元数据版本号信息相对应的逻辑卷空间映射信息及修改指令类型信息,并对所述存储池进行修复。
[0040]通过以上方案可知,本发明实施例提供的一种精简配置存储池数据一致性维护的方法及装置,包括:接收数据空间修改指令;根据所述修改指令对映射树中的逻辑卷空间映射信息进行修改,并对超级块中的元数据版本号进行修改;将超级块中的元数据版本号信息、修改后的逻辑卷空间映射信息及修改指令类型信息保存至日志空间。
[0041 ]可见,在本实施例中,在根据修改指令对映射树中的逻辑卷空间映射信息进行修改时,同时将超级块中的元数据版本号信息、修改后的逻辑卷空间映射信息及修改指令类型信息备份至日志空间,以备在系统掉电时,通过备份的日志数据恢复数据,解决系统掉电造成元数据和数据丢失问题,并且存储池中的日志存储数据量极小,对系统性能影响低。
【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本发明实施例公开的一种精简配置存储池数据一致性维护的方法流程示意图;
[0044]图2为本发明实施例公开的逻辑卷数据映射结构示意图;
[0045]图3为本发明实施例公开的增加映射信息操作的元数据示意图;
[0046]图4为本发明实施例公开的增加映射信息操作的日志结构示意图;
[0047]图5为本发明实施例公开的一种精简配置存储池数据一致性维护的装置结构示意图。
【具体实施方式】
[0048]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]本发明实施例公开了一种精简配置存储池数据一致性维护的方法及装置,以避免由于系统掉电造成元数据和数据的丢失。
[0050]参见图1,本发明实施例提供的一种精简配置存储池数据一致性维护的方法,包括:
[0051 ] SlOl、接收数据空间修改指令;
[0052]具体的,在本实施例中的精简配置存储池由元数据空间、日志空间和数据空间组成。
[0053]1、元数据空间存放元数据,记录存储池和逻辑卷信息
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1