[发明专利]一种LVM数据一致性的控制方法及装置在审
申请号: | 201710104438.8 | 申请日: | 2017-02-24 |
公开(公告)号: | CN106897029A | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 方浩 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 lvm 数据一致性 控制 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,更具体的说,涉及一种LVM数据一致性的控制方法及装置。
背景技术
共享存储作为目前企业虚拟化软件中的主流存储方式,它的主要执行时为虚拟机和上层业务提供数支撑。目前市场上开源软件及部分商业软件主要采用共享文件系统,如vmware提供的VMFS(VMware Virtual Machine File System,高性能的群集文件系统),Oracle VM中的OCFS文件系统,NAS(Network Attached Storage,网络附属存储)中的NFS(Network File System,网络文件系统)、CIFS(Common Internet File System,通用网络文件系统)等,对共享存储进行存储管理。
但是,由于文件系统自身限制(如性能),导致文件系统提供的共享存储性能不及块存储,因此,目前主要采用块存储对共享存储进行存储管理。在块存储中,通常选用LVM(Logical Volume Manager,逻辑卷管理)。LVM是一种linux环境对磁盘或分区提供的管理机制,通过将底层的物理存储抽象封装,在磁盘和分区之上建立逻辑层,然后以逻辑卷的方式呈现给上层应用。LVM支持对磁盘的动态管理,能够根据业务需求增大或减小已分配的存储空间,从而大大提高了存储管理的灵活性。
然而,目前LVM的开源实现仅仅支持单节点的存储管理,对于集群环境,由于无法保证LVM元数据的一致性,而无法广泛应用于存储虚拟化平台中。
发明内容
有鉴于此,本发明公开一种LVM数据一致性的控制方法及装置,以解决传统方案中,无法保证LVM元数据的一致性,从而使LVM无法广泛应用于存储虚拟化平台中的问题。
一种LVM数据一致性的控制方法,包括:
将LVM系统中数据的一致性分为两个维度,分别为卷组元数据和逻辑卷;
在修改所述卷组元数据时,根据多机之间单一访问控制原则和各个主机元数据保持一致原则,向Sanlock代理模块申请添加与所述卷组元数据相对应的独占锁进行保护;
在所述逻辑卷被激活使用前,根据所述逻辑卷被单主机使用还是被多主机使用,向Sanlock代理模块申请添加对应的独占锁或共享锁进行保护。
优选的,所述在修改所述卷组元数据时,根据多机之间单一访问控制原则和各个主机元数据保持一致原则,向Sanlock代理模块申请添加与所述卷组元数据相对应的独占锁进行保护包括:
在修改所述卷组元数据之前,根据多机之间单一访问控制原则和各个主机元数据保持一致原则,向Sanlock代理模块申请添加独占锁请求;
当所述Sanlock代理模块接收到所述添加独占锁请求之后,通过所述Sanlock代理模块,向与所述Sanlock代理模块预关联的Sanlock进程发送第一锁请求;
当所述Sanlock进程接收到所述第一锁请求之后,通过所述Sanlock进程向元数据锁存储空间申请与所述卷组元数据对应的元数据锁空间;
使用Sanlock中的租约paxos lease,向所述元数据锁空间添加锁租约,实现独占锁的添加。
优选的,所述当所述Sanlock代理模块接收到所述添加独占锁请求之后,通过所述Sanlock代理模块,向与所述Sanlock代理模块预关联的Sanlock进程发送第一锁请求包括:
当所述Sanlock代理模块接收到所述添加独占锁请求之后,通过所述Sanlock代理模块判断所述卷组元数据是否已经被其他资源占用修改;
若所述卷组元数据未被其他资源占用修改,则向与所述Sanlock代理模块预关联的Sanlock进程发送所述第一锁请求。
优选的,还包括:
若所述卷组元数据已经被其他资源占用修改,则在预设时间段后,再次判断所述卷组元数据是否已经被其他资源占用修改。
优选的,所述在所述逻辑卷被激活使用前,根据所述逻辑卷被单主机使用还是被多主机使用,向Sanlock代理模块申请添加对应的独占锁或共享锁进行保护包括:
在所述逻辑卷被主机激活使用前,根据所述逻辑卷被单主机使用还是被多主机使用,向Sanlock代理模块申请添加对应的独占锁或共享锁;
当所述Sanlock代理模块接收到所述添加独占锁请求之后,通过所述Sanlock代理模块,向与所述Sanlock代理模块预关联的Sanlock进程发送第二锁请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710104438.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种共享存储的管理方法及系统
- 下一篇:一种缓存数据管理方法及装置