一种RAID级别变换的方法和装置制造方法及图纸

技术编号:2819654 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例公开了一种RAID级别变换的方法和装置,该方法包括以下步骤:从初始LUN起,依次判断所述LUN的空闲空间,当当前LUN的空闲空间足够所述当前LUN进行级别变换时,对所述当前LUN进行级别变换;当所述当前LUN的空闲空间不足够当前LUN进行级别变换时,累加计算当前LUN起N个LUN的空闲空间得到空闲空间累加值,当空闲空间累加值足够所述N个LUN进行级别变换时,逆序将所述N个LUN依次进行级别变换,N为大于2的自然数。通过依次判断LUN的空闲空间,快速定位到需要进行级别变换的LUN进行级别变换,免除了碎片整理的步骤,节省系统资源。

【技术实现步骤摘要】

本专利技术涉及磁盘存储领域,尤其涉及一种RAID级别变换的方法和装置
技术介绍
对于每个RAID (Redundant Array of Independent Disks ,独立》兹盘冗余阵 歹'J ),其都是由许多物理-兹盘按一定方式组合而成。这些组合方式称为RAID 级别,包括RAID0、 RAIDIO、 RAID5、 RAID50、 RAID6等,用户根据不同 的安全需要对RAID设置不同的RAID级别。在RAID中,RAID的级别可以动态改变,即从一个级别变换到别一个级 别;比如从RAID50(具有RAID5和RAIDO级别的RAID )到RAID6,从RAID5 到RAIDIO;在变换过程中RAID中的LUN( Logic Unit Number,逻辑单元号) 所占空间可能会在原有基础上减小或变大,因此需要实现RAID级别变换的 方法。现有技术中RAID级别变换的处理方法如图1所示,包括以下步骤先 进行碎片整理,即先将RAID中的所有LUN按先后次序进行平移,整理出一 个连续的空间;再进行RAID级别改变,即计算出所有LUN变换所需要增加 的空间,并从最后一个LUN的最后部分开始依次进行LUN变换。 专利技术人在实现本专利技术的过程中,发现现有技术至少存在以下问题 使用该方法时,需要先进行碎片整理再进行RAID级别变换,执行步骤 较复杂,会消耗大量的时间,且变换过程中会占用大量资源。
技术实现思路
本专利技术的实施例纟是供一种RAID级别变换的方法,减少RAID级别变换中 所需的时间和资源。本专利技术的实施例提供一种RAID级别变换的方法,包括以下步骤从初始LUN起,依次判断所述LUN的空闲空间,当当前LUN的空闲空 间足够所述当前LUN进行级别变换时,对所述当前LUN进行级别变换;当所述当前LUN的空闲空间不足够当前LUN进行级别变换时,累加计 算当前LUN起N个LUN的空闲空间得到空闲空间累加值,当空闲空间累加 值足够所述N个LUN进行级别变换时,逆序将所述N个LUN依次进行级别 变换,N为大于2的自然数。本专利技术的实施例还提供一种独立f兹盘冗余阵列RAID的级别变换装置, 包括第一变换单元,用于从初始LUN起,依次判断所述LUN的空闲空间, 当当前LUN的空闲空间足够所述当前LUN进行级别变换时,对所述当前LUN 进行级别变换;第二变换单元,用于当所述当前LUN的空闲空间不足够当前LUN进行 级別变换时,累加计算当前LUN起N个LUN的空闲空间得到空闲空间累加 值,当空闲空间累加值足够N个LUN进行级别变换时,逆序将所述N个LUN 依次进行级别变换。与现有技术相比,本专利技术的实施例具有以下优点通过依次判断LUN的空闲空间,快速定位到能够进行级别变换的LUN 进行级别变换,免除了碎片整理的步骤,节省系统资源。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1是现有技术中RAID级别变换方法的示意图; 图2是本专利技术的实施例中 一种RAID级别变换方法的流程图; 图3是本专利技术的实施例中RAID中LUN的结构示意图; 图4是本专利技术的实施例中RAID级别变换的示意图5是本专利技术的实施例中RAID级别变换装置的结构示意图6是本专利技术的实施例中RAID级别变换装置的又一结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而 不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的实施例中, 一种RAID级别变换的方法如图2所示,包括以下 步骤步骤s201 、从初始LUN起,依次判断LUN的空闲空间,当当前LUN的 空闲空间足够当前LUN进行级別变换时,对当前LUN进行级别变换;当当 前LUN的空闲空间不足够当前LUN进行级别变换时,执行步骤202;RAID包含多个按一定方式排列的LUN,例如为上下排列,可以把RAID 理解成一个队列,LUN就是其中有序号的元素,第一个LUN即为初始LUN。 每个LUN周围有可能存在没有存储内容的空闲空间,假设RAID中有n个 LUN,标为Ll5 L2, L3......Ln,每个LUN周围的空闲空间大小为Yl5 Y2,Y3......Yn+1, (Y,O, i=l, 2,…n+l);为了方便描述,将LUN周围的空闲空间大小简称为LUN的空闲空间;本专利技术实施例中的级别变换指RAID级别 变换;步骤s202、累加计算当前LUN起N个LUN的空闲空间得到空闲空间累 加值,当空闲空间累加值足够N个LUN进行级别变换时,逆序将这N个LUN 依次进行级别变换,N为大于2的自然数。所述逆序是指与LUN排列方向相反的方向,如上下排列的LUN,逆序就 是指从下往上进行变换;如左右列的LUN,逆序就是指从右往左进行变换;之后,还可以包括步骤s203、判断获取到的LUN后是否还有未变换的LUN,若没有则结 束,否则进行步骤s204。步骤s204、将获取到的LUN后的第 一个未变换的LUN设置为初始LUN, 返回步骤s201。本专利技术的实施例提供一种RAID级别变换的方法,通过依次判断LUN的 空闲空间,快速定位到能够进行级别变换的LUN进行级别变换,免除了碎片 整理的步骤,节省系统资源。以下结合一个具体的应用场景,描述本专利技术的实施例中一种RAID级别 变换方法的具体实施方式。如图3所示,假设RAID中有n个LUN,标为LP L2, L3......Ln,每个LUN的空闲空间大小为YP Y2, Y3......Yn+1, (Yi>0, i=l, 2,…n+l);每个LUN变换后相对于原LUN增加的空间为Xi, X2, X3......Xn(Xj>0, j=l,2...n)。进行RAID级别变换时,要求当前的空闲空间总量能够满足RAID级 别变换的要求,即空闲空间要大于或等于需求空间,否则将不能进行RAID 级别变换。以下以空闲空间等于需求空间的情况进行说明,对于空闲空间大 于需求空间的情况,处理方法相同。空闲空间等于需求空间的情况下X! + X2 + X3 + ... + Xn = Y, + Y2 + Y3 + ...... + Yn + Yn+1 ( 1)具体的RAID变换方法如下步骤s301、以从第1个LUN到最后一个LUN的顺序计算为例,对于^ >Xl5即第一个空闲空间Y!可以满足起始LUN级别从小到大的变换,直接 对起始LUN从空闲空间的起始位置执行级别变换。级别变换后,Y, = 0,当Y!大于X!时,将大于的部分合并到Y2中,作为新的Y2。步骤s302、对于YfX!,即第一个空闲空间不能满足起始LUN级别从小到大的变换时,则可以使用公式X! + +Xm《Y1+ +Ym + Ym+1 (2) 从Y2开始依次使用上述公式(2)进行判断,找到第一个m满足上述公式(2),其本文档来自技高网...

【技术保护点】
一种独立磁盘冗余阵列RAID的级别变换方法,其特征在于,包括以下步骤: 从初始LUN起,依次判断所述LUN的空闲空间,当当前LUN的空闲空间足够所述当前LUN进行级别变换时,对所述当前LUN进行级别变换; 当所述当前LUN的空闲空间不足够当前LUN进行级别变换时,累加计算当前LUN起N个LUN的空闲空间得到空闲空间累加值,当空闲空间累加值足够所述N个LUN进行级别变换时,逆序将所述N个LUN依次进行级别变换,N为大于2的自然数。

【技术特征摘要】

【专利技术属性】
技术研发人员:肖德刚陈立耀黄文艳姚建业
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1