CN101984399A - 一种软独立冗余磁盘阵列的管理方法和系统 - Google Patents
一种软独立冗余磁盘阵列的管理方法和系统 Download PDFInfo
- Publication number
- CN101984399A CN101984399A CN2010105251756A CN201010525175A CN101984399A CN 101984399 A CN101984399 A CN 101984399A CN 2010105251756 A CN2010105251756 A CN 2010105251756A CN 201010525175 A CN201010525175 A CN 201010525175A CN 101984399 A CN101984399 A CN 101984399A
- Authority
- CN
- China
- Prior art keywords
- volume
- information
- raid
- api
- soft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种Linux操作系统中软RAID的管理方法和系统,提高软RAID的管理效率。所述方法包括:软RAID初始化的步骤,包括:获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中的RAID组;软RAID自动创建的步骤,包括:查询磁盘簇(JBOD)信息和磁盘信息,根据查询结果选择合适的建组建卷规则;根据选择的建组建卷规则执行以下操作:创建RAID组、创建卷、格式化卷、挂载卷;软RAID自动管理的步骤,包括:周期性查询以下信息中的一种或几种并上报:RAID组信息、磁盘信息、卷信息。
Description
技术领域
本发明属于计算机应用领域,具体涉及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组信息、磁盘信息、卷信息。
进一步地,在执行软RAID初始化的步骤前,预先配置用于软RAID初始化的应用程序编程接口(API):恢复API;
在执行软RAID初始化的步骤时,调用所述恢复API完成软RAID初始化的步骤。
进一步地,所述根据查询结果选择合适的建组建卷规则的步骤包括:根据查询到的JBOD信息从预先配置的建组建卷规则中选择一个符合当前JBOD信息情况的建组建卷规则。
进一步地,在执行软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组时,调用预配置的删除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组信息、磁盘信息、卷信息。
在步骤三中,查询的信息可以提供给需要的模块,此外还可根据周期性查询的结果进行性能统计,包括统计输入输出量和/或容量。
对于步骤一中的操作,可通过调用API(Application 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(RAID0、RAID1或RAID5)、选择不同的调带大小(通常选择4K-512K)、选择加入RAID组的工作磁盘以及热备盘的个数和相应的磁盘序列号。
▲删除RAID组的API
删除RAID组的API接口提供了对指定RAID组的删除功能,并清除对应磁盘上的超级块信息。
▲查询RAID信息的API
查询RAID信息的API提供了RAID信息查询的功能,主要包括查询一下信息中的一种或多种:RAID组的状态、主次设备号、组名、组的容量、组的剩余容量、RAID级别、调带大小、工作盘个数、热备盘个数以及相应的磁盘列表。
▲创建卷的API
创建卷的API接口用于进行以下操作:创建物理卷(PV)、卷组(VG)和逻辑卷(LV),其中PV和VG是对上层透明的,上层只看到LV和LV所挂载的目录。
▲格式化卷的API
格式化卷的API接口用于格式化卷。
▲挂载卷的API
挂载卷的API用于将卷挂载到指定挂载点(简称为挂卷)。
▲删除卷的API
删除卷的API接口用于进行以下操作:卸载卷、删除LV、删除VG、删除PV。
▲查询卷信息的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接口可分别通过调用linux内核中MD和DM两部分驱动提供的ioctl API接口来实现。其中,所有操作均可以直接通过linux的系统调用完成。
优选地,所述软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查询以下信息中的一种或几种:卷信息、组信息、磁盘信息,根据查询的结果进行性能统计包括统计当前的IO(输入输出)值(单位为字节/秒)和容量(单位为字节或兆等)。当判断发生有异常时,触发告警或通知。
优选地,所述系统还包括数据库模块,其用于存储磁盘信息、卷信息和组信息,以及根据上层配置的参数在上电初始化时进行建组规则和建卷规则的配置,如配置建组、建卷参数。
实施例3
下面将结合图3对实施例1中所述的初始化和自动创建的流程进行详细描述。上电初始化流程主要包括建组、建卷、格式化卷、挂卷等一系列的流程,通过初始化接口可被调用,如图3所示,包括以下步骤:
S001:资源管理模块在版本启动时向操作维护模块下发初始化命令;
S002:操作维护模块指示RAID管理模块调用软RAID初始化流程,包括获取磁盘超级块信息,根据所述超级块信息尝试恢复硬盘中的RAID组;
通过初始化流程中提供的恢复卷组的机制,可以避免重复建组和建卷。
S101: 资源管理模块指示操作维护模块发起JBOD信息以及相应磁盘信息的查询;
S102:操作维护模块指示RAID管理模块调用JBOD信息查询API和磁盘查询API;
S103:RAID管理模块向操作维护模块返回JBOD信息以及对应的磁盘信息;
其中JBOD信息包括JBOD总的槽位数,磁盘信息包括实际插入的总磁盘数、每个磁盘的磁盘序列号和磁盘的状态等。
S104:操作维护模块向资源管理模块上报JBOD信息以及对应的磁盘信息;
S105:资源管理模块将JBOD信息以及对应的磁盘信息发送至数据库模块;
S106:数据库模块更新数据表,数据库模块根据资源管理模块上报的JBOD的信息查询预配置的建组建卷规则,找到与JBOD信息对应的建组建卷规则;
具体地,根据JBOD有多少个磁盘的槽位(不考虑JBOD上是否插有硬盘)进行查询。对应不同的槽位数有相应的建组和建卷规则。
S107:数据库模块向资源管理模块返回响应,表示其收到JBOD信息以及对应的磁盘信息;
S108-S109:资源管理模块向数据库模块发起建组建卷规则查询;数据库模块返回响应,将查询到的建组建卷规则通知资源管理模块;
在其他实施例中,数据库模块也可以在S107中,将建组建卷规则返回给资源管理模块。
S110:资源管理模块根据这些规则触发建组的流程,向操作维护模块下发建组命令;
S111:操作维护模块调用RAID模块的创建RAID组的API;
S112:RAID管理模块返回建组结果;
S113:操作维护模块向资源管理模块发送响应,通知其建组结果;
S114: 资源管理模块发起查询所有组信息流程,向操作维护模块发送查询所有组信息命令;
S115:操作维护模块调用RAID管理模块的查询组信息的API;
S116:RAID管理模块返回组信息查询结果;
S117:操作维护管理模块向资源管理模块上报查询到的组信息;
S118:资源管理模块将查询到的组信息发送至数据库模块;
S119:数据库模块对这些信息进行更新和维护;
S120:数据库模块向资源管理模块返回响应,表示其接收到组信息;
S114-S120为可选步骤,查询组信息以确保建组成功,为后续建卷做准备。
S121:资源管理模块根据建卷的规则发起建卷的流程,向操作维护模块下发建卷命令;
S122:操作维护模块调用RAID管理模块的建卷API、格式化卷API、挂载卷API,分别完成创建卷、格式化卷、挂载卷操作;
S123:所述RAID管理模块向操作维护模块返回建卷结果;
S124:所述操作维护模块向资源管理模块返回建卷结果;
至此,初始化流程结束,优选地,为了确保建卷成功,还可执行后续S125-S131的查询卷信息的操作。
S125:资源管理模块发起查询所有卷信息流程,向操作维护模块发送查询所有卷信息命令;
S126:操作维护模块调用RAID管理模块的卷信息查询API;
S127:RAID管理模块向操作维护模块返回查询到的卷信息;
S128:所述操作维护模块向资源管理模块上报查询到的卷信息;
S129:资源管理模块将查询到的卷信息发送至数据库模块;
S130:数据库模块这些信息进行更新和维护;
S131:数据库模块向资源管理模块返回响应,表示其接收到卷信息。
在其他实施例中,磁盘信息的查询也可不在步骤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组内的热备盘配置成工作盘。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
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自动管理子系统,还用于根据周期性查询的结果进行性能统计并上报,包括统计输入输出量和/或容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010525175.6A CN101984399B (zh) | 2010-10-29 | 2010-10-29 | 一种软独立冗余磁盘阵列的管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010525175.6A CN101984399B (zh) | 2010-10-29 | 2010-10-29 | 一种软独立冗余磁盘阵列的管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101984399A true CN101984399A (zh) | 2011-03-09 |
CN101984399B CN101984399B (zh) | 2014-11-05 |
Family
ID=43641569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010525175.6A Expired - Fee Related CN101984399B (zh) | 2010-10-29 | 2010-10-29 | 一种软独立冗余磁盘阵列的管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101984399B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147770A (zh) * | 2011-03-28 | 2011-08-10 | 杭州电子科技大学 | 一种存储资源管理系统及方法 |
CN102375703A (zh) * | 2011-12-12 | 2012-03-14 | 创新科存储技术有限公司 | 一种创建raid时自动选盘的方法 |
CN102495812A (zh) * | 2011-12-15 | 2012-06-13 | 江苏中科梦兰电子科技有限公司 | Linux平台硬盘数据保护与恢复方法 |
CN102609070A (zh) * | 2011-12-26 | 2012-07-25 | 创新科存储技术有限公司 | 一种利用maid技术实现节能的设备 |
WO2012146034A1 (zh) * | 2011-04-25 | 2012-11-01 | 中兴通讯股份有限公司 | 一种标识存储设备的方法及系统 |
CN103309773A (zh) * | 2013-07-03 | 2013-09-18 | 厦门市美亚柏科信息股份有限公司 | 在ext3文件系统下的raid0的数据恢复方法 |
CN103678044A (zh) * | 2013-12-30 | 2014-03-26 | 厦门市美亚柏科信息股份有限公司 | 在ext3文件系统下的raid5的数据恢复方法和装置 |
CN104035724A (zh) * | 2013-03-07 | 2014-09-10 | 旺玖科技股份有限公司 | 混合式磁盘阵列的设定方法 |
WO2015196820A1 (zh) * | 2014-06-26 | 2015-12-30 | 中兴通讯股份有限公司 | 创建jbod文件系统的方法及装置 |
CN105549902A (zh) * | 2015-12-08 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种用于服务器试产时自动做raid的设计方案 |
CN105844178A (zh) * | 2016-04-21 | 2016-08-10 | 浪潮电子信息产业股份有限公司 | 一种jbod海量存储数据安全的方法 |
CN106325779A (zh) * | 2016-08-31 | 2017-01-11 | 浪潮电子信息产业股份有限公司 | 一种SAS Switch/JBOD拓扑的设计方案 |
CN107608637A (zh) * | 2017-09-30 | 2018-01-19 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107608638A (zh) * | 2017-09-30 | 2018-01-19 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107678693A (zh) * | 2017-09-30 | 2018-02-09 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107704205A (zh) * | 2017-09-30 | 2018-02-16 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107728945A (zh) * | 2017-09-30 | 2018-02-23 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107728944A (zh) * | 2017-09-30 | 2018-02-23 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107728946A (zh) * | 2017-09-30 | 2018-02-23 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107741829A (zh) * | 2017-09-30 | 2018-02-27 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107748651A (zh) * | 2017-09-30 | 2018-03-02 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107765999A (zh) * | 2017-09-30 | 2018-03-06 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107765998A (zh) * | 2017-09-30 | 2018-03-06 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107817949A (zh) * | 2017-09-30 | 2018-03-20 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN108282347A (zh) * | 2016-12-30 | 2018-07-13 | 航天信息股份有限公司 | 一种服务器数据在线管理方法和系统 |
CN108563402A (zh) * | 2018-04-02 | 2018-09-21 | 郑州云海信息技术有限公司 | 一种自动配置raid卡参数的方法和系统 |
CN110007976A (zh) * | 2019-04-03 | 2019-07-12 | 中电科技(北京)有限公司 | 基于国产处理器平台的Raid卡固件层初始化方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741830A (zh) * | 2017-09-30 | 2018-02-27 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230240B1 (en) * | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
US20050010920A1 (en) * | 2003-07-11 | 2005-01-13 | Wen-Hua Lin | Storage media controller driver auto installing method and system |
CN101122890A (zh) * | 2006-08-08 | 2008-02-13 | 英业达股份有限公司 | 独立磁盘的冗余阵列的在线扩容过程的中断与恢复方法 |
CN101221485A (zh) * | 2008-01-24 | 2008-07-16 | 创新科存储技术(深圳)有限公司 | 建立冗余磁盘阵列的方法及控制设备 |
-
2010
- 2010-10-29 CN CN201010525175.6A patent/CN101984399B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230240B1 (en) * | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
US20050010920A1 (en) * | 2003-07-11 | 2005-01-13 | Wen-Hua Lin | Storage media controller driver auto installing method and system |
CN101122890A (zh) * | 2006-08-08 | 2008-02-13 | 英业达股份有限公司 | 独立磁盘的冗余阵列的在线扩容过程的中断与恢复方法 |
CN101221485A (zh) * | 2008-01-24 | 2008-07-16 | 创新科存储技术(深圳)有限公司 | 建立冗余磁盘阵列的方法及控制设备 |
Non-Patent Citations (1)
Title |
---|
周剑: "基于iSCSI的磁盘阵列管理软件的研究", 《电脑知识与技术》 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147770A (zh) * | 2011-03-28 | 2011-08-10 | 杭州电子科技大学 | 一种存储资源管理系统及方法 |
US9281992B2 (en) | 2011-04-25 | 2016-03-08 | Zte Corporation | Method and system for identifying storage device |
WO2012146034A1 (zh) * | 2011-04-25 | 2012-11-01 | 中兴通讯股份有限公司 | 一种标识存储设备的方法及系统 |
CN102375703A (zh) * | 2011-12-12 | 2012-03-14 | 创新科存储技术有限公司 | 一种创建raid时自动选盘的方法 |
CN102495812A (zh) * | 2011-12-15 | 2012-06-13 | 江苏中科梦兰电子科技有限公司 | Linux平台硬盘数据保护与恢复方法 |
CN102609070A (zh) * | 2011-12-26 | 2012-07-25 | 创新科存储技术有限公司 | 一种利用maid技术实现节能的设备 |
CN102609070B (zh) * | 2011-12-26 | 2014-12-10 | 创新科存储技术有限公司 | 一种利用maid技术实现节能的设备 |
CN104035724A (zh) * | 2013-03-07 | 2014-09-10 | 旺玖科技股份有限公司 | 混合式磁盘阵列的设定方法 |
CN103309773A (zh) * | 2013-07-03 | 2013-09-18 | 厦门市美亚柏科信息股份有限公司 | 在ext3文件系统下的raid0的数据恢复方法 |
CN103309773B (zh) * | 2013-07-03 | 2016-08-10 | 厦门市美亚柏科信息股份有限公司 | 在ext3文件系统下的raid0的数据恢复方法 |
CN103678044B (zh) * | 2013-12-30 | 2016-08-17 | 厦门市美亚柏科信息股份有限公司 | 在ext3文件系统下的raid5的数据恢复方法和装置 |
CN103678044A (zh) * | 2013-12-30 | 2014-03-26 | 厦门市美亚柏科信息股份有限公司 | 在ext3文件系统下的raid5的数据恢复方法和装置 |
CN105279095A (zh) * | 2014-06-26 | 2016-01-27 | 中兴通讯股份有限公司 | 创建jbod文件系统的方法及装置 |
WO2015196820A1 (zh) * | 2014-06-26 | 2015-12-30 | 中兴通讯股份有限公司 | 创建jbod文件系统的方法及装置 |
CN105279095B (zh) * | 2014-06-26 | 2019-09-13 | 南京中兴新软件有限责任公司 | 创建jbod文件系统的方法及装置 |
CN105549902A (zh) * | 2015-12-08 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种用于服务器试产时自动做raid的设计方案 |
CN105844178A (zh) * | 2016-04-21 | 2016-08-10 | 浪潮电子信息产业股份有限公司 | 一种jbod海量存储数据安全的方法 |
CN105844178B (zh) * | 2016-04-21 | 2019-05-14 | 浪潮电子信息产业股份有限公司 | 一种jbod海量存储数据安全的方法 |
CN106325779A (zh) * | 2016-08-31 | 2017-01-11 | 浪潮电子信息产业股份有限公司 | 一种SAS Switch/JBOD拓扑的设计方案 |
CN108282347A (zh) * | 2016-12-30 | 2018-07-13 | 航天信息股份有限公司 | 一种服务器数据在线管理方法和系统 |
CN107608638A (zh) * | 2017-09-30 | 2018-01-19 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107704205A (zh) * | 2017-09-30 | 2018-02-16 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107728944A (zh) * | 2017-09-30 | 2018-02-23 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107728946A (zh) * | 2017-09-30 | 2018-02-23 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107741829A (zh) * | 2017-09-30 | 2018-02-27 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107748651A (zh) * | 2017-09-30 | 2018-03-02 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107765999A (zh) * | 2017-09-30 | 2018-03-06 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107765998A (zh) * | 2017-09-30 | 2018-03-06 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107817949A (zh) * | 2017-09-30 | 2018-03-20 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107728945A (zh) * | 2017-09-30 | 2018-02-23 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN107608637A (zh) * | 2017-09-30 | 2018-01-19 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
WO2019062105A1 (zh) * | 2017-09-30 | 2019-04-04 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
WO2019062104A1 (zh) * | 2017-09-30 | 2019-04-04 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
WO2019062101A1 (zh) * | 2017-09-30 | 2019-04-04 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
WO2019062100A1 (zh) * | 2017-09-30 | 2019-04-04 | 深圳市华德安科技有限公司 | Raid管理方法、装置及计算机可读存储介质 |
CN107678693A (zh) * | 2017-09-30 | 2018-02-09 | 深圳市华德安科技有限公司 | 磁盘阵列的挂载方法、Android设备和存储介质 |
CN108563402A (zh) * | 2018-04-02 | 2018-09-21 | 郑州云海信息技术有限公司 | 一种自动配置raid卡参数的方法和系统 |
CN110007976A (zh) * | 2019-04-03 | 2019-07-12 | 中电科技(北京)有限公司 | 基于国产处理器平台的Raid卡固件层初始化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101984399B (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101984399B (zh) | 一种软独立冗余磁盘阵列的管理方法和系统 | |
US7062628B2 (en) | Method and apparatus for storage pooling and provisioning for journal based storage and recovery | |
KR102478395B1 (ko) | 통지와 함께 백그라운드 활동을 효율적으로 관리하는 ssd를 위한 메카니즘 | |
US8751766B2 (en) | Storage system having volatile memory and non-volatile memory | |
JP4977554B2 (ja) | キャッシュメモリ上のデータをバックアップする機能を備えたストレージシステム | |
US8204858B2 (en) | Snapshot reset method and apparatus | |
US7669022B2 (en) | Computer system and data management method using a storage extent for backup processing | |
US7343465B2 (en) | Storage system | |
CN110612511B (zh) | 使用流选择性地向分配区域中存储数据 | |
US20110029739A1 (en) | Storage system and control method for the same, and program | |
US20080028107A1 (en) | System and method for automatic reassignment of shared storage on blade replacement | |
JP6097845B2 (ja) | 不揮発性キャッシュメモリにデータをバックアップするストレージシステム | |
WO2011077489A1 (ja) | 仮想ボリュームを提供するストレージシステム | |
US20070208921A1 (en) | Storage system and control method for the same | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
EP1953634A2 (en) | Controller for controlling a plurality of logical resources of a storage system | |
US20110225117A1 (en) | Management system and data allocation control method for controlling allocation of data in storage system | |
WO2011045831A1 (en) | Storage apparatus and its control method | |
US7596658B2 (en) | Method for expanding capacity of replication volume | |
US8151079B2 (en) | Computer system, storage area allocation method, and management computer | |
CN106294007B (zh) | 一种数据恢复方法及装置 | |
US7571350B2 (en) | Storage system and recovery method thereof | |
US20100049916A1 (en) | Power-saving-backup management method | |
CN104572242A (zh) | 一种扩展虚拟机磁盘空间的方法、装置及虚拟机系统 | |
CN102375703A (zh) | 一种创建raid时自动选盘的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180702 Address after: California, USA Patentee after: Global innovation polymerization LLC Address before: 518057 Nanshan District high tech Industrial Park, Shenzhen, Guangdong, Ministry of justice, Zhongxing Road, South China road. Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141105 Termination date: 20211029 |
|
CF01 | Termination of patent right due to non-payment of annual fee |