磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法

文档序号:6483718阅读:1164来源:国知局
专利名称:磁盘阵列系统及其降级或重建状态下的逻辑资源处理方法
技术领域
本发明涉及磁盘阵列技术领域,特别涉及磁盘阵列系统及其在降级或重 建状态下的逻辑资源处理方法。
背景技术
独立磁盘冗余阵歹'J (RAID, Redundant Array of Independent Disks ),
简称为"磁盘阵列",是一种能够提供高安全性和高读写性能的存储系统。 它的原理是利用多个硬盘的组合连成一个阵列,实现以快速、准确和安全的 方式来读写磁盘数据,从而达到提高数据读写速度和安全性的一种手段;当 一块或多块磁盘出现故障时,数据能够依靠其他的磁盘计算出来,从而不会 造成数据的丢失。
在磁盘阵列中,包含有磁盘阵列配置信息、逻辑资源(LUN, logical unit number)和LUN配置信息,其中,磁盘阵列配置信息包含磁盘阵列的各种 基本配置信息,以及LUN相关的配置信息和其它信息等,而LUN配置信息 包括该LUN的具体配置信息。在一个磁盘阵列中可以配置多个LUN, 一个 LUN也可以配置在多个磁盘阵列中。
图1为现有在多个磁盘阵列中配置LUN的配置方式示意图,如图l所 示,在一个存储系统中包含两个磁盘阵列,分别为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处理方法, 该方法包4舌
记录所有^F兹盘阵列中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个比特
可以为"0", 一旦业务写操作对该数据块进行了修改,便将该bit修改为"1";当然,反之亦可。此时状态位图的大小约为4MB。
在阵列发生降级/重建时,利用业务应用模型具有在LUN上写入地址连 续的共性,就可以根据状态位图,将LUN资源连续的数据段进行整体转移, 重新分配到正常的磁盘阵列中。
步骤402,根据LUN资源的写入状态,将处于降级或重建状态的磁盘 阵列中的LUN资源重新分配到正常状态的f兹盘阵列上。
具体可以是在处于降级或重建状态的磁盘阵列中,将LUN资源中全部 未写入数据或已全部写入数据的LUN数据段重新分配到正常状态的磁盘阵 列上;和/或,将部分写入数据的LUN数据段中未写入数据的部分重新分配 到正常状态的f兹盘阵列上。
步骤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的状态位图判断需要转移的数据段起
12始偏移和终止偏移地址,计算具体需要重新分配的LUN需要占用的容量。
在RAID系统中查找空闲的阵列资源,重新分配LUN的阵列资源。
其中在重新分配LUN的阵列资源时,还可以按照如下原则进行分配
1 )优先选择连续的资源进行分配,例如本发明RAID3中存在连续可用 的资源超过LUNl-数据段A"和LUNl-数据段B容量的总和,则在RAID3 上分配LUN资源,新分配的资源为LUNl-数据段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的空间。释放方式根据阵列的具体实现决定,比 如修改RAID 1上未分配空间的地址段信息。经过上述处理后,磁盘阵列系统即可接收业务数据的正常读写请求。由
于业务读写是根据LUN的逻辑地址进行操作的,LUN管理器会自动将业务 请求的逻辑地址转换成RAID物理偏移,再将物理偏移传递给底层的RAID 管理器,RAID管理器会自动将该物理偏移转换成磁盘物理地址,此时,数 据将真正地写入到该磁盘物理地址所在的扇区上。可见,LUN配置信息中 数据段的变化对于上层的业务和底层的RAID管理器是透明的,不会中断实 际业务的操作。
经过上述处理后,对于处于降级或重建中的阵列RAID1,将不会有业 务数据写入,可能存在LUN1的数据段A,上的读取操作,达到了尽可能的 减少对处于降级或重建中的磁盘阵列RAID1的业务操作的目的,维持了整 个磁盘阵列系统较高的业务读写性能,如果此时RAID1处于重建状态,因 为在RAID1上不会发生业务写操作,因此也能明显加快RAID1的重建速度。 且LUN1在RAID1释放的空间LUN1的数据段A"和数据段B仍可以用于其 他资源的分配,提高了存储资源的利用效率。
二、 LUN资源中存在发生复写的数据段。
图9为本发明实施例LUN资源中存在发生复写的数据l史时,LUN资源 处理方法示意如图9所示,磁盘阵列中共有RAID1、 RAID2、 RAID3共3组磁盘阵 列,其中RAID1上配置有LUN1的数据段A和数据段B, RAID2上配置有 LUN1的数据段C,其中,LUN1的数据段A已全部写入数据并有部分已发 生复写。图10为LUN1中存在发生复写的数据段时的状态位图示意图,此 时,LUN1中各数据段数据块的写入状态如图IO所示,LUN1的所有数据块 的状态均为"1",且数据段A有部分数据发生复写。此时当RAIDl发生降 级或重建时,将执行的处理步骤如下
1、 LUN管理器根据数据块状态位图得知所有bit位为1,表明LUN1 所有数据段均有过写入,目前业务情况是数据复写。在LUN管理器而言, 不区分数据段是否复写,而是将RAID1上的所有数据段重新分配到正常阵列RAID3上,即将数据段A和数据段B重新分配到RAID3上成为数据段D。 其中对磁盘阵列系统的可用存储容量的考虑与处理,与LUN资源中存在未 被写入的数据段情况相同,这里就不再赘述了。
2 、同时修改RAID 1 、 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的写入状态从写入修改为未写入,即从'T,修改为"0", 而数据段C的状态不变。
经上述处理后,业务写1/0将写入到新数据段,LUN管理器控制写I/0 请求的逻辑地址映射成新数据段上的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系统中可能不同,因此进
15行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存储空间,并通过 及时释放多余空间的方式,提高了存储资源利用率。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限 定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等 同替换、改进等,均应包含在本发明的保护范围之内。
18
权利要求
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处理方法,其特征在于,所述将处于降级或重建状态的;f兹盘阵列中 的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资源中全部未写入凄t据的LUN数据l炎重新分配 到正常状态的磁盘阵列上和/或将部分写入数据的LUN数据段中未写入数据的 部分重新分配到正常状态的磁盘阵列上之后,立即释放重新分配前原LUN数据 段相应的LUN资源;在所述LUN分配模块将LUN资源中已全部写入数据的LIM数据段重新分 配到正常状态的磁盘阵列上,且根据所述写入状态记录模块记录在正常状态的 磁盘阵列上重新分配的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资源的写入状态信息。
全文摘要
本发明公开了一种磁盘阵列系统及其在降级或重建状态下的逻辑资源处理方法,通过记录磁盘阵列中LUN资源的写入状态,并根据LUN资源的写入状态,将处于降级或重建状态的磁盘阵列中的LUN资源重新分配到正常状态的磁盘阵列上;将对原LUN资源的写业务操作转换为对新分配的LUN资源的写业务操作,而对原LUN资源的读业务操作维持不变。该系统和方法可以将所有对处于降级或重建状态的磁盘阵列的写业务操作都转移到正常的磁盘阵列中,极大地减少了处于降级或重建状态的磁盘阵列的业务负担,提高了磁盘阵列系统在降级或重建状态下的业务读写性能。
文档编号G06F3/06GK101477446SQ200910077469
公开日2009年7月8日 申请日期2009年2月12日 优先权日2009年2月12日
发明者杨西平, 王连朝, 佳 苏 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1