CN101477446A - 磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法 - Google Patents
磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法 Download PDFInfo
- Publication number
- CN101477446A CN101477446A CNA2009100774694A CN200910077469A CN101477446A CN 101477446 A CN101477446 A CN 101477446A CN A2009100774694 A CNA2009100774694 A CN A2009100774694A CN 200910077469 A CN200910077469 A CN 200910077469A CN 101477446 A CN101477446 A CN 101477446A
- Authority
- CN
- China
- Prior art keywords
- lun
- resource
- disk array
- data
- state
- 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
本发明公开了一种磁盘阵列系统及其在降级或重建状态下的逻辑资源处理方法,通过记录磁盘阵列中LUN资源的写入状态,并根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,而对原LUN资源的读业务操作维持不变。该系统和方法可以将所有对处于降级或重建状态的磁盘阵列的写业务操作都转移到正常的磁盘阵列中,极大地减少了处于降级或重建状态的磁盘阵列的业务负担,提高了磁盘阵列系统在降级或重建状态下的业务读写性能。
Description
技术领域
本发明涉及磁盘阵列技术领域,特别涉及磁盘阵列系统及其在降级或重建状态下的逻辑资源处理方法。
背景技术
独立磁盘冗余阵列(RAID,Redundant Array of Independent Disks),简称为“磁盘阵列”,是一种能够提供高安全性和高读写性能的存储系统。它的原理是利用多个硬盘的组合连成一个阵列,实现以快速、准确和安全的方式来读写磁盘数据,从而达到提高数据读写速度和安全性的一种手段;当一块或多块磁盘出现故障时,数据能够依靠其他的磁盘计算出来,从而不会造成数据的丢失。
在磁盘阵列中,包含有磁盘阵列配置信息、逻辑资源(LUN,logical unitnumber)和LUN配置信息,其中,磁盘阵列配置信息包含磁盘阵列的各种基本配置信息,以及LUN相关的配置信息和其它信息等,而LUN配置信息包括该LUN的具体配置信息。在一个磁盘阵列中可以配置多个LUN,一个LUN也可以配置在多个磁盘阵列中。
图1为现有在多个磁盘阵列中配置LUN的配置方式示意图,如图1所示,在一个存储系统中包含两个磁盘阵列,分别为RAID1和RAID2,其中RAID1上配置有LUN1的数据段A和数据段B,RAID2上配置有LUN1的数据段C,其中LUN1的数据段A中的一部分已写入数据,其它数据段中没有数据写入。数据段A在RAID1上的起始位置以物理偏移方式描述为偏移210GB,结束位置为偏移260GB,其中已写数据部分占偏移210GB至偏移230GB的部分;数据段B的起始/终止位置分别为偏移300GB和偏移330GB;数据段C在RAID2中的起始/终止位置分别为偏移100GB和偏移150GB。
图2为磁盘阵列配置信息包含的具体信息内容示意图,如图2所示,RAID配置信息中包括阵列基本信息如阵列标识、阵列容量、阵列包含的磁盘等,还包含LUN相关信息,包括:本阵列LUN总数、LUN-n的通用唯一识别码(Universally Unique Identifier,UUID),LUN-n配置信息所在的物理偏移,LUN-n的容量大小,LUN-n所属的阵列UUID。
图3为LUN配置信息包含的具体信息内容示意图,如图3所示,LUN配置信息包括:LUN-n的UUID,LUN-n的容量大小,LUN-n所属的阵列UUID,LUN-n数据段的个数,LUN-n每个数据段所在阵列的起始物理偏移、终止物理偏移。如果一个LUN分段配置在多个磁盘阵列上,那么该LUN的配置信息可以放在一个磁盘阵列上面也可以在每个配置有该LUN的磁盘阵列上面都保存该LUN的配置信息。
对磁盘阵列进行数据读写的过程中,由于各种原因,例如磁盘上有坏道,磁盘被误拔出等,可能会出现磁盘失效被踢出阵列的情况;此时阵列会处于降级状态,该状态下还没有正常磁盘顶替失效磁盘,RAID还未进行数据重建。为了将阵列恢复正常状态需要进行数据重建,重建状态是从降级到正常之间的过渡状态,此时有一个正常的磁盘顶替了失效磁盘,磁盘阵列将重新建立冗余数据。
在重建时,外部业务对LUN资源的输入输出(I/O)数据读写会导致阵列重建缓慢,业务数据读写性能也会受到影响;由于重建缓慢,再有磁盘故障的概率加大,将引起磁盘阵列失效,数据丢失。在这种情况下,由于重建时间耗费较长,一,会对阵列的业务读写性能造成影响,频繁的数据写入会减低重建速度,增加重建数据;二,如果在阵列未重建完成时,有另外一块磁盘出现故障,则会造成数据的丢失。
为了保证数据不丢失,一般会采用为LUN增加镜像LUN的方式,业务数据会同时写入到LUN和其镜像LUN中去,镜像LUN中数据保持和LUN一致。当LUN失效时,镜像LUN仍然可以提供业务服务,保证数据不丢失。但是对于该方法,还是存在很大的问题:首先,LUN或其镜像资源所在的阵列处于重建中时,对于数据的写入操作仍然会向重建状态中的磁盘阵列写入数据,这依然会严重影响处于重建状态的磁盘阵列的业务读写性能,重建的速度仍然很缓慢;其次,因为使用了镜像LUN,所需存储资源加倍,存储资源利用率低,不够经济。
发明内容
本发明实施例提供一种磁盘阵列系统处于降级或重建状态下的LUN处理方法,可以提高磁盘阵列系统在降级或重建状态下的业务读写性能。
本发明实施例提供一种磁盘阵列系统,可以提高磁盘阵列系统在降级或重建状态下的业务读写性能。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种磁盘阵列系统处于降级或重建状态下的逻辑资源LUN处理方法,该方法包括:
记录所有磁盘阵列中LUN资源的写入状态;
根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;
将对处于降级或重建状态的磁盘阵列中的LUN资源的写业务操作转换为对正常状态的磁盘阵列上新分配的LUN资源的写业务操作,对处于降级或重建状态的磁盘阵列中的LUN资源的读业务操作维持不变。
一种磁盘阵列系统,包括至少两组磁盘阵列,该系统还包括:
LUN管理器,与每一个磁盘阵列分别相连,用于记录磁盘阵列中LUN资源的写入状态;根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,对原LUN资源的读业务操作维持不变。
由上述的技术方案可见,本发明的这种通过记录磁盘阵列中LUN资源的写入状态,并根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上,同时,将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,对原LUN资源的读业务操作维持不变。从而可以将所有对处于降级或重建状态的磁盘阵列的写业务操作都转移到正常的磁盘阵列中,极大地减少了处于降级或重建状态的磁盘阵列的业务负担,提高整个磁盘阵列系统的业务读写性能,并且不会占用额外的存储资源,提高了存储资源利用率。
附图说明
图1为现有在多个磁盘阵列中配置LUN的配置方式示意图;
图2为磁盘阵列配置信息包含的具体信息内容示意图;
图3为LUN配置信息包含的具体信息内容示意图;
图4为本发明实施例磁盘阵列系统处于降级或重建状态下的LUN处理方法流程图;
图5为本发明实施例LUN资源中存在未被写入的数据段时,LUN资源处理方法示意图;
图6为LUN1中存在未被写入的数据段时的状态位图示意图;
图7为本发明实施例LUN1重新分配资源后各磁盘阵列中与LUN1相关的配置信息变化示意图;
图8为本发明实施例LUN1重新分配资源后LUN1配置信息变化示意图;
图9为本发明实施例LUN资源中存在发生复写的数据段时,LUN资源处理方法示意图;
图10为LUN1中存在发生复写的数据段时的状态位图示意图;
图11为本发明实施例LUN1重新分配资源后LUN1配置信息变化示意图;
图12为本发明实施例经修改后的LUN1的数据块状态位图示意图;
图13为本发明实施例的磁盘阵列系统结构示意图;
图14为本发明实施例的LUN管理器具体结构示意图;
图15为本发明实施例的LUN分配模块具体结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明主要是通过记录磁盘阵列中LUN资源的写入状态,并根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上,同时,将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,对原LUN资源的读业务操作维持不变。从而可以将所有对处于降级或重建状态的磁盘阵列的写业务操作都转移到正常的磁盘阵列中,极大地减少了处于降级或重建状态的磁盘阵列的业务负担,提高整个磁盘阵列系统的业务读写性能,并且不会占用额外的存储资源,提高了存储资源利用率。
图4为本发明实施例磁盘阵列系统处于降级或重建状态下的LUN处理方法流程图,如图4所示,该流程包括以下步骤:
步骤401,记录磁盘阵列中LUN资源的写入状态;
本步骤中是记录所有磁盘阵列中的LUN资源的写入状态,具体可以是在每一个磁盘阵列的LUN配置信息中,增加LUN数据块状态位图,采用位图格式的所述状态位图记录LUN数据块的写入状态,所述状态位图中的每一位表示一个LUN数据块的写入状态。在本发明中,数据块的写入状态是指数据块已被写入数据或没有写入数据的状态。
LUN资源的数据块大小可根据现有应用模型适当调节,本发明以16KB为一个数据块为例。以一个500GB的LUN为例,将使用32768000个比特(bit)位记录所有32768000个逻辑数据块的数据变化信息,每个bit初始值可以为“0”,一旦业务写操作对该数据块进行了修改,便将该bit修改为“1”;当然,反之亦可。此时状态位图的大小约为4MB。
在阵列发生降级/重建时,利用业务应用模型具有在LUN上写入地址连续的共性,就可以根据状态位图,将LUN资源连续的数据段进行整体转移,重新分配到正常的磁盘阵列中。
步骤402,根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上。
具体可以是在处于降级或重建状态的磁盘阵列中,将LUN资源中全部未写入数据或已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上;和/或,将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上。
步骤403,将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作。
即将对处于降级或重建状态的磁盘阵列中的LUN资源的写业务操作转换为对正常状态的磁盘阵列上新分配的LUN资源的写业务操作,对处于降级或重建状态的磁盘阵列中的LUN资源的读业务操作维持不变。
在重新分配LUN资源后,磁盘阵列系统将根据重新分配的LUN资源提供业务服务,对原LUN资源的写业务操作将被指向新分配的LUN资源,而对原LUN资源的读业务操作将维持不变。
另外,在步骤402中将LUN资源中全部未写入数据的LUN数据段重新分配到正常状态的磁盘阵列上,和/或将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上之后,还可以立即释放重新分配LUN资源之前,处于降级或重建状态的磁盘阵列中被重新分配的原LUN数据段的LUN资源。也可以在将LUN资源中已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上之后进一步当在正常状态的磁盘阵列上重新分配的LUN数据段已全部写入数据后,释放处于降级或重建状态的磁盘阵列中已全部写入数据的原LUN数据段的LUN资源。
步骤402中具体将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上时可以按照如下原则进行:优先选择正常状态的磁盘阵列上超过需要分配的LUN资源所需容量的连续LUN资源进行分配;若没有超过需要分配的LUN资源所需容量的连续LUN资源,则将所述需要分配的LUN资源进行分段分配;若正常状态的磁盘阵列上没有足够的空闲容量,则优先分配所述需要分配的LUN资源中已写入数据的LUN数据段。
而LUN资源的具体分配可以包括:更新所述需要分配的LUN资源的LUN配置信息及进行分配后所有包含该LUN资源的磁盘阵列的磁盘阵列配置信息中与所述需要分配的LUN资源相关的部分。其中,更新与需要分配的LUN资源相关的部分可以包括:更新LUN资源所属磁盘阵列信息。更新所述需要分配的LUN资源的LUN配置信息可以包括:更新LUN数据段所在阵列的起始/终止物理偏移信息;并在所述需要分配的LUN资源中存在全部写入数据的LUN数据段时,进一步更新LUN资源的写入状态信息。
下面分别对磁盘阵列系统发生降级或重建时,LUN资源中存在未被写入的LUN数据段和LUN资源中存在已复写的LUN数据段这两种情况下,磁盘阵列系统对LUN资源的具体处理过程进行详细举例描述。
一、LUN资源中存在未被写入的数据段。
图5为本发明实施例LUN资源中存在未被写入的数据段时,LUN资源处理方法示意图;
如图5所示,磁盘阵列中共有RAID1、RAID2、RAID3共3组磁盘阵列,其中RAID1上配置有LUN1的数据段A和数据段B,RAID2上配置有LUN1的数据段C,其中,在LUN1的数据段A中,数据段A’已写入数据,数据段A”未写入数据。图6为LUN1中存在未被写入的数据段时的状态位图示意图,此时,LUN1中各数据段数据块的写入状态如图6所示,数据段A’已写入数据,状态位图中表示数据段A’的比特位均为“1”,其他数据段均为“0”。此时当RAID1发生降级或重建时,将执行的处理步骤如下:
1、LUN管理器首先将根据LUN1的状态位图判断需要转移的数据段起始偏移和终止偏移地址,计算具体需要重新分配的LUN需要占用的容量。在RAID系统中查找空闲的阵列资源,重新分配LUN的阵列资源。
其中在重新分配LUN的阵列资源时,还可以按照如下原则进行分配:
1)优先选择连续的资源进行分配,例如本发明RAID3中存在连续可用的资源超过LUN1-数据段A”和LUN1-数据段B容量的总和,则在RAID3上分配LUN资源,新分配的资源为LUN1-数据段D。
2)若没有足够可分配的连续资源时,根据可分配的资源大小对LUN进行重新分段。
3)如果可分配的存储空间不够,那么先将当前急需重新分配的LUN1的数据段A”在RAID3上重新分配,数据段B暂时不做改变。LUN1的数据段A”急需分配是因为正常情况下的业务写操作是连续的,那么降级或重建后,正常的业务写操作将会将数据写入LUN1的数据段A”中。
2、同时修改RAID1、RAID2和RAID3配置信息中有关LUN1所属阵列的信息。图7为本发明实施例LUN1重新分配资源后各磁盘阵列中与LUN1相关的配置信息变化示意图,如图7所示,重新分配前,RAID1和RAID2中含有LUN1相关的配置信息,而RAID3中没有LUN1的相关配置信息,重新分配后,RAID1、RAID2和RAID3中均包含LUN1的相关配置信息,且RAID1和RAID2中的LUN1所属阵列信息从原来的RAID1和RAID2更新为RAID1、RAID2和RAID3。
3、修改LUN1的配置信息中各数据段所在阵列的起始物理偏移、终止物理偏移。LUN1的数据块状态位图不变。图8为本发明实施例LUN1重新分配资源后LUN1配置信息变化示意图,如图8所示,LUN1配置信息中,具体的LUN数据段信息将更新为重新分配后的数据段信息,即数据段A和数据段B将更新为数据段A’和数据段D,LUN1所属阵列信息也相应地从RAID1和RAID2修改为RAID1、RAID2和RAID3。
4、释放数据段A”和B的空间。释放方式根据阵列的具体实现决定,比如修改RAID1上未分配空间的地址段信息。
经过上述处理后,磁盘阵列系统即可接收业务数据的正常读写请求。由于业务读写是根据LUN的逻辑地址进行操作的,LUN管理器会自动将业务请求的逻辑地址转换成RAID物理偏移,再将物理偏移传递给底层的RAID管理器,RAID管理器会自动将该物理偏移转换成磁盘物理地址,此时,数据将真正地写入到该磁盘物理地址所在的扇区上。可见,LUN配置信息中数据段的变化对于上层的业务和底层的RAID管理器是透明的,不会中断实际业务的操作。
经过上述处理后,对于处于降级或重建中的阵列RAID1,将不会有业务数据写入,可能存在LUN1的数据段A’上的读取操作,达到了尽可能的减少对处于降级或重建中的磁盘阵列RAID1的业务操作的目的,维持了整个磁盘阵列系统较高的业务读写性能,如果此时RAID1处于重建状态,因为在RAID1上不会发生业务写操作,因此也能明显加快RAID1的重建速度。且LUN1在RAID1释放的空间LUN1的数据段A”和数据段B仍可以用于其他资源的分配,提高了存储资源的利用效率。
二、LUN资源中存在发生复写的数据段。
图9为本发明实施例LUN资源中存在发生复写的数据段时,LUN资源处理方法示意图;
如图9所示,磁盘阵列中共有RAID1、RAID2、RAID3共3组磁盘阵列,其中RAID1上配置有LUN1的数据段A和数据段B,RAID2上配置有LUN1的数据段C,其中,LUN1的数据段A已全部写入数据并有部分已发生复写。图10为LUN1中存在发生复写的数据段时的状态位图示意图,此时,LUN1中各数据段数据块的写入状态如图10所示,LUN1的所有数据块的状态均为“1”,且数据段A有部分数据发生复写。此时当RAID1发生降级或重建时,将执行的处理步骤如下:
1、LUN管理器根据数据块状态位图得知所有bit位为1,表明LUN1所有数据段均有过写入,目前业务情况是数据复写。在LUN管理器而言,不区分数据段是否复写,而是将RAID1上的所有数据段重新分配到正常阵列RAID3上,即将数据段A和数据段B重新分配到RAID3上成为数据段D。其中对磁盘阵列系统的可用存储容量的考虑与处理,与LUN资源中存在未被写入的数据段情况相同,这里就不再赘述了。
2、同时修改RAID1、RAID2和RAID3配置信息中有关LUN1所属阵列的信息。处理情况与LUN资源中存在未被写入的数据段情况相同,这里就不再赘述了。
3、更新LUN1的配置信息,在增加新分配的LUN数据段的信息的同时保留原LUN数据段信息,并修改LUN1的数据块状态位图。图11为本发明实施例LUN1重新分配资源后LUN1配置信息变化示意图;如图11所示,LUN数据段中增加了新数据段D的起始/终止偏移,并且保留了原数据段A和数据段B的起始/终止偏移,LUN数据段个数相应从3修改为2,LUN1所属阵列也相应从RAID1和RAID2修改为RAID1、RAID2和RAID3。图12为本发明实施例经修改后的LUN1的数据块状态位图示意图,如图12所示,数据段D的写入状态从写入修改为未写入,即从“1”修改为“0”,而数据段C的状态不变。
经上述处理后,业务写I/O将写入到新数据段,LUN管理器控制写I/O请求的逻辑地址映射成新数据段上的RAID物理偏移;业务读I/O从原数据段读取,LUN管理器控制读I/O请求的逻辑地址映射成原数据段上的RAID物理偏移。一旦数据段D均被写入,即状态位图中表示数据段D的bit位全部转变为“1”时,则释放RAID1上原数据段A和数据段B占用的存储空间。此时业务读写操作均在数据段D上进行。释放方式根据阵列的具体实现决定,比如修改阵列RAID1上未分配空间的地址段信息。
当然,上述两种情况中,如果RAID2中有足够的空间分配LUN资源,也可以将RAID1中的LUN1资源重新分配到RAID2上,或者一部分分配RAID2上,另一部分分配到RAID3上;此时具体RAID配置信息及LUN配置信息的更新,可根据具体分配结果进行。另外,由于具体的RAID配置信息及LUN配置信息所包含的内容在不同的RAID系统中可能不同,因此进行LUN资源重新分配时,对于具体RAID配置信息及LUN配置信息的更新和修改可以根据具体RAID系统的实现和数据读写方式而定。
实现上述方法的磁盘阵列系统中,至少需要两组磁盘阵列,图13为本发明实施例的磁盘阵列系统结构示意图,包括磁盘阵列1~N,该系统还包括:
LUN管理器1301,与每一组磁盘阵列分别相连,用于记录磁盘阵列中LUN资源的写入状态;根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,对原LUN资源的读业务操作维持不变。
图14为本发明实施例的LUN管理器具体结构示意图,其中所述LUN管理器中可以包括:
写入状态记录模块1401,用于采用位图格式记录每一组磁盘阵列中LUN数据块的写入状态,位图中的每一位表示一个数据块的写入状态。
LUN分配模块1402,与所述写入状态记录模块1401相连,用于根据所述写入状态记录模块1402记录的LUN数据块状态位图,在处于降级或重建状态的磁盘阵列中,将LUN资源中全部未写入数据或已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上;将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上。
较佳地,所述LUN管理器可以进一步包括资源释放模块1403。
资源释放模块1403与所述写入状态记录模块1401及LUN分配模块1402分别相连,用于在所述LUN分配模块1402将LUN资源中全部未写入数据的LUN数据段重新分配到正常状态的磁盘阵列上和/或将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上之后,立即释放重新分配前原LUN数据段相应的LUN资源;
在所述LUN分配模块1402将LUN资源中已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上,且根据所述写入状态记录模块1401记录在正常状态的磁盘阵列上重新分配的LUN数据段已全部写入数据后,释放原LUN数据段相应的LUN资源。
较佳地,所述LUN管理器还可以进一步包括资源计算模块1404。
资源计算模块1404与所述写入状态记录模块1401相连,用于根据LUN资源的写入状态计算需要分配的LUN资源所需容量。
所述LUN分配模块1402进一步与所述资源计算模块1404相连,用于优先选择正常状态的磁盘阵列上超过需要分配的LUN资源所需容量的连续LUN资源进行分配;若没有超过需要分配的LUN资源所需容量的连续LUN资源,则将所述需要分配的LUN资源进行分段分配;若正常状态的磁盘阵列上没有足够的空闲容量,则优先分配所述需要分配的LUN资源中已写入数据的LUN数据段。
图15为本发明实施例的LUN分配模块具体结构示意图,如图15所示,所述LUN分配模块包括:
LUN分配调度单元1501,用于调度LUN资源的重新分配;
LUN配置信息更新单元1502,与所述LUN分配调度单元1501相连,用于根据LUN分配调度单元1501的调度,更新所述需要分配的LUN资源的LUN配置信息;
磁盘阵列配置信息更新单元1503,与所述LUN分配调度单元1501相连,用于根据LUN分配调度单元1501的调度,更新进行分配后所有包含该LUN资源的磁盘阵列的磁盘阵列配置信息中与所述需要分配的LUN资源相关的部分。
较佳地,所述LUN配置信息更新单元具体用于更新LUN资源所属磁盘阵列信息;
所述磁盘阵列配置信息更新单元,具体用于更新LUN数据段所在阵列的起始/终止物理偏移信息;并在所述需要分配的LUN资源中存在全部写入数据的LUN数据段时,进一步更新LUN资源的写入状态信息。
具体的信息更新方法与方法实施例相同,这里就不再赘述了。
由上述的实施例可见,本发明通过记录磁盘阵列中LUN资源的写入状态,并根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上,同时,将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,对原LUN资源的读业务操作维持不变。从而可以将所有对处于降级或重建状态的磁盘阵列的写业务操作都转移到正常的磁盘阵列中,极大地减少了处于降级或重建状态的磁盘阵列的业务负担,提高了整个磁盘阵列系统的业务读写性能,同时也加快了磁盘阵列的重建速度,降低了重建中磁盘阵列再次发生故障的可能性,从而降低数据丢失的概率;另外,由于仅使用了一份LUN存储空间,并通过及时释放多余空间的方式,提高了存储资源利用率。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1、一种磁盘阵列系统处于降级或重建状态下的逻辑资源LUN处理方法,其特征在于,该方法包括:
记录所有磁盘阵列中LUN资源的写入状态;
根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;
将对处于降级或重建状态的磁盘阵列中的LUN资源的写业务操作转换为对正常状态的磁盘阵列上新分配的LUN资源的写业务操作,对处于降级或重建状态的磁盘阵列中的LUN资源的读业务操作维持不变。
2、如权利要求1所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述记录磁盘阵列中LUN资源的写入状态包括:
在每一个磁盘阵列的LUN配置信息中,增加LUN数据块状态位图,采用位图格式的所述状态位图记录LUN数据块的写入状态,所述状态位图中的每一位表示一个LUN数据块的写入状态。
3、如权利要求2所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上,包括:
在处于降级或重建状态的磁盘阵列中,将LUN资源中全部未写入数据或已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上;和/或,将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上。
4、如权利要求3所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述将LUN资源中全部未写入数据的LUN数据段重新分配到正常状态的磁盘阵列上,和/或将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上之后,该方法进一步包括:释放处于降级或重建状态的磁盘阵列中被重新分配的LUN数据段的LUN资源。
5、如权利要求3所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述将LUN资源中已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上之后,该方法进一步包括:当所述在正常状态的磁盘阵列上重新分配的LUN数据段已全部写入数据后,释放处于降级或重建状态的磁盘阵列中所述已全部写入数据的LUN数据段的LUN资源。
6、如权利要求1~5中任一权利要求所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上包括:优先选择正常状态的磁盘阵列上超过需要分配的LUN资源所需容量的连续LUN资源进行分配;若没有超过需要分配的LUN资源所需容量的连续LUN资源,则将所述需要分配的LUN资源进行分段分配;若正常状态的磁盘阵列上没有足够的空闲容量,则优先分配所述需要分配的LUN资源中已写入数据的LUN数据段。
7、如权利要求1~5所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述分配包括:更新所述需要分配的LUN资源的LUN配置信息及进行分配后所有包含该LUN资源的磁盘阵列的磁盘阵列配置信息中与所述需要分配的LUN资源相关的部分。
8、如权利要求7所述的磁盘阵列系统处于降级或重建状态下的LUN处理方法,其特征在于,所述更新与需要分配的LUN资源相关的部分包括:更新LUN资源所属磁盘阵列信息;
所述更新所述需要分配的LUN资源的LUN配置信息包括:更新LUN数据段所在阵列的起始/终止物理偏移信息;并在所述需要分配的LUN资源中存在全部写入数据的LUN数据段时,进一步更新LUN资源的写入状态信息。
9、一种磁盘阵列系统,包括至少两组磁盘阵列,其特征在于,该系统还包括:
LUN管理器,与每一个磁盘阵列分别相连,用于记录磁盘阵列中LUN资源的写入状态;根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,对原LUN资源的读业务操作维持不变。
10、如权利要求9所述的磁盘阵列系统,其特征在于,所述LUN管理器包括:
写入状态记录模块,用于采用位图格式记录LUN数据块的写入状态,位图中的每一位表示一个数据块的写入状态;
LUN分配模块,与所述写入状态记录模块相连,用于根据所述写入状态记录模块记录的LUN数据块状态位图,在处于降级或重建状态的磁盘阵列中,将LUN资源中全部未写入数据或已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上;和/或,将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上。
11、如权利要求10所述的磁盘阵列系统,其特征在于,所述LUN管理器进一步包括:
资源释放模块,与所述写入状态记录模块及LUN分配模块分别相连,用于在所述LUN分配模块将LUN资源中全部未写入数据的LUN数据段重新分配到正常状态的磁盘阵列上和/或将部分写入数据的LUN数据段中未写入数据的部分重新分配到正常状态的磁盘阵列上之后,立即释放重新分配前原LUN数据段相应的LUN资源;
在所述LUN分配模块将LUN资源中已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵列上,且根据所述写入状态记录模块记录在正常状态的磁盘阵列上重新分配的LUN数据段已全部写入数据后,释放原LUN数据段相应的LUN资源。
12、如权利要求9~11中任一项权利要求所述的磁盘阵列系统,其特征在于,所述LUN管理器进一步包括:
资源计算模块,资源计算模块与所述写入状态记录模块相连,用于根据LUN资源的写入状态计算需要分配的LUN资源所需容量;
所述LUN分配模块进一步与所述资源计算模块相连,用于优先选择正常状态的磁盘阵列上超过需要分配的LUN资源所需容量的连续LUN资源进行分配;若没有超过需要分配的LUN资源所需容量的连续LUN资源,则将所述需要分配的LUN资源进行分段分配;若正常状态的磁盘阵列上没有足够的空闲容量,则优先分配所述需要分配的LUN资源中已写入数据的LUN数据段。
13、如权利要求10~12所述的磁盘阵列系统,其特征在于,所述LUN分配模块包括:
LUN分配调度单元,用于调度LUN资源的重新分配;
LUN配置信息更新单元,与所述LUN分配调度单元相连,用于根据LUN分配调度单元的调度,更新所述需要分配的LUN资源的LUN配置信息;
磁盘阵列配置信息更新单元,与所述LUN分配调度单元相连,用于根据LUN分配调度单元的调度,更新进行分配后所有包含该LUN资源的磁盘阵列的磁盘阵列配置信息中与所述需要分配的LUN资源相关的部分。
14、如权利要求12所述的磁盘阵列系统,其特征在于,所述LUN配置信息更新单元具体用于更新LUN资源所属磁盘阵列信息;
所述磁盘阵列配置信息更新单元,具体用于更新LUN数据段所在阵列的起始/终止物理偏移信息;并在所述需要分配的LUN资源中存在全部写入数据的LUN数据段时,进一步更新LUN资源的写入状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100774694A CN101477446B (zh) | 2009-02-12 | 2009-02-12 | 磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100774694A CN101477446B (zh) | 2009-02-12 | 2009-02-12 | 磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101477446A true CN101477446A (zh) | 2009-07-08 |
CN101477446B CN101477446B (zh) | 2011-03-30 |
Family
ID=40838170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100774694A Expired - Fee Related CN101477446B (zh) | 2009-02-12 | 2009-02-12 | 磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477446B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931650A (zh) * | 2010-08-23 | 2010-12-29 | 浪潮(北京)电子信息产业有限公司 | 存储资源配置信息的管理方法和装置 |
CN102147714A (zh) * | 2011-03-17 | 2011-08-10 | 杭州宏杉科技有限公司 | 一种网络存储系统的管理方法及装置 |
CN102968358A (zh) * | 2012-11-13 | 2013-03-13 | 浪潮电子信息产业股份有限公司 | 一种软raid1部署系统的快速恢复方法 |
CN104123100A (zh) * | 2013-04-25 | 2014-10-29 | 国际商业机器公司 | 控制存储设备阵列中的数据存储 |
CN112463077A (zh) * | 2020-12-16 | 2021-03-09 | 北京云宽志业网络技术有限公司 | 数据块处理方法、装置、设备及存储介质 |
-
2009
- 2009-02-12 CN CN2009100774694A patent/CN101477446B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931650A (zh) * | 2010-08-23 | 2010-12-29 | 浪潮(北京)电子信息产业有限公司 | 存储资源配置信息的管理方法和装置 |
CN102147714A (zh) * | 2011-03-17 | 2011-08-10 | 杭州宏杉科技有限公司 | 一种网络存储系统的管理方法及装置 |
CN102147714B (zh) * | 2011-03-17 | 2015-12-16 | 杭州宏杉科技有限公司 | 一种网络存储系统的管理方法及装置 |
CN102968358A (zh) * | 2012-11-13 | 2013-03-13 | 浪潮电子信息产业股份有限公司 | 一种软raid1部署系统的快速恢复方法 |
CN104123100A (zh) * | 2013-04-25 | 2014-10-29 | 国际商业机器公司 | 控制存储设备阵列中的数据存储 |
CN104123100B (zh) * | 2013-04-25 | 2017-08-04 | 国际商业机器公司 | 控制存储设备阵列中的数据存储 |
CN112463077A (zh) * | 2020-12-16 | 2021-03-09 | 北京云宽志业网络技术有限公司 | 数据块处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101477446B (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101878471B (zh) | 数据存储空间恢复系统和方法 | |
CN109213618B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN108733313B (zh) | 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质 | |
CN102317925B (zh) | 存储器系统和控制存储器系统的方法 | |
JP5437373B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
US7698604B2 (en) | Storage controller and a method for recording diagnostic information | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
CN102508724B (zh) | 一种基于软raid的磁盘坏块处理方法 | |
CN102866956B (zh) | 基于固态存储介质的数据实时跟踪存储系统及方法 | |
CN109426622B (zh) | 一种提高闪存固态盘寿命的方法及高寿命闪存固态盘 | |
CN102841855A (zh) | 具有内嵌地址间接性元数据存储的存储设备 | |
CN101477446B (zh) | 磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法 | |
CN103559138A (zh) | 固态硬盘及其空间管理方法 | |
CN113176858B (zh) | 数据处理方法、存储系统及存储设备 | |
KR20110087272A (ko) | 볼륨 조각 할당 방법, 볼륨 조각 할당 시스템 및 raid | |
CN101446976A (zh) | 一种分布式文件系统中的文件存储方法 | |
CN103761190A (zh) | 数据处理方法及装置 | |
CN104778018A (zh) | 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法 | |
CN101566930B (zh) | 虚拟磁盘驱动系统和方法 | |
CN108491290B (zh) | 一种数据写入方法及装置 | |
CN102160038A (zh) | 管理非易失性磁盘高速缓存的方法和设备 | |
JP2017182267A (ja) | オブジェクトストレージ、コントローラおよびプログラム | |
JP3669103B2 (ja) | 記憶装置および記憶装置サブシステム | |
CN114721585A (zh) | 存储管理方法、设备和计算机程序产品 | |
CN102479156B (zh) | 用来进行区块管理的方法、记忆装置及其控制器 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110330 Termination date: 20200212 |