CN108319426A - 一种独立磁盘冗余阵列的使用方法和装置 - Google Patents
一种独立磁盘冗余阵列的使用方法和装置 Download PDFInfo
- Publication number
- CN108319426A CN108319426A CN201510541325.5A CN201510541325A CN108319426A CN 108319426 A CN108319426 A CN 108319426A CN 201510541325 A CN201510541325 A CN 201510541325A CN 108319426 A CN108319426 A CN 108319426A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- reserved space
- hard disk
- space
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种独立磁盘冗余阵列的使用方法,包括:将独立磁盘冗余阵列中所有的截断容量组成预留空间;当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间;当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。相应地,本发明实施例还公开了一种独立磁盘冗余阵列的使用装置。采用本发明,可以实现充分利用RAID的截断容量,并提高存储的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种独立磁盘冗余阵列的使用方法和装置。
背景技术
RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)是一种将多块独立的硬盘(物理硬盘)按一定方式组合得到的硬盘组,具有存储容量大、存储速度快和成本低的优点。对于传统的RAID,若其硬盘组中存在容量不一致的硬盘,则容量大的硬盘会按照容量小的硬盘进行截断,容量大的硬盘被截断的存储空间被称为截断容量,由于截断容量不能被利用,故造成了浪费。
目前,针对传统的RAID提出了一种虚拟化存储架构,在该架构中若同种容量的硬盘的数量不小于RAID成员盘的数量,则这些硬盘不会被截断。但是,对于数量小于RAID成员盘的数量的同种容量的硬盘,还是会被截断,如图12所示的RAID,假设其成员盘的数量为9,包括11块180G的硬盘、4块150G的硬盘、3块120G的硬盘和2块100G的硬盘,则除了180G的硬盘外其它硬盘均会被截断为最小容量100G,也就是说(150G-100G)*4+(120G-100G)*2的截断容量都被浪费掉。
发明内容
本发明实施例提供了一种独立磁盘冗余阵列的使用方法和装置,可以实现充分利用RAID的截断容量,并提高存储的可靠性。
本发明实施例第一方面提供了一种独立磁盘冗余阵列的使用方法,包括:
将独立磁盘冗余阵列中所有的截断容量组成预留空间;
当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间;
当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。
在第一方面的第一种可能实现方式中,所述将独立磁盘冗余阵列中所有的截断容量组成预留空间之前,还包括:
对独立磁盘冗余阵列中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量。
在第一方面的第二种可能实现方式中,所述将待写入所述硬盘的数据保存在所述预留空间之前,还包括:
生成所述预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录所述预留空间的分配使用状态;
所述将待写入所述硬盘的数据保存在所述预留空间,包括:
根据所述元数据位图查找表查找所述预留空间中的未分配存储空间;
将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间;
修改所述元数据位图查找表中记录的所述分配使用状态。
结合第一方面的第二种可能实现方式,在第三种可能实现方式中,所述将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间,包括:
将待写入所述硬盘的数据按照预设的数据组织形式进行封装;
将所述封装后的数据保存在所述预留空间中的未分配存储空间。
结合第一方面的第三种可能实现方式,在第四种可能实现方式中,所述将所述保存在所述预留空间的数据写入所述硬盘,包括:
根据所述元数据位图查找表查找所述预留空间中的已分配存储空间;
将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘;
修改所述元数据位图查找表中记录的所述分配使用状态。
结合第一方面的第四种可能实现方式,在第五种可能实现方式中,所述将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘,包括:
将保存在所述预留空间中的已分配存储空间的数据,按照所述预设的数据组织形式进行解封装;
将所述解封装后的数据写入所述硬盘。
结合第一方面以及第一方面的第一至第五种任意一种可能实现方式,在第六种可能实现方式中,所述非工作状态包括故障或拔出。
在第一方面的第七种可能实现方式中,所述将独立磁盘冗余阵列中所有的截断容量设置为预留空间之后,还包括:
建立逻辑单元号设备与所述预留空间的映射关系;
将待写入所述逻辑单元号设备的数据写入所述预留空间。
结合第一方面的第七种可能实现方式,在第八种可能实现方式中,所述创建逻辑单元号设备与所述预留空间的映射关系之前,还包括:
确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
结合第一方面的第七种可能实现方式,在第九种可能实现方式中,所述将待写入所述逻辑单元号设备的数据写入所述预留空间,包括:
判断所述逻辑单元号设备是否故障;
若是,则将待写入所述逻辑单元号设备的数据写入所述预留空间;
若否,则将待写入所述逻辑单元号设备的数据同时写入所述逻辑单元号设备和所述预留空间。
本发明实施例第二方面提供了一种独立磁盘冗余阵列的使用装置,所述装置包括:
空间组成模块,用于将独立磁盘冗余阵列中所有的截断容量组成预留空间;
数据保存模块,用于当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间;
数据写入模块,用于当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。
在第二方面的第一种可能实现方式中,所述装置还包括:
容量截断模块,用于对独立磁盘冗余阵列中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量。
在第二方面的第二种可能实现方式中,所述装置还包括图表生成模块,用于生成所述预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录所述预留空间的分配使用状态;
所述数据保存模块包括:
空间查找单元,用于根据所述元数据位图查找表查找所述预留空间中的未分配存储空间;
数据保存单元,用于将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间;
状态修改单元,用于修改所述元数据位图查找表中记录的所述分配使用状态。
结合第二方面的第二种可能实现方式,在第三种可能实现方式中,所述数据保存单元,具体用于:
将待写入所述硬盘的数据按照预设的数据组织形式进行封装;
将所述封装后的数据保存在所述预留空间中的未分配存储空间。
结合第二方面的第三种可能实现方式,在第四种可能实现方式中,所述数据写入模块包括:
空间查找单元,用于根据所述元数据位图查找表查找所述预留空间中的已分配存储空间;
数据写入单元,用于将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘;
状态修改单元,用于修改所述元数据位图查找表中记录的所述分配使用状态。
结合第二方面的第四种可能实现方式,在第五种可能实现方式中,所述数据写入单元,具体用于:
将保存在所述预留空间中的已分配存储空间的数据,按照所述预设的数据组织形式进行解封装;
将所述解封装后的数据写入所述硬盘。
结合第二方面以及第二方面的第一至第五种任意一种可能实现方式,在第六种可能实现方式中,所述非工作状态包括故障或拔出。
在第二方面的第七种可能实现方式中,所述装置还包括映射建立模块,用于建立逻辑单元号设备与所述预留空间的映射关系;
所述数据写入模块,还用于将待写入所述逻辑单元号设备的数据写入所述预留空间。
结合第二方面的第七种可能实现方式,在第八种可能实现方式中,所述装置还包括:
容量确定模块,用于确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
结合第二方面的第七种可能实现方式,在第九种可能实现方式中,所述装置还包括:
容量确定模块,用于确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
由上可见,本发明实施例将独立磁盘冗余阵列中所有的截断容量组成预留空间,当独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入硬盘的数据保存在预留空间,当部分硬盘恢复工作状态时,将保存在预留空间的数据写入这硬盘,从而可以实现充分利用RAID的截断容量,提供更多的存储空间,并且可以保证RAID持续写入数据而不中断,存储可靠性高。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种独立磁盘冗余阵列的使用方法的流程示意图;
图2是本发明提供的一种组成预留空间的方法的流程示意图;
图3是本发明提供的一种数据保存的方法的流程示意图;
图4是本发明提供的一种数据写入的方法的流程示意图;
图5是本发明提供的另一种独立磁盘冗余阵列的使用方法的流程示意图;
图6是本发明提供的一种数据双写入的方法的流程示意图;
图7是本发明提供的一种独立磁盘冗余阵列的使用装置的结构示意图;
图8是本发明提供的一种数据保存模块的结构示意图;
图9是本发明提供的一种数据写入模块的结构示意图;
图10是本发明提供的另一种独立磁盘冗余阵列的使用装置的结构示意图;
图11是本发明提供的又一种独立磁盘冗余阵列的使用装置的结构示意图;
图12是本发明提供的一种截断容量的示意图;
图13是本发明提供的一种组成预留空间的示意图;
图14是本发明提供的一种写入预留空间的数据的示意图;
图15是本发明提供的一种读取预留空间的数据的示意图;
图16是本发明提供的一种逻辑单元号设备与预留空间的映射示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例中一种独立磁盘冗余阵列的使用方法的流程示意图。如图所示本实施例中的独立磁盘冗余阵列的使用方法的流程可以包括:
S110,将独立磁盘冗余阵列中所有的截断容量组成预留空间。
所述独立磁盘冗余阵列(RAID,Redundant Arrays of Independent Disks)是一种将多块独立的硬盘(物理硬盘)按一定方式组合得到的硬盘组,具有存储容量大、存储速度快和成本低的优点。
请参阅图2,本发明装置将RAID中所有的截断容量组成预留空间(Reserve Space)的过程可以通过以下步骤实现:S111,接收用户输入的创建命令:用户选择硬盘列表,并下发创建命令,本发明装置接收该创建命令;S112,将RAID中各个硬盘按照容量从小到大的顺序排列:获知RAID中各个硬盘的容量,并将其按照容量从小到大的顺序排列,如图13所示的D1至Dn;S113,判断是否存在容量不一致的硬盘:若否,则执行步骤S116,若是,则执行步骤S114;S114,对RAID中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量,如图13所示的D2至Dn,按照D0(或D1)的容量进行截断,打圈的容量即为截断容量;S115,将RAID中所有的截断容量组成预留空间:统计发生截断的硬盘总数,对截断硬盘总数除以RAID1成员盘数(大于等于2)并进行下取值实现RAID1分组,同一分组中的硬盘截断容量组成RAID1空间,将组成RAID1对应硬盘信息记录到配置元数据中,所有截断容量组成的RAID1空间形成预留空间,如图13所示的预留空间;S116,创建结束。
S120,当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间。
可选地,硬盘处于非工作状态包括硬盘故障或者拔出,需要指出的是,若存在硬盘故障或拔出的情况,RAID将会失效,即不能再写入数据。
需要指出的是,在将待写入硬盘的数据保存在预留空间之前,本发明装置还会生成预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录预留空间的分配使用状态。可选地,将预留空间按照1MB为单位进行划分,得到多个存储块,每个存储块用参数0表示未分配,参数1表示已分配。
请参阅图3,假设D0和D1故障或拔出,本发明装置将待写入硬盘的数据保存在预留空间的过程可以通过以下步骤实现:S121,判断RAID中的部分硬盘是否处于非工作状态,若否,则向硬盘正常写入数据,若是则执行步骤S122;S122,根据元数据位图查找表查找预留空间中的未分配存储空间:根据元数据位图查找表,找到第一个未分配且RAID1成员盘都是正常的空闲块;S123,将待写入硬盘的数据保存在预留空间中的未分配存储空间:将待写入硬盘的数据按照预设的数据组织形式进行封装,所述预设的数据组织形式可以是magic+crc+diskid+offset+len+timestamp+isvalid:data,再将封装后的数据保存在预留空间中的未分配存储空间,如图14所示的用户数据D0、D1、D2、D3和Dn,写入预留空间中;S124,修改元数据位图查找表中记录的分配使用状态:将对应的元数据位图查找表内容标记为已使用。
S130,当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。
相应地,硬盘恢复工作状态包括硬盘修复或重新插入,需要指出的是,若多块硬盘修复或重新插入,RAID不再失效,可以写入数据。
请参阅图4,本发明装置将保存在预留空间的数据写入硬盘的过程可以通过以下步骤实现:S131,获取硬盘上报的恢复工作状态的消息;S132,确定硬盘恢复工作状态:根据硬盘恢复情况,确定是否有失效RAID恢复;S133,根据元数据位图查找表查找预留空间中的已分配存储空间:根据元数据位图查找表,找到第一个已分配且RAID1数据成员盘都是正常的块;S134,读取保存在预留空间中的已分配存储空间的数据;S135,将保存在预留空间中的已分配存储空间的数据写入硬盘:将保存在所述预留空间中的已分配存储空间的数据,按照预设的数据组织形式进行解封装,所述预设的数据组织形式可以是magic+crc+diskid+offset+len+timestamp+isvalid:data,再将解封装后的数据写入所述硬盘,如图15所示,将读取的用户数据D0、D1、D2、D3和Dn写入对应的硬盘;136,修改元数据位图查找表中记录的分配使用状态:将对应的元数据位图查找表内容标记为未使用。
由上可见,本发明实施例将RAID中所有的截断容量组成预留空间,当RAID中的部分硬盘处于非工作状态时,将待写入硬盘的数据保存在预留空间,当部分硬盘恢复工作状态时,将保存在预留空间的数据写入这硬盘,从而可以实现充分利用RAID的截断容量,提供更多的存储空间,并且可以保证RAID持续写入数据而不中断,存储可靠性高。
图5是本发明实施例中另一种独立磁盘冗余阵列的使用方法的流程示意图,可以包括:
S210,将独立磁盘冗余阵列中所有的截断容量组成预留空间。
需要指出的是,该步骤与图1中S110相同,这里不再赘述。
S220,建立逻辑单元号设备与所述预留空间的映射关系。
其中,RAID以逻辑单元号(LUN,Logical Unite Number)设备的形式呈现给用户,LUN设备可以用于存储重要数据业务。如图16所示的LUN设备和预留空间互为镜像。
S230,将待写入所述逻辑单元号设备的数据写入所述预留空间。
具体地,本发明装置判断LUN设备是否故障,若是,则将待写入LUN设备的数据写入预留空间,若否,则将待写入LUN设备的数据同时写入LUN设备和预留空间。
请参阅图6,本发明装置将待写入逻辑单元号设备的数据写入预留空间的过程可以通过以下步骤实现:S221,发出创建请求;S222,确定预留空间的容量不小于LUN设备的容量;S223,将待写入LUN设备的数据写入预留空间。
由上可见,本发明实施例建立LUN设备与预留空间的映射关系,将待写入LUN设备的数据写入预留空间,如果LUN设备发生故障,可以通过预留空间提供持续的读写操作,实现对重要数据实现备份,保证业务数据不发生中断。
图7是本发明实施例中一种独立磁盘冗余阵列的使用装置的结构示意图。如图所示本发明实施例中的独立磁盘冗余阵列的使用装置至少可以包括空间组成模块310、数据保存模块320以及数据写入模块330,其中:
空间组成模块310,用于将独立磁盘冗余阵列中所有的截断容量组成预留空间。
所述独立磁盘冗余阵列(RAID,Redundant Arrays of Independent Disks)是一种将多块独立的硬盘(物理硬盘)按一定方式组合得到的硬盘组,具有存储容量大、存储速度快和成本低的优点。
请参阅图7,如图所示本发明实施例中的独立磁盘冗余阵列的使用装置还包括容量截断模块340,用于对独立磁盘冗余阵列中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量。如图13所示的D2至Dn,按照D0(或D1)的容量进行截断,打圈的容量即为截断容量
具体地,空间组成模块310统计发生截断的硬盘总数,对截断硬盘总数除以RAID1成员盘数(大于等于2)并进行下取值实现RAID1分组,同一分组中的硬盘截断容量组成RAID1空间,将组成RAID1对应硬盘信息记录到配置元数据中,所有截断容量组成的RAID1空间形成预留空间,如图13所示的预留空间。
数据保存模块320,用于当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间。
可选地,硬盘处于非工作状态包括硬盘故障或者拔出,需要指出的是,若存在多块硬盘故障或拔出的情况,RAID将会失效,即不能再写入数据。
请参阅图7,如图所示本发明实施例中的独立磁盘冗余阵列的使用装置还包括图表生成模块350,用于生成所述预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录所述预留空间的分配使用状态。可选地,将预留空间按照1MB为单位进行划分,得到多个存储块,每个存储块用参数0表示未分配,参数1表示已分配。
相应地,数据保存模块320可以如图8所示进一步包括空间查找单元321、数据保存单元322以及状态修改单元323,其中:
空间查找单元321,用于根据所述元数据位图查找表查找所述预留空间中的未分配存储空间。具体实现过程中,空间查找单元321根据元数据位图查找表,找到第一个未分配且RAID1成员盘都是正常的空闲块
数据保存单元322,用于将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间。具体实现过程中,数据保存单元322将待写入硬盘的数据按照预设的数据组织形式进行封装,所述预设的数据组织形式可以是magic+crc+diskid+offset+len+timestamp+isvalid:data,再将封装后的数据保存在预留空间中的未分配存储空间,如图14所示的用户数据D0、D1、D2、D3和Dn,写入预留空间中。
状态修改单元323,用于修改所述元数据位图查找表中记录的所述分配使用状态。具体实现过程中,状态修改单元323将对应的元数据位图查找表内容标记为已使用。
数据写入模块330,用于当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。具体实现中,数据写入模块330可以如图9所示进一步包括空间查找单元331、数据写入单元332以及状态修改单元333,其中:
空间查找单元331,用于根据所述元数据位图查找表查找所述预留空间中的已分配存储空间。具体实现过程中,空间查找单元331根据元数据位图查找表,找到第一个已分配且RAID1数据成员盘都是正常的块。
数据写入单元332,用于将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘。具体实现过程中,数据写入单元332将保存在所述预留空间中的已分配存储空间的数据,按照预设的数据组织形式进行解封装,所述预设的数据组织形式可以是magic+crc+diskid+offset+len+timestamp+isvalid:data,再将解封装后的数据写入所述硬盘,如图15所示,将读取的用户数据D0、D1、D2、D3和Dn写入对应的硬盘。
状态修改单元333,用于修改所述元数据位图查找表中记录的所述分配使用状态。具体实现过程中,状态修改单元333将对应的元数据位图查找表内容标记为未使用。
图10是本发明实施例中另一种独立磁盘冗余阵列的使用装置的结构示意图。如图所示本发明实施例中的独立磁盘冗余阵列的使用装置至少可以包括空间组成模块310、映射建立模块360以及数据写入模块330,其中:
空间组成模块310,用于将独立磁盘冗余阵列中所有的截断容量组成预留空间。
需要指出的是,图7中已经介绍过该模块,这里不再赘述。
请参阅图10,如图所示本发明实施例中的独立磁盘冗余阵列的使用装置还包括容量确定模块370,用于确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
映射建立模块360,用于建立逻辑单元号设备与所述预留空间的映射关系。
其中,RAID以逻辑单元号(LUN,Logical Unite Number)设备的形式呈现给用户,LUN设备可以用于存储重要数据业务。如图16所示的LUN设备和预留空间互为镜像。
数据写入模块330,用于将待写入所述逻辑单元号设备的数据写入所述预留空间。
具体地,数据写入模块330判断LUN设备是否故障,若是,则将待写入LUN设备的数据写入预留空间,若否,则将待写入LUN设备的数据同时写入LUN设备和预留空间。
图11是本发明实施例中的又一种独立磁盘冗余阵列的使用装置的结构示意图,如图11所示,该使用装置可以包括:至少一个处理器401,例如CPU,至少一个通信总线402,存储器403。其中,通信总线402用于实现这些组件之间的连接通信。存储器403可以是高速RAM存储器,也可以是非易失的存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器403还可以是至少一个位于远离前述处理器401的存储装置。存储器403中存储一组程序代码,且处理器401用于调用存储器中存储的程序代码,用于执行以下操作:
将独立磁盘冗余阵列中所有的截断容量组成预留空间;
当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间;
当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。
可选地,处理器401将独立磁盘冗余阵列中所有的截断容量组成预留空间之前,还执行:
对独立磁盘冗余阵列中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量。
可选地,处理器401将待写入所述硬盘的数据保存在所述预留空间之前,还执行:
生成所述预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录所述预留空间的分配使用状态;
进一步地,处理器401将待写入所述硬盘的数据保存在所述预留空间的具体操作为:
根据所述元数据位图查找表查找所述预留空间中的未分配存储空间;
将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间;
修改所述元数据位图查找表中记录的所述分配使用状态。
更进一步地,处理器401将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间的具体操作为:
将待写入所述硬盘的数据按照预设的数据组织形式进行封装;
将所述封装后的数据保存在所述预留空间中的未分配存储空间。
相应地,处理器401将所述保存在所述预留空间的数据写入所述硬盘的具体操作为:
根据所述元数据位图查找表查找所述预留空间中的已分配存储空间;
将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘;
修改所述元数据位图查找表中记录的所述分配使用状态。
相应进一步地,处理器401将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘,包括:
将保存在所述预留空间中的已分配存储空间的数据,按照所述预设的数据组织形式进行解封装;
将所述解封装后的数据写入所述硬盘。
可选地,所述非工作状态包括故障或拔出。
又可选地,处理器401将独立磁盘冗余阵列中所有的截断容量设置为预留空间之后,还执行:
建立逻辑单元号设备与所述预留空间的映射关系;
将待写入所述逻辑单元号设备的数据写入所述预留空间。
进一步地,处理器401创建逻辑单元号设备与所述预留空间的映射关系之前,还执行:
确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
可选地,处理器401将待写入所述逻辑单元号设备的数据写入所述预留空间的具体操作为:
判断所述逻辑单元号设备是否故障;
若是,则将待写入所述逻辑单元号设备的数据写入所述预留空间;
若否,则将待写入所述逻辑单元号设备的数据同时写入所述逻辑单元号设备和所述预留空间。
本发明实施例将独立磁盘冗余阵列中所有的截断容量组成预留空间,当独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入硬盘的数据保存在预留空间,当部分硬盘恢复工作状态时,将保存在预留空间的数据写入这硬盘,从而可以实现充分利用RAID的截断容量,提供更多的存储空间,并且可以保证RAID持续写入数据而不中断,存储可靠性高。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (20)
1.一种独立磁盘冗余阵列的使用方法,其特征在于,所述方法包括:
将独立磁盘冗余阵列中所有的截断容量组成预留空间;
当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间;
当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。
2.如权利要求1所述的方法,其特征在于,所述将独立磁盘冗余阵列中所有的截断容量组成预留空间之前,还包括:
对独立磁盘冗余阵列中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量。
3.如权利要求1所述的方法,其特征在于,所述将待写入所述硬盘的数据保存在所述预留空间之前,还包括:
生成所述预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录所述预留空间的分配使用状态;
所述将待写入所述硬盘的数据保存在所述预留空间,包括:
根据所述元数据位图查找表查找所述预留空间中的未分配存储空间;
将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间;
修改所述元数据位图查找表中记录的所述分配使用状态。
4.如权利要求3所述的方法,其特征在于,所述将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间,包括:
将待写入所述硬盘的数据按照预设的数据组织形式进行封装;
将所述封装后的数据保存在所述预留空间中的未分配存储空间。
5.如权利要求4所述的方法,其特征在于,所述将所述保存在所述预留空间的数据写入所述硬盘,包括:
根据所述元数据位图查找表查找所述预留空间中的已分配存储空间;
将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘;
修改所述元数据位图查找表中记录的所述分配使用状态。
6.如权利要求5所述的方法,其特征在于,所述将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘,包括:
将保存在所述预留空间中的已分配存储空间的数据,按照所述预设的数据组织形式进行解封装;
将所述解封装后的数据写入所述硬盘。
7.如权利要求1-6任一项所述的方法,其特征在于,所述非工作状态包括故障或拔出。
8.如权利要求1所述的方法,其特征在于,所述将独立磁盘冗余阵列中所有的截断容量设置为预留空间之后,还包括:
建立逻辑单元号设备与所述预留空间的映射关系;
将待写入所述逻辑单元号设备的数据写入所述预留空间。
9.如权利要求8所述的方法,其特征在于,所述创建逻辑单元号设备与所述预留空间的映射关系之前,还包括:
确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
10.如权利要求8所述的方法,其特征在于,所述将待写入所述逻辑单元号设备的数据写入所述预留空间,包括:
判断所述逻辑单元号设备是否故障;
若是,则将待写入所述逻辑单元号设备的数据写入所述预留空间;
若否,则将待写入所述逻辑单元号设备的数据同时写入所述逻辑单元号设备和所述预留空间。
11.一种独立磁盘冗余阵列的使用装置,其特征在于,所述装置包括:
空间组成模块,用于将独立磁盘冗余阵列中所有的截断容量组成预留空间;
数据保存模块,用于当所述独立磁盘冗余阵列中的部分硬盘处于非工作状态时,将待写入所述硬盘的数据保存在所述预留空间;
数据写入模块,用于当所述部分硬盘恢复工作状态时,将所述保存在所述预留空间的数据写入所述硬盘。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
容量截断模块,用于对独立磁盘冗余阵列中不同容量的硬盘,按照最小硬盘的容量进行截断以获取截断容量。
13.如权利要求11所述的装置,其特征在于,所述装置还包括图表生成模块,用于生成所述预留空间对应的元数据位图查找表,所述元数据位图查找表用于记录所述预留空间的分配使用状态;
所述数据保存模块包括:
空间查找单元,用于根据所述元数据位图查找表查找所述预留空间中的未分配存储空间;
数据保存单元,用于将待写入所述硬盘的数据保存在所述预留空间中的未分配存储空间;
状态修改单元,用于修改所述元数据位图查找表中记录的所述分配使用状态。
14.如权利要求13所述的装置,其特征在于,所述数据保存单元,具体用于:
将待写入所述硬盘的数据按照预设的数据组织形式进行封装;
将所述封装后的数据保存在所述预留空间中的未分配存储空间。
15.如权利要求14所述的装置,其特征在于,所述数据写入模块包括:
空间查找单元,用于根据所述元数据位图查找表查找所述预留空间中的已分配存储空间;
数据写入单元,用于将保存在所述预留空间中的已分配存储空间的数据写入所述硬盘;
状态修改单元,用于修改所述元数据位图查找表中记录的所述分配使用状态。
16.如权利要求15所述的装置,其特征在于,所述数据写入单元,具体用于:
将保存在所述预留空间中的已分配存储空间的数据,按照所述预设的数据组织形式进行解封装;
将所述解封装后的数据写入所述硬盘。
17.如权利要求11-16任一项所述的装置,其特征在于,所述非工作状态包括故障或拔出。
18.如权利要求11所述的装置,其特征在于,所述装置还包括映射建立模块,用于建立逻辑单元号设备与所述预留空间的映射关系;
所述数据写入模块,还用于将待写入所述逻辑单元号设备的数据写入所述预留空间。
19.如权利要求18所述的装置,其特征在于,所述装置还包括:
容量确定模块,用于确定所述预留空间的容量不小于所述逻辑单元号设备的容量。
20.如权利要求18所述的装置,其特征在于,所述数据写入模块,具体用于:
判断所述逻辑单元号设备是否故障;
若是,则将待写入所述逻辑单元号设备的数据写入所述预留空间;
若否,则将待写入所述逻辑单元号设备的数据同时写入所述逻辑单元号设备和所述预留空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510541325.5A CN108319426B (zh) | 2015-08-29 | 2015-08-29 | 一种独立磁盘冗余阵列的使用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510541325.5A CN108319426B (zh) | 2015-08-29 | 2015-08-29 | 一种独立磁盘冗余阵列的使用方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108319426A true CN108319426A (zh) | 2018-07-24 |
CN108319426B CN108319426B (zh) | 2021-08-13 |
Family
ID=62891793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510541325.5A Active CN108319426B (zh) | 2015-08-29 | 2015-08-29 | 一种独立磁盘冗余阵列的使用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319426B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152416A1 (en) * | 1999-12-02 | 2002-10-17 | Fujitsu Limited. | Disk array apparatus and method for expanding storage capacity |
CN101527142A (zh) * | 2009-04-17 | 2009-09-09 | 杭州华三通信技术有限公司 | 一种磁盘冗余阵列中数据的读写方法和设备 |
CN101567211A (zh) * | 2009-05-27 | 2009-10-28 | 杭州华三通信技术有限公司 | 一种提高磁盘可用性的方法和磁盘阵列控制器 |
CN101685380A (zh) * | 2008-09-27 | 2010-03-31 | 佛山市顺德区顺达电脑厂有限公司 | 磁盘阵列重组方法 |
CN104572374A (zh) * | 2015-01-13 | 2015-04-29 | 华为技术有限公司 | 存储的处理方法、装置和存储设备 |
US20160335008A1 (en) * | 2015-05-15 | 2016-11-17 | Sundar Dasar | Systems And Methods For RAID Storage Configuration Using Hetereogenous Physical Disk (PD) Set Up |
-
2015
- 2015-08-29 CN CN201510541325.5A patent/CN108319426B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152416A1 (en) * | 1999-12-02 | 2002-10-17 | Fujitsu Limited. | Disk array apparatus and method for expanding storage capacity |
CN101685380A (zh) * | 2008-09-27 | 2010-03-31 | 佛山市顺德区顺达电脑厂有限公司 | 磁盘阵列重组方法 |
CN101527142A (zh) * | 2009-04-17 | 2009-09-09 | 杭州华三通信技术有限公司 | 一种磁盘冗余阵列中数据的读写方法和设备 |
CN101567211A (zh) * | 2009-05-27 | 2009-10-28 | 杭州华三通信技术有限公司 | 一种提高磁盘可用性的方法和磁盘阵列控制器 |
CN104572374A (zh) * | 2015-01-13 | 2015-04-29 | 华为技术有限公司 | 存储的处理方法、装置和存储设备 |
US20160335008A1 (en) * | 2015-05-15 | 2016-11-17 | Sundar Dasar | Systems And Methods For RAID Storage Configuration Using Hetereogenous Physical Disk (PD) Set Up |
Also Published As
Publication number | Publication date |
---|---|
CN108319426B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220137849A1 (en) | Fragment Management Method and Fragment Management Apparatus | |
CN1965298B (zh) | 用于管理奇偶raid数据重建的方法、系统和设备 | |
US20070061514A1 (en) | Disk array with spare logic drive created from spare physical drives | |
CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
CN107250975A (zh) | 数据存储系统和数据存储方法 | |
JP2006259894A (ja) | ストレージ制御装置および方法 | |
CN107015886A (zh) | 操作存储设备的方法和操作包括其的数据处理系统的方法 | |
CN104407933A (zh) | 一种数据的备份方法及装置 | |
CN106598479A (zh) | 闪速存储器的故障安全擦除的方法和装置 | |
US9003153B2 (en) | Method of storing blocks of data in a plurality of memory devices in a redundant manner, a memory controller and a memory system | |
CN104021089B (zh) | 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 | |
CN107729536A (zh) | 一种数据存储方法和装置 | |
CN104778018A (zh) | 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法 | |
CN107924291A (zh) | 存储系统 | |
CN112148525A (zh) | 实现更快且经过调节的装置初始化时间 | |
CN108037894B (zh) | 一种磁盘空间管理方法及装置 | |
CN108733306A (zh) | 一种文件合并方法及装置 | |
CN107077882A (zh) | 一种dram刷新方法、装置和系统 | |
CN109669818B (zh) | 无本地缓存的连续数据保护方法和系统 | |
CN109669822A (zh) | 电子装置、备用存储池的创建方法和计算机可读存储介质 | |
CN116501259A (zh) | 磁盘组双活同步方法、装置、计算机设备及存储介质 | |
CN109614054A (zh) | 数据的读取方法和系统 | |
CN106603665B (zh) | 云平台连续数据同步方法及其装置 | |
CN109614273A (zh) | 增量数据的读取方法和系统 | |
CN106708445A (zh) | 链路选择方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
PB01 | Publication | ||
PB01 | Publication | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220901 Address after: 611731 No. 1899, Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan Patentee after: Chengdu Huawei Technologies Co.,Ltd. Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd. |
|
TR01 | Transfer of patent right |