一种基于二次分配管理磁盘扩展空间方法及系统技术方案

技术编号:10960766 阅读:95 留言:0更新日期:2015-01-28 13:03
本发明专利技术提供一种基于二次分配管理磁盘扩展空间方法及系统,属于磁盘管理领域,包括以下步骤:将预留区划分为镜像数据区、常规数据区;接收到向所述预留区发起的数据请求,若判断有权限读写,则进一步判断所述数据请求是否位于所述镜像数据区;若位于所述镜像数据区,则进行镜像读写,否则进行常规读写。本发明专利技术基于二次分配和字符串标识,提高版本兼容性;元数据使用镜像写入方式,提高了系统健壮性;其他模块透过预留区模块接口访问扩展空间,实现了预留区访问的入口限制,解决了数据紊乱的问题。

【技术实现步骤摘要】
一种基于二次分配管理磁盘扩展空间方法及系统
本专利技术属于磁盘管理领域,尤其涉及一种基于二次分配管理磁盘扩展空间方法及系统。
技术介绍
磁盘模块是存储系统的基础模块,磁盘模块的性能和健壮程度,严重影响存储产品的整体性能和可靠性;存储系统的部分核心功能需要磁盘驱动提供对应的扩展来达成,例如磁盘自修复和磁盘阵列RAID快速同步需要保留持久的存储空间;同时,磁盘上的数据比其他数据更重要,例如自修复元数据丢失,导致读写映射无法判断和执行,磁盘上所有的数据不再有意义。 当前磁盘驱动扩展一般通过多层虚拟磁盘的方案实现,即每一个扩展功能对应一层虚拟块设备,按照扩展功能的特征决定虚拟块设备次序,请求一级级的传递直到后端硬盘;扩展功能对持久空间的需求则通过分区或者每一级扩展功能各自实现存储空间预留实现。 这种设计模式由于其局限性,容易带来性能、兼容性、健壮性和数据紊乱的问题;首先,由于多层虚拟磁盘上1迭代和b1有效性的检查造成性能损失;其次,多层虚拟块设备相互不存强制的层次关系和请求写入限制,插入新的虚拟层或移除部分废弃的虚拟层,均会导致兼容性问题;再次,扩展功能各自维护存储空间预留,造成相同功能的代码多次重复,这导致系统健壮性和可维护性的降低;最后,该架构难以实现特定模块写入区段的限制,容易导致数据紊乱现象。
技术实现思路
本专利技术提供一种基于二次分配管理磁盘扩展空间方法及系统,以解决上述问题。 本专利技术提供一种基于二次分配管理磁盘扩展空间方法。上述方法包括以下步骤: 将预留区划分为镜像数据区、常规数据区; 接收到向所述预留区发起的数据请求,若判断有权限读写,则进一步判断所述数据请求是否位于所述镜像数据区; 若位于所述镜像数据区,则进行镜像读写,否则进行常规读写。 本专利技术还提供一种基于二次分配管理磁盘扩展空间系统,包括划分模块、权限判断模块、读写模块;其中,所述划分模块通过所述权限判断模块与所述读写模块相连; 所述划分模块,用于将预留区划分为镜像数据区、常规数据区并将划分结果通知所述权限判断模块; 所述权限判断模块,用于接收到向所述预留区发起的数据请求,若判断有权限读写,则进一步判断所述数据请求是否位于所述镜像数据区并将权限判断结果通知所述读写模块; 所述读写模块,用于根据所述权限判断模块的通知结果,进行镜像读写或常规读与O 相较于先前技术,根据本专利技术提供的一种基于二次分配管理磁盘扩展空间方法及系统,实现预留区二次分配;作为插件接入到虚拟磁盘框架,预留区分为镜像数据区(元数据区)和常规数据区,元数据区通过预留磁盘前端和后端的同等大小的存储空间实现RAIDl镜像,提闻关键数据可罪性,其他|旲块通过本|旲块定制的接口获取存储空间,实现定制功能;预留区模块通过模块字符串匹配来定位扩展空间的位置和大小,因为模块由系统内部维护,这是安全的;通过定制的扩展处理函数,减少1迭代和b1检查次数,提高性能;基于二次分配和字符串标识,提高版本兼容性;元数据使用镜像写入方式,提高了系统健壮性;其他模块透过预留区模块接口访问扩展空间,实现了预留区访问的入口限制,解决了数据紊乱的问题。 【附图说明】 此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1所示为本专利技术实施例1的磁盘整体布局示意图; 图2所示为本专利技术实施例2的磁盘预留区内部示意图; 图3所示为本专利技术实施例3的数据请求流程图; 图4所示为本专利技术实施例4的基于二次分配管理磁盘扩展空间方法流程图; 图5所示为本专利技术实施例5的基于二次分配管理磁盘扩展空间系统结构图。 【具体实施方式】 下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。 本专利技术实现为智能虚拟磁盘模块的接入插件,实现磁盘空间预留、元数据镜像功能,并提供预留区再分配、释放、查找和读写等接口,下文缩写记做rz-mangle ;磁盘初始化时,智能虚拟磁盘根据管理员配置划分存储空间、rz-mangle按照特定比例划分为镜像数据区和常规数据区,写入镜像块、超级块,镜像写入解决少量扇区错误导致磁盘失效的问题。 使用预留区前需要执行分配,rz-mangle提供分配接口,rz-mangle使用锁定机制实现分配串行化,接着检测标识字符串预留区是否已存在,以及空闲预留区是否能够满足,条件满足后插入新的条目到rz-mangle超级块维护标识字符串和空间位置、大小的映射表。根据参数设置,可分配不同大小的镜像数据区(元数据区)和常规数据区。 如图1所示,预留区O和预留区I是默认的预留区;数据区域是虚拟磁盘空间,用于存储用户数据。自修复O和自修复I用作坏扇区映射。 如图2所示,每个预留区分为预留区超级块、预留区镜像块、预留区数据块三部分,例如:预留区O分为预留区超级块、预留区镜像块、预留区数据块O ;预留区I分为预留区超级块、预留区镜像块、预留区数据块I。预留区超级块维护内部数据,外部不可见,镜像方式读写;预留区镜像块提供镜像区域,提供高可靠的数据存储;预留区数据块是正常数据的保存区域。 预留区分配成功后,调用rz-mangle查询接口获取预留区位置、大小及相应的块设备描述结构,读写请求按照常规方式提交,智能虚拟磁盘框架调度请求到达rz-mangle,rz-mangle根据写入位置决定是镜像数据区写或常规数据区写,重新生成适当的写入请求,提交到智能虚拟磁盘,智能虚拟磁盘依次调度更底层的写入mangle,以实现存储系统的其他功能(例如自修复功能表达的坏扇区映射)。 预留区使用完毕后可以释放,rz-mangle提供释放接口,释放完毕后,无法再对这部分空间执行写入。 rz-mangle查询接口提供一个64位的访问标识符identifier。提交请求时,和该标识符不符的请求认为是一个权限不足的1请求,会以-EPERM错误返回。标识符验证通过后执行写入位置和大小验证,不在分配范围内的请求以错误-E1结束,表示越界。标识符identifier在智能虚拟磁盘接管磁盘时随机生成,在移除前保持不变。 rz-mangle的初始化由智能虚拟磁盘框架触发,在接入或移除磁盘时,udev事件触发智能虚拟磁盘的加载或移除接口,进而触发rz-mangle的加载或移除。在创建磁盘阵列RAID卷组时,智能虚拟磁盘模块根据配置参数执行初始化,rz-mangle初始化后清空超级块,使用预留区的模块在创建磁盘阵列RAID时需要再次调用rz-mangle的分配接口。 对于从其他模块发起的数据请求,在rz-mangle模块内部判断是否有权限读写,无权限读写则以指定错误码结束;读写权限判断通过后,检测请求是否位于镜像数据区,根据检测结果执行对应的读写请求:若不位于镜像数据区,则进行非镜像读写即常规读写,否则进行镜像读写,通过虚拟磁盘框架写入后端磁盘。 如图3所示,展现了数据流动处理方向,包括以下步骤: 步骤301:预留区使用者向预留区发起数据请求; 步骤302:判断是否有权限读写,若无权限读写则以指定错误码结束;若有权限读写,则本文档来自技高网...
一种基于二次分配管理磁盘扩展空间方法及系统

【技术保护点】
一种基于二次分配管理磁盘扩展空间方法,其特征在于,包括以下步骤:将预留区划分为镜像数据区、常规数据区;接收到向所述预留区发起的数据请求,若判断有权限读写,则进一步判断所述数据请求是否位于所述镜像数据区;若位于所述镜像数据区,则进行镜像读写,否则进行常规读写。

【技术特征摘要】
1.一种基于二次分配管理磁盘扩展空间方法,其特征在于,包括以下步骤: 将预留区划分为镜像数据区、常规数据区; 接收到向所述预留区发起的数据请求,若判断有权限读写,则进一步判断所述数据请求是否位于所述镜像数据区; 若位于所述镜像数据区,则进行镜像读写,否则进行常规读写。2.根据权利要求1所述的方法,其特征在于:将预留区划分为镜像数据区、常规数据区的过程为: rz-mangle检测标识字符串预留区是否已存在及预留区是否能够满足,条件满足后插入新的条目到rz-mangle超级块维护标识字符串和空间位置、大小的映射表并且根据参数设置,分配不同大小的镜像数据区和常规数据区;其中,所述rz-mangle是指智能虚拟磁盘模块的接入插件。3.根据权利要求1或2所述的方法,将所述预留区划分为预留区超级块、预留区镜像块、预留区数据块。4.根据权利要求3所述的方法,其特征在于:所述预留区超级块采用镜像方式读写,以外部不可见方式维护内部数据;所述预留区镜像块提供镜像区域和数据存储;所述预留区数据块是正常数据的保存区域。5.根据权利要求4所述的方法,其特征...

【专利技术属性】
技术研发人员:闫永刚吴庆民
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1