CN113867635A - 一种负载均衡方法和相关装置 - Google Patents
一种负载均衡方法和相关装置 Download PDFInfo
- Publication number
- CN113867635A CN113867635A CN202111124477.7A CN202111124477A CN113867635A CN 113867635 A CN113867635 A CN 113867635A CN 202111124477 A CN202111124477 A CN 202111124477A CN 113867635 A CN113867635 A CN 113867635A
- Authority
- CN
- China
- Prior art keywords
- independent
- storage block
- redundant
- heat value
- array
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000005012 migration Effects 0.000 claims abstract description 85
- 238000013508 migration Methods 0.000 claims abstract description 85
- 238000003491 array Methods 0.000 claims abstract description 48
- 238000012216 screening Methods 0.000 claims abstract description 21
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
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/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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种负载均衡方法和相关装置,在达到迁移周期时,确定每个独立冗余磁盘阵列的热度值;根据每个独立冗余磁盘阵列的热度值计算标准差;根据标准差确定每个独立冗余磁盘阵列的期望热度值区间,期望热度值区间为第一热度值至第二热度值之间,第一热度值低于第二热度值。若多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于第二热度值,且存在第二独立冗余磁盘阵列的热度值低于第一热度值,从第一独立冗余磁盘阵列中筛选第一目标存储块,从第二独立冗余磁盘阵列中筛选第二目标存储块,将第一目标存储块中的数据迁移至第二目标存储块中。本方案提高了独立冗余磁盘阵列的访问效率,使整个存储系统获得更好的性能。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种负载均衡方法和相关装置。
背景技术
在大数据时代,后端存储介质如独立冗余磁盘阵列(Redundant Arrays ofIndependent Disks,RAID)的性能对整个存储区域网络(Storage Area Network,SAN)存储系统的影响起到了至关重要的作用。
在拥有多个独立冗余磁盘阵列的同一个逻辑存储池中,用户数据将分布于各个独立冗余磁盘阵列中,但是每个独立冗余磁盘阵列存在带宽限制,当该独立冗余磁盘阵列上的短时间之内的数据读写量达到一定阈值时,将无法超过独立冗余磁盘阵列和存储系统的连接介质的带宽限制,对该独立冗余磁盘阵列的读写速率将会限死无法提升,导致独立冗余磁盘阵列的响应时间在短时间内会大大提高,降低了独立冗余磁盘阵列的访问效率,对于整个存储系统的性能也会有较大的影响。
发明内容
为了解决上述技术问题,本申请提供了一种负载均衡方法和相关装置,解决了多个独立冗余磁盘阵列负载不均的问题,提高了独立冗余磁盘阵列的访问效率,使整个存储系统获得更好的性能。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供了一种负载均衡方法,存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,所述方法包括:
在达到迁移周期时,确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;
根据所述每个独立冗余磁盘阵列的热度值计算标准差;
根据所述标准差,确定所述每个独立冗余磁盘阵列的期望热度值区间,所述期望热度值区间为第一热度值至第二热度值之间,所述第一热度值低于所述第二热度值;
若所述多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于所述第二热度值,且所述多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于所述第一热度值,从所述第一独立冗余磁盘阵列中筛选第一目标存储块,以及从所述第二独立冗余磁盘阵列中筛选第二目标存储块;
将所述第一目标存储块中的数据迁移至所述第二目标存储块中。
可选的,所述第一目标存储块是所述第一独立冗余磁盘阵列中热度值最高的存储块,所述第二目标存储块是所述第二独立冗余磁盘阵列中热度值最低的存储块。
可选的,所述第二独立冗余磁盘阵列中使用的存储块的数量占总存储块数量的百分比小于预设阈值,所述总存储块数量是所述第二独立冗余磁盘阵列中存储块的总数量。
可选的,所述将所述第一目标存储块中的数据迁移至所述第二目标存储块中之前,所述方法还包括:
计算若将所述第一目标存储块中的数据迁移至所述第二目标存储块中,迁移后的所述第二独立冗余磁盘阵列的热度值;
若迁移后的所述第二独立冗余磁盘阵列的热度值未超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤;
若迁移后的所述第二独立冗余磁盘阵列的热度值超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,则重新确定至少一个第二目标存储块。
可选的,所述将所述第一目标存储块中的数据迁移至所述第二目标存储块中之后,所述方法还包括:
重新计算迁移后的第一独立冗余磁盘阵列的热度值;
若迁移后的第一独立冗余磁盘阵列的热度值高于所述第一独立冗余磁盘阵列的期望热度值区间的第二热度值,继续确定用于进行数据迁移的第一目标存储块和第二目标存储块,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤,直到迁移后的第一独立冗余磁盘阵列的热度值位于所述第一独立冗余磁盘阵列的期望热度值区间。
可选的,所述将所述第一目标存储块中的数据迁移至所述第二目标存储块中之后,所述方法还包括:
对所述存储系统中输入输出所对应的逻辑地址到物理地址映射中的物理地址进行更新;
将数据迁出的第一独立冗余磁盘阵列的第一目标存储块置为未使用状态,并将第一目标存储块置的热度值清零,以及将数据迁入的第二独立冗余磁盘阵列的第二目标存储块置为已用状态,并将第二目标存储块的热度值进行更新。
可选的,所述确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值,包括:
根据所述迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值;
将同一个独立冗余磁盘阵列中存储块的热度值进行累加,得到对应的独立冗余磁盘阵列的热度值。
可选的,所述迁移周期包括多个统计周期,所述根据所述迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值,包括:
根据所述每个统计周期分别对应的统计数据更新每个独立冗余磁盘阵列中存储块的热度值。
第二方面,本申请实施例提供了一种负载均衡装置,存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,所述装置包括:
确定单元,用于在达到迁移周期时,确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;
计算单元,用于根据所述每个独立冗余磁盘阵列的热度值计算标准差;
所述确定单元,还用于根据所述标准差,确定所述每个独立冗余磁盘阵列的期望热度值区间,所述期望热度值区间为第一热度值至第二热度值之间,所述第一热度值低于所述第二热度值;
筛选单元,用于若所述多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于所述第二热度值,且所述多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于所述第一热度值,从所述第一独立冗余磁盘阵列中筛选第一目标存储块,以及从所述第二独立冗余磁盘阵列中筛选第二目标存储块;
迁移单元,用于将所述第一目标存储块中的数据迁移至所述第二目标存储块中。
可选的,所述第一目标存储块是所述第一独立冗余磁盘阵列中热度值最高的存储块,所述第二目标存储块是所述第二独立冗余磁盘阵列中热度值最低的存储块。
可选的,所述第二独立冗余磁盘阵列中使用的存储块的数量占总存储块数量的百分比小于预设阈值,所述总存储块数量是所述第二独立冗余磁盘阵列中存储块的总数量。
可选的,所述计算单元,还用于计算若将所述第一目标存储块中的数据迁移至所述第二目标存储块中,迁移后的所述第二独立冗余磁盘阵列的热度值;
所述确定单元,还用于若迁移后的所述第二独立冗余磁盘阵列的热度值未超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤;
所述确定单元,还用于若迁移后的所述第二独立冗余磁盘阵列的热度值超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,则重新确定至少一个第二目标存储块。
可选的,所述计算单元,还用于:
重新计算迁移后的第一独立冗余磁盘阵列的热度值;
所述确定单元,还用于若迁移后的第一独立冗余磁盘阵列的热度值高于所述第一独立冗余磁盘阵列的期望热度值区间的第二热度值,继续确定用于进行数据迁移的第一目标存储块和第二目标存储块,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤,直到迁移后的第一独立冗余磁盘阵列的热度值位于所述第一独立冗余磁盘阵列的期望热度值区间。
可选的,所述装置还包括更新单元:
所述更新单元,用于对所述存储系统中输入输出所对应的逻辑地址到物理地址映射中的物理地址进行更新;
将数据迁出的第一独立冗余磁盘阵列的第一目标存储块置为未使用状态,并将第一目标存储块置的热度值清零,以及将数据迁入的第二独立冗余磁盘阵列的第二目标存储块置为已用状态,并将第二目标存储块的热度值进行更新。
可选的,所述确定单元,用于根据所述迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值;
将同一个独立冗余磁盘阵列中存储块的热度值进行累加,得到对应的独立冗余磁盘阵列的热度值。
可选的,所述迁移周期包括多个统计周期,所述确定单元,用于:
根据所述每个统计周期分别对应的统计数据更新每个独立冗余磁盘阵列中存储块的热度值。
第三方面,本申请实施例提供了一种用于负载均衡的设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行前述第一方面任一所述的方法。
由上述技术方案可以看出,本申请实施例具有以下优点:
存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,在达到迁移周期时,确定多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;根据每个独立冗余磁盘阵列的热度值计算标准差;根据标准差,确定每个独立冗余磁盘阵列的期望热度值区间,期望热度值区间为第一热度值至第二热度值之间,第一热度值低于第二热度值;若多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于第二热度值,且多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于第一热度值,从第一独立冗余磁盘阵列中筛选第一目标存储块,以及从第二独立冗余磁盘阵列中筛选第二目标存储块;将第一目标存储块中的数据迁移至第二目标存储块中。本方案对同一个存储系统中的不同的独立冗余磁盘阵列的负载进行均衡,解决了多个独立冗余磁盘阵列负载不均的问题,提高了独立冗余磁盘阵列的访问效率,使整个存储系统获得更好的性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种负载均衡方法的流程图;
图2为本申请实施例提供的一种负载均衡方法的流程图;
图3为本申请实施例提供的一种负载均衡方法的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决传统技术中存在的技术问题:当该独立冗余磁盘阵列上的短时间之内的数据读写量达到一定阈值时,将无法超过独立冗余磁盘阵列和存储系统的连接介质的带宽限制,对该独立冗余磁盘阵列的读写速率将会限死无法提升,独立冗余磁盘阵列的响应时间在短时间内会大大提高,降低了独立冗余磁盘阵列的访问效率,对于整个存储系统的性能也会有较大的影响,本申请实施例提供一种负载均衡方法,参见图1,该方法包括:
S101、在达到迁移周期时,确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值。
存储系统中包括多个独立冗余磁盘阵列(RAID),每个独立冗余磁盘阵列中包括多个存储块(extent),假设每个存储系统后端连有相同规格的多个RAID,且存储系统支持创建的RAID类型固定,如相同规格10块盘组成的RAID6,RAID6拆分成相同大小的extent由存储系统进行统一的分配管理和以extent为粒度的性能统计。
需要说明的是,确定多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值的一种可能的是实现方式可以是根据迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值,将同一个独立冗余磁盘阵列中存储块的热度值进行累加,得到对应的独立冗余磁盘阵列的热度值。其中,迁移周期可以用T表示。
在一种可能的情况下,若迁移周期包括多个统计周期,根据迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值的方式可以是根据每个统计周期分别对应的统计数据更新每个独立冗余磁盘阵列中存储块的热度值。其中,统计周期可以用t表示,迁移周期包括统计周期的数量可以根据实际需求进行确定,例如迁移周期可以包括12个统计周期,即统计周期t可以是T/12。当T是1小时时,t例如可以是5分钟。
具体的,可以设置数据迁移的迁移周期为T(默认时间一小时),同时设置统计周期t(默认时间是T/12即5分钟),在每个t周期内,记录和更新以extent为粒度的读写次数、处理时间等统计数据,extent的热度值计算公式如下,Hn=Hn-1+β(Vn-Hn-1),Hn是第n个统计周期过后的热度值,Hn-1是第n-1个统计周期过后的热度值,Vn是第n个统计周期内统计的extent的读写数据量(统计数据反映出的读写数据量),β为相关系数,一般取小于1的数值。然后通过对同一个RAID中extent的热度值累加,获得每个RAID的热度值。
可以理解的是,存储系统可以依据实现功能的不同被划分成多个模块,每个模块负责不同功能,与RAID负载均衡相关的包括了存储池模块、数据迁移模块和生成迁移计划模块。存储池模块负责每个写入RAID中的extent的统计工作,从而得到统计数据,并将这些统计数据周期性地传入生成迁移计划模块,例如在迁移周期T到来时,将统计数据发送生成迁移计划模块,清零上个统计周期t内的所有统计数据,由生成迁移计划模块负责计算extent的热度值,然后确定是否需要进行数据迁移以及需要进行数据迁移的extent的位置。而数据迁移模块则进行实际的数据迁移,并对迁移过程中对正在迁移的extent的输入输出(input output,io)进行阻断,其中,io也可以称为读写,直到数据迁移完成才恢复对该extent的读写操作。
在本次的数据迁移完成前,统计数据可以持续更新,但是并不会再发送到生成迁移计划模块,从而避免影响数据迁移的任务。
S102、根据所述每个独立冗余磁盘阵列的热度值计算标准差。
然后对存储系统中所有RAID的热度值按标准差公式求取标准差S,标准差公式如下:
其中,N为RAID的个数,xi为第i个RAID的热度值,μ为N个RAID的热度值的平均值。
S103、根据所述标准差,确定所述每个独立冗余磁盘阵列的期望热度值区间,所述期望热度值区间为第一热度值至第二热度值之间,所述第一热度值低于所述第二热度值。
通常情况下,每个RAID的期望热度值区间为(0.9S,1.1S),其中0.9S为第一热度值,1.1S为第二热度值。
S104、若所述多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于所述第二热度值,且所述多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于所述第一热度值,从所述第一独立冗余磁盘阵列中筛选第一目标存储块,以及从所述第二独立冗余磁盘阵列中筛选第二目标存储块。
当同一个存储系统中存在多个RAID时,如果存在RAID例如第一独立冗余磁盘阵列的热度值超过期望热度值区间,即第一独立冗余磁盘阵列的热度值高于期望热度值区间的第二热度值,且有RAID例如第二独立冗余磁盘阵列的热度值低于期望热度值区间,即第二独立冗余磁盘阵列的热度值低于期望热度值区间的第一热度值,且该第二独立冗余磁盘阵列中存在除了划分出来的用于写入新数据的未使用extent之外仍存在可用空闲extent,则从第一独立冗余磁盘阵列中筛选第一目标存储块,以及从第二独立冗余磁盘阵列中筛选第二目标存储块,以便进行数据迁移,使得这两个独立冗余磁盘阵列的负载均衡。
在一些情况下,筛选的第一目标存储块是最热的extent,即第一目标存储块是第一独立冗余磁盘阵列中热度值最高的存储块,第二目标存储块是第二独立冗余磁盘阵列中热度值最低的存储块。
在一些可能的是实现方式中,每次数据迁移前需要对各RAID中使用的extent的数量进行统计,当一个RAID中使用的extent的数量占总存储块数量的百分比大于预设阈值,说明该RAID的负载较大,不允许该RAID有数据迁入操作,如果一个RAID中使用的extent的数量占总存储块数量的百分比小于预设阈值,说明该RAID的负载较小,划分一部分未使用的extent用于满足数据迁移过程中新来的io处理,这部分extent不允许将不用来做当次迁移数据的目的地,而对其余未使用的extent上的写io操作暂时返回等待,等到数据迁移完成再将待处理的写io写到正确的位置。也就是说,用于进行数据迁移(主要是迁入数据)的第二独立冗余磁盘阵列中使用的存储块的数量占总存储块数量的百分比小于预设阈值,即第二独立冗余磁盘阵列中存在可以用于数据迁移的存储块。其中,总存储块数量是所第二独立冗余磁盘阵列中存储块的总数量。其中,预设阈值可以是根据实际需求设定的,例如预设阈值可以是80%。
在一些情况下,在进行数据迁移之前第二独立冗余磁盘阵列的热度值虽然低于其期望热度值区间的第一热度值,但是在将第一目标存储块中的数据迁移至第二目标存储块中之后,若迁移的数据过大,可能导致第二独立冗余磁盘阵列的热度值超出其期望热度值区间的第二热度值,这就导致还需要对迁移后的独立冗余磁盘阵列进行负载均衡,将其上的数据迁移到其他RAID上。因此,在这种情况下,为了避免多次不必要的迁移,减少数据处理量,在将第一目标存储块中的数据迁移至第二目标存储块中之前,可以先计算若将第一目标存储块中的数据迁移至第二目标存储块中,迁移后的第二独立冗余磁盘阵列的热度值;若迁移后的第二独立冗余磁盘阵列的热度值未超出第二独立冗余磁盘阵列的期望热度值区间的第二热度值,执行将第一目标存储块中的数据迁移至第二目标存储块中的步骤;若迁移后的第二独立冗余磁盘阵列的热度值超出第二独立冗余磁盘阵列的期望热度值区间的第二热度值,则重新确定至少一个第二目标存储块。
S105、将所述第一目标存储块中的数据迁移至所述第二目标存储块中。
在本申请实施例中,由数据迁移模块负责实际的数据迁移,即由数据迁移模块将第一目标存储块中的数据迁移至第二目标存储块中。在数据迁移过程中对原extent的写入,会将io暂存于链表中,在该extent(例如第二目标存储块)迁移完成后,对存储系统中输入输出所对应的逻辑地址到物理地址映射中的物理地址进行更新,将暂存的io重新写入迁移后的物理地址对应的extent的偏移位置。
另外,还可以将数据迁出的第一独立冗余磁盘阵列的第一目标存储块置为未使用状态,并将第一目标存储块置的热度值清零,以及将数据迁入的第二独立冗余磁盘阵列的第二目标存储块置为已用状态,并将第二目标存储块的热度值进行更新。最后重新计算extent变化的RAID的热度值,例如重新计算迁移后的第一独立冗余磁盘阵列的热度值,若迁移后的第一独立冗余磁盘阵列的热度值高于第一独立冗余磁盘阵列的期望热度值区间的第二热度值,继续确定用于进行数据迁移的第一目标存储块和第二目标存储块,执行将第一目标存储块中的数据迁移至第二目标存储块中的步骤,直到迁移后的第一独立冗余磁盘阵列的热度值位于第一独立冗余磁盘阵列的期望热度值区间。最后只存在一个RAID或者不存在RAID的热度值不在其期望热度值区间,本次迁移任务结束。在迁移开始并未完成状态下,存储池模块会对该迁移周期内的io持续统计但不影响正在进行的数据迁移任务。
由上述技术方案可以看出,本申请实施例具有以下优点:
存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,在达到迁移周期时,确定多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;根据每个独立冗余磁盘阵列的热度值计算标准差;根据标准差,确定每个独立冗余磁盘阵列的期望热度值区间,期望热度值区间为第一热度值至第二热度值之间,第一热度值低于第二热度值;若多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于第二热度值,且多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于第一热度值,从第一独立冗余磁盘阵列中筛选第一目标存储块,以及从第二独立冗余磁盘阵列中筛选第二目标存储块;将第一目标存储块中的数据迁移至第二目标存储块中。本方案对同一个存储系统中的不同的独立冗余磁盘阵列的负载进行均衡,解决了多个独立冗余磁盘阵列负载不均的问题,提高了独立冗余磁盘阵列的访问效率,使整个存储系统获得更好的性能。
参见图2,图2为本申请实施例提供的一种负载均衡方法的整体流程图,所述方法包括:
S201、存储池模块记录统计周期内存储块的统计信息,通过热度值计算公式更新存储块的热度值。
S202、判断是否到达迁移周期,若是,执行S203,若否,执行S201。
S203、统计每个独立冗余磁盘阵列的热度值,并计算每个独立冗余磁盘阵列的期望热度值区间。
S204、判断是否存在热度值大于期望热度值区间的第一独立冗余磁盘阵列,热度值小于期望热度值区间的第二独立冗余磁盘阵列,以及第二独立冗余磁盘阵列中是否存在用于数据转移的存储块,若是执行S205,若否,结束流程。
S205、将第一独立冗余磁盘阵列中的存储块按热度值排序,选取一个合适的第一目标存储块向第二独立冗余磁盘阵列中的第二目标存储块进行数据迁移。
S206、对存储系统中输入输出所对应的逻辑地址到物理地址映射中的物理地址进行更新,更新第一目标存储块和第二目标存储块的热度值。
基于图1或图2对应实施例所提供的负载均衡方法,本申请实施例提供了一种负载均衡装置,参见图3,存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,所述装置包括:
确定单元301,用于在达到迁移周期时,确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;
计算单元302,用于根据所述每个独立冗余磁盘阵列的热度值计算标准差;
所述确定单元301,还用于根据所述标准差,确定所述每个独立冗余磁盘阵列的期望热度值区间,所述期望热度值区间为第一热度值至第二热度值之间,所述第一热度值低于所述第二热度值;
筛选单元303,用于若所述多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于所述第二热度值,且所述多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于所述第一热度值,从所述第一独立冗余磁盘阵列中筛选第一目标存储块,以及从所述第二独立冗余磁盘阵列中筛选第二目标存储块;
迁移单元304,用于将所述第一目标存储块中的数据迁移至所述第二目标存储块中。
可选的,所述第一目标存储块是所述第一独立冗余磁盘阵列中热度值最高的存储块,所述第二目标存储块是所述第二独立冗余磁盘阵列中热度值最低的存储块。
可选的,所述第二独立冗余磁盘阵列中使用的存储块的数量占总存储块数量的百分比小于预设阈值,所述总存储块数量是所述第二独立冗余磁盘阵列中存储块的总数量。
可选的,所述计算单元,还用于计算若将所述第一目标存储块中的数据迁移至所述第二目标存储块中,迁移后的所述第二独立冗余磁盘阵列的热度值;
所述确定单元,还用于若迁移后的所述第二独立冗余磁盘阵列的热度值未超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤;
所述确定单元,还用于若迁移后的所述第二独立冗余磁盘阵列的热度值超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,则重新确定至少一个第二目标存储块。
可选的,所述计算单元,还用于:
重新计算迁移后的第一独立冗余磁盘阵列的热度值;
所述确定单元,还用于若迁移后的第一独立冗余磁盘阵列的热度值高于所述第一独立冗余磁盘阵列的期望热度值区间的第二热度值,继续确定用于进行数据迁移的第一目标存储块和第二目标存储块,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤,直到迁移后的第一独立冗余磁盘阵列的热度值位于所述第一独立冗余磁盘阵列的期望热度值区间。
可选的,所述装置还包括更新单元:
所述更新单元,用于对所述存储系统中输入输出所对应的逻辑地址到物理地址映射中的物理地址进行更新;
将数据迁出的第一独立冗余磁盘阵列的第一目标存储块置为未使用状态,并将第一目标存储块置的热度值清零,以及将数据迁入的第二独立冗余磁盘阵列的第二目标存储块置为已用状态,并将第二目标存储块的热度值进行更新。
可选的,所述确定单元,用于根据所述迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值;
将同一个独立冗余磁盘阵列中存储块的热度值进行累加,得到对应的独立冗余磁盘阵列的热度值。
可选的,所述迁移周期包括多个统计周期,所述确定单元,用于:
根据所述每个统计周期分别对应的统计数据更新每个独立冗余磁盘阵列中存储块的热度值。
由上述技术方案可以看出,本申请实施例具有以下优点:
存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,在达到迁移周期时,确定多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;根据每个独立冗余磁盘阵列的热度值计算标准差;根据标准差,确定每个独立冗余磁盘阵列的期望热度值区间,期望热度值区间为第一热度值至第二热度值之间,第一热度值低于第二热度值;若多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于第二热度值,且多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于第一热度值,从第一独立冗余磁盘阵列中筛选第一目标存储块,以及从第二独立冗余磁盘阵列中筛选第二目标存储块;将第一目标存储块中的数据迁移至第二目标存储块中。本方案对同一个存储系统中的不同的独立冗余磁盘阵列的负载进行均衡,解决了多个独立冗余磁盘阵列负载不均的问题,提高了独立冗余磁盘阵列的访问效率,使整个存储系统获得更好的性能。
本申请实施例还提供了一种用于负载均衡的设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行前述实施例任一所述的负载均衡方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种负载均衡方法,其特征在于,存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,所述方法包括:
在达到迁移周期时,确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;
根据所述每个独立冗余磁盘阵列的热度值计算标准差;
根据所述标准差,确定所述每个独立冗余磁盘阵列的期望热度值区间,所述期望热度值区间为第一热度值至第二热度值之间,所述第一热度值低于所述第二热度值;
若所述多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于所述第二热度值,且所述多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于所述第一热度值,从所述第一独立冗余磁盘阵列中筛选第一目标存储块,以及从所述第二独立冗余磁盘阵列中筛选第二目标存储块;
将所述第一目标存储块中的数据迁移至所述第二目标存储块中。
2.根据权利要求1所述的方法,其特征在于,所述第一目标存储块是所述第一独立冗余磁盘阵列中热度值最高的存储块,所述第二目标存储块是所述第二独立冗余磁盘阵列中热度值最低的存储块。
3.根据权利要求2所述的方法,其特征在于,所述第二独立冗余磁盘阵列中使用的存储块的数量占总存储块数量的百分比小于预设阈值,所述总存储块数量是所述第二独立冗余磁盘阵列中存储块的总数量。
4.根据权利要求2所述的方法,其特征在于,所述将所述第一目标存储块中的数据迁移至所述第二目标存储块中之前,所述方法还包括:
计算若将所述第一目标存储块中的数据迁移至所述第二目标存储块中,迁移后的所述第二独立冗余磁盘阵列的热度值;
若迁移后的所述第二独立冗余磁盘阵列的热度值未超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤;
若迁移后的所述第二独立冗余磁盘阵列的热度值超出所述第二独立冗余磁盘阵列的期望热度值区间的第二热度值,则重新确定至少一个第二目标存储块。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一目标存储块中的数据迁移至所述第二目标存储块中之后,所述方法还包括:
重新计算迁移后的第一独立冗余磁盘阵列的热度值;
若迁移后的第一独立冗余磁盘阵列的热度值高于所述第一独立冗余磁盘阵列的期望热度值区间的第二热度值,继续确定用于进行数据迁移的第一目标存储块和第二目标存储块,执行将所述第一目标存储块中的数据迁移至所述第二目标存储块中的步骤,直到迁移后的第一独立冗余磁盘阵列的热度值位于所述第一独立冗余磁盘阵列的期望热度值区间。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述第一目标存储块中的数据迁移至所述第二目标存储块中之后,所述方法还包括:
对所述存储系统中输入输出所对应的逻辑地址到物理地址映射中的物理地址进行更新;
将数据迁出的第一独立冗余磁盘阵列的第一目标存储块置为未使用状态,并将第一目标存储块置的热度值清零,以及将数据迁入的第二独立冗余磁盘阵列的第二目标存储块置为已用状态,并将第二目标存储块的热度值进行更新。
7.根据权利要求1所述的方法,其特征在于,所述确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值,包括:
根据所述迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值;
将同一个独立冗余磁盘阵列中存储块的热度值进行累加,得到对应的独立冗余磁盘阵列的热度值。
8.根据权利要求7所述的方法,其特征在于,所述迁移周期包括多个统计周期,所述根据所述迁移周期中每个独立冗余磁盘阵列中存储块的统计数据计算存储块的热度值,包括:
根据所述每个统计周期分别对应的统计数据更新每个独立冗余磁盘阵列中存储块的热度值。
9.一种负载均衡装置,其特征在于,存储系统中包括多个独立冗余磁盘阵列,每个独立冗余磁盘阵列中包括多个存储块,所述装置包括:
确定单元,用于在达到迁移周期时,确定所述多个独立冗余磁盘阵列中每个独立冗余磁盘阵列的热度值;
计算单元,用于根据所述每个独立冗余磁盘阵列的热度值计算标准差;
所述确定单元,还用于根据所述标准差,确定所述每个独立冗余磁盘阵列的期望热度值区间,所述期望热度值区间为第一热度值至第二热度值之间,所述第一热度值低于所述第二热度值;
筛选单元,用于若所述多个独立冗余磁盘阵列中存在第一独立冗余磁盘阵列的热度值高于所述第二热度值,且所述多个独立冗余磁盘阵列中存在第二独立冗余磁盘阵列的热度值低于所述第一热度值,从所述第一独立冗余磁盘阵列中筛选第一目标存储块,以及从所述第二独立冗余磁盘阵列中筛选第二目标存储块;
迁移单元,用于将所述第一目标存储块中的数据迁移至所述第二目标存储块中。
10.一种用于负载均衡的设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124477.7A CN113867635A (zh) | 2021-09-24 | 2021-09-24 | 一种负载均衡方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124477.7A CN113867635A (zh) | 2021-09-24 | 2021-09-24 | 一种负载均衡方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867635A true CN113867635A (zh) | 2021-12-31 |
Family
ID=78993989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111124477.7A Withdrawn CN113867635A (zh) | 2021-09-24 | 2021-09-24 | 一种负载均衡方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867635A (zh) |
-
2021
- 2021-09-24 CN CN202111124477.7A patent/CN113867635A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754573B2 (en) | Optimized auto-tiering, wherein subset of data movements are selected, utilizing workload skew point, from a list that ranks data movements based on criteria other than I/O workload | |
US8677093B2 (en) | Method and apparatus to manage tier information | |
CN107710140B (zh) | 存储系统 | |
US8402214B2 (en) | Dynamic page reallocation storage system management | |
CN103999060A (zh) | 固态存储管理 | |
CN103279429A (zh) | 一种应用感知的分布式全局共享缓存分区方法 | |
CN108733308B (zh) | 用于管理盘池的方法和设备 | |
CN112130768A (zh) | 磁盘阵列在线扩容方法、装置及计算机可读存储介质 | |
US10860260B2 (en) | Method, apparatus and computer program product for managing storage system | |
CN111338579B (zh) | 基于存储池的读写缓存优化方法、系统、终端及存储介质 | |
US11210022B2 (en) | Method, electronic device and computer readable storage medium of storage management | |
CN105487823A (zh) | 一种数据迁移的方法及装置 | |
JP7307311B2 (ja) | 情報処理装置およびタスク管理プログラム | |
CN106445409A (zh) | 一种分布式块存储的数据写入方法及装置 | |
CN107408018A (zh) | 用于在固态驱动器中适应垃圾收集资源分配的机制 | |
CN110770691A (zh) | 混合数据存储阵列 | |
CN107422989A (zh) | 一种Server SAN系统多副本读取方法及存储架构 | |
US7363453B1 (en) | Method and apparatus for improving storage device performance by selective volume swapping based on hot spot analysis | |
IL301738A (en) | Predictive block storage size allocation for cloud storage | |
CN109725835A (zh) | 用于管理盘阵列的方法、设备和计算机程序产品 | |
CN111007988B (zh) | 一种raid内部磨损均衡方法、系统、终端及存储介质 | |
US11237745B2 (en) | Computer system and volume arrangement method in computer system to reduce resource imbalance | |
CN104182359A (zh) | 一种缓存分配方法及装置 | |
WO2014187574A1 (en) | Managing storage devices having a lifetime of a finite number of operations | |
CN113867635A (zh) | 一种负载均衡方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211231 |
|
WW01 | Invention patent application withdrawn after publication |