CN105183623B - 一种基于热备vd提高vdg重建性能的方法和装置 - Google Patents
一种基于热备vd提高vdg重建性能的方法和装置 Download PDFInfo
- Publication number
- CN105183623B CN105183623B CN201510527136.2A CN201510527136A CN105183623B CN 105183623 B CN105183623 B CN 105183623B CN 201510527136 A CN201510527136 A CN 201510527136A CN 105183623 B CN105183623 B CN 105183623B
- Authority
- CN
- China
- Prior art keywords
- disk
- hot standby
- failure
- vdg
- storage pool
- 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
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供一种基于热备VD提高VDG重建性能的方法,该方法包括步骤:A、将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;B、当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。本发明方案由于故障VD所在的VDG中的其他非故障VD与热备VD处于磁盘相同相近的位置,这样在重建的时候,各VD具有相同相近的读写性能,从而避免单一的性能瓶颈,实现整体重建性能的提高。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种基于预留热备VD提高VDG重建性能的方法和装置。
背景技术
块虚拟化技术,其基本思想就是把指定数量的大容量机械硬盘(这组机械硬盘为组成存储池的磁盘)先按照固定的容量切割成多个更小的VD(被划为分块的虚拟磁盘,是组成RAID的虚拟磁盘单元);VDG(VD Group,根据RAID类型由多个VD组成的分块组)按照RAID策略建立在这些小分块上,而不是某些硬盘上。基于块虚拟化技术的存储系统能够做到在一块硬盘故障后,在硬盘组上的所有硬盘上并发进行重构,增加重构速度。
由于组成VDG的VD是随机选取的,开始创建的VDG选取VD的时候,每个磁盘被选取的概率基本均衡,所以会基本保持在各个磁盘相同的地址位置上。但是如果大量的VDG被创建后,比如每个磁盘的前半部分都创建了VDG,此时如果其中的一块磁盘故障,需要重建这块磁盘VD上的数据时,会按照随机算法选择存储池中没有被占用的VD作为重建VD,而这些没有被占用的VD往往会和VDG中其他VD不在相近的磁盘位置上。通常会由于所有磁盘的前面部分都被占用了,导致选取的重建VD在磁盘组每个磁盘的后面部分。这样就会出现VDG的数据盘都在磁盘组的前半部分的位置,而重建VD在磁盘组的后半部分的位置。由于磁盘位置越往后,读写性能越低,那么VDG重建性能的瓶颈会在重建VD上。
如图1所示,横坐标P0、P1……PX表示磁盘(X代表在存储池中磁盘的编号),纵坐标L0、L2….Ly代表虚拟磁盘VD在物理磁盘上的位置。当磁盘P6故障时,该磁盘上加入VDG的VD都需要重建。以其中的一个VDG10为例,该VDG10中包含以下VD:P2L1,P4L1,P6L1(PxLy代表在磁盘Px的位置Ly上的VD),如图1所示。当磁盘P6故障时,该VDG上的P6L1故障需要重建;选择未加入该VDG且不是P6上的空闲VD作为重建盘,比如说选择P5L10作为重建盘。很明显,P2L1,P4L1和P5L10的VD不在磁盘的同一地址或者接近的地址上,L10位置的磁盘性能低于L1位置磁盘性能,因此重建的性能瓶颈会在L10的VD上。
发明内容
有鉴于此,本发明提供一种基于热备VD提高VDG重建性能的方法和装置。
该方法包括步骤:A、将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;B、当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。
优选地,热备VD均等的位于各磁盘上。
优选地,将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD包括:将存储池中的磁盘从0开始编号,将每个磁盘上的VD从0开始编号;确定磁盘x的第y个VD为热备VD,其中,y=x+N*m–h且y≥0;N为存储池中总的磁盘个数;m=0,1,2,3,4…..(M/N-1),M为磁盘上VD的个数;h=0,1……H-1;H为热备策略确定的热备磁盘数。
优选地,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD包括:确定第y个故障VD对应的热备VD在磁盘x上,其中,x=y+h-N*m,且x≥0;N为存储池中总的磁盘个数;m=0,1,2,3,4…..(M/N-1),M为磁盘上VD的个数;h=0,1……H-1;H为热备策略确定的热备磁盘数。
该基于热备VD提高VDG重建性能的装置,其特征在于,该装置包括:热备VD预留模块,用于将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;重建VD确定模块,用于当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。
相较于现有技术,本发明方案通过在存储池中的磁盘的每个相同位置上预留一定的热备VD,当出现一个磁盘故障时,选择各故障VD对应热备VD时,就可以选择与该故障VD相同位置上的热备VD参与重建。由于故障VD所在的VDG中的其他非故障VD与热备VD处于磁盘相同相近的位置,这样在重建的时候,各VD具有相同相近的读写性能,从而避免单一的性能瓶颈,实现整体重建性能的提高。
附图说明
图1是现有技术中磁盘故障时选择重建VD的示意图。
图2是本发明一种实施方法流程图。
图3是预留的热备VD示例图。
图4是基于热备VD选择重建VD示例图。
图5是本发明实施例装置逻辑结构图。
具体实施方式
本发明主要解决在块虚拟化存储池中,当磁盘故障时,随机选择重建VD会导致与待重建的VDG中的其它VD在磁盘的位置差别大,从而导致的重建性能低的问题。
针对上述问题,本发明提出一种基于热备VD的方式来提高VDG重建性能的方法。
请参图2所示的本发明实施例流程图。
S21、将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;
S22、当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。
请参图3的例子,存储池中包括磁盘0~磁盘9这10个磁盘,每个磁盘按照相同地址顺序依次被分割为VD0、VD1、VD2等若干虚拟磁盘。本实施例将每个磁盘上的VD0称为一相同位置上的VD,将每个磁盘上的VD1称为另一相同位置上的VD,将每个磁盘上的VD2称为又一相同位置上的VD,每个磁盘的其他相同位置的VD不再一一举例说明。为了便于描述,这里将VD0所在的磁盘位置称为L0,将VD1所在的磁盘位置称为L1,VD2所在的磁盘位置称为L2。
在预留热备VD时,磁盘0~磁盘9的L0位置至少有一个VD将作为热备VD;磁盘0~磁盘9的L1位置也至少有一个VD将作为热备VD;磁盘0~磁盘9的L2位置也至少有一个VD将作为预留热备VD。磁盘0~磁盘9的其他位置同样的至少有一个VD将作为热备VD。
基于热备策略确定上述热备VD的个数。比如说,如果一个磁盘出现故障后,该磁盘上的每个VD(除了本身为热备VD的VD)都需要有对应的热备VD,那么磁盘0~磁盘9每个相同位置上的仅需一个VD作为热备VD。如果两个磁盘出现故障后,这两个磁盘上的每个VD(除了本身为热备VD的VD)都需要有对应的热备VD,那么磁盘0~磁盘9每个相同位置上需要有两个VD作为热备VD。
进一步参图3,对于磁盘0~磁盘9的相同位置L0,将磁盘0的VD0作为预留热备VD;对于磁盘0~磁盘9的相同位置L1,将磁盘1的VD1作为预留热备VD;对于磁盘0~磁盘9的相同位置L2,将磁盘2的VD2作为预留热备VD;其他位置上的预留热备VD可以参图3,这里不再一一说明。这样,当一个磁盘,比如说磁盘6故障后,磁盘6上的每一个在VDG中的VD都能在相同位置上找到热备VD。比如说磁盘6的VD0,可以选择磁盘0的VD0作为热备VD参与重建,磁盘6的VD1,可以选择磁盘1的VD1作为热备VD参与重建。
作为一种优选的实施方式,各热备VD均等的位于各磁盘上。图3的例子显示了热备VD均等分布的情况。如果热备VD全部集中于一个磁盘上,就属于最不均等的情况。
以下给出选择磁盘上热备VD的一种计算方法。设存储池中总的磁盘个数为N,磁盘从0开始编号,直到N-1;每个磁盘VD的个数为M,VD从0开始编号,直到M-1;假设需要H*M个热备VD(此时,存储池中的H个磁盘故障后,每个故障磁盘的VD都可以得到对应的热备VD,所以H也可称为热备磁盘数量),则第x个磁盘的第y个VD为预留热备VD,y=x+N*m–h,其中m=0,1,2,3,4…..(M/N-1),h=0,1……H-1。这里m=0,1,2,3,4…..(M/N-1),h=0,1……H-1表示m和h的值任意组合计算,共计可以得到(M/N)*H个y值。当然,如果y计算的结果小于0,则属于无效值。
例1:以存储池中包括10个磁盘,每个磁盘100个VD为例,假设需要1*100个热备VD,那么按照上述公式可以得到:
磁盘0(x=0)的热备VD为:VD0、VD10、VD20、VD30、VD40、VD50、VD60、VD70、VD80、VD90;
磁盘1(x=1)的热备VD为:VD1、VD11、VD21、VD31、VD41、VD51、VD61、VD71、VD81、VD91。
其他磁盘上的热备VD按同样的方法可以得到,这里不再一一列举。
例2:如果存储池中包括10个磁盘,每个磁盘100个VD,需要2*100个热备VD,那么按照上述公式可以得到:
磁盘0(x=0)的热备VD为:VD0、VD9、VD10、VD19、VD20、VD29、VD30、VD39、VD40、VD49;VD50、VD59、VD60、VD69、VD70、VD79、VD80、VD89、VD90;
磁盘1(x=1)的热备VD为:VD0、VD1、VD10、VD11、VD20、VD21、VD30、VD31、VD40、VD41、VD50;VD51、VD60、VD61、VD70、VD71、VD80、VD81、VD90、VD91。
其他磁盘上的热备VD按同样的方法可以得到,这里不再一一列举。
当磁盘故障时,需要选择重建VD参与各个故障VDG的重建。由于本发明方案预留有热备VD,磁盘故障后,需要找出故障磁盘上的每一个故障VD对应的热备VD,而该对应的热备VD需要与故障VD在磁盘的相同位置,这样才能保证良好的重建性能。请参图4所示的故障VD和重建VD对应关系的一个示例。各故障VD对应的重建VD与其有相同磁盘位置:故障磁盘6的VD0对应选择了磁盘0上预留的热备VD0,故障磁盘6上的VD1对应选择了磁盘1上预留的热备VD1,故障磁盘6上的VD2对应选择了磁盘2上预留的热备VD2,故障磁盘6上的VD3对应选择了磁盘3上预留的热备VD3,其它故障VD对应的热备VD不再一一说明,可以参图4所示。
基于前文方法预留的热备VD,这里给出对应的选择重建VD的一种方法:
确定第y个故障VD对应的热备VD在磁盘x上,其中x=y+h-N*m,N表示存储池中总的磁盘个数,m=0,1,2,3,4…..(M/N-1),h=0,1……H-1,M表示每个磁盘上的VD的个数,H表示H个磁盘故障后,每个磁盘都可以分得热备VD的热备策略,即可以理解为存在H个热备磁盘。在计算x的值的时候,将m和h的值任意组合计算,得到(M/N)*H个x值。当然,如果x计算的结果小于0,则属于无效值。
以存储池中有10个磁盘,每个磁盘100个VD为例,假设热备策略为2个热备磁盘。当某个磁盘的VD0(y=0)故障后,采用上述x=y+h-N*m公式计算得到x=0或者1(其他小于0的结果全部无效)。所以可以将磁盘0或者磁盘1上的VD0作为某磁盘故障的VD0的热备VD。当然,故障的VD0本身并不是热备VD。同样的,如果某磁盘VD1(y=1)故障后,采用上述x=y+h-N*m公式计算将得到x=1或者2(其他小于0的结果全部无效)。所以可以将磁盘1或者磁盘2上的VD1作为某磁盘故障VD1的热备VD。其他位置故障VD对应的热备VD不再一一列举。
通过在存储池中的磁盘的每个相同位置上预留一定的热备VD,当出现一个磁盘故障时,选择各故障VD对应热备VD时,就可以选择与该故障VD相同位置上的热备VD参与重建。由于故障VD所在的VDG中的其他非故障VD与热备VD处于磁盘相同相近的位置,这样在重建的时候,各VD具有相同相近的读写性能,从而避免单一的性能瓶颈,实现整体重建性能的提高。
基于同样的构思,本发明还提供一种基于热备VD提高VDG重建性能的装置。请参图5,从逻辑上来讲,该装置包括:热备VD预留模块和重建VD确定模块。
该热备VD预留模块用于将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;该重建VD确定模块,用于当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。
热备VD预留模块从各磁盘上均等的选择热备VD。
热备VD预留模块在将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD包括:
将存储池中的磁盘从0开始编号,将每个磁盘上的VD从0开始编号;
确定磁盘x的第y个VD为热备VD,其中,
y=x+N*m–h且y≥0;
N为存储池中总的磁盘个数;
m=0,1,2,3,4…..(M/N-1),M为磁盘上VD的个数;
h=0,1……H-1;H为热备策略确定的热备磁盘数。
重建VD确定模块在将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD包括:
确定第y个故障VD对应的热备VD在磁盘x上,其中,
x=y+h-N*m,且x≥0;
N为存储池中总的磁盘个数;
m=0,1,2,3,4…..(M/N-1),M为磁盘上VD的个数;
h=0,1……H-1;H为热备策略确定的热备磁盘数。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种基于热备VD提高VDG重建性能的方法,其特征在于,该方法包括步骤:
A、将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;所述将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD包括:
将存储池中的磁盘从0开始编号,将每个磁盘上的VD从0开始编号;
确定磁盘x的第y个VD为热备VD,其中,
y=x+N*m–h且y≥0;
N为存储池中总的磁盘个数;
m=0,1,2,3,4.....(M/N-1),M为磁盘上VD的个数;
h=0,1......H-1;H为热备策略确定的热备磁盘数;H>1;
B、当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。
2.如权利要求1所述的方法,其特征在于,所述热备VD均等的位于各磁盘上。
3.如权利要求1所述的方法,其特征在于,所述将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD包括:
确定第y个故障VD对应的热备VD在磁盘x上,其中,
x=y+h-N*m,且x≥0;
N为存储池中总的磁盘个数;
m=0,1,2,3,4.....(M/N-1),M为磁盘上VD的个数;
h=0,1......H-1;H为热备策略确定的热备磁盘数。
4.一种基于热备VD提高VDG重建性能的装置,其特征在于,该装置包括:
热备VD预留模块,用于将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD;所述将存储池中若干磁盘每个相同位置上的至少一个VD作为热备VD包括:
将存储池中的磁盘从0开始编号,将每个磁盘上的VD从0开始编号;
确定磁盘x的第y个VD为热备VD,其中,
y=x+N*m–h且y≥0;
N为存储池中总的磁盘个数;
m=0,1,2,3,4.....(M/N-1),M为磁盘上VD的个数;
h=0,1......H-1;H为热备策略确定的热备磁盘数;H>1;
重建VD确定模块,用于当VDG中的VD故障时,将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD,参与该VDG的重建。
5.如权利要求4所述的装置,其特征在于,热备VD预留模块均等的从各磁盘上选择热备VD。
6.如权利要求4所述的装置,其特征在于,重建VD确定模块在将与该故障VD处于相同位置的另一磁盘的热备VD作为重建VD包括:
确定第y个故障VD对应的热备VD在磁盘x上,其中,
x=y+h-N*m,且x≥0;
N为存储池中总的磁盘个数;
m=0,1,2,3,4.....(M/N-1),M为磁盘上VD的个数;
h=0,1......H-1;H为热备策略确定的热备磁盘数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510527136.2A CN105183623B (zh) | 2015-08-25 | 2015-08-25 | 一种基于热备vd提高vdg重建性能的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510527136.2A CN105183623B (zh) | 2015-08-25 | 2015-08-25 | 一种基于热备vd提高vdg重建性能的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183623A CN105183623A (zh) | 2015-12-23 |
CN105183623B true CN105183623B (zh) | 2018-12-07 |
Family
ID=54905715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510527136.2A Active CN105183623B (zh) | 2015-08-25 | 2015-08-25 | 一种基于热备vd提高vdg重建性能的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183623B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843562B (zh) * | 2016-05-24 | 2018-12-07 | 浙江宇视科技有限公司 | 数据重建的方法及装置 |
CN106326038A (zh) * | 2016-08-22 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种热备空间的选择方法及系统 |
CN111752748B (zh) * | 2019-03-26 | 2024-04-26 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
CN113254276A (zh) * | 2021-06-10 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 消除独立磁盘冗余阵列异常的方法、系统、设备及介质 |
CN115981926B (zh) * | 2023-03-20 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种提高磁盘阵列性能的方法、装置及设备 |
CN116149574B (zh) * | 2023-04-20 | 2023-07-14 | 苏州浪潮智能科技有限公司 | Raid阵列的管理方法、装置、raid卡及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385544A (zh) * | 2011-12-12 | 2012-03-21 | 创新科软件技术(深圳)有限公司 | 一种磁盘重建方法和装置 |
CN102591746A (zh) * | 2011-12-29 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 数据重构方法和存储设备 |
CN103207761A (zh) * | 2013-04-17 | 2013-07-17 | 浪潮(北京)电子信息产业有限公司 | 一种raid5系统热备盘的数据备份方法和重构方法 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN104407815A (zh) * | 2014-11-25 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种raid5磁盘阵列中坏扇区处理的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980137B (zh) * | 2010-10-19 | 2012-05-30 | 成都市华为赛门铁克科技有限公司 | 廉价磁盘冗余阵列重构方法、装置及系统 |
-
2015
- 2015-08-25 CN CN201510527136.2A patent/CN105183623B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385544A (zh) * | 2011-12-12 | 2012-03-21 | 创新科软件技术(深圳)有限公司 | 一种磁盘重建方法和装置 |
CN102591746A (zh) * | 2011-12-29 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 数据重构方法和存储设备 |
CN103207761A (zh) * | 2013-04-17 | 2013-07-17 | 浪潮(北京)电子信息产业有限公司 | 一种raid5系统热备盘的数据备份方法和重构方法 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN104407815A (zh) * | 2014-11-25 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种raid5磁盘阵列中坏扇区处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105183623A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183623B (zh) | 一种基于热备vd提高vdg重建性能的方法和装置 | |
CN110750382B (zh) | 用于提高数据修复性能的最小存储再生码编码方法及系统 | |
US20220137849A1 (en) | Fragment Management Method and Fragment Management Apparatus | |
US10852966B1 (en) | System and method for creating mapped RAID group during expansion of extent pool | |
CN107250975B (zh) | 数据存储系统和数据存储方法 | |
CN104115133B (zh) | 用于复合非易失性存储设备的数据迁移的方法、系统和设备 | |
TWI510923B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
WO2017143957A1 (zh) | 一种数据重分布的方法及装置 | |
CN100498678C (zh) | 对廉价磁盘冗余阵列进行读写操作的方法和系统 | |
WO2017092480A1 (zh) | 一种数据迁移的方法及装置 | |
US9354826B2 (en) | Capacity expansion method and device | |
CN103150122B (zh) | 一种磁盘缓存空间管理方法和装置 | |
CN104461387A (zh) | 一种提高固态硬盘对未映射区域的读性能的方法 | |
CN115617742A (zh) | 一种数据缓存的方法、系统、设备和存储介质 | |
US20200133852A1 (en) | Method, apparatus, and computer program product for managing storage system | |
CN105630413B (zh) | 一种磁盘数据的同步回写方法 | |
CN103473266A (zh) | 固态硬盘及其删除重复数据的方法 | |
CN102981783A (zh) | 一种基于Nand Flash的Cache加速方法 | |
US20230137007A1 (en) | Data storage method, storage system, storage device, and storage medium | |
CN103823641A (zh) | 一种在线扩容的虚拟卷系统及其实现方法 | |
CN104050189B (zh) | 页面共享处理方法及装置 | |
CN106484073A (zh) | 系统节能的方法和节能系统 | |
US11953991B2 (en) | Method, device and computer program product for storage management | |
CN107924350A (zh) | 电子设备及其数据压缩方法 | |
CN104268005B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |