CN103268202B - 一种扩容方法和设备 - Google Patents

一种扩容方法和设备 Download PDF

Info

Publication number
CN103268202B
CN103268202B CN201310143192.7A CN201310143192A CN103268202B CN 103268202 B CN103268202 B CN 103268202B CN 201310143192 A CN201310143192 A CN 201310143192A CN 103268202 B CN103268202 B CN 103268202B
Authority
CN
China
Prior art keywords
hard disk
virtual
virtual hard
original
group
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.)
Active
Application number
CN201310143192.7A
Other languages
English (en)
Other versions
CN103268202A (zh
Inventor
许焰
孙亚萍
周慧强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310143192.7A priority Critical patent/CN103268202B/zh
Publication of CN103268202A publication Critical patent/CN103268202A/zh
Priority to EP13861531.5A priority patent/EP2808778A4/en
Priority to PCT/CN2013/085078 priority patent/WO2014173087A1/zh
Priority to US14/454,054 priority patent/US9354826B2/en
Application granted granted Critical
Publication of CN103268202B publication Critical patent/CN103268202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明的实施例提供一种扩容方法和设备,涉及扩容技术领域,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。该方法具体包括:在分布式独立磁盘冗余阵列RAID系统中,将每个硬盘平均划分为大小相等的虚拟硬盘;将原始硬盘平均划分为X个组;分布式RAID系统中原始硬盘的个数为X的整数倍;从每个硬盘中选取m个虚拟硬盘组成一个原始硬盘;依次从每个原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组;在分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘;从每个新增硬盘上选取m个虚拟硬盘插入虚拟硬盘组;在虚拟硬盘组中,将原始硬盘中的虚拟硬盘中的数据搬移到新增硬盘的虚拟硬盘中。本发明应用于硬盘扩容中。

Description

一种扩容方法和设备
技术领域
本发明涉及扩容技术领域,尤其涉及一种扩容方法和设备。
背景技术
分布式独立磁盘冗余阵列(Redundant Array of Independent Disks,简称RAID)可以将单个RAID分布在多个物理硬盘的离散空间,从而充分调动系统中的硬盘,将热点平分到尽量多的硬盘,消除热点。同时,硬盘损坏时,更多的硬盘参与重构吗,从而重构时间较长。因而分布式RAID得到越来越广泛的应用,但是企业在购买和使用存储系统时,并不是初始就安装最大配置的硬盘,而是按照业务来购买和增加硬盘的。因此,需要考虑分布式硬盘存储系统的扩容问题。
为了解决硬盘扩容的问题,现有技术中采用扩容时,保持原有的分布式RAID不变,在新增的硬盘上构造一个新的分布式RAID系统。但是这种硬盘扩容的方法需要单次增加较多的硬盘才可以构造出重构时间少和热点比较分散的分布式RAID。并且,扩容后原有的RAID组无法横向扩展到新增的RAID组上,无法降低原有RAID组的重构时间。进一步,现有技术采用扩容时,将新增的硬盘分别加入到原有RAID组中,然后重新应用分布式RAID算法来分配硬盘空间。这种扩容方法不需要单次增加较多的硬盘,可以降低原有RAID组的重构时间。但是,因为扩容过程中需要大批量的小块数据迁移,扩容时间长。
发明内容
本发明的实施例提供一种扩容方法和设备,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种扩容方法,包括:
在分布式独立磁盘冗余阵列RAID系统中,将每个硬盘平均划分为大小相等的虚拟硬盘,其中,所述虚拟硬盘的个数为m的整数倍;所述m为所述分布式RAID系统中最大可以构造的RAID组的个数;所述m为正整数;
将所述原始硬盘平均划分为X个组;其中,所述X为所述分布式RAID系统中每个条带的单位个数;所述分布式RAID系统中原始硬盘的个数为X的整数倍;所述X为正整数;
从每个所述硬盘中选取m个所述虚拟硬盘组成一个原始硬盘;其中,所述所有原始硬盘组成一个原始硬盘组;
依次从每个所述原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组;
在所述分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘;其中,所述新增硬盘的个数为X的整数倍;
从每个所述新增硬盘上选取m个虚拟硬盘插入所述虚拟硬盘组;
在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中。
在第一种可能的实现方式中,结合第一方面,所述从每个所述硬盘中选取m个所述虚拟硬盘组成一个原始硬盘之后,还包括:
在所有的所述原始硬盘组中,在所述虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
在第二种可能的实现方式中,结合第一方面,所述在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中之后,还包括:
应用分布式RAID算法在同一个所述虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
在第三种可能的实现方式中,结合第一方面,所述在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中,包括:
在每个所述虚拟硬盘组中,选取所述原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘;其中,所述特定数量为:平均分配所述虚拟硬盘时,每个所述硬盘上可以分配的虚拟硬盘的个数;
将所述原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中;其中,所述新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
第二方面,提供一种扩容设备,包括:
处理单元,用于在分布式RAID系统中,将每个硬盘平均划分为大小相等的虚拟硬盘,其中,所述虚拟硬盘的个数为m的整数倍;所述m为所述分布式RAID系统中最大可以构造的RAID组的个数;所述m为正整数;
所述处理单元,还用于将所述原始硬盘平均划分为X个组;其中,所述X为所述分布式RAID系统中每个条带的单位个数;所述分布式RAID系统中原始硬盘的个数为X的整数倍;所述X为正整数;
选取单元,用于从每个所述硬盘中选取m个所述虚拟硬盘组成一个原始硬盘;其中,所述所有原始硬盘组成一个原始硬盘组;
所述选取单元,还用于依次从每个所述原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组;
插入单元,用于在所述分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘;其中,所述新增硬盘的个数为X的整数倍;
所述选取单元,还用于从每个所述新增硬盘上选取m个虚拟硬盘插入所述虚拟硬盘组;
所述处理单元,还用于在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中。
在第一种可能的实现方式中,结合第二方面,包括:
构造单元,用于在所有的所述原始硬盘组中,在所述虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
在第二种可能的实现方式中,结合第二方面,
所述构造单元,还用于应用分布式RAID算法在同一个所述虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
在第三种可能的实现方式中,结合第二方面,所述处理单元包括:
选取子单元,用于在每个所述虚拟硬盘组中,选取所述原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘;其中,所述特定数量为:平均分配所述虚拟硬盘时,每个所述硬盘上可以分配的虚拟硬盘的个数;
处理子单元,用于将所述原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中;其中,所述新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
本发明的实施例提供的扩容方法和设备,通过将原始硬盘平均分为大小相等的虚拟硬盘,并在原始硬盘上增加具有相同个数的新硬盘,将原始硬盘的任一虚拟硬盘的数据搬移到新硬盘的任一虚拟硬盘中,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种扩容方法的流程示意图;
图2为本发明的实施例提供的另一种扩容方法的流程示意图;
图3为本发明的实施例提供的一种扩容设备的结构示意图;
图4为本发明的实施例提供的另一种扩容设备的结构示意图;
图5为本发明的实施例提供的又一种扩容设备的结构示意图;
图6为本发明的另一实施例提供的一种扩容设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种扩容方法,应用于分布式RAID系统中,参照图1所示,包括:
101、在分布式独立磁盘冗余阵列(Redundant Array Of Independent Disks,简称RAID)系统中,将每个硬盘平均划分为大小相等的虚拟硬盘。
其中,虚拟硬盘的个数为m的整数倍;m为分布式RAID系统中最大可以构造的RAID组的个数;m为正整数。
102、将原始硬盘平均划分为X个组。
其中,X为分布式RAID系统中每个条带的单位个数;分布式RAID系统中原始硬盘的个数为X的整数倍;X为正整数。
103、从每个硬盘中选取m个虚拟硬盘组成一个原始硬盘。
其中,所有原始硬盘组成一个原始硬盘组。
104、依次从每个原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组。
105、在分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘。
其中,新增硬盘的个数为X的整数倍。
106、从每个新增硬盘上选取m个虚拟硬盘插入虚拟硬盘组。
107、在虚拟硬盘组中,将原始硬盘中的虚拟硬盘中的数据搬移到新增硬盘的虚拟硬盘中。
通过一个硬盘组中新增硬盘中整个虚拟硬盘上的新的数据与原始硬盘中整个虚拟硬盘上的数据的迁移,这种大块连续的数据迁移,既保留了传统RAID扩容的优势,同时减少了扩容时所需的时间,实现了原始硬盘与心新增硬盘之间数据的交互。
本发明的实施例提供的扩容方法,通过将原始硬盘平均分为大小相等的虚拟硬盘,并在原始硬盘上增加具有相同个数的新硬盘,将原始硬盘的任一虚拟硬盘的数据搬移到新硬盘的任一虚拟硬盘中,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。
本发明的实施例提供一种扩容方法,参照图2所示,包括:
201、在分布式RAID系统中,将每个硬盘平均划分为大小相等的虚拟硬盘。
其中,虚拟硬盘的个数为m的整数倍;m为分布式RAID系统中最大可以构造的RAID组的个数;m为正整数。
202、将原始硬盘平均划分为X个组。
其中,X为分布式RAID系统中每个条带的单位个数;分布式RAID系统中原始硬盘的个数为X的整数倍;X为正整数。
203、从每个硬盘中选取m个虚拟硬盘组成一个原始硬盘。
其中,所有原始硬盘组成一个原始硬盘组。
204、在所有的原始硬盘组中,在虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
205、依次从每个原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组。
206、在分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘。
其中,新增硬盘的个数为X的整数倍。
207、从每个新增硬盘上选取m个虚拟硬盘插入虚拟硬盘组。
208、在每个虚拟硬盘组中,选取原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘。
其中,特定数量为平均分配虚拟硬盘时,每个硬盘上可以分配的虚拟硬盘的个数。
209、将原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中。
其中,新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
当所有新增硬盘中的每一个硬盘中都有一个虚拟硬盘的数据对应的搬移到原始硬盘的一个虚拟硬盘中,则执行步骤210;
210、应用分布式RAID算法在同一个虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
具体的,在空闲的虚拟硬盘中构造的新的RAID组成的RAID可以是与原始硬盘所在的分布式RAID系统中的RAID具有相同的RAID组。当然,新增硬盘的RAID也可以是用户根据自己的需求定义的与原始硬盘中的RAID不在同一组。新增硬盘的个数与原始硬盘的个数之间是整数倍的关系。
应用本发明的实施例实现分布式系统中的硬盘扩容,因为扩容时是一个虚拟硬盘上的数据的整体搬移,因此可以快速的完成硬盘扩容。同时,扩容时原始硬盘中的数据与新增硬盘中的数据有交换,重新映射了虚拟硬盘与物理硬盘的关系,新增硬盘中也应用分布式RAID算法来构造分布式RAID,因此新增硬盘可以快速的融入到RAID组中,分布式RAID算法可以分布到所有的硬盘中。
通过一个硬盘组中新增硬盘中整个虚拟硬盘上的新的数据与原始硬盘中整个虚拟硬盘上的数据的迁移,这种大块连续的数据迁移,既保留了传统RAID扩容的优势,同时减少了扩容时所需的时间,实现了原始硬盘与心新增硬盘之间数据的交互。
本发明的实施例提供的扩容方法,通过将原始硬盘平均分为大小相等的虚拟硬盘,并在原始硬盘上增加具有相同个数的新硬盘,将原始硬盘的任一虚拟硬盘的数据搬移到新硬盘的任一虚拟硬盘中,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。同时,新硬盘可以快速的融入到RAID组中,分布式RAID算法可以分布到包括新增硬盘在内的所有硬盘中。
本发明的实施例提供一种扩容设备3,参照图3所示,包括:处理单元31、选取单元32和插入单元33,其中:
处理单元31,用于在分布式RAID系统中,将每个硬盘平均划分为大小相等的虚拟硬盘。
其中,虚拟硬盘的个数为m的整数倍;m为分布式RAID系统中最大可以构造的RAID组的个数;m为正整数。
处理单元31,还用于将原始硬盘平均划分为X个组。
其中,X为分布式RAID系统中每个条带的单位个数;分布式RAID系统中原始硬盘的个数为X的整数倍;X为正整数。
选取单元32,用于从每个硬盘中选取m个虚拟硬盘组成一个原始硬盘。
其中,所有原始硬盘组成一个原始硬盘组。
选取单元32,还用于依次从每个原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组。
插入单元33,用于在分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘。
其中,新增硬盘的个数为X的整数倍。
选取单元32,还用于从每个新增硬盘上选取m个虚拟硬盘插入虚拟硬盘组。
处理单元31,还用于在虚拟硬盘组中,将原始硬盘中的虚拟硬盘中的数据搬移到新增硬盘的虚拟硬盘中。
可选的,参照图4所示,该设备还包括构造单元34,其中:
构造单元34,用于在所有的原始硬盘组中,在虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
构造单元34,还用于应用分布式RAID算法在同一个虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
进一步,参照图5所示,该设备的处理单元包括选取子单元311和处理子单元312,其中:
选取子单元311,用于在每个虚拟硬盘组中,选取原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘。
其中,特定数量为平均分配虚拟硬盘时,每个硬盘上可以分配的虚拟硬盘的个数。
处理子单元312,用于将原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中。
其中,新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
本发明的实施例提供的扩容设备,通过将原始硬盘平均分为大小相等的虚拟硬盘,并在原始硬盘上增加具有相同个数的新硬盘,将原始硬盘的任一虚拟硬盘的数据搬移到新硬盘的任一虚拟硬盘中,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。同时,新硬盘可以快速的融入到RAID组中,分布式RAID算法可以分布到包括新增硬盘在内的所有硬盘中。
本发明的实施例提供一种扩容设备4,参照图6所示,包括:至少一个处理器41、存储器42、通信接口43和总线44,至少一个处理器41、存储器42和通信接口43通过总线44连接并完成相互间的通信,其中:
该总线44可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component Interconnect),简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。该总线44可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器42用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器42可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器41可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口43,主要用于实现本实施例的装置之间的通信。
处理器41,还用于调用存储器42中的程序代码,用以执行以下操作:
在分布式独立磁盘冗余阵列RAID系统中,将每个硬盘平均划分为大小相等的虚拟硬盘。
其中,虚拟硬盘的个数为m的整数倍;m为分布式RAID系统中最大可以构造的RAID组的个数;m为正整数。
将原始硬盘平均划分为X个组。
其中,X为分布式RAID系统中每个条带的单位个数;分布式RAID系统中原始硬盘的个数为X的整数倍;X为正整数。
从每个硬盘中选取m个虚拟硬盘组成一个原始硬盘。
其中,所有原始硬盘组成一个原始硬盘组。
依次从每个原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组。
在分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘。其中,新增硬盘的个数为X的整数倍。
从每个新增硬盘上选取m个虚拟硬盘插入虚拟硬盘组。
在虚拟硬盘组中,将原始硬盘中的虚拟硬盘中的数据搬移到新增硬盘的虚拟硬盘中。
可选的,处理器41还用于执行以下步骤:
在所有的原始硬盘组中,在虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
应用分布式RAID算法在同一个虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
进一步,处理器41还用于执行以下步骤:
在每个虚拟硬盘组中,选取原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘。
其中,特定数量为平均分配虚拟硬盘时,每个硬盘上可以分配的虚拟硬盘的个数。
将原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中。
其中,新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
本发明的实施例提供的扩容设备,通过将原始硬盘平均分为大小相等的虚拟硬盘,并在原始硬盘上增加具有相同个数的新硬盘,将原始硬盘的任一虚拟硬盘的数据搬移到新硬盘的任一虚拟硬盘中,减少了硬盘扩容所需的时间,提高了硬盘的扩容效率。同时,新硬盘可以快速的融入到RAID组中,分布式RAID算法可以分布到包括新增硬盘在内的所有硬盘中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种扩容方法,其特征在于,包括:
在分布式独立磁盘冗余阵列RAID系统中,将每个原始硬盘平均划分为大小相等的虚拟硬盘;其中,所述虚拟硬盘的个数为m的整数倍;所述m为所述分布式RAID系统中最大可以构造的RAID组的个数;所述m为正整数;
将所述原始硬盘平均划分为X个组;其中,所述X为所述分布式RAID系统中每个条带的单位个数;所述分布式RAID系统中原始硬盘的个数为X的整数倍;所述X为正整数;
从划分成的X组原始硬盘中的每组原始硬盘中的每个原始硬盘中选取m个所述虚拟硬盘组成一个原始硬盘A;其中,所有原始硬盘A组成原始硬盘组;
依次从每个所述原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组;
在所述分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘;其中,所述新增硬盘的个数为X的整数倍;
从每个所述新增硬盘上选取m个虚拟硬盘插入所述虚拟硬盘组;
在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中。
2.根据权利要求1所述的方法,其特征在于,所述从每个所述原始硬盘中选取m个所述虚拟硬盘组成一个原始硬盘A之后,还包括:
在所有的所述原始硬盘组中,在所述虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
3.根据权利要求1所述的方法,其特征在于,所述在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中之后,还包括:
应用分布式RAID算法在同一个所述虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
4.根据权利要求1所述的方法,其特征在于,所述在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中,包括:
在每个所述虚拟硬盘组中,选取所述原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘;其中,所述特定数量为平均分配所述虚拟硬盘时,每个所述硬盘上可以分配的虚拟硬盘的个数;
将所述原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中;其中,所述新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
5.一种扩容设备,其特征在于,包括:
处理单元,用于在分布式RAID系统中,将每个原始硬盘平均划分为大小相等的虚拟硬盘;其中,所述虚拟硬盘的个数为m的整数倍;所述m为所述分布式RAID系统中最大可以构造的RAID组的个数;所述m为正整数;
所述处理单元,还用于将所述原始硬盘平均划分为X个组,得到X个原始硬盘组;其中,所述X为所述分布式RAID系统中每个条带的单位个数;所述分布式RAID系统中原始硬盘的个数为X的整数倍;所述X为正整数;
选取单元,用于从划分成的X组原始硬盘中的每组原始硬盘中的每个原始硬盘中选取m个所述虚拟硬盘组成一个原始硬盘A;其中,所有原始硬盘A组成原始硬盘组;
所述选取单元,还用于依次从每个所述原始硬盘组中选取m个虚拟硬盘组成一个虚拟硬盘组;
插入单元,用于在所述分布式RAID系统中,插入由m的整数倍个虚拟硬盘组成的新增硬盘;其中,所述新增硬盘的个数为X的整数倍;
所述选取单元,还用于从每个所述新增硬盘上选取m个虚拟硬盘插入所述虚拟硬盘组;
所述处理单元,还用于在所述虚拟硬盘组中,将所述原始硬盘中的虚拟硬盘中的数据搬移到所述新增硬盘的虚拟硬盘中。
6.根据权利要求5所述的设备,其特征在于,包括:
构造单元,用于在所有的所述原始硬盘组中,在所述虚拟硬盘组号相同的虚拟硬盘上应用分布式RAID算法构造RAID。
7.根据权利要求5所述的设备,其特征在于,
所述构造单元,还用于应用分布式RAID算法在同一个所述虚拟硬盘组中空闲的虚拟硬盘上应用分布式RAID算法构造新的RAID。
8.根据权利要求5所述的设备,其特征在于,所述处理单元包括:
选取子单元,用于在每个所述虚拟硬盘组中,选取所述原始硬盘组中虚拟硬盘个数超过特定数量的原始硬盘;其中,所述特定数量为平均分配所述虚拟硬盘时,每个所述硬盘上可以分配的虚拟硬盘的个数;
处理子单元,用于将所述原始硬盘组中虚拟硬盘数量超过特定数量的原始硬盘中的虚拟硬盘上的数据平均迁移到新增硬盘上的虚拟硬盘中;其中,所述新增硬盘上的虚拟硬盘与需要搬移数据的虚拟硬盘在同一个虚拟硬盘组中。
CN201310143192.7A 2013-04-23 2013-04-23 一种扩容方法和设备 Active CN103268202B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310143192.7A CN103268202B (zh) 2013-04-23 2013-04-23 一种扩容方法和设备
EP13861531.5A EP2808778A4 (en) 2013-04-23 2013-10-12 CAPACITY EXPANSION PROCESS AND DEVICE
PCT/CN2013/085078 WO2014173087A1 (zh) 2013-04-23 2013-10-12 一种扩容方法和设备
US14/454,054 US9354826B2 (en) 2013-04-23 2014-08-07 Capacity expansion method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310143192.7A CN103268202B (zh) 2013-04-23 2013-04-23 一种扩容方法和设备

Publications (2)

Publication Number Publication Date
CN103268202A CN103268202A (zh) 2013-08-28
CN103268202B true CN103268202B (zh) 2017-02-08

Family

ID=49011837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310143192.7A Active CN103268202B (zh) 2013-04-23 2013-04-23 一种扩容方法和设备

Country Status (4)

Country Link
US (1) US9354826B2 (zh)
EP (1) EP2808778A4 (zh)
CN (1) CN103268202B (zh)
WO (1) WO2014173087A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268202B (zh) 2013-04-23 2017-02-08 华为技术有限公司 一种扩容方法和设备
CN103513938B (zh) * 2013-09-16 2016-06-29 华为技术有限公司 一种独立磁盘冗余阵列raid系统扩容方法及装置
CN105893188B (zh) * 2014-09-30 2018-12-14 伊姆西公司 用于加速磁盘阵列的数据重构的方法和装置
CN108255413A (zh) * 2016-12-29 2018-07-06 华为技术有限公司 一种存储系统扩容后数据迁移的方法、存储系统
US10521145B1 (en) * 2017-10-31 2019-12-31 EMC IP Holding Company LLC Method, apparatus and computer program product for managing data storage
CN110058789B (zh) * 2018-01-18 2022-06-03 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、存储系统以及计算机程序产品
US11403022B2 (en) * 2020-06-03 2022-08-02 Dell Products L.P. Growing and splitting a disk array by moving RAID group members
US11327666B2 (en) * 2020-09-02 2022-05-10 Dell Products L.P. RAID member distribution for granular disk array growth
CN115220646A (zh) * 2021-04-21 2022-10-21 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615352A (en) * 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
TWI288400B (en) * 2003-12-15 2007-10-11 Promise Technology Inc Method of RAID expansion
CN101482800B (zh) * 2008-01-10 2011-03-23 芯发威达电子(上海)有限公司 独立磁盘冗余阵列的等级转换方法及系统
CN101546249A (zh) * 2008-03-26 2009-09-30 中兴通讯股份有限公司 磁盘阵列在线容量扩展方法
CN101482802A (zh) * 2009-02-18 2009-07-15 杭州华三通信技术有限公司 独立磁盘冗余阵列5扩展方法及装置
CN101587425B (zh) * 2009-06-16 2010-12-08 杭州华三通信技术有限公司 一种增加独立磁盘冗余阵列冗余性的方法及装置
CN102043589B (zh) * 2009-10-20 2013-01-02 成都市华为赛门铁克科技有限公司 磁盘阵列的扩容方法和系统
JP5427011B2 (ja) * 2009-12-17 2014-02-26 株式会社日立製作所 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
CN102184080B (zh) * 2011-04-29 2012-10-10 华中科技大学 一种基于固化条带的raid系统扩容后的数据读写方法
CN103268202B (zh) * 2013-04-23 2017-02-08 华为技术有限公司 一种扩容方法和设备

Also Published As

Publication number Publication date
WO2014173087A1 (zh) 2014-10-30
US9354826B2 (en) 2016-05-31
EP2808778A4 (en) 2015-02-18
EP2808778A1 (en) 2014-12-03
US20140351512A1 (en) 2014-11-27
CN103268202A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN103268202B (zh) 一种扩容方法和设备
CN102449607B (zh) 具有多个闪存封装的存储系统
EP2939100B1 (en) Method and system for asynchronous die operations in a non-volatile memory
CN103902465B (zh) 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
US8706952B2 (en) Flash memory storage device, controller thereof, and data programming method thereof
DE112013006504B4 (de) Speichersystem und Datenverwaltungsverfahren
EP2838025B1 (en) Storage array management method and device, and controller
TW200928734A (en) System, method and a computer program product for writing data to different storage devices based on write frequency
CN101788889B (zh) 一种存储虚拟化系统及方法
CN101923448A (zh) 一种nand闪存的转换层读写方法
CN106201659A (zh) 一种虚拟机热迁移的方法及宿主机
CN104615550A (zh) 一种存储设备坏块的处理方法、装置及存储设备
CN105867840A (zh) 闪存组件及非易失性半导体存储器组件
CN104461706B (zh) 一种将共享全局变量共享的方法和多处理装置
CN103713857B (zh) 存储数据的方法及存储装置
CN109960471A (zh) 数据存储方法、装置、设备以及存储介质
CN105550122A (zh) 一种数据处理方法、存储设备、电子设备
CN103942148A (zh) 非易失性存储器的损耗均衡系统及方法
CN109725835A (zh) 用于管理盘阵列的方法、设备和计算机程序产品
CN104021094B (zh) 数据储存装置与快闪存储器控制方法
CN110531928A (zh) DRAM-Less固态硬盘的数据随机写入方法、装置及DRAM-Less固态硬盘
KR102376474B1 (ko) 버디 할당자를 이용한 저장 공간 할당 방법
CN109285574B (zh) 于记忆装置中进行编程管理的方法、记忆装置及控制器
CN105955669A (zh) 一种提升固态硬盘写性能的方法
CN104731710B (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