一种软独立冗余磁盘阵列的管理方法和系统的制作方法

文档序号:6334691阅读:154来源:国知局
专利名称:一种软独立冗余磁盘阵列的管理方法和系统的制作方法
技术领域
本发明属于计算机应用领域,具体涉及Linux操作系统中软RAID化管理方法和系 统。
背景技术
在Linux操作系统中,目前mdadm软件已经实现了对软RAID (Redundant Array of Independent Disk,独立冗余磁盘阵列)的管理,可以用来对RAID组进行创建、删除、磁 盘超级块的查询、RAID信息查询等操作。另外LVM (Logic Volume Management,逻辑卷管 理)工具集也实现了对逻辑卷的一整套的管理,包括建卷、删卷、卷信息查询等功能。这些工 具都是基于命令行的,需要人工在linux shell中手动输入命令完成以上功能。然而,在大多项目的应用中,上述的工具可能不能满足项目应用的需求。因为项 目中需要对这些流程自动化管理,并且需要定时地查询卷、组、磁盘的信息。尤其是将JBOD (Just a Bunch Of Disks,磁盘簇)应用到项目中后,每个节点管理的硬盘增多,总的硬盘容 量增加,目前人工手动实现的对软RAID及其卷组的管理效率太低,因此更加需要一个有效 的管理方法。

发明内容
本发明要解决的技术问题是提供一种Linux操作系统中软RAID的管理方法和系 统,提高软RAID的管理效率。为解决上述技术问题,本发明提供一种软独立冗余磁盘阵列(RAID)的管理方法, 包括
软RAID初始化的步骤,包括获取磁盘超级块信息,根据所述超级块信息尝试恢复硬 盘中的RAID组;
软RAID自动创建的步骤,包括查询磁盘簇(JBOD)信息和磁盘信息,根据查询结果选 择合适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、格 式化卷、挂载卷;
软RAID自动管理的步骤,包括周期性查询以下信息中的一种或几种并上报RAID组 fn息、石兹^lf曰息、-^fn息ο进一步地,在执行软RAID初始化的步骤前,预先配置用于软RAID初始化的应用程 序编程接口(API)恢复API ;
在执行软RAID初始化的步骤时,调用所述恢复API完成软RAID初始化的步骤。进一步地,所述根据查询结果选择合适的建组建卷规则的步骤包括根据查询到 的JBOD信息从预先配置的建组建卷规则中选择一个符合当前JBOD信息情况的建组建卷规 则。进一步地,在执行软RAID自动创建的步骤前,预先配置以下API 查询JBOD信息 的API、查询磁盘信息的API、创建RAID组的API、创建卷的API、格式化卷的API、挂载卷的
4API ;
所述查询JBOD信息的步骤包括调用查询JBOD信息的API进行JBOD信息查询; 所述查询磁盘信息的步骤包括调用查询磁盘信息的API进行磁盘信息查询操作; 所述创建RAID组的步骤包括调用创建RAID组的API进行创建RAID组的操作; 所述创建卷的步骤包括调用创建卷的API进行创建卷的操作; 所述格式化卷的步骤包括调用格式化卷的API进行格式化卷的操作; 所述挂载卷的步骤包括调用挂载卷的API进行挂载卷的操作。进一步地,在执行软RAID自动创建的步骤前,预先配置以下API 查询RAID组信 息的API、查询卷信息的API ;
在创建RAID组后创建卷前,所述方法还包括调用查询RAID组信息的API进行RAID 组信息查询的操作;
在挂载卷后,所述方法还包括调用查询卷信息的API进行卷信息查询操作。进一步地,所述软RAID自动管理的步骤还包括,根据周期性查询的结果进行性能 统计,包括统计输入输出量和/或容量。进一步地,所述软RAID自动管理的步骤还包括以下操作中的一种或几种
在需要删除RAID组时,调用预配置的删除RAID组的API,用于删除指定RAID组,并清 除对应磁盘上的超级块信息;
在需要删除卷时,调用预配置的删除卷的API,用于卸载卷、删除逻辑卷(LV)、删除卷 组(VG)、删除物理卷(PV);
在有新磁盘插入且需要将其添加为热备盘时,调用预配置的添加热备盘的API,用于将 该新磁盘作为热备盘加入到现有的组中;
在需要扩容时,调用预配置的扩容API,用于将RAID组内的热备盘配置成工作盘。为解决上述技术问题,本发明还提供一种软独立冗余磁盘阵列(RAID)的管理系 统,包括初始化子系统、软RAID自动创建子系统以及软RAID自动管理子系统,其中
所述初始化子系统,用于获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中 的RAID组;
所述软RAID自动创建子系统,用于查询磁盘簇(JBOD)信息和磁盘信息,根据查询结果 选择合适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、 格式化卷、挂载卷;
所述软RAID自动管理子系统,用于周期性查询以下信息中的一种或几种并上报 RAID组信息、磁盘信息、卷信息。进一步地,所述软RAID自动创建子系统包括查询单元、选择规则单元和操作执行 单元,其中
所述查询单元用于查询JBOD信息和磁盘信息;
所述选择规则单元用于根据查询到的JBOD信息从预先配置的建组建卷规则中选择 一个符合当前JBOD信息情况的建组建卷规则;
所述操作执行单元用于根据选择的建组建卷规则执行以下操作创建RAID组、创建 卷、格式化卷、挂载卷。进一步地,所述软RAID自动管理子系统,还用于根据周期性查询的结果进行性能统计并上报,包括统计输入输出量和/或容量。本发明实施例提供一套封装成API接口的模块,提供给上层调用。模块的形式可 以是动态库、静态库。上层在上电流程中,可以调用这些接口进行建组、建卷、格式化卷、挂 卷等一系列操作。在版本的运行过程中,也可以定时地调用查询接口来获取当前卷组的基 本信息,从而对卷组的状态进行管理,并作出相应的告警和统计。相比手动管理方法,本文 所提供的自动管理方法可避免人为的输入错误,效率更高。


图1为本发明实施例软RAID模块中所涉及的物理层次结构示意图; 图2为本发明实施例系统结构示意图3为本发明实施例与RAID相关的软件系统的上电初始化流程图。
具体实施例方式针对应用了 JBOD的项目,每个节点管理的硬盘增多,总的硬盘容量增加,从安全 和成本两个角度考虑,使用RAID5是比较合适的一个方案。本发明的软RAID管理方法虽然 针对RAID5设计,但本发明的设计思路也可应用于其他软RAID的管理。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互任意组合。实施例1
本文所提供的软RAID的管理方法主要用于软RAID自动初始化、创建和管理,包括
一、软RAID初始化的步骤,包括获取磁盘超级块信息,根据所述超级块信息尝试恢复 硬盘中的RAID组;
二、软RAID自动创建的步骤,包括查询JBOD信息和磁盘信息,根据查询结果选择合 适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、格式化 卷、挂载卷;
所述根据查询结果选择合适的建组建卷规则的步骤包括根据查询到的JBOD信息从 预先配置的建组建卷规则中选择一个符合当前JBOD信息情况的建组建卷规则。三、软RAID自动管理的步骤,包括周期性查询以下信息中的一种或几种并上报 RAID组信息、磁盘信息、卷信息。在步骤三中,查询的信息可以提供给需要的模块,此外还可根据周期性查询的结 果进行性能统计,包括统计输入输出量和/或容量。对于步骤一中的操作,可通过调用 APKApplication Programming Interface,应 用程序编程接口)的方式实现,如在执行软RAID初始化的步骤前,预先配置用于软RAID初 始化的API 恢复API ;在执行软RAID初始化的步骤时,调用所述恢复API完成软RAID初始 化的步骤。同样地,对于步骤二中的操作,也可通过调用相应的API来实现,如在执行软RAID 自动创建的步骤前,预先配置以下API 查询JBOD信息的API、查询磁盘信息的API、创建 RAID组的API、创建卷的API、格式化卷的API、挂载卷的API ;则上述查询JBOD信息的步骤 包括调用查询JBOD信息的API进行JBOD信息查询;上述查询磁盘信息的步骤包括调用查询磁盘信息的API进行磁盘信息查询操作;上述创建RAID组的步骤包括调用创建RAID 组的API进行创建RAID组的操作;上述创建卷的步骤包括调用创建卷的API进行创建卷 的操作;上述格式化卷的步骤包括调用格式化卷的API进行格式化卷的操作;上述挂载卷 的步骤包括调用挂载卷的API进行挂载卷的操作。优选地,在执行软RAID自动创建的步骤前,预先配置以下API 查询RAID组信息 的API、查询卷信息的API ;在创建RAID组后创建卷前,调用查询RAID组信息的API进行 RAID组信息查询的操作;在挂载卷后,调用查询卷信息的API进行卷信息查询操作。除了上述提到的软RAID自动管理步骤之外,还可以进行其他的管理操作,包括 以下操作中的一种或几种在需要删除RAID组时,调用删除RAID组的API,用于删除指定 RAID组,并清除对应磁盘上的超级块信息;在需要删除卷时,调用删除卷的API,用于卸载 卷、删除逻辑卷(LV)、删除卷组(VG)、删除物理卷(PV);在有新磁盘插入且需要将其添加为 热备盘时,调用添加热备盘的API,用于将该新磁盘作为热备盘加入到现有的组中;在需要 扩容时,调用扩容API,用于将RAID组内的热备盘配置成工作盘。系统要实现上述该些功能,需要建立在已经实现了相关API功能的RAID模块(物 理层次如图1所示)的基础之上,该些API可供系统来调用。上述各种API是预先进行配置的,包括对相应的命令(如软RAID管理的命令或卷 组管理命令)分别进行编译,封装成模块或动态库或静态库(根据命令的特性,可以将部分 命令封装成模块,将部分命令封装成静态库,或者将部分命令封装成动态库)。在封装API 时可采用系统调用的方式实现。配置的API包括以下API的一种或几种
创建RAID组的API、删除RAID组的API、查询RAID信息的API、创建卷的API、格式化 卷的API、挂载卷的API、删除卷的API、查询卷信息的API、查询磁盘信息的API、查询JBOD 信息的API、添加热备盘的API、扩容API、恢复API。通过采用API对RAID及其卷组进行管理,从而达到可以自动化管理软RAID的目 标。下面分别对各种API进行详细介绍 ▲创建RAID组的API
创建RAID组的API接口提供了创建RAID组的功能,可以通过参数来选择创建不同级 别的RAID (RAIDO、RAIDl或RAID5)、选择不同的调带大小(通常选择4K-512K)、选择加入 RAID组的工作磁盘以及热备盘的个数和相应的磁盘序列号。▲删除 RAID 组的 API
删除RAID组的API接口提供了对指定RAID组的删除功能,并清除对应磁盘上的超级 块fe息。▲查询RAID信息的API
查询RAID信息的API提供了 RAID信息查询的功能,主要包括查询一下信息中的一种 或多种RAID组的状态、主次设备号、组名、组的容量、组的剩余容量、RAID级别、调带大小、 工作盘个数、热备盘个数以及相应的磁盘列表。▲创建卷的API
创建卷的API接口用于进行以下操作创建物理卷(PV)、卷组(VG)和逻辑卷(LV),其
7中PV和VG是对上层透明的,上层只看到LV和LV所挂载的目录。▲格式化卷的API
格式化卷的API接口用于格式化卷。▲挂载卷的API
挂载卷的API用于将卷挂载到指定挂载点(简称为挂卷)。▲删除卷的API
删除卷的API接口用于进行以下操作卸载卷、删除LV、删除VG、删除PV0▲查询卷信息的API
查询卷信息的API用于提供以下信息中一种或几种的查询卷的状态、卷的主次设备 号、卷名、卷容量、卷的剩余容量、是否挂载和相应的挂载点。▲查询磁盘信息的API
查询磁盘信息的API用于提供以下信息中一种或几种的查询磁盘的状态、磁盘的主 次设备号、磁盘盘符、磁盘序列号、磁盘所属卷组、磁盘大小、磁盘槽位号。▲查询JBOD信息的API
用于查询JBOD有多少个磁盘的槽位,以及JBOD的厂商信息等。▲添加热备盘的API
用于在有新磁盘插入时,将该新磁盘作为热备盘加入到现有的组中。▲扩容 API
包括组扩容和卷扩容的功能,用于将RAID组内的热备盘配置成工作盘。▲恢复 API
用于在操作系统复位后,或者是将JBOD接到其他服务器上后,提供恢复API,包括获 取每个硬盘的超级块信息,根据超级块信息中的卷组信息恢复相应的卷组。实施例2
实现上述软RAID管理的系统,包括初始化子系统、软RAID自动创建子系统以及软RAID 自动管理子系统,其中
所述初始化子系统,用于获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中 的RAID组;
所述软RAID自动创建子系统,用于查询JBOD信息和磁盘信息,根据查询结果选择合 适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、格式化 卷、挂载卷;
所述软RAID自动管理子系统,用于周期性查询以下信息中的一种或几种并上报 RAID组信息、磁盘信息、卷信息。优选地,所述软RAID自动创建子系统包括查询单元、选择规则单元和操作执行单 元,其中
所述查询单元用于查询JBOD信息和磁盘信息;
所述选择规则单元用于根据查询到的JBOD信息从预先配置的建组建卷规则中选择 一个符合当前JBOD信息情况的建组建卷规则;
所述操作执行单元用于根据选择的建组建卷规则执行以下操作创建RAID组、创建 卷、格式化卷、挂载卷。
优选地,所述软RAID自动管理子系统,还用于根据周期性查询的结果进行性能统 计并上报,包括统计输入输出量和/或容量。下面结合图2对上述系统的一种具体实现进行说明,上述各子系统及相应单元的 功能,可通过以下三个模块实现软RAID管理模块,资源管理模块和操作维护模块,其中
所述软RAID管理模块,用于配置API ;
所述资源管理模块,用于在所述软RAID初始化时、在软RAID自动创建时以及在对软 RAID自动管理时下发控制命令,触发操作维护模块;
所述操作维护模块,用于调用软RAID管理模块中的相应的API进行操作。优选地,所述软RAID管理模块,用于对软RAID管理的命令和对卷组管理的命令分 别进行编译,封装成模块或动态库或静态库,即API,供上层调用。封装的API接口可分别通 过调用Iinux内核中MD和DM两部分驱动提供的ioctl API接口来实现。其中,所有操作 均可以直接通过Iinux的系统调用完成。优选地,所述软RAID管理模块配置的API包括以下API的一种或几种创建RAID 组的API、删除RAID组的API、查询RAID信息的API、创建卷的API、格式化卷的API、挂载卷 的API、删除卷的API、查询卷信息的API、查询磁盘信息的API、查询JBOD信息的API、添加 热备盘的API、扩容API、恢复API。优选地,所述资源管理模块用于在软RAID自动创建时,指示操作维护模块调用软 RAID管理模块中的查询JBOD信息的API进行JBOD信息查询、调用查询磁盘信息的API进 行磁盘信息查询操作;在查询到所有的磁盘信息和JBOD信息后,资源管理模块选择空闲的 磁盘用来建组,根据建组规则(例如包括每个组个数,建组的个数,每个组磁盘对应的槽位 等)指示操作维护模块调用软RAID管理模块中的创建RAID组的API进行创建RAID组的操 作;完成建组后,再指示操作维护模块调用软RAID管理模块中的查询RAID信息的API进行 RAID信息查询的操作,根据组信息的剩余空间决定所创建卷的大小,根据建卷规则(例如包 括卷的个数、卷文件系统类型、chunk (块)大小等)指示操作维护模块调用软RAID管理模 块中的创建卷的API进行创建卷、调用格式化卷的API进行格式化卷、调用挂载卷的API进 行挂卷操作;建卷完成后,指示操作维护模块调用软RAID管理模块中的查询卷信息的API 进行卷信息查询操作。优选地,所述资源管理模块还用于在对软RAID自动管理时,触发操作维护模块调 用软RAID管理模块中的相应的API进行以下操作查询卷、组、磁盘信息以使数据库对每 个节点的信息进行更新和管理,以及在发现有新的磁盘插入时,指示操作维护模块发起磁 盘信息查询,当查询到磁盘状态为空闲时,指示操作维护模块调用RAID模块的添加热备盘 API,将该新磁盘加入到某个组做空闲盘。当组校验完成并且有两个以上的热备盘,需将某 个热备盘设置成工作盘时,指示操作维护模块调用RAID模块的扩容API,将该RAID组扩容寸。优选地,所述操作维护模块直接和软RAID管理模块交互,根据资源管理模块的指 示调用RAID管理模块中的API接口完成以下操作中的一种或几种磁盘信息的查询、卷信 息的查询、组信息的查询、卷的创建、卷的删除、组的创建、组的删除、JBOD信息的查询、添加 热备盘、扩容和恢复。此外,还在软RAID自动管理时,还用于定期调用RAID管理模块中涉 及查询的API查询以下信息中的一种或几种卷信息、组信息、磁盘信息,根据查询的结果
9进行性能统计包括统计当前的IO (输入输出)值(单位为字节/秒)和容量(单位为字节或 兆等)。当判断发生有异常时,触发告警或通知。优选地,所述系统还包括数据库模块,其用于存储磁盘信息、卷信息和组信息,以 及根据上层配置的参数在上电初始化时进行建组规则和建卷规则的配置,如配置建组、建 卷参数。实施例3
下面将结合图3对实施例1中所述的初始化和自动创建的流程进行详细描述。上电初 始化流程主要包括建组、建卷、格式化卷、挂卷等一系列的流程,通过初始化接口可被调用, 如图3所示,包括以下步骤
5001资源管理模块在版本启动时向操作维护模块下发初始化命令;
5002操作维护模块指示RAID管理模块调用软RAID初始化流程,包括获取磁盘超级块 信息,根据所述超级块信息尝试恢复硬盘中的RAID组;
通过初始化流程中提供的恢复卷组的机制,可以避免重复建组和建卷。S101:资源管理模块指示操作维护模块发起JBOD信息以及相应磁盘信息的查 询;
5102操作维护模块指示RAID管理模块调用JBOD信息查询API和磁盘查询API ;
5103=RAID管理模块向操作维护模块返回JBOD信息以及对应的磁盘信息;
其中JBOD信息包括JBOD总的槽位数,磁盘信息包括实际插入的总磁盘数、每个磁盘的 磁盘序列号和磁盘的状态等。S104 操作维护模块向资源管理模块上报JBOD信息以及对应的磁盘信息;
5105资源管理模块将JBOD信息以及对应的磁盘信息发送至数据库模块;
5106数据库模块更新数据表,数据库模块根据资源管理模块上报的JBOD的信息查询 预配置的建组建卷规则,找到与JBOD信息对应的建组建卷规则;
具体地,根据JBOD有多少个磁盘的槽位(不考虑JBOD上是否插有硬盘)进行查询。对 应不同的槽位数有相应的建组和建卷规则。S107 数据库模块向资源管理模块返回响应,表示其收到JBOD信息以及对应的磁
盘fe息;
S108-S109 资源管理模块向数据库模块发起建组建卷规则查询;数据库模块返回响 应,将查询到的建组建卷规则通知资源管理模块;
在其他实施例中,数据库模块也可以在S107中,将建组建卷规则返回给资源管理模块。SllO 资源管理模块根据这些规则触发建组的流程,向操作维护模块下发建组命 令;
5111操作维护模块调用RAID模块的创建RAID组的API ;
5112=RAID管理模块返回建组结果;
5113操作维护模块向资源管理模块发送响应,通知其建组结果;
Sl 14:资源管理模块发起查询所有组信息流程,向操作维护模块发送查询所有组信息 命令;
S115 操作维护模块调用RAID管理模块的查询组信息的API ;
105116=RAID管理模块返回组信息查询结果;
5117操作维护管理模块向资源管理模块上报查询到的组信息;
5118资源管理模块将查询到的组信息发送至数据库模块; Sl 19 数据库模块对这些信息进行更新和维护;
S120 数据库模块向资源管理模块返回响应,表示其接收到组信息; S114-S120为可选步骤,查询组信息以确保建组成功,为后续建卷做准备。S121 资源管理模块根据建卷的规则发起建卷的流程,向操作维护模块下发建卷 命令;
5122操作维护模块调用RAID管理模块的建卷API、格式化卷API、挂载卷API,分别完 成创建卷、格式化卷、挂载卷操作;
5123所述RAID管理模块向操作维护模块返回建卷结果;
5124所述操作维护模块向资源管理模块返回建卷结果;
至此,初始化流程结束,优选地,为了确保建卷成功,还可执行后续S125-S131的查询 卷信息的操作。S125 资源管理模块发起查询所有卷信息流程,向操作维护模块发送查询所有卷 信息命令;
5126操作维护模块调用RAID管理模块的卷信息查询API ;
5127:RAID管理模块向操作维护模块返回查询到的卷信息;
5128所述操作维护模块向资源管理模块上报查询到的卷信息;
5129资源管理模块将查询到的卷信息发送至数据库模块;
5130数据库模块这些信息进行更新和维护;
5131数据库模块向资源管理模块返回响应,表示其接收到卷信息。在其他实施例中,磁盘信息的查询也可不在步骤101执行,而是在步骤109之后, 建组之前执行。采用上述流程,系统上电自动完成RAID组和逻辑组的创建,后续这些RAID可以被 用到整个系统中用作存储管理。并且,系统在完成RAID和逻辑卷的创建后,可以对外提供 一个个的挂载点,文件系统在读写文件时就访问这些挂载点。对文件系统而言,这些RAID 是透明的。它往挂载点读写数据,其实是访问的已经创建好的RAID中。实施例4
本实施例主要描述工作态卷组自动管理流程,包括对RAID组和逻辑卷的状态进行监 控,并将监控结果反映给用户。上电初始化和自动创建卷组的流程完成后,系统进入工作模式,该模式中操作维 护模块根据预定时间(例如磁盘、组信息的查询间隔为40s/次,卷信息的查询间隔为2s/ 次)定时的查询组、卷、磁盘信息,以此来监控组、卷、磁盘的状态。当这些状态发生异常时, 操作维护模块给出告警或通知,当状态恢复正常时,恢复告警。另外操作维护模块还可根据定时查询到的信息,进行性能统计,例如统计出当前 的IO值即每秒的输入输出字节数和容量。操作维护模块提供的逻辑卷容量信息和IO性能 统计信息,会定时地将统计信息通过消息传给需要的模块,比如Chunk均衡算法时可能需 要这些信息,此外,还可以按照需求对外提供这些统计信息。
除上述管理操作外,还可以进行以下操作中的一种或几种在需要删除RAID组 时,调用删除RAID组的API,用于删除指定RAID组,并清除对应磁盘上的超级块信息;在需 要删除卷时,调用所述删除卷的API,用于卸载卷、删除LV、删除VG、删除PV ;在有新磁盘插 入且需要将其添加为热备盘时,调用所述添加热备盘的API,用于将该新磁盘作为热备盘加 入到现有的组中;在需要扩容时,调用所述扩容API,用于将RAID组内的热备盘配置成工作
ο本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实 现。本发明不限制于任何特定形式的硬件和软件的结合。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
1权利要求
一种软独立冗余磁盘阵列(RAID)的管理方法,包括软RAID初始化的步骤,包括获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中的RAID组;软RAID自动创建的步骤,包括查询磁盘簇(JBOD)信息和磁盘信息,根据查询结果选择合适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、格式化卷、挂载卷;软RAID自动管理的步骤,包括周期性查询以下信息中的一种或几种并上报 RAID组信息、磁盘信息、卷信息。
2.如权利要求1所述的方法,其特征在于在执行软RAID初始化的步骤前,预先配置用于软RAID初始化的应用程序编程接口 (API)恢复 API ;在执行软RAID初始化的步骤时,调用所述恢复API完成软RAID初始化的步骤。
3.如权利要求1所述的方法,其特征在于所述根据查询结果选择合适的建组建卷规则的步骤包括根据查询到的JBOD信息从 预先配置的建组建卷规则中选择一个符合当前JBOD信息情况的建组建卷规则。
4.如权利要求1-3中任一项所述的方法,其特征在于在执行软RAID自动创建的步骤前,预先配置以下API 查询JBOD信息的API、查询磁盘 信息的API、创建RAID组的API、创建卷的API、格式化卷的API、挂载卷的API ;所述查询JBOD信息的步骤包括调用查询JBOD信息的API进行JBOD信息查询; 所述查询磁盘信息的步骤包括调用查询磁盘信息的API进行磁盘信息查询操作; 所述创建RAID组的步骤包括调用创建RAID组的API进行创建RAID组的操作; 所述创建卷的步骤包括调用创建卷的API进行创建卷的操作; 所述格式化卷的步骤包括调用格式化卷的API进行格式化卷的操作; 所述挂载卷的步骤包括调用挂载卷的API进行挂载卷的操作。
5.如权利要求1所述的方法,其特征在于在执行软RAID自动创建的步骤前,预先配置以下API 查询RAID组信息的API、查询卷 信息的API ;在创建RAID组后创建卷前,所述方法还包括调用查询RAID组信息的API进行RAID 组信息查询的操作;在挂载卷后,所述方法还包括调用查询卷信息的API进行卷信息查询操作。
6.如权利要求1所述的方法,其特征在于所述软RAID自动管理的步骤还包括,根据周期性查询的结果进行性能统计,包括统计 输入输出量和/或容量。
7.如权利要求1所述的方法,其特征在于所述软RAID自动管理的步骤还包括以下操作中的一种或几种 在需要删除RAID组时,调用预配置的删除RAID组的API,用于删除指定RAID组,并清 除对应磁盘上的超级块信息;在需要删除卷时,调用预配置的删除卷的API,用于卸载卷、删除逻辑卷(LV)、删除卷 组(VG)、删除物理卷(PV);在有新磁盘插入且需要将其添加为热备盘时,调用预配置的添加热备盘的API,用于将 该新磁盘作为热备盘加入到现有的组中;在需要扩容时,调用预配置的扩容API,用于将RAID组内的热备盘配置成工作盘。
8.一种软独立冗余磁盘阵列(RAID)的管理系统,包括初始化子系统、软RAID自动创建 子系统以及软RAID自动管理子系统,其中所述初始化子系统,用于获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中 的RAID组;所述软RAID自动创建子系统,用于查询磁盘簇(JBOD)信息和磁盘信息,根据查询结果 选择合适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、 格式化卷、挂载卷;所述软RAID自动管理子系统,用于周期性查询以下信息中的一种或几种并上报 RAID组信息、磁盘信息、卷信息。
9.如权利要求8所述的系统,其特征在于所述软RAID自动创建子系统包括查询单 元、选择规则单元和操作执行单元,其中所述查询单元用于查询JBOD信息和磁盘信息;所述选择规则单元用于根据查询到的JBOD信息从预先配置的建组建卷规则中选择 一个符合当前JBOD信息情况的建组建卷规则;所述操作执行单元用于根据选择的建组建卷规则执行以下操作创建RAID组、创建 卷、格式化卷、挂载卷。
10.如权利要求8所述的系统,其特征在于所述软RAID自动管理子系统,还用于根据周期性查询的结果进行性能统计并上报,包 括统计输入输出量和/或容量。
全文摘要
本发明公开了一种Linux操作系统中软RAID的管理方法和系统,提高软RAID的管理效率。所述方法包括软RAID初始化的步骤,包括获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中的RAID组;软RAID自动创建的步骤,包括查询磁盘簇(JBOD)信息和磁盘信息,根据查询结果选择合适的建组建卷规则;根据选择的建组建卷规则执行以下操作创建RAID组、创建卷、格式化卷、挂载卷;软RAID自动管理的步骤,包括周期性查询以下信息中的一种或几种并上报RAID组信息、磁盘信息、卷信息。
文档编号G06F3/06GK101984399SQ20101052517
公开日2011年3月9日 申请日期2010年10月29日 优先权日2010年10月29日
发明者何抗洪, 韩盛中, 高韧 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1