一种精简池元数据节点刷新一致性保护方法

文档序号:6635456阅读:365来源:国知局
一种精简池元数据节点刷新一致性保护方法
【专利摘要】本发明提供一种精简池元数据节点刷新一致性保护方法,属于数据存储【技术领域】。本发明将元数据缓存镜像和日志备份到冗余控制器上;将元数据的B+Tree节点插入、删除时从根节点到叶子节点使用“写时复制”方式,刷写时先刷写B+Tree各更新节点,最后再刷写指向根节点的超级块;将元数据的B+Tree节点插入、删除操作采用日志方式镜像到对端冗余控制器,记录新增、删除的叶子节点,并记录B+Tree刷写次数;当主控端控制器失效时,通过日志及版本号,重新插入、删除信息,恢复数据。通过日志方式远程镜像到冗余控制器,保证元数据一致性。
【专利说明】一种精简池元数据节点刷新一致性保护方法

【技术领域】
[0001]本发明涉及数据存储技术,尤其涉及到高端磁盘阵列中自动精简配置的元数据处理方法,具体说是一种精简池元数据节点刷新一致性保护方法。

【背景技术】
[0002]高端磁盘阵列采用多个控制器冗余设计,提供存储数据的高可用服务,其存储池的高级功能自动精简配置,采用存储资源“写时分配”策略,通过改变存储系统的资源按需分配,提高磁盘存储空间利用率,达到降低存储系统的部署成本和节约资源的目的。
[0003]具有自动精简配置功能的存储池简称精简池,精简池在结构上分为数据区和元数据区,数据区用于存储数据。元数据区包括了存储池超级块,元数据位图,数据位图,逻辑卷信息等,对自精简存储池组织管理者。
[0004]对于精简池的元数据空间、数据空间、逻辑卷数据块映射信息都采用B+Tree结构组织管理,B+Tree节点间通过块号指针连接,这种B+Tree组织方式的优点是查询层数少、效率较高,加载到内存不需要转换,但是当对B+Tree节点做插入、删除操作时,会对B+Tree多层节点的子节点指针或者叶子节点内容重新错位移动,存在以下问题:
1、增加删除节点时对元数据改动量较大(每个节点为元数据空间数据块大小,>=4KB),若以同步方式写入则延迟大、影响性能,若以异步方式写入则当控制器掉电或者失效会造成数据丢失问题;
2、更新过程中发生系统掉电或者控制器失效可导致树结构错乱、丢失,因为每个插入/删除节点可能涉及多层节点错位变更、且节点占用空间可大于512字节扇区大小,控制器掉电或失效瞬间并不能保证完全写入。


【发明内容】

[0005]本发明实施提出一种精简池元数据节点刷新一致性保护方法,可有效的解决上述的B+Tree节点插入和删除操作带来的两个问题。其包括:
1、将元数据缓存镜像和日志备份到冗余控制器上,异步写入,以提高读写性能;
2、将元数据的B+Tree节点插入、删除时从根节点到叶子节点使用“写时复制”方式,刷写时先刷写B+Tree各更新节点,最后再刷写指向根节点的超级块。超级块占用空间足够小,且各指针处在512字节范围内,在更新过程中断电,可以保证超级块要么记录新B+Tree的指针,要么记录旧B+Tree的指针,都具有完整一致性;
3、将元数据的B+Tree节点插入、删除操作采用日志方式镜像到对端控制器,记录新增、删除的叶子节点,并记录B+Tree刷写次数(版本号)。当主控端控制器失效时,通过日志及版本号,重新插入、删除信息,恢复数据。
[0006]元数据B+Tree节点操作,通过日志方式远程镜像到冗余控制器,保证元数据一致性。可解决元数据B+Tree节点操作带来的B+Tree多层节点的子节点指针或者叶子节点内容重新错位移动的问题,以及在元数据B+Tree节点操作中控制器失效带来的B+Tree丢失问题。

【专利附图】

【附图说明】
[0007]图1是更新元数据B+Tree节点示意图。

【具体实施方式】
[0008]下面对本发明的内容进行更加详细的阐述:
将元数据缓存镜像和日志备份到冗余控制器上。
[0009]将元数据的B+Tree节点插入、删除时从根节点到叶子节点使用“写时复制”方式,刷写时先刷写B+Tree各更新节点,最后再刷写指向根节点的超级块。
[0010]将元数据的B+Tree节点插入、删除操作采用日志方式镜像到对端冗余控制器,记录新增、删除的叶子节点,并记录B+Tree刷写次数。当主控端控制器失效时,通过日志及版本号,重新插入、删除信息,恢复数据。
[0011]本发明实施例提供一种精简池元数据节点刷新一致性保护方法,可有效的解决精简池元数据B+Tree节点数据刷写一致性,提高存储池数据完整性。
[0012]下面参考图1实例说明。
[0013]存储池pool O的逻辑卷32增加块映射,逻辑块为40,则对映射树插入节点(key=40),首先备份日志到镜像冗余控制器(控制器B),记录对应的pool,Iv操作及参数(insert, key=40, value=xxx),然后更新B+TREE,从根节点到叶子节点都新分配元数据块,避免使用原来元数据块,且直到B+TREE节点刷写完成才可释放旧的元数据块。如果当主控端控制器失效时,通过日志及版本号,重新插入、删除信息,恢复数据。
[0014]经过以上操作,B+Tree节点插入删除等操作都可以保证一致性问题。
[0015]此设计可以存储阵列的存储性能,提高精简存储池操作的可靠性,提高产品在市场上的竞争力。
【权利要求】
1.一种精简池元数据节点刷新一致性保护方法,其特征在于,包括: 将元数据缓存镜像和日志备份到冗余控制器上; 将元数据的B+Tree节点插入、删除时从根节点到叶子节点使用写时复制方式,刷写时先刷写B+Tree各更新节点,最后再刷写指向根节点的超级块; 将元数据的B+Tree节点插入、删除操作采用日志方式镜像到对端冗余控制器,记录新增、删除的叶子节点,并记录B+Tree刷写次数;当主控端控制器失效时,通过日志及版本号,重新插入、删除信息,恢复数据。
2.根据权利1的要求,其特征在于,还包括: 将元数据缓存镜像和日志备份到冗余控制器上,采用异步写入,以提高读写性能。
3.根据权利1的要求,其特征在于,还包括: 将元数据的B+Tree节点插入、删除时从根节点到叶子节点使用写时复制方式,从根节点到叶子节点都新分配元数据块,避免使用原来元数据块,且直到B+TREE节点刷写完成才可释放旧的元数据块。
4.根据权利1的要求,其特征在于,还包括: 将元数据B+Tree节点插入、删除操作通过日志方式记录到对端冗余控制器中,包括,记录操作的类型是插入还是删除,是哪个存储池、逻辑卷、数据块。
【文档编号】G06F12/02GK104391802SQ201410678460
【公开日】2015年3月4日 申请日期:2014年11月24日 优先权日:2014年11月24日
【发明者】周耀辉, 赵静, 施培任 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1