CN105573660B - 用于改善分簇磁盘阵列的性能的方法和装置 - Google Patents
用于改善分簇磁盘阵列的性能的方法和装置 Download PDFInfo
- Publication number
- CN105573660B CN105573660B CN201410527708.2A CN201410527708A CN105573660B CN 105573660 B CN105573660 B CN 105573660B CN 201410527708 A CN201410527708 A CN 201410527708A CN 105573660 B CN105573660 B CN 105573660B
- Authority
- CN
- China
- Prior art keywords
- disk
- physical
- physical disk
- request
- divided
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
本发明的实施方式涉及用于改善分簇磁盘阵列的性能的方法和装置。该方法包括:统计所述多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型;基于预定时间段内所统计的所述每个物理磁盘的活跃的I/O请求的数目和类型,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组,所述第一调度群组具有第一调度优先级,所述第二调度群组具有高于所述第一调度优先级的第二调度优先级;以及按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度。利用本发明的实施方式,能够避免过多的I/O请求集中于某些物理磁盘上,从而改善分簇RAID的整体性能。
Description
技术领域
本发明的实施方式总体上涉及信息管理,并且更具体地,涉及用于改善分簇磁盘阵列的性能的方法和装置。
背景技术
通常通过将多个磁盘按照一定的形式和方案组织成磁盘阵列,能够获得比单个磁盘更高的速度、更好的稳定性和更大的存储能力。随着磁盘容量的日益增大,磁盘阵列、例如独立磁盘冗余阵列(Redundant Array Of Independent Disks,RAID)的数据重构时间也变得越来越长。重构时间越长意味着数据损失的风险越大。
据统计,例如在DataDomain(来自易安信信息技术(EMC)公司的数据备份产品)的客户现场,明年平均会出现约180次三个物理磁盘同时失效的案例,并且这些案例中的40%导致了数据损失。DataDomain的RAID采用RAID-6级别数据保护算法来保护数据,采用该算法可以容忍两个物理磁盘同时失效。但是在实践中,如果数据重构时间较长,则在数据重构过程中多个物理磁盘同时失效的概率将增大。
为了解决数据重构时间较长的问题,提出了将分簇(declustered)技术应用于磁盘阵列以形成分簇磁盘阵列的方案。分簇磁盘阵列具有多种实现方式。例如,利用分簇技术将小簇磁盘集群的一个RAID控制器替代成多个RAID控制器的集合,每一个都可以通过光纤通道或者iSCSI SAN(Internet Small Computer System Interface Storage AreaNetworking,小型计算机系统接口存储区域网络)访问所有物理磁盘,从而形成了分簇RAID。对于分簇磁盘阵列、例如分簇RAID而言,当一个物理磁盘发生故障时,构成分簇RAID的每个物理磁盘都承担一部分数据恢复工作,分散到所有RAID控制器,而不是由一个RAID控制器和几个物理磁盘完成所有恢复工作,而其他物理磁盘和RAID控制器不参与恢复工作。由此,显著缩短了数据恢复的时间。
对于分簇RAID而言,数据保护域在逻辑域实现,逻辑域实施数据保护算法,所有物理磁盘构成一个物理资源池。当逻辑域接收到I/O请求、例如写入I/O请求时,随机地从物理资源池中选择物理磁盘来分配给数据保护域以进行数据写入。然而,随机地选择物理磁盘有时会导致过多的I/O请求集中于某些物理磁盘上,使得被分配有这些物理磁盘的数据保护域的吞吐量显著下降,从而影响分簇RAID的整体性能。
发明内容
鉴于上述以及其他潜在问题,本领域中需要一种改善分簇磁盘阵列的性能的方案。
在本发明的一个方面,提供了一种用于改善分簇磁盘阵列的性能的方法,所述分簇磁盘阵列包括多个物理磁盘。所述方法包括:统计所述多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型;基于预定时间段内所统计的所述每个物理磁盘的活跃的I/O请求的数目和类型,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组,所述第一调度群组具有第一调度优先级,所述第二调度群组具有高于所述第一调度优先级的第二调度优先级;以及按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度。
在一个示例性实施方式中,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:从所划分的调度群组之一中随机地选择物理磁盘以进行调度。
在一个示例性实施方式中,所述方法进一步包括:周期性地更新所述每个物理磁盘的活跃的I/O请求的数目和类型;以及基于所更新的活跃的I/O请求的数目和类型,使得所述多个物理磁盘中的至少一部分物理磁盘在所划分的调度群组中的不同的调度群组中移动。
在一个示例性实施方式中,所述方法进一步包括:收集正在经历数据重构的已损坏条带的信息;基于所收集的已损坏条带的信息识别所述第二调度群组中具有数据重构I/O请求的物理磁盘;基于所述识别而将所述第二调度群组中的物理磁盘划分为第一子群组和第二子群组,所述第一子群组中的物理磁盘具有所述数据重构I/O请求,而所述第二子群组中的物理磁盘不具有所述数据重构I/O请求;以及向所述第二子群组赋予第三调度优先级,所述第三调度优先级高于所述第二调度优先级。
在一个示例性实施方式中,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:响应于确定从所述第二调度群组中选择物理磁盘,按照调度优先级从高到低的顺序从所述第一子调度群组和所述第二子调度群组之一中选择物理磁盘以进行调度。
在一个示例性实施方式中,所述方法进一步包括:将所述多个物理磁盘虚拟化为多个虚拟磁盘。按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:响应于所述多个虚拟磁盘中的至少一个虚拟磁盘接收到I/O请求,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘;提供从所述至少一个虚拟磁盘到所选择的物理磁盘的映射;以及基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘。
在一个示例性实施方式中,所述方法进一步包括:将所述多个物理磁盘中的每个物理磁盘的地址空间划分为多个物理块,所述多个物理块中的每个物理块具有相同的存储容量;以及将所述多个虚拟磁盘中的每个虚拟磁盘的地址空间划分为多个虚拟块,所述多个虚拟块中的每个虚拟块具有与所述多个物理块中的每个物理块相同的存储容量。
在一个示例性实施方式中,提供从所述至少一个虚拟磁盘到所选择的物理磁盘的映射包括:提供从所述至少一个虚拟磁盘的虚拟块到所选择的物理磁盘的物理块的映射;并且其中基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘包括:基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘的物理块。
在一个示例性实施方式中,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组包括:将所述预定时间段内所统计的所述每个物理磁盘的预定类型的活跃的I/O请求的数目与预定阈值进行比较;响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目超过所述预定阈值,将相应的物理磁盘划分到所述第一调度群组;以及响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目未超过所述预定阈值,将相应的物理磁盘划分到所述第二调度群组。
在本发明的另一方面,提供了一种用于改善分簇磁盘阵列的性能的装置,所述分簇磁盘阵列包括多个物理磁盘。所述装置包括:统计单元,被配置为统计所述多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型;群组划分单元,被配置为基于预定时间段内所统计的所述每个物理磁盘的活跃的I/O请求的数目和类型,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组,所述第一调度群组具有第一调度优先级,所述第二调度群组具有高于所述第一调度优先级的第二调度优先级;以及调度单元,被配置为按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度。
利用本发明的实施方式,能够避免过多的I/O请求集中于某些物理磁盘上,从而改善分簇RAID的整体性能。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1示出了利用根据本发明的一个实施方式而获得的DDVS架构100;
图2示出了DDR备份系统的存储配置;
图3示出了在DDVS中采用伪随机算法的一种应用场景;
图4示出了采用伪随机算法的DDVS与传统RAID的比较;
图5示出了根据本发明一个实施方式的用于改善分簇磁盘阵列的性能的方法500的流程图;
图6描绘了本发明的用于改善分簇磁盘阵列的性能的方法的一个具体实施例;
图7描述了根据本发明的IAR算法在图1所示的物理块分配器中的一种具体实现;
图8-10示出了对IAR算法的评估结果;
图11示出了根据本发明一个实施方式的用于改善分簇磁盘阵列的性能的装置1100的框图;以及
图12示出了适于用来实践本发明实施方式的计算机系统1200的示意性框图。
具体实施方式
下面参考附图详细描述本发明的各实施方式。附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
为了至少解决数据重构时间长的问题,本发明的实施方式首先提出了一种分簇RAID架构。在这种分簇RAID架构中采用了物理磁盘的虚拟存储方案,将构成磁盘阵列的多个物理磁盘虚拟化为多个虚拟磁盘,对多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息,提供从多个虚拟磁盘到多个物理磁盘的映射,基于该映射将数据和冗余信息随机地存储于多个物理磁盘中。由此,被应用了数据保护算法的多个虚拟磁盘所构成的数据保护域与实际存储数据的多个物理磁盘所构成的物理磁盘管理层相分离,数据和冗余信息按照预定的分配策略存储于多个物理磁盘中。利用根据本发明的实施方式的虚拟存储方案,一旦有物理磁盘失效,多个物理磁盘中的所有工作磁盘都将参与失效磁盘的数据重构,从而显著地缩短了数据重构的时间。在下文中,为了便于描述,将根据本发明的实施方式的分簇RAID架构称为“DataDomain虚拟存储(DataDomain Virtual Storage,DDVS)”架构。
图1示出了利用根据本发明的一个实施方式而获得的DDVS架构100。如图1所示,DDVS架构100包括物理磁盘管理层110和数据保护层120。
物理磁盘管理层110也称作“物理磁盘管理域”110。物理磁盘管理层110被配置为管理构成磁盘阵列的多个物理磁盘,物理磁盘总体上由标号111表示。多个物理磁盘111中的每个物理磁盘的地址空间被划分为多个物理块(chunk),每个物理块具有相同的存储容量。所划分成的物理块总体上由标号112表示。这些物理块112构成一个存储池(pool)113。
数据保护层120被配置为提供数据冗余特征。数据保护层120包括对多个物理磁盘111虚拟化而形成的多个虚拟磁盘。对所述多个虚拟磁盘应用数据保护算法,以获得与待存储的数据有关的冗余信息。因此,由多个虚拟磁盘构成的数据保护层120也被称作数据保护域120。
在虚拟磁盘的数目较大时,可以将多个虚拟磁盘划分为多个群组,针对每个群组应用相同或不同的数据保护算法。例如,在图1中,出于说明的目的而将多个虚拟磁盘划分为两个群组,即群组121和122。群组121中的虚拟磁盘总体上由标号121a表示,群组122中的虚拟磁盘总体上由标号122a表示。分别对群组121和122应用不同的数据保护算法。例如,对群组121应用RAID-6级别算法,而对群组122应用RAID-5级别算法。由此,被应用了RAID-6级别算法的群组121也称为RAID-6数据保护域,而被应用了RAID-5级别算法的群组122也称为RAID-5数据保护域。RAID-6数据保护域和RAID-5数据保护域统称为数据保护域120。
应当理解,将多个虚拟磁盘划分为图1中所示的两个群组并且每个群组应用不同的数据保护算法只是为了进行说明,但是本发明的实施方式并不局限于此。例如,可以不对多个虚拟磁盘进行群组划分。此外,也可以对图1中所示的两个群组应用相同的数据保护算法,例如RAID-5、RAID-6或者与纠删码有关的数据保护算法等。
将所述多个虚拟磁盘121a和122a中的每个虚拟磁盘的地址空间划分为多个虚拟块(block,未示出)。多个虚拟块中的每个虚拟块可以具有与每个物理块112相同的存储容量。应当理解,本发明的实施方式并不局限于此,每个虚拟块也可以具有与每个物理块112不同的存储容量。
物理磁盘管理层110还包括物理块分配器114,用于将数据保护层120中的虚拟块映射到物理磁盘管理层110中的相应物理块112。在数据写入过程期间,物理块分配器114根据预定的分配策略,按照用户期望写入虚拟磁盘121a的虚拟块的数据量为每个虚拟磁盘121a分配相应的物理块,以便将数据写入相应的物理块112。物理块分配器114例如可以采用伪随机算法来随机地为虚拟磁盘(虚拟块)分配物理块。通过使用该算法,数据可以随机地跨所有物理磁盘分布。
DDVS架构可以用于数据备份系统中。DataDomain产品DDR是一种采用了上述DDVS架构的数据备份系统。DDR具有规则的I/O模式并且大多数请求是顺序写入或读取请求。为了改善该备份系统的吞吐量,DDR的核心组件DDFS(DDR的文件系统)采用日志结构文件系统设计。由于该DDFS永远不会进行改写操作,所以写入存储设备的所有数据都是顺序的。
图2示出了DDR备份系统的存储配置。从图2中可以看出,可以向DDVS 210中添加整体上由标号220表示的多个盘柜(shelf),并且向存储管理层230输出整体上由标号240表示的多个数据保护域。为了改善DDFS 250的吞吐量,存储管理层230将I/O并行地分布于多个数据保护域240中,然后DDVS 250通过物理块分配器(未示出)将数据随机地分派到盘柜220上的物理磁盘中。
总之,对于备份应用而言,大多数I/O都是顺序的,DDFS 250被设计成日志结构模式以避免改写,从而优化写入性能。为了充分利用物理磁盘的带宽,存储管理层230将I/O并行地分布于下层中。
对于分簇RAID而言,在物理块分配器中实现的一般算法是存储领域中所广泛使用的伪随机算法。伪随机算法的优点在于容易实现,但是在一些应用环境中,伪随机算法将严重影响分簇RAID的性能。以下将结合图3所示的示例性应用场景进行描述。
图3示出了在DDVS中采用伪随机算法的一种应用场景。如图3所示,在逻辑域实施数据保护算法,例如RAID-6级别数据保护算法,从而形成多个数据保护域,例如图3中的RAID-6数据保护域310和320。每个数据保护域包括通过对物理磁盘虚拟化而得到的多个虚拟磁盘。每个虚拟磁盘被分成多个虚拟块。整体上由标号330表示的物理磁盘中的每个物理磁盘被分成多个物理块,例如物理块331和332。在物理域将这些物理块作为一个存储池进行管理。物理块分配器340如同连接逻辑域和物理域的桥梁一样。如果物理块分配器340采用伪随机算法,则分别来自数据保护域310和320的虚拟块可能会被映射到同一物理磁盘上的物理块331和332中。由此,数据保护域310和320的吞吐量将显著地彼此影响。
通过在物理块分配器340中采用伪随机算法进行了测试,测试结果如图4所示。在逻辑域采用三个数据保护域的配置中,与传统RAID(也称为聚簇RAID)相比,采用伪随机算法的DDVS将具有较低的顺序写入性能。从图4的测试结果可以看出,传统RAID的性能瓶颈在于HBA带宽,但是DDVS的性能瓶颈在于物理磁盘带宽。如果增大HBA带宽,则DDVS与传统RAID的差距将更大。
由此可见,在某些应用领域、例如备份应用中伪随机算法并不适用于分簇RAID。
为了解决在某些应用领域中应用伪随机算法所带来的问题,本发明的实施方式提出了一种新的物理磁盘调度算法以改善分簇RAID的性能。该算法的核心思想是物理磁盘资源不能被随机地调度,但是需要感知I/O。在下文中,为了便于描述,将所提出的算法称作I/O感知的随机(I/O awareness random,IAR)算法。
图5示出了根据本发明一个实施方式的用于改善分簇磁盘阵列的性能的方法500的流程图。方法500可以在任何分簇磁盘阵列中实施,无论是当前已知的还是未来开发的分簇磁盘阵列。在一个具体实施例中,方法500可以在图1所示的DDVS分簇磁盘阵列中实施。具体地,方法500例如可以在图1所示的DDVS分簇磁盘阵列的物理块分配器114中实施。
在步骤S510,统计多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型。如本文中所使用的,活跃的I/O请求是指在预定时间段内运行过的I/O请求。所述预定时间段例如为1秒或者更长时间。I/O请求类型包括但不限于:文件系统写入I/O、文件系统读取I/O、数据重构写入I/O、数据重构读取I/O等。可以理解,某个或者某些物理磁盘的活跃的I/O请求的数目为零表示这些物理磁盘不具有任何I/O请求,因而处于空闲状态。
在步骤S520,基于预定时间段内所统计的每个物理磁盘的活跃的I/O请求的数目和类型,将多个物理磁盘至少划分为第一调度群组和第二调度群组。第一调度群组具有第一调度优先级,第二调度群组具有高于第一调度优先级的第二调度优先级。
在一个具体实施例中,基于预定时间段内所统计的每个物理磁盘的活跃的文件系统写入I/O请求的数目,将多个物理磁盘划分为第一调度群组和第二调度群组。例如,将预定时间段内所统计的每个物理磁盘的活跃的文件系统写入I/O请求的数目与预定阈值进行比较,响应于多个物理磁盘中的一个或多个物理磁盘的活跃的文件系统写入I/O请求的数目超过预定阈值,将相应的物理磁盘划分到第一调度群组,以及响应于多个物理磁盘中的一个或多个物理磁盘的活跃的文件系统写入I/O请求的数目未超过预定阈值,将相应的物理磁盘划分到第二调度群组。
在步骤S530,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度。
通过基于活跃的I/O请求的数目和类型对物理磁盘进行调度群组划分、并且按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度,避免了I/O请求集中于某些物理磁盘上。
在一个实施方式中,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:从所划分的调度群组之一中随机地选择物理磁盘以进行调度。由此,可以使得数据随机地分布于物理磁盘中,从而在分簇磁盘阵列中显著缩短数据重构时间。
在一个实施方式中,方法500进一步包括:周期性地更新每个物理磁盘的活跃的I/O请求的数目和类型,以及基于所更新的活跃的I/O请求的数目和类型,使得多个物理磁盘中的至少一部分物理磁盘在所划分的调度群组中的不同的调度群组中移动。对每个物理磁盘的活跃的I/O请求的数目和类型进行更新的周期可以根据具体应用场景进行设置。
应当理解,对每个物理磁盘的活跃的I/O请求的数目和类型进行更新的周期可以与基于所更新的数目和类型进行调度群组划分的周期相同或者不同。例如,在将二者设置为相同的情况下,更新之后立即进行调度群组的划分,从而确保具有文件系统写入I/O请求的物理磁盘总是位于具有低调度优先级的调度群组中。当然,进行调度群组划分的周期也可以长于更新周期。
图6描绘了本发明的用于改善分簇磁盘阵列的性能的方法的一个具体实施例。
例如,当图1所示的物理块分配器114为虚拟磁盘521a中的虚拟块分配物理块时,物理磁盘111中的一些物理磁盘具有繁重的文件系统I/O,一些物理磁盘具有数据重构I/O,而一些物理磁盘处于空闲状态。对于备份应用而言,设计目标在于文件系统I/O应当被分布于不同物理磁盘上而不存在在同一物理磁盘中的重叠。此外,最好将数据重构I/O与文件系统I/O分离,以使得系统性能在有数据重构I/O时和无数据重构I/O时一致。
为了通过I/O负载状况(例如活跃的I/O请求的数目和类型)来将这些物理磁盘分离,可以采用最近最不常使用(least frequently used,LFU)算法将物理磁盘分为两个调度群组,例如图6中的调度群组610和620。调度群组610包括“磁盘群组A”。“磁盘群组A”中的所有物理磁盘具有繁重的文件系统(FS)写入I/O。调度群组620包括“磁盘群组B”和“磁盘群组C”。“磁盘群组B”中的所有物理磁盘具有数据重构读取I/O,而“磁盘群组C”中的所有物理磁盘没有任何I/O,因而处于空闲状态。为了避免文件系统写入I/O集中于“磁盘群组A”中,因此向调度群组610赋予将被用来分配新物理块的低调度优先级,而向调度群组620赋予将被用来分配新物理块的高调度优先级。换言之,物理块分配器114优先从包括“磁盘群组B”和“磁盘群组C”的调度群组620中选择物理磁盘而将其物理块分配给虚拟块。
进一步,由于调度群组620中的“磁盘群组C”处于空闲状态,因此期望将“磁盘群组B”和“磁盘群组C”分离并向“磁盘群组C”赋予将由物理块分配器114使用的最高优先级。为了将“磁盘群组B”和“磁盘群组C”分离,可以采用如下方法。首先,收集正在经历数据重构的已损坏条带的信息。然后,基于所收集的已损坏条带的信息识别调度群组620中具有数据重构I/O请求的物理磁盘。接下来,基于上述识别而将调度群组620中的物理磁盘划分为“磁盘群组B”和“磁盘群组C”,“磁盘群组B”中的所有物理磁盘都具有数据重构I/O请求,而“磁盘群组C”中的物理磁盘不具有数据重构I/O请求,例如处于空闲状态。随后,向“磁盘群组C”赋予比“磁盘群组B”高的调度优先级。由此,物理块分配器114优先从“磁盘群组C”中选择物理磁盘以进行分配。
当确定了从“磁盘群组A”、“磁盘群组B”或“磁盘群组C”中选择物理磁盘时,采用伪随机算法来选择物理磁盘。采用伪随机算法的目的在于希望将数据保护域的数据随机地分布于所选择的磁盘群组中的所有物理磁盘上,由此在分簇RAID中显著缩短数据重构时间。
通过描述可以看出,在IAR算法中,从整体角度来看,采用LFU算法来避免过多的I/O集中于某些物理磁盘上;从局部角度来看,采用伪随机算法来选择物理磁盘进行分配。因此,通过使用IAR算法,不仅能够避免如上所述的顺序性能问题,而且还可以将数据随机地分布于所有物理磁盘中以改善分簇RAID的数据重构性能。
图7描述了根据本发明的IAR算法在图1所示的物理块分配器114中的一种具体实现。
如图7所示,IAR算法的实现可以分为三个部分:
1)I/O统计信息更新器,被配置为在I/O路径中更新I/O统计信息以记录所有物理磁盘的I/O负载状况。
2)I/O计数检查器和磁盘分类器,被配置为检查物理磁盘的I/O负载状况并且将物理磁盘分类为不同的调度群组。
3)磁盘选择器,被配置为采用伪随机算法而从所确定的调度群组中的磁盘群组中选择可用的物理磁盘。
每个物理磁盘具有I/O统计信息,其在向物理磁盘提交I/O请求的阶段被更新。I/O统计信息中的主要信息是物理磁盘的活跃的I/O请求的数目和类型。
该算法的核心组件是LFU内核线程710,其由调度定时器720周期性地运行。在该具体实现中,LFU线程每秒被调度一次,主要任务是检查I/O统计信息。在备份应用场景中,如果物理磁盘的活跃的I/O请求的数目低于预定阈值,则对应的物理磁盘应当被移动到没有文件系统I/O的调度群组。否则,对应的物理磁盘应当被移动到有文件系统I/O的调度群组。LFU线程每秒被调度一次,由此算法可以确保具有文件系统I/O的物理磁盘总是位于低优先级的调度群组中。
在该具体实现中,具有数据重构I/O的物理磁盘通过正在经历数据重构的坏条带的信息来识别。如果实现不关注数据重构I/O,则可以跳过该步骤。
当物理块分配器114希望从物理磁盘中分配物理块时,工作流程描述如下:
1)检查“磁盘群组C”是否有可用的物理磁盘资源。如果存在自由的物理磁盘(其物理块没有被映射到虚拟块),则通过使用伪随机算法来获得物理磁盘并且退出。
2)如果无法从“磁盘群组C”获得物理磁盘,则尝试从“磁盘群组B”选择物理磁盘。与步骤1)相同,通过使用伪随机算法来选择物理磁盘以分配物理块。如果选择物理磁盘成功,则结束该过程。
3)如果无法从“磁盘群组B”获得物理磁盘,则尝试从“磁盘群组A”选择物理磁盘。在该步骤中,意味着所有物理磁盘都处于文件系统写入中。因此,通过使用伪随机算法来选择物理磁盘。
图8-10示出了对IAR算法的评估结果。为了验证这一新算法,对DataDomain系统进行了测试以比较IAR与伪随机算法。实验表明,IAR达到了预期目标并且使得顺序写入性能优于伪随机算法
图8示出了DDVS与传统RAID的顺序写入性能的比较。对于传统RAID而言,数据布局是规则的,因此在并行写入模式中,两个数据保护域将不具有导致性能下降的任何性能冲突。在此,测试了传统RAID与基于两个数据保护域的采用IAR算法的DDVS的顺序写入性能。从图8的结果中可以看出,具有IAR算法的DDVS与传统RAID基本具有相同的性能。此外,它们的瓶颈是HBA带宽限制。
图9示出了采用伪随机算法的DDVS与采用IAR算法的DDVS的顺序写入性能比较结果。从图9中可以看出,采用IAR算法的DDVS的顺序写入性能优于采用伪随机算法的DDVS。
图10示出了IAR算法的性能改善。从图10中可以看出,IAR算法的性能改善在测试流数目大于1时超过20%。
综上所述,在分簇RAID中,物理块分配器所采用的算法影响应用程序性能。实验表明,IAR算法至少可以改善顺序写入性能并且在其他方面没有开销。IAR算法至少在备份领域中非常适用于分簇RAID。
应当理解,尽管以上结合本发明的方法应用于数据备份领域以改善顺序写入性能的上下文描述了本发明的实施方式,但是本发明的方法还可以应用于其他应用领域以改善分簇磁盘阵列的其他性能。此外,尽管以上描述了本发明的方法在DDVS这一特定分簇RAID中的实现,但是本发明的实现并不局限于此,而是可以在任何分簇磁盘阵列中实现。
本发明的实施方式还提供了一种用于改善分簇磁盘阵列的性能的装置,所述分簇磁盘阵列包括多个物理磁盘。图11示出了根据本发明一个实施方式的用于改善分簇磁盘阵列的性能的装置1100的框图。
装置1100包括:统计单元1110,被配置为统计所述多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型;群组划分单元1120,被配置为基于预定时间段内所统计的所述每个物理磁盘的活跃的I/O请求的数目和类型,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组,所述第一调度群组具有第一调度优先级,所述第二调度群组具有高于所述第一调度优先级的第二调度优先级;以及调度单元1130,被配置为按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度。
在一个示例性实施方式中,调度单元1130被进一步配置为:从所划分的调度群组之一中随机地选择物理磁盘以进行调度。
在一个示例性实施方式中,装置1100进一步包括:更新单元,被配置为周期性地更新所述每个物理磁盘的活跃的I/O请求的数目和类型;以及移动单元,被配置为基于所更新的活跃的I/O请求的数目和类型,使得所述多个物理磁盘中的至少一部分物理磁盘在所划分的调度群组中的不同的调度群组中移动。
在一个示例性实施方式中,装置1100进一步包括:收集单元,被配置为收集正在经历数据重构的已损坏条带的信息;识别单元,被配置为基于所收集的已损坏条带的信息识别所述第二调度群组中具有数据重构I/O请求的物理磁盘;子群组划分单元,被配置为基于所述识别而将所述第二调度群组中的物理磁盘划分为第一子群组和第二子群组,所述第一子群组中的物理磁盘具有所述数据重构I/O请求,而所述第二子群组中的物理磁盘不具有所述数据重构I/O请求;以及优先级赋予单元,被配置为向所述第二子群组赋予第三调度优先级,所述第三调度优先级高于所述第二调度优先级。
在一个示例性实施方式中,调度单元1130被进一步配置为:响应于确定从所述第二调度群组中选择物理磁盘,按照调度优先级从高到低的顺序从所述第一子调度群组和所述第二子调度群组之一中选择物理磁盘以进行调度。
在一个示例性实施方式中,装置1100进一步包括:虚拟化单元,被配置为将所述多个物理磁盘虚拟化为多个虚拟磁盘。调度单元1130被进一步配置为:响应于所述多个虚拟磁盘中的至少一个虚拟磁盘接收到I/O请求,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘;提供从所述至少一个虚拟磁盘到所选择的物理磁盘的映射;以及基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘。
在一个示例性实施方式中,装置1100进一步包括:物理块划分单元,被配置为将所述多个物理磁盘中的每个物理磁盘的地址空间划分为多个物理块,所述多个物理块中的每个物理块具有相同的存储容量;以及虚拟块划分单元,被配置为将所述多个虚拟磁盘中的每个虚拟磁盘的地址空间划分为多个虚拟块,所述多个虚拟块中的每个虚拟块具有与所述多个物理块中的每个物理块相同的存储容量。
在一个示例性实施方式中,调度单元1130被进一步配置为:提供从所述至少一个虚拟磁盘的虚拟块到所选择的物理磁盘的物理块的映射;以及基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘的物理块。
在一个示例性实施方式中,群组划分单元1120被进一步配置为:将所述预定时间段内所统计的所述每个物理磁盘的预定类型的活跃的I/O请求的数目与预定阈值进行比较;响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目超过所述预定阈值,将相应的物理磁盘划分到所述第一调度群组;以及响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目未超过所述预定阈值,将相应的物理磁盘划分到所述第二调度群组。
下面参考图12,其示出了适于用来实践本发明实施方式的计算机系统1200的示意性框图。例如,图12所示的计算机系统1200可以用于实现如上文描述的用于加速磁盘阵列的数据重构装置1800。
如图12所示,计算机系统1200可以包括:CPU(中央处理单元)1201、RAM(随机存取存储器)1202、ROM(只读存储器)1203、系统总线1204、硬盘控制器1205、键盘控制器1206、串行接口控制器1207、并行接口控制器1208、显示控制器1209、硬盘1210、键盘1211、串行外部设备1212、并行外部设备1213和显示器1214。在这些设备中,与系统总线1204耦合的有CPU1201、RAM 1202、ROM 1203、硬盘控制器1205、键盘控制器1206、串行控制器1207、并行控制器1208和显示控制器1209。硬盘1210与硬盘控制器1205耦合,键盘1211与键盘控制器1206耦合,串行外部设备1212与串行接口控制器1207耦合,并行外部设备1213与并行接口控制器1208耦合,以及显示器1214与显示控制器1209耦合。应当理解,图12所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
如上所述,装置1100可以实现为纯硬件,例如芯片、ASIC、SOC等。这些硬件可以集成在计算机系统1200中。此外,本发明的实施方式也可以通过计算机程序产品的形式实现。例如,参考图4描述的方法400可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图12所示的RAM 1202、ROM 1203、硬盘1210和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统1200上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图12中示出的CPU 1201)执行的程序指令。所述程序指令至少可以包括用于实现方法300和400的步骤的指令。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),根据IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。
应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (16)
1.一种用于改善分簇磁盘阵列的性能的方法,所述分簇磁盘阵列包括多个物理磁盘,所述方法包括:
统计所述多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型;
基于预定时间段内所统计的所述每个物理磁盘的活跃的I/O请求的数目和类型,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组,所述第一调度群组具有第一调度优先级,所述第二调度群组具有高于所述第一调度优先级的第二调度优先级;
按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度;
收集正在经历数据重构的已损坏条带的信息;
基于所收集的已损坏条带的信息识别所述第二调度群组中具有数据重构I/O请求的物理磁盘;
基于所述识别而将所述第二调度群组中的物理磁盘划分为第一子群组和第二子群组,所述第一子群组中的物理磁盘具有所述数据重构I/O请求,而所述第二子群组中的物理磁盘不具有所述数据重构I/O请求;以及
向所述第二子群组赋予第三调度优先级,所述第三调度优先级高于所述第二调度优先级。
2.根据权利要求1所述的方法,其中按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:
从所划分的调度群组之一中随机地选择物理磁盘以进行调度。
3.根据权利要求1或2所述的方法,进一步包括:
周期性地更新所述每个物理磁盘的活跃的I/O请求的数目和类型;以及
基于所更新的活跃的I/O请求的数目和类型,使得所述多个物理磁盘中的至少一部分物理磁盘在所划分的调度群组中的不同的调度群组中移动。
4.根据权利要求1所述的方法,其中按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:
响应于确定从所述第二调度群组中选择物理磁盘,按照调度优先级从高到低的顺序从所述第一子群组和所述第二子群组之一中选择物理磁盘以进行调度。
5.根据权利要求1所述的方法,进一步包括:
将所述多个物理磁盘虚拟化为多个虚拟磁盘;
其中按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度包括:
响应于所述多个虚拟磁盘中的至少一个虚拟磁盘接收到I/O请求,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘;
提供从所述至少一个虚拟磁盘到所选择的物理磁盘的映射;以及
基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘。
6.根据权利要求5所述的方法,进一步包括:
将所述多个物理磁盘中的每个物理磁盘的地址空间划分为多个物理块,所述多个物理块中的每个物理块具有相同的存储容量;以及
将所述多个虚拟磁盘中的每个虚拟磁盘的地址空间划分为多个虚拟块,所述多个虚拟块中的每个虚拟块具有与所述多个物理块中的每个物理块相同的存储容量。
7.根据权利要求6所述的方法,其中提供从所述至少一个虚拟磁盘到所选择的物理磁盘的映射包括:提供从所述至少一个虚拟磁盘的虚拟块到所选择的物理磁盘的物理块的映射;并且
其中基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘包括:基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘的物理块。
8.根据权利要求1所述的方法,其中将所述多个物理磁盘至少划分为第一调度群组和第二调度群组包括:
将所述预定时间段内所统计的所述每个物理磁盘的预定类型的活跃的I/O请求的数目与预定阈值进行比较;
响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目超过所述预定阈值,将相应的物理磁盘划分到所述第一调度群组;以及
响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目未超过所述预定阈值,将相应的物理磁盘划分到所述第二调度群组。
9.一种用于改善分簇磁盘阵列的性能的装置,所述分簇磁盘阵列包括多个物理磁盘,所述装置包括:
统计单元,被配置为统计所述多个物理磁盘中的每个物理磁盘的活跃的输入/输出(I/O)请求的数目和类型;
群组划分单元,被配置为基于预定时间段内所统计的所述每个物理磁盘的活跃的I/O请求的数目和类型,将所述多个物理磁盘至少划分为第一调度群组和第二调度群组,所述第一调度群组具有第一调度优先级,所述第二调度群组具有高于所述第一调度优先级的第二调度优先级;
调度单元,被配置为按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘以进行调度;
收集单元,被配置为收集正在经历数据重构的已损坏条带的信息;
识别单元,被配置为基于所收集的已损坏条带的信息识别所述第二调度群组中具有数据重构I/O请求的物理磁盘;
子群组划分单元,被配置为基于所述识别而将所述第二调度群组中的物理磁盘划分为第一子群组和第二子群组,所述第一子群组中的物理磁盘具有所述数据重构I/O请求,而所述第二子群组中的物理磁盘不具有所述数据重构I/O请求;以及
优先级赋予单元,被配置为向所述第二子群组赋予第三调度优先级,所述第三调度优先级高于所述第二调度优先级。
10.根据权利要求9所述的装置,其中所述调度单元被进一步配置为:
从所划分的调度群组之一中随机地选择物理磁盘以进行调度。
11.根据权利要求9或10所述的装置,进一步包括:
更新单元,被配置为周期性地更新所述每个物理磁盘的活跃的I/O请求的数目和类型;以及
移动单元,被配置为基于所更新的活跃的I/O请求的数目和类型,使得所述多个物理磁盘中的至少一部分物理磁盘在所划分的调度群组中的不同的调度群组中移动。
12.根据权利要求9所述的装置,其中所述调度单元被进一步配置为:
响应于确定从所述第二调度群组中选择物理磁盘,按照调度优先级从高到低的顺序从所述第一子群组和所述第二子群组之一中选择物理磁盘以进行调度。
13.根据权利要求9所述的装置,进一步包括:
虚拟化单元,被配置为将所述多个物理磁盘虚拟化为多个虚拟磁盘;
其中所述调度单元被进一步配置为:
响应于所述多个虚拟磁盘中的至少一个虚拟磁盘接收到I/O请求,按照调度优先级从高到低的顺序从所划分的调度群组之一中选择物理磁盘;
提供从所述至少一个虚拟磁盘到所选择的物理磁盘的映射;以及
基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘。
14.根据权利要求13所述的装置,进一步包括:
物理块划分单元,被配置为将所述多个物理磁盘中的每个物理磁盘的地址空间划分为多个物理块,所述多个物理块中的每个物理块具有相同的存储容量;以及
虚拟块划分单元,被配置为将所述多个虚拟磁盘中的每个虚拟磁盘的地址空间划分为多个虚拟块,所述多个虚拟块中的每个虚拟块具有与所述多个物理块中的每个物理块相同的存储容量。
15.根据权利要求14所述的装置,其中所述调度单元被进一步配置为:
提供从所述至少一个虚拟磁盘的虚拟块到所选择的物理磁盘的物理块的映射;以及
基于所述映射将所接收到的I/O请求分派至所选择的物理磁盘的物理块。
16.根据权利要求9所述的装置,其中所述群组划分单元被进一步配置为:
将所述预定时间段内所统计的所述每个物理磁盘的预定类型的活跃的I/O请求的数目与预定阈值进行比较;
响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目超过所述预定阈值,将相应的物理磁盘划分到所述第一调度群组;以及
响应于所述多个物理磁盘中的一个或多个物理磁盘的所述预定类型的活跃的I/O请求的数目未超过所述预定阈值,将相应的物理磁盘划分到所述第二调度群组。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410527708.2A CN105573660B (zh) | 2014-09-30 | 2014-09-30 | 用于改善分簇磁盘阵列的性能的方法和装置 |
US14/867,158 US9798471B2 (en) | 2014-09-30 | 2015-09-28 | Performance of de-clustered disk array by disk grouping based on I/O statistics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410527708.2A CN105573660B (zh) | 2014-09-30 | 2014-09-30 | 用于改善分簇磁盘阵列的性能的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573660A CN105573660A (zh) | 2016-05-11 |
CN105573660B true CN105573660B (zh) | 2019-05-17 |
Family
ID=55584419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410527708.2A Active CN105573660B (zh) | 2014-09-30 | 2014-09-30 | 用于改善分簇磁盘阵列的性能的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9798471B2 (zh) |
CN (1) | CN105573660B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10423506B1 (en) * | 2015-06-30 | 2019-09-24 | EMC IP Holding Company LLC | Fast rebuild using layered RAID |
US10162706B2 (en) * | 2015-10-05 | 2018-12-25 | International Business Machines Corporation | Declustered raid array having redundant domains |
WO2017069775A1 (en) * | 2015-10-23 | 2017-04-27 | Hewlett-Packard Development Company, L.P. | Data storage device monitoring |
US10289507B1 (en) * | 2015-10-27 | 2019-05-14 | Pavilion Data Systems, Inc. | Distributed rebuild of failed storage device |
US10110258B2 (en) | 2016-03-30 | 2018-10-23 | EMC IP Holding Company LLC | Accelerated erasure coding for storage systems |
CN105843562B (zh) * | 2016-05-24 | 2018-12-07 | 浙江宇视科技有限公司 | 数据重建的方法及装置 |
US10152376B2 (en) | 2016-06-29 | 2018-12-11 | EMC IP Holding Company LLC | Data object recovery for storage systems |
US10248326B2 (en) * | 2016-06-29 | 2019-04-02 | EMC IP Holding Company LLC | Incremental erasure coding for storage systems |
US10331588B2 (en) * | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US10564883B2 (en) | 2016-12-13 | 2020-02-18 | EMC IP Holding Company LLC | Efficient migration to distributed storage |
CN108228079B (zh) * | 2016-12-21 | 2021-01-22 | 伊姆西Ip控股有限责任公司 | 存储管理方法和设备 |
CN106970830B (zh) * | 2017-03-22 | 2020-07-28 | 佛山科学技术学院 | 一种分布式虚拟机的存储控制方法及虚拟机 |
CN107145305B (zh) * | 2017-03-22 | 2020-07-28 | 佛山科学技术学院 | 一种分布式物理磁盘的使用方法及虚拟机 |
CN107168646B (zh) * | 2017-03-22 | 2020-07-28 | 佛山科学技术学院 | 一种分布式数据存储控制方法及服务器 |
CN109213619B (zh) * | 2017-06-30 | 2022-02-22 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN113687793B (zh) * | 2017-06-30 | 2024-03-15 | 伊姆西Ip控股有限责任公司 | 存储管理方法和系统 |
US11115056B2 (en) | 2018-06-12 | 2021-09-07 | International Business Machines Corporation | Location selection based on erasure code techniques |
US10783022B2 (en) | 2018-08-03 | 2020-09-22 | EMC IP Holding Company LLC | Immediate replication for dedicated data blocks |
US11442816B2 (en) * | 2018-12-03 | 2022-09-13 | International Business Machines Corporation | Performance of backup operations in an order determined using service-metadata associated with backup requests |
CN111338559B (zh) * | 2018-12-19 | 2023-11-10 | 深圳市茁壮网络股份有限公司 | 数据处理方法、用户模块、信息管理模块及系统 |
CN110659160B (zh) * | 2019-09-06 | 2022-05-20 | 厦门市美亚柏科信息股份有限公司 | 一种raid5数据恢复方法、装置、系统及存储介质 |
CN113590019B (zh) * | 2020-04-30 | 2023-11-07 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601489A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 利用共享专用高速缓存减少高速缓存失误率的方法和系统 |
CN103810113A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失存储器和动态随机存取存储器的融合内存系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3975684B2 (ja) * | 2000-03-29 | 2007-09-12 | 富士通株式会社 | ディスク入出力スケジュール装置および方法 |
US7539991B2 (en) * | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks in a raid system |
US6820172B2 (en) * | 2002-03-25 | 2004-11-16 | International Business Machines Corporation | Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices |
AU2003272358A1 (en) * | 2002-09-16 | 2004-04-30 | Tigi Corporation | Storage system architectures and multiple caching arrangements |
WO2011135622A1 (en) * | 2010-04-28 | 2011-11-03 | Hitachi, Ltd. | Storage device and method of controlling storage system |
JP5533252B2 (ja) * | 2010-05-21 | 2014-06-25 | 富士通株式会社 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
US8719533B2 (en) * | 2011-09-20 | 2014-05-06 | Hitachi, Ltd. | Storage apparatus, computer system, and data migration method |
CN102981973B (zh) * | 2012-11-05 | 2016-02-10 | 曙光信息产业(北京)有限公司 | 在存储系统中执行请求的方法 |
-
2014
- 2014-09-30 CN CN201410527708.2A patent/CN105573660B/zh active Active
-
2015
- 2015-09-28 US US14/867,158 patent/US9798471B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601489A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 利用共享专用高速缓存减少高速缓存失误率的方法和系统 |
CN103810113A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失存储器和动态随机存取存储器的融合内存系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160092109A1 (en) | 2016-03-31 |
US9798471B2 (en) | 2017-10-24 |
CN105573660A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573660B (zh) | 用于改善分簇磁盘阵列的性能的方法和装置 | |
AU2017201918B2 (en) | Prioritizing data reconstruction in distributed storage systems | |
CN105893188B (zh) | 用于加速磁盘阵列的数据重构的方法和装置 | |
US11086523B2 (en) | Automatic tiering of storage using dynamic grouping | |
US10409696B2 (en) | Scalable data storage pools | |
CN105657066B (zh) | 用于存储系统的负载再均衡方法及装置 | |
US10592365B2 (en) | Method and apparatus for managing storage system | |
US9690611B2 (en) | Combining blade servers based on workload characteristics | |
US9311194B1 (en) | Efficient resource utilization in data centers | |
US9323464B2 (en) | Assigning device adaptors to use to copy source extents to target extents in a copy relationship | |
US10324794B2 (en) | Method for storage management and storage device | |
US20140115016A1 (en) | Systems and methods for enabling parallel processing of write transactions | |
KR20160010491A (ko) | 희소하게 판독되는 데이터용의 저가의 스토리지 | |
CN109213428B (zh) | 用于管理存储系统的方法和设备 | |
CN109725823A (zh) | 用于管理混合存储盘阵列的方法和设备 | |
CN108037894B (zh) | 一种磁盘空间管理方法及装置 | |
US9811280B2 (en) | Efficient method of combining parity groups for uniform load distribution and maximizing parallelization in parity de-clustered and sliced disk raid architecture | |
US20190129647A1 (en) | Method, device and computer program product for managing disk array | |
US20140115599A1 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
DE102013100169A1 (de) | Planen und Ausführung einer Rechenaufgabe | |
KR101661475B1 (ko) | 이기종 클러스터 상에서 하둡 부하 분산 방법, 이를 수행하기 위한 기록 매체 및 하둡 맵리듀스 시스템 | |
CN105739911B (zh) | 存储数据的分配方法、装置以及存储系统 | |
CN110083314A (zh) | 一种逻辑卷删除方法、系统及相关装置 | |
CN105224261A (zh) | 一种块虚拟化阵列的实现方法及装置 | |
CN105988873B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200416 Address after: Massachusetts, USA Patentee after: EMC IP Holding Company LLC Address before: Massachusetts, USA Patentee before: EMC Corp. |
|
TR01 | Transfer of patent right |