CN114374707B - 用于存储集群的管理方法、装置、设备及介质 - Google Patents
用于存储集群的管理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114374707B CN114374707B CN202210279218.XA CN202210279218A CN114374707B CN 114374707 B CN114374707 B CN 114374707B CN 202210279218 A CN202210279218 A CN 202210279218A CN 114374707 B CN114374707 B CN 114374707B
- Authority
- CN
- China
- Prior art keywords
- storage
- sub
- cluster
- child
- index
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种用于存储集群的管理方法、装置、设备及介质。所述管理方法包括:响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息;根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群。本公开提供的管理方法可以根据所获取的分裂出的至少两个子存储集群中的每个子存储集群的评价信息,来综合确定较佳的继续提供服务的子存储集群,从而提升了存储集群的稳定性,增加了存储集群的可用性。
Description
技术领域
本公开涉及数据处理领域,更具体地,涉及一种用于存储集群的管理方法、装置、设备及介质。
背景技术
在存储集群(如企业级分布式存储集群)中,当发生故障使存储集群分裂为几个子存储集群时,如果不采取相应的防止手段会导致存储集群发生脑裂,即分裂后的几个子存储集群都相互接管其他子存储集群的服务而继续提供服务、访问共享资源等,使得各子存储集群各自为政,进而也容易导致相关数据的丢失或不一致。
因此,需要一种管理方法来解决上述脑裂问题,以保证一部分子存储节点组成的子存储集群最终接管最初的存储集群的功能而继续提供服务。
发明内容
针对上述问题,本公开提供了一种用于存储集群的管理方法,其中,本公开提供的管理方法可以根据所获取的分裂出的至少两个子存储集群中的每个子存储集群的评价信息来确定继续提供服务的子存储集群,使得本公开提供的管理方法可以考虑每个子存储集群的相关评价信息,以综合确定继续提供服务的子存储集群。
本公开实施例提供了一种用于存储集群的管理方法,其特征在于,所述方法包括:响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息;根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群。
根据本公开实施例,其特征在于,所述获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息,包括执行以下操作中的至少一个操作:获取所述每个子存储集群的各存储节点的性能评价信息;获取所述每个子存储集群的各存储节点的状态评价信息;获取所述每个子存储集群的各存储节点的存储介质评价信息。
根据本公开实施例,其特征在于,所述获取所述每个子存储集群的各存储节点的性能评价信息,包括:获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标 中的每个第一指标的值,基于获取的每个第一指标的值确定所述每个第一指标的第一统计值;所述获取所述每个子存储集群的各存储节点的状态评价信息,包括:获取与所述每个子存储集群的各存储节点的状态有关的多个第二指标 中的每个第二指标的值,基于获取的每个第二指标的值确定所述每个第二指标的第二统计值;所述获取所述每个子存储集群的各存储节点的存储介质评价信息,包括:获取与所述每个子存储集群的各存储节点的预定类型存储介质有关的多个第三指标中的每个第三指标的值,基于获取的每个第三指标的值确定所述每个第三指标的第三统计值。
根据本公开实施例,其特征在于,所述第一指标包括以下项中的至少一项:各存储节点的输入/输出操作数量;各存储节点的带宽;各存储节点的输入/输出操作延时。
根据本公开实施例,其特征在于,所述第二指标包括与在各存储节点的输入/输出操作中产生的接口错误有关的指标。
根据本公开实施例,其特征在于,所述第三指标包括所述预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个。
根据本公开实施例,其特征在于,所述根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群,包括:基于获取的所述每个子存储集群的各存储节点的性能评价信息确定所述每个子存储集群的第一权重;基于获取的所述每个子存储集群的各存储节点的状态评价信息确定所述每个子存储集群的第二权重;基于获取的所述每个子存储集群的各存储节点的存储介质评价信息确定所述每个子存储集群的第三权重;基于所述第一权重、所述第二权重和所述第三权重中至少一个确定所述每个子存储集群的最终权重;基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群。
根据本公开实施例,其特征在于,所述基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群,包括:将所述至少两个子存储集群中的最终权重最大的子存储集群确定为继续提供服务的子存储集群。
本公开实施例提供了一种用于存储集群的管理装置,其特征在于,所述装置包括:获取模块,被配置为响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息;集群确定模块,被配置为根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群。
根据本公开实施例,其特征在于,所述获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息,包括执行以下操作中的至少一个操作:获取所述每个子存储集群的各存储节点的性能评价信息;获取所述每个子存储集群的各存储节点的状态评价信息;获取所述每个子存储集群的各存储节点的存储介质评价信息。
根据本公开实施例,其特征在于,所述获取所述每个子存储集群的各存储节点的性能评价信息,包括:获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,基于获取的每个第一指标的值确定所述每个第一指标的第一统计值;所述获取所述每个子存储集群的各存储节点的状态评价信息,包括:获取与所述每个子存储集群的各存储节点的状态有关的多个第二指标中的每个第二指标的值,基于获取的每个第二指标的值确定所述每个第二指标的第二统计值;所述获取所述每个子存储集群的各存储节点的存储介质评价信息,包括:获取与所述每个子存储集群的各存储节点的预定类型存储介质有关的多个第三指标中的每个第三指标的值,基于获取的每个第三指标的值确定所述每个第三指标的第三统计值。
根据本公开实施例,其特征在于,所述第一指标包括以下项中的至少一项:各存储节点的输入/输出操作数量;各存储节点的带宽;各存储节点的输入/输出操作延时。
根据本公开实施例,其特征在于,所述第二指标包括与在各存储节点的输入/输出操作中产生的接口错误有关的指标。
根据本公开实施例,其特征在于,所述第三指标包括所述预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个。
根据本公开实施例,其特征在于,所述集群确定模块,包括:第一权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的性能评价信息确定所述每个子存储集群的第一权重;第二权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的状态评价信息确定所述每个子存储集群的第二权重;第三权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的存储介质评价信息确定所述每个子存储集群的第三权重;最终权重确定模块,被配置为基于所述第一权重、所述第二权重和所述第三权重中至少一个确定所述每个子存储集群的最终权重;确定子存储集群模块,被配置为基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群。
根据本公开实施例,其特征在于,所述确定子存储集群模块,包括:最终确定模块,被配置为将所述至少两个子存储集群中的最终权重最大的子存储集群确定为继续提供服务的子存储集群。
本公开实施例提供了一种用于存储集群的管理设备,包括:处理器,和存储器,所述存储器存储有计算机可执行指令,所述计算机可执行指令当由处理器执行时促使处理器执行如上任一项所述的管理方法。
本公开实施例提供了一种计算机可读记录介质,存储有计算机可执行指令,其中,所述计算机可执行指令当由处理器执行时促使处理器执行如上任一项所述的管理方法。
本公开实施例提供了一种用于存储集群的管理方法、装置、设备及介质。由于本公开提供的管理方法可以根据所获取的分裂出的至少两个子存储集群中的每个子存储集群的评价信息,来综合确定较佳的继续提供服务的子存储集群,从而提升了存储集群的稳定性,增加了存储集群的可用性。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了一种少数服从多数的示意图;
图2A示出了使用第三方介质来实现管理的示意图;
图2B示出了使用第三方介质来实现管理的示意图;
图3示出了根据本公开实施例的用于存储集群的管理方法300的流程图;
图4示出了根据本公开实施例的存储集群的示意图;
图5示出了根据本公开实施例的用于存储集群的管理方法的一个示例的示意图;
图6示出了根据本公开实施例的用于存储集群的管理装置600的框图;
图7示出了根据本公开实施例的用于存储集群的管理设备700的结构图;
图8示出了根据本公开实施例的记录介质的示意图8000。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,基本上相同或相似的步骤和元素用相同或相似的附图标记来表示,并且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在本说明书和附图中,根据实施例,元素以单数或复数的形式来描述。然而,单数和复数形式被适当地选择用于所提出的情况仅仅是为了方便解释而无意将本公开限制于此。因此,单数形式可以包括复数形式,并且复数形式也可以包括单数形式,除非上下文另有明确说明。
在现有技术中,存在以下问题,分裂后的几个子存储集群都相互接管其他子存储集群的服务而继续提供服务、访问共享资源等,使得各子存储集群各自为政,进而也容易导致相关数据的丢失或不一致。
为了解决上述问题,现有技术中存在以下几种管理方法。
一种管理方法是利用少数存储节点服从多数存储节点(即“少数服从多数”)的方案。具体地,参照图1。图1示出了一种少数服从多数的示意图。当存储集群发生脑裂后,分裂出了两个子存储集群,即子存储集群1和子存储集群2。其中,子存储集群1具有2个存储节点,子存储集群2具有1个存储节点。此时,各子存储集群所具有的存储节点的数量之比非1:1。在这种情况下的管理方法选择具有存储节点数多的子存储集群2作为主集群来继续提供服务。这种管理方法简单粗暴。当分裂出的几个子存储集群所包括的存储节点相差很小或相等时,此管理方法难以保证继续提供服务的子存储集群各方面性能较优。
另一种管理方法是使用第三方介质来实现管理。具体地,参照图2A。图2A示出了使用第三方介质来实现管理的示意图。当存储集群发生脑裂后,分裂出了两个子存储集群,即子存储集群1和子存储集群2。其中,子存储集群1具有2个存储节点,子存储集群2也具有2个存储节点。此时,各子存储集群所具有的存储节点的数量之比为1:1,没有办法使用上述的“少数服从多数”的管理方法。在这种情况下,需要通过第三方介质来实现管理。
继续参照图2A,该第三方介质可以是通过基于光纤通道(Fiber Channel,FC)或互联网协议(Internet protocol,IP)的网络,映射的来自于第三方介质的逻辑盘(以下称为FC/IP管理盘),并配合小型计算机系统接口(Small Computer System Interface,SCSI,其是用于计算机及其周边设备之间的系统级接口的独立处理器标准)命令实现管理。在SCSI指令集中,提供了保留(reserve)命令和释放(release)命令,可以用于上述管理。
具体地,继续参照图2A,分裂出的子存储集群1和子存储集群2分别向FC/IP管理盘发送SCSI预留(SCSI reserve)命令。子存储集群1第一个发送成功,FC/IP管理盘会向其返回预留成功(Reserve success)的信息并记录对应的序列号,以后FC/IP管理盘会只接受子存储集群1的输入/输出(Input/Output,I/O)操作。对于子存储集群2,FC/IP管理盘会返回预留冲突(Reserve Conflict)的信息,并且不会接受后续的子存储集群2的I/O操作。也就是说,子存储集群1接管集群而继续提供服务,子存储集群2被踢出提供服务的集群。也就是说,只有子存储集群1继续提供服务,而子存储集群2不再提供服务(如图2B中用叉号表示)。待后续导致分裂的原因修复后(如网络连接正常后),将子存储集群2手动加入提供服务的集群。
参照图2B,图2B示出了使用第三方介质来实现管理的示意图。待管理过程完成后,成功接管分裂前的存储集群的功能的子存储集群1会再次向FC/IP管理盘发送SCSIrelease命令。FC/IP管理盘回复释放成功(Release Success)的信息。自此,整个管理过程正式结束。
此外,在没有上述FC/IP管理盘的情况下,该第三方介质可以是本地存储盘(如本地硬盘),然后仍然可以通过reserve/release命令实现管理。局限性在于,即便是双端口的存储盘,其也只能最多和两个存储节点保持连接和沟通,而无法保证接收到分裂后所有存储节点的SCSI reserve命令。所以当集群所包括的存储节点个数大于两个时,便无法通过SCSI命令来实现脑裂后的管理。
另外,由上述参照图2A和2B描述的管理方法可以看出,该管理方法通常的实现方式是发生脑裂后随机选择集群的某一部分来接管集群。也就是说,使用第三方介质来实现管理的方案因随机选择集群的某一部分来接管集群而难以保证继续提供服务的子存储集群性能较优。
为了解决上述问题,本公开提供了一种用于存储集群的管理方法,其中,本公开提供的管理方法可以根据所获取的分裂出的至少两个子存储集群中的每个子存储集群的评价信息来确定继续提供服务的子存储集群,使得本公开提供的管理方法相对于上述传统的“少数服从多数”和“使用第三方介质”来实现管理的方式,可以考虑每个子存储集群的相关评价信息,以综合确定继续提供服务的子存储集群,从而保证了继续提供服务的子存储集群性能较优,进而提升了存储集群的稳定性,增加了存储集群的可用性。
下面将参照附图对上述本公开提供的用于存储集群的管理方法进行详细的说明。
图3示出了根据本公开实施例的用于存储集群的管理方法300的流程图。
参照图3,所述管理方法300可以由存储集群中的一个存储节点执行,并且该存储节点可以与存储集群中其它任何存储节点直接通信。可选地,所述管理方法也可以由能够与存储集群中的各存储节点通信的第三方设备执行。所述管理方法300可以包括以下步骤。
在步骤S310,可以响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息。
作为示例,参照图4,所述存储集群可以由位于两个区域(例如两个机房或同一机房内的不同区域)中的3个存储节点组成。根据实际情况,也可以有任何合适数量的存储节点来组成所述存储集群。在该存储集群中有一个主存储节点(例如存储节点S1作为主存储节点)和2个从存储节点(例如存储节点S2和S3作为从存储节点),它们共同提供服务。上述两个区域的存储节点通过例如网络互连。该网络可以是现有的或将来开发的适当的任何无线或有线网络。
当因各种原因而造成使上述两个区域互连的网络中断时,所述存储集群发生了分裂,其中,分裂出了两个子存储集群,分别是子存储集群1和子存储集群2。需要注意,当所述存集群所具有的存储节点较多时,本领域技术人员容易想到,所述存储集群发生分裂后会出现多于2个子存储集群的情况,但这同样适用于本申请所提供的管理方法。本申请是为了便于描述而仅示出了上述场景。
根据本公开实施例,所述获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息,可以包括执行以下操作中的至少一个操作:获取所述每个子存储集群的各存储节点的性能评价信息;获取所述每个子存储集群的各存储节点的状态评价信息;获取所述每个子存储集群的各存储节点的存储介质评价信息。
作为示例,可以获取子存储集群1中的存储节点S1和S2的性能评价信息、状态评价信息和存储介质评价信息中的至少一项。可以获取子存储集群2中的存储节点S3的性能评价信息、状态评价信息和存储介质评价信息中的至少一项。
由此可以看出,本公开提供的管理方法可以获取每个子存储集群的三个维度的信息,即性能维度、状态维度和存储介质维度。从而,使得本公开提供的管理方法能够对每个子存储集群有比较全面而又合适的评价。
根据本公开实施例,所述获取所述每个子存储集群的各存储节点的性能评价信息可以包括:获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,基于获取的每个第一指标的值确定所述每个第一指标的第一统计值。
作为示例,获取子存储集群1中的存储节点S1和S2的性能评价信息可以包括获取与子存储集群1的存储节点S1和S2的性能有关的多个第一指标中的每个第一指标的值。
所述第一指标可以包括以下项中的至少一项:各存储节点的输入/输出操作数量;各存储节点的带宽;各存储节点的输入/输出操作延时。
作为示例,各存储节点的输入/输出操作数量可以是各存储节点在预定周期内每秒I/O操作(Input/Output Operations Per Second,IOPS)数,其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,各存储节点的输入/输出操作数量可以存储节点S1在5秒内的IOPS数、存储节点S2在5秒内的IOPS数等。
作为示例,各存储节点的带宽可以是各存储节点在预定周期内的带宽(bandwidth),其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,各存储节点的带宽可以是存储节点S1在5秒内的带宽、存储节点S2在5秒内的带宽等。
作为示例,各存储节点的输入/输出操作延时可以是各存储节点在预定周期内的读写I/O操作时产生的平均延时(latency),其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,各存储节点的输入/输出操作延时可以是存储节点S1在5秒内的平均I/O延时、存储节点S3在5秒内的平均I/O延时等。
基于上述获取的每个第一指标的值便可以确定每个第一指标的第一统计值。
作为示例,针对存储节点S1,在预定周期5秒内,获取的IOPS数为20万个,带宽为200 Mb/s,平均I/O延时为100毫秒。针对存储节点S2,在预定周期5秒内,获取的IOPS数为15万个,带宽为100 Mb/s,平均I/O延时为80毫秒。针对存储节点S3,在预定周期5秒内,获取的IOPS数为18万个,带宽为180 Mb/s,平均I/O延时为200毫秒。
在此情况下,针对子存储集群1,可以基于第一指标IOPS数的值来确定该第一指标IOPS数的第一统计值,其中该第一统计值可以是总和、平均值、最大值、标准差等。例如该第一指标IOPS数的总和为35(即20+15)万或平均值为17.5万。针对子存储集群2,该第一指标IOPS数的总和为18万或平均值为18万。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第一指标的第一统计值。具体地,针对某个第一指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一指标IOPS数,可以先确定存储节点S1、S2和S3的总平均值为17.67万。然后,在针对子存储集群1时,确定的第一指标IOPS数的平均值为上述的17.5万,则此时第一指标IOPS数的第一统计值可以为0.99(即17.5除以17.67);在针对子存储集群2时,确定的第一指标IOPS数的平均值为上述的18万,则此时第一指标IOPS数的第一统计值可以为1.02(即18除以17.67)。可选地,针对某个第一指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一指标IOPS数,确定的存储集群1的平均值为上述的17.5万,确定的子存储集群2的平均值为上述的18万,然后可以确定子存储集群1和2的平均值可以为17.75,接着在针对子存储集群1时,第一指标IOPS数的第一统计值可以为0.98(即17.5除以17.75);在针对子存储集群2时,第一指标IOPS数的第一统计值可以为1.01(即18除以17.75)。
此外,针对子存储集群1,可以基于第一指标带宽的值来确定该第一指标带宽的第一统计值,其中该第一统计值可以是总和、平均值、最大值、标准差等。例如该第一指标带宽的总和为300(即200+100)Mb/s或平均值为150 Mb/s。针对子存储集群2,该第一指标带宽的总和为180 Mb/s或平均值为180 Mb/s。此外,还可以基于子存储集群1和2来一起确定存储集群1或和2的各第一指标的第一统计值。具体地,针对某个第一指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一指标带宽,可以先确定存储节点S1、S2和S3的总平均值为160 Mb/s。然后,在针对子存储集群1时,确定的第一指标带宽的平均值为上述的150 Mb/s,则此时第一指标带宽的第一统计值可以为0.9375(即150除以160);在针对子存储集群2时,确定的第一指标带宽的平均值为上述的180 Mb/s,则此时第一指标带宽的第一统计值可以为1.125(即180除以160)。可选地,针对某个第一指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一带宽,确定的存储集群1的平均值为上述的150 Mb/s,确定的子存储集群2的平均值为上述的180 Mb/s,然后可以确定子存储集群1和2的平均值可以为165 Mb/s,接着在针对子存储集群1时,第一指标带宽的第一统计值可以为0.91(即150除以165);在针对子存储集群2时,第一指标带宽的第一统计值可以为1.09(即180除以165)。
另外,针对子存储集群1,可以基于第一指标平均I/O延时的值来确定该第一指标平均I/O延时的第一统计值,其中该第一统计值可以是总和、平均值、最大值、标准差等。例如该第一指标平均I/O延时的总和为180(即100+80)毫秒或平均值为90毫秒。针对子存储集群2,该第一指标平均I/O延时的总和为200毫秒或平均值为200毫秒。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第一指标的第一统计值。具体地,针对某个第一指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一指标平均I/O延时,可以先确定存储节点S1、S2和S3的总平均值为126.67毫秒。然后,在针对子存储集群1时,确定的第一指标平均I/O延时为上述的90毫秒,则此时第一指标平均I/O延时的第一统计值可以为0.71(即90除以126.67);在针对子存储集群2时,确定的第一指标平均I/O延时为上述的200毫秒,则此时第一指标平均I/O延时的第一统计值可以为1.58(即200除以126.67)。可选地,针对某个第一指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第一指标的第一统计值。具体示例计算过程类似与上述关于第一指标带宽或IOPS数的第一统计值所描述的计算过程,在此不做赘述。
通过获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,可以尽可能选择性能好的子存储集群来接管分裂前整个集群的功能(此时性能好的子存储集群可以称为新存储集群),从而避免了如上述传统管理方法所带来的、接管分裂前整个集群功能的子存储集群性能下降甚至降级等问题。
根据本公开实施例,所述获取所述每个子存储集群的各存储节点的状态评价信息可以包括:获取与所述每个子存储集群的各存储节点的状态有关的多个第二指标中的每个第二指标的值,基于获取的每个第二指标的值确定所述每个第二指标的第二统计值。
作为示例,获取子存储集群1中的存储节点S1和S2的状态评价信息可以包括获取与存储集群1的存储节点S1和S2的状态有关的多个第二指标中的每个第二指标的值。
所述第二指标可以包括与在各存储节点的输入/输出操作中产生的接口错误有关的指标。
作为示例,第二指标可以是在存储节点的输入/输出操作期间产生的SCSI错误。例如,第二指标可以是SCSI介质错误(SCSI Medium Error)和/或SCSI硬件错误(SCSIHardware Error)。SCSI介质错误和SCSI硬件错误对于潜在的慢盘和坏盘有重要的指示作用,所以可以将这两种错误的数量作为第二指标,并且这两种错误越少,代表硬盘以及所在存储节点的状态越好,也就是说越健康,存储系统的稳定性也就越高。那么在发生脑裂后,选取上述错误较少的子存储集群来接管分裂前的整个集群的功能是比较好的选择,这不仅能够更好地保证数据安全,还能够提升接管分裂前整个集群的功能的子存储集群的稳定性。根据实际情况,可以将该第二指标作为管理方法的主要指标。
作为示例,在存储节点的输入/输出操作期间产生的SCSI介质错误和SCSI硬件错误可以是预定周期内产生的SCSI介质错误和SCSI硬件错误,其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,存储节点S1在5秒内产生的SCSI介质错误为5个,SCSI硬件错误为3个。
基于上述获取的每个第二指标的值便可以确定每个第二指标的第二统计值。
作为示例,针对存储节点S1,在预定周期5秒内,获取的SCSI介质错误为5个,SCSI硬件错误为3个。针对存储节点S2,在预定周期5秒内,获取的SCSI介质错误为3个,SCSI硬件错误为1个。存储节点S3,在预定周期5秒内,获取的SCSI介质错误为4个,SCSI硬件错误为2个。
在此情况下,针对子存储集群1,可以基于第二指标SCSI介质错误的值来确定该第二指标SCSI介质错误的第二统计值,其中该第二统计值可以是总和、平均值、最大值、标准差等。例如,该第二指标SCSI介质错误的总和为8(即5+3)个或平均值为4个。针对子存储集群2,该第二指标SCSI介质错误的总和为4个或平均值为4个。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第二指标的第二统计值。具体地,针对某个第二指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第二指标的第二统计值。例如,针对第二指标SCSI介质错误,可以先确定存储节点S1、S2和S3的总平均值为4个。然后,在针对子存储集群1时,确定的第二指标SCSI介质错误的平均值为上述的4个,则此时第二指标SCSI介质错误的第二统计值可以为1(即4除以4);在针对子存储集群2时,确定的第二指标SCSI介质错误的平均值为上述的4个,则此时第二指标SCSI介质错误的第二统计值可以为1(即4除以4)。可选地,针对某个第二指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第二指标的第二统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
另外,针对子存储集群1,可以基于第二指标SCSI硬件错误的值来确定该第二指标SCSI硬件错误的第二统计值,其中该第二统计值可以是总和、平均值、最大值、标准差等。例如,该第二指标SCSI硬件错误的总和为4(即1+3)个或平均值为2个。针对子存储集群2,该第二指标SCSI硬件错误的总和为2个或平均值为2个。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第二指标的第二统计值。具体地,针对某个第二指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第二指标的第二统计值。例如,针对第二指标SCSI硬件错误,可以先确定存储节点S1、S2和S3的总平均值为2个。然后,在针对子存储集群1时,确定的第二指标SCSI硬件错误的平均值为上述的2个,则此时第二指标SCSI硬件错误的第二统计值可以为1(即2除以2);在针对子存储集群2时,确定的第二指标SCSI硬件错误的平均值为上述的2个,则此时第二指标SCSI硬件错误的第二统计值可以为1(即2除以2)。可选地,针对某个第二指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第二指标的第二统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
根据本公开实施例,所述获取所述每个子存储集群的各存储节点的存储介质评价信息可以包括:获取与所述每个子存储集群的各存储节点的预定类型存储介质有关的多个第三指标中的每个第三指标的值,基于获取的每个第三指标的值确定所述每个第三指标的第三统计值。
根据本公开实施例,所述第三指标可以包括所述预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个。
作为示例,预定类型存储介质可以是固态硬盘(Solid State Drive,SSD)。在包括SSD的存储集群或者是混闪存储集群(混合使用SSD和机械硬盘(Hard Disk Drive,HDD))中,常用数据或者关键性元数据通常存放在传输速度更快、层级更高的SSD中。尤其在混闪存储系统中,SSD的总容量通常决定着关键数据的数量。通过考虑上述类型的存储介质可以保证新存储集群拥有更多的关键性元数据及常用数据,并且还可以最大限度的避免重要数据丢失或者热数据迁移。此外,SSD的使用寿命以及寿命使用比率也是SSD状态的重要指标。作为另一示例,预定类型存储介质也可以是上述HDD。
作为示例,第三指标可以是存储节点S1、S2和S3的SSD的存储容量、使用寿命以及寿命使用比率中的至少一个。
基于上述获取的每个第三指标的值便可以确定每个第三指标的第三统计值。
作为示例,针对存储节点S1,获取的SSD的存储容量为300GB,获取的SSD的使用寿命为5年,SSD的寿命使用比率为20%(表示该SSD已使用了1年)。针对存储节点S2,获取的SSD的存储容量为500GB,获取的SSD的使用寿命为10年,SSD的寿命使用比率为10%(表示该SSD已使用了1年)。针对存储节点S3,获取的SSD的存储容量为100GB,获取的SSD的使用寿命为2年,SSD的寿命使用比率为50%(表示该SSD已使用了1年)。
在此情况下,针对子存储集群1,可以基于第三指标SSD的存储容量的值来确定该第三SSD的存储容量的第三统计值,其中该第三统计值可以是总和、平均值、最大值、标准差等。例如该第三指标SSD的存储容量的总和为800(即300+500)GB或平均值为400GB。针对子存储集群2,该第三指标SSD的存储容量的总和为100GB或平均值为100GB。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第三指标的第三统计值。具体地,针对某个第三指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第三指标的第三统计值。例如,针对第三指标SSD的存储容量,可以先确定存储节点S1、S2和S3的总平均值为300GB。然后,在针对子存储集群1时,确定的第三指标SSD的存储容量的平均值为上述的400 GB,则此时第三指标SSD的存储容量的第三统计值可以为1.33(即400除以300);在针对子存储集群2时,确定的第三指标SSD的存储容量的平均值为上述的100 GB,则此时第三指标SSD的存储容量的第三统计值可以为0.33(即100除以300)。可选地,针对某个第三指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第三指标的第三统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
此外,针对子存储集群1,可以基于第三指标SSD的使用寿命来确定该第三指标SSD的使用寿命的第三统计值,其中该第三统计值可以是总和、平均值、最大值、标准差等。例如该第三指标SSD的使用寿命的总和为15(即5+10)年或平均值为7.5年。针对子存储集群2,该第三指标SSD的使用寿命的总和为2年或平均值为2年。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第三指标的第三统计值。具体地,针对某个第三指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第三指标的第三统计值。例如,针对第三指标SSD的使用寿命,可以先确定存储节点S1、S2和S3的总平均值为5.67年。然后,在针对子存储集群1时,确定的第三指标SSD的使用寿命的平均值为上述的7.5年,则此时第三指标SSD的使用寿命的第三统计值可以为1.32(即7.5除以5.67);在针对子存储集群2时,确定的第三指标SSD的使用寿命的平均值为上述的2年,则此时第三指标SSD的使用寿命的第三统计值可以为0.35(即2除以5.67)。可选地,针对某个第三指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第三指标的第三统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
另外,针对子存储集群1,可以基于第三指标SSD的寿命使用比率来确定该第三指标SSD的寿命使用比率的第三统计值,其中该第三统计值可以是总和、平均值、最大值、标准差等。例如该第三指标SSD的寿命使用比率的总和为30%(即20%+10%)年或平均值为15%。针对子存储集群2,该第三指标SSD的寿命使用比率的总和为50%或平均值为50%。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第三指标的第三统计值。具体地,针对某个第三指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第三指标的第三统计值。例如,针对第三指标SSD的寿命使用比率,可以先确定存储节点S1、S2和S3的总平均值为26.67%。然后,在针对子存储集群1时,确定的第三指标SSD的寿命使用比率的平均值为上述的15%,则此时第三指标SSD的寿命使用比率的第三统计值可以为0.562(即15除以26.67);在针对子存储集群2时,确定的第三指标SSD的寿命使用比率的平均值为上述的50%,则此时第三指标SSD的使用寿命的第三统计值可以为1.84(即50除以26.67)。可选地,针对某个第三指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第三指标的第三统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
继续参照图3,在步骤S320,可以根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群。
作为示例,针对每个子存储集群而得到的上述每个第一指标的第一统计值、每个第二指标的第二统计值和每个第三指标的第三统计值中的至少一个可以作为所获取的对应子存储集群的评价信息,以用来确定继续提供服务的子存储集群。
根据本公开的实施例,所述根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群,可以包括:基于获取的所述每个子存储集群的各存储节点的性能评价信息确定所述每个子存储集群的第一权重;基于获取的所述每个子存储集群的各存储节点的状态评价信息确定所述每个子存储集群的第二权重;基于获取的所述每个子存储集群的各存储节点的存储介质评价信息确定所述每个子存储集群的第三权重;基于所述第一权重、所述第二权重和所述第三权重中至少一个确定所述每个子存储集群的最终权重;基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群。
作为示例,第一权重可以通过将第一指标IOPS数的第一统计值乘以第一指标带宽的第一统计值后再除以第一指标平均I/O延时的第一统计值来得到的。此时,可以看出平均I/O延时的第一统计值越小,则该子存储集群的性能越好。
在此情况下,针对子存储集群1,上述获取的第一指标IOPS数的第一统计值可以为上述的0.99,第一指标带宽的第一统计值可以为上述的0.9375,第一指标平均I/O延时的第一统计值可以为上述的0.71,据此可以确定子存储集群1的第一权重为1.31。针对子存储集群2,获取的第一指标IOPS数的第一统计值可以为上述的1.02,第一指标带宽的第一统计值可以为上述的1.125,第一指标平均I/O延时的第一统计值可以为上述的1.58,据此可以确定子存储集群2的第一权重为0.73。
作为示例,第二权重可以通过第二指标SCSI介质错误的第二统计值和第二指标SCSI硬件错误的第二统计值的加和(即sum)被1除来得到的。此时,可以看出,错误的数量越少,该子存储集群越健康。
在此情况下,针对子存储集群1,获取的第二指标SCSI介质错误的第二统计值可以为上述的1,第二指标SCSI硬件错误的第二统计值可以为上述的1,据此可以确定子存储集群1的第二权重为0.5。针对子存储集群2时,获取的第二指标SCSI介质错误的第二统计值可以为上述的1,第二指标SCSI硬件错误的第二统计值可以为上述的1,据此可以确定子存储集群2的第二权重为0.5。
作为示例,第三权重可以通过将第三指标SSD的存储容量的第三统计值除以SSD的寿命使用比率的第三统计值或除以SSD的使用寿命的第三统计值来获得。此时,可以看出,SSD的寿命使用比率越小,说明此时SSD还能继续使用的寿命越长,则对应的子存储集群的使用寿命也就越长。
在此情况下,针对子存储集群1,获取的第三指标SSD的存储容量的第三统计值可以为上述的1.33,第三指标SSD的寿命使用比率的第三统计值可以为上述的0.562,据此可以确定子存储集群1的第三权重为2.366。针对子存储集群2,第三指标SSD的存储容量的第三统计值可以为0.33,第三指标SSD的寿命使用比率的第三统计值可以为上述的1.84,据此可以确定子存储集群2的第三权重为上述的0.18。
基于上述第一权重、第二权重和第三权重中至少一个便可以确定对应子存储集群的最终权重。
作为示例,最终权重(记为W_end)可以是上述第一权重(记为W1)、第二权重(记为W2)和第三权重(记为W3)中至少一个的统计值,例如总和、平均值、最大值、标准差等。例如,最终权重可以是第一权重和第二权重的和,即W_end = W1+ W2。最终权重可以是第一权重和第二权重的乘积,即W_end = W1*W2。
此外,还可以设置第一权重、第二权重和第三权重在所有权重的占比,以确定最终权重。例如,针对侧重于关注分裂后的子存储集群的健康状态的应用场景,可以只将上述第二权重在所有权重中的占比设置为较高,例如设置为50%的占比,然后将剩余两个权重的占比均设置为25%,则此时最终权重W_end可以等于25%*W1+50%*W2+25%*W3,或者最终权重W_end可以等于25%*W1*50%*W2*25%*W3。再者,当不关注上述SSD或者没有配置上述SSD的存储集群中,可以将上述第三权重的占比设置为0,也就是说,在计算最终权重时,不考虑该第三权重。本领域技术人员需要注意的是,上述占比的值(如50%或25%)仅是示例说明,上述占比的值也可以还是任何其它适当的值,例如1,2,3等值。
另外,本领域技术人员容易想到,根据实际需要,当只需要用上述第一权重、第二权重和第三权重中的一个或两个权重来确定最终权重时,剩下不用的权重可以事前不获取相关的值,以加快最终权重的确定时间。
根据本公开实施例,所述基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群,可以包括:将所述至少两个子存储集群中的最终权重最大的子存储集群确定为继续提供服务的子存储集群。
作为示例,当事前确定最终权重的计算方式为上述的“W_end=25%*W1*50%*W2*25%*W3”时,并且针对子存储集群1,第一权重W1=1.31,第二权重W2=0.5,第三权重W3=2.366;针对子存储集群2,第一权重W1=0.73,第二权重W2=0.5,第三权重W3=0.18;在此情况下,针对子存储集群1的最终权重W_end=0.0484,针对子存储集群2的最终权重W_end=0.0021,则此时可以将最终权重最大的子存储集群1确定为继续提供服务的子存储集群。
需要注意,以上所介绍的任何“获取”,可以根据实际需要,通过任何适当的获取方式来获取相关的内容。例如,直接获取方式,如直接获取上述存储容量等)。又例如,间接获取方式,如采用在采样时间(如40秒)内的测试块(例如1MB或4KB大小的块)来进行随机混合读写或顺序混合读写(例如按6:4混合)操作,以获取例如上述带宽、IOPS、平均I/O延时等值。本领域技术人员容易想到,上述采用时间越长,得到的数据越能反映实际情况,但是也需要考虑例如允许服务中断的时间等其它因素来综合考虑,此处不做赘述。此外,还需要注意,上述具体数值仅是示例,本领域技术人员可以根据实际获取的值来进行相关的计算。此外,关于数值的具体精度(即是保留小数点后2位还是4位等)可以根据实际需要来灵活截取,在此不做赘述。
以上以结合图1至图4详细描述了,本公开所提供的用于存储集群的管理方法。由于本公开提供的管理方法可以根据所获取的分裂出的至少两个子存储集群中的每个子存储集群的评价信息,来综合确定较佳的继续提供服务的子存储集群,从而提升了存储集群的稳定性,增加了存储集群的可用性。此外,还由于本公开提供的可以获取每个子存储集群的一至三个维度的信息(即性能维度、状态维度和/或存储介质维度),从而,使得本公开提供的管理方法能够对每个子存储集群有比较全面而又合适的评价。
为了使本公开提供的上述管理方法更加的清楚,接下来将以一个总的示例来说明书上述管理方法。
图5示出了根据本公开实施例的用于存储集群的管理方法的一个示例的示意图。
参照图5,该提供服务的存储集群包括四个存储节点,分别是存储节点S1至存储节点S4。所述四个存储节点彼此之间通过网络直接或间接连接。此外,存储节点S1和S2位于一个区域,存储节点S3和S4位于另一个区域,区域之间通过网络连接。另外,所述四个存储节点均与同一个第三方介质通过网络连接。
当因各种原因而造成使上述两个区域互连的网络中断时,所述存储集群发生了分裂,其中,分裂出了两个子存储集群,分别是包括存储节点S1和S2的子存储集群1和包括存储节点S3和S4的子存储集群2。
第三方介质通过上述介绍的获取方式获得以下信息:
从存储节点S1获取的第三指标SSD的存储容量为500 GB,第三指标SSD的寿命使用比率为20%;获取的预定周期2秒内的第一指标IOPS数为10万个、第一指标带宽为500 Mb/s、第一指标平均I/O延时为100毫秒、第二指标SCSI介质错误为2个以及第二指标SCSI硬件错误为1个。
从存储节点S2获取的第三指标SSD的存储容量为600 GB,第三指标SSD的寿命使用比率为10%;获取的预定周期2秒内的第一指标IOPS数为12万个、第一指标带宽为400 Mb/s、第一指标平均I/O延时为200毫秒、第二指标SCSI介质错误为1个以及第二指标SCSI硬件错误为1个。
从存储节点S3获取的第三指标SSD的存储容量为200 GB,第三指标SSD的寿命使用比率为30%;获取的预定周期2秒内的第一指标IOPS数为8万个、第一指标带宽为600 Mb/s、第一指标平均I/O延时为80毫秒、第二指标SCSI介质错误为2个以及第二指标SCSI硬件错误为2个。
从存储节点S4获取的第三指标SSD的存储容量为600 GB,第三指标SSD的寿命使用比率为10%;获取的预定周期2秒内的第一指标IOPS数为20万个、第一指标带宽为200 Mb/s、第一指标平均I/O延时为400毫秒、第二指标SCSI介质错误为2个以及第二指标SCSI硬件错误为4个。
首先,针对子存储集群1(以下记为cluster1),计算以下内容:
存储节点S1和S2的第一指标IOPS数的平均值,记为IOPScluster1,经计算IOPScluster1 = 11万;
存储节点S1和S2的第一指标带宽的平均值,记为Bandwidthcluster1,经计算Bandwidthcluster1= 450 Mb/s;
存储节点S1和S2的第一指标平均I/O延时的平均值,记为 Latencycluster1,经计算Latencycluster1= 150毫秒;
存储节点S1和S2的第二指标SCSI介质错误的平均值,记为SCSI_MEDIUM_ERRORcluster1,经计算SCSI_MEDIUM_ERRORcluster1= 1.5个;
存储节点S1和S2的第二指标SCSI硬件错误的平均值,记为SCSI_HARDWARE_ERRORcluster1,经计算SCSI_HARDWARE_ERRORcluster1=1个;
存储节点S1和S2的第三指标SSD的存储容量的平均值,记为SSD_CAPcluster1,经计算SSD_CAPcluster1=550 GB;
存储节点S1和S2的第三指标SSD的寿命使用比率的平均值,记为SSD_LIFE_USEDcluster1,经计算SSD_LIFE_USEDcluster1= 15% 。
针对子存储集群2(以下记为cluster2),计算以下内容:
存储节点S3和S4的第一指标IOPS数的平均值,记为IOPScluster2,经计算IOPScluster2 = 14万;
存储节点S3和S4的第一指标带宽的平均值,记为Bandwidthcluster2,经计算Bandwidthcluster2 = 400 Mb/s;
存储节点S3和S4的第一指标平均I/O延时的平均值,记为Latencycluster2,经计算Latencycluster2 = 240毫秒;
存储节点S3和S4的第二指标SCSI介质错误的平均值,记为SCSI_MEDIUM_ERRORcluster2,经计算SCSI_MEDIUM_ERRORcluster2 = 2个;
存储节点S3和S4的第二指标SCSI硬件错误的平均值,记为SCSI_HARDWARE_ERRORcluster2,经计算SCSI_HARDWARE_ERRORcluster2 = 3个;
存储节点S3和S4的第三指标SSD的存储容量的平均值,记为SSD_CAPcluster2,经计算SSD_CAPcluster2 = 400 GB;
存储节点S3和S4的第三指标SSD的寿命使用比率的平均值,记为SSD_LIFE_USEDcluster2,经计算SSD_LIFE_USEDcluster2 = 20%。
其次,针对子存储集群1和2共同计算以下内容:
子存储集群1和2的第一指标IOPS数的平均值,记为IOPSmean,经计算IOPSmean =12.5万;
子存储集群1和2的第一指标带宽的平均值,记为Bandwidthmean,经计算Bandwidthmean = 425 Mb/s;
子存储集群1和2的第一指标平均I/O延时的平均值,记为Latencymean,经计算Latencymean = 195毫秒;
子存储集群1和2的第二指标SCSI介质错误的平均值,记为SCSI_MEDIUM_ERRORmean,经计算SCSI_MEDIUM_ERRORmean = 1.75个;
子存储集群1和2的第二指标SCSI硬件错误的平均值,记为SCSI_HARDWARE_ERRORmean,经计算SCSI_HARDWARE_ERRORmean = 2个;
子存储集群1和2的第三指标SSD的存储容量的平均值,记为SSD_CAPmean,经计算SSD_CAPmean = 475 GB;
子存储集群1和2的第三指标SSD的寿命使用比率的平均值,记为SSD_LIFE_USEDmean,经计算SSD_LIFE_USEDmean = 17.5% 。
然后,针对子存储集群1,计算以下内容:
通过公式IOPScluster1 / IOPSmean来计算cluster1的第一指标IOPS的第一统计值(记为IOPSweight),即IOPSweight =IOPScluster1 / IOPSmean。经过计算IOPSweight = 0.88;
通过公式Bandwidthcluster1 / Bandwidthmean来计算cluster1的第一指标带宽的第一统计值(记为Bandwidthweight),即Bandwidthweight =Bandwidthcluster1 / Bandwidthmean。经过计算Bandwidthweight = 1.0588;
通过公式Latencycluster1 / Latencymean来计算cluster1的第一指标平均I/O延时的第一统计值(记为Latencyweight),即Latencyweight=Latencycluster1 / Latencymean。经过计算Latencyweight= 0.7692;
通过公式SCSI_MEDIUM_ERRORcluster1 / SCSI_MEDIUM_ERRORmean来计算cluster1的第二指标SCSI介质错误的第二统计值(记为SCSI_MEDIUM_ERRORweight),即SCSI_MEDIUM_ERRORweight = SCSI_MEDIUM_ERRORcluster1 / SCSI_MEDIUM_ERRORmean。经过计算SCSI_MEDIUM_ERRORweight = 0.86;
通过公式SCSI_HARDWARE_ERRORcluster1 / SCSI_HARDWARE_ERRORmean来计算cluster1的第二指标SCSI硬件错误的第二统计值(记为SCSI_HARDWARE_ERRORweight),即SCSI_HARDWARE_ERRORweight = SCSI_HARDWARE_ERRORcluster1 / SCSI_HARDWARE_ERRORmean。经过计算SCSI_HARDWARE_ERRORweight = 0.5;
通过公式SSD_CAPcluster1 / SSD_CAPmean来计算cluster1的第三指标SSD的存储容量的第三统计值(记为SSD_CAPweight),即SSD_CAPweight = SSD_CAPcluster1 / SSD_CAPmean。经过计算SSD_CAPweight = 1.1579;
通过公式SSD_LIFE_USEDcluster1 / SSD_LIFE_USEDmean来计算cluster1的第三指标SSD的寿命使用比率的第三统计值(记为SSD_LIFE_USEDweight),即SSD_LIFE_USEDweight =SSD_LIFE_USEDcluster1 / SSD_LIFE_USEDmean。经过计算SSD_LIFE_USEDweight = 0.8571。
针对子存储集群2,计算以下内容:
通过公式IOPScluster2 / IOPSmean来计算cluster2的第一指标IOPS的第一统计值(记为IOPSweight),即IOPSweight = IOPScluster2 / IOPSmean。经过计算IOPSweight = 1.12;
通过公式Bandwidthcluster2 / Bandwidthmean来计算cluster2的第一指标带宽的第一统计值(记为Bandwidthweight),即Bandwidthweight = Bandwidthcluster2 / Bandwidthmean。经过计算Bandwidthweight = 0.9412;
通过公式Latencycluster2 / Latencymean来计算cluster2的第一指标平均I/O延时的第一统计值(记为Latencyweight),即Latencyweight=Latencycluster2 / Latencymean。经过计算Latencyweight= 1.2308;
通过公式SCSI_MEDIUM_ERRORcluster2 / SCSI_MEDIUM_ERRORmean来计算cluster2的第二指标SCSI介质错误的第二统计值(记为SCSI_MEDIUM_ERRORweight),即SCSI_MEDIUM_ERRORweight = SCSI_MEDIUM_ERRORcluster2 / SCSI_MEDIUM_ERRORmean。经过计算SCSI_MEDIUM_ERRORweight = 1.14;
通过公式SCSI_HARDWARE_ERRORcluster2 / SCSI_HARDWARE_ERRORmean来计算cluster2的第二指标SCSI硬件错误的第二统计值(记为SCSI_HARDWARE_ERRORweight),即SCSI_HARDWARE_ERRORweight = SCSI_HARDWARE_ERRORcluster2 / SCSI_HARDWARE_ERRORmean。经过计算SCSI_HARDWARE_ERRORweight = 1.5;
通过公式SSD_CAPcluster2 / SSD_CAPmean来计算cluster2的第三指标SSD的存储容量的第三统计值(记为SSD_CAPweight),即SSD_CAPweight =SSD_CAPcluster2 / SSD_CAPmean。经过计算SSD_CAPweight = 0.8421;
通过公式SSD_LIFE_USEDcluster2 / SSD_LIFE_USEDmean来计算cluster2的第三指标SSD的寿命使用比率的第三统计值(记为SSD_LIFE_USEDweight),即SSD_LIFE_USEDweight =SSD_LIFE_USEDcluster2 / SSD_LIFE_USEDmean。经过计算SSD_LIFE_USEDweight = 1.1428。
接着,开始计算第一权重、第二权重和第三权重。
第一权重(记为Perf weight)通过以下公式(1)计算:
第二权重(记为Health weight)通过以下公式(2)计算:
第三权重(记为SSD weight)通过以下公式(3)计算:
针对cluster1,经过上述公式计算,得到以下值:
Perf weight = 1.2113;
Health weight = 0.735;
SSD weight = 1.3509。
针对cluster2,经过上述公式计算,得到以下值:
Perf weight = 0.8565;
Health weight = 0.379;
SSD weight = 0.7369。
最后,通过以下公式(4)来确定最终权重(记为Overall weight):
Overall weight = Perf weight_eps * SSD weight_eps *Health weight_eps (4)
其中,
Perf weight_eps = Perf weight * 2
SSD weight_eps = SSD weight * 1
Health weight_eps = Health weight_eps * 3
经过上述公式的计算,针对cluster1的Overall weight = 7.2163;针对cluster2的Overall weight = 1.4352。
经过比较,cluster1的最终权重大于cluster2的最终权重,因此,将cluster1作为新集群来接管分裂前的存储集群的功能,以继续提供服务。cluster2内所有存储节点可以处于待机、停机等状态,以便消除中断的原因后,手动将cluster2内的所有存储节点加入提供服务的集群。
本公开除了提供上述用于存储集群的管理方法之外,还提供了一种用于存储集群的管理装置。接下来将参照图6对此进行详细描述。需要说明的是,上文针对用于存储集群的管理方法的说明同样适用于下面将介绍的用于存储集群的管理装置。
图6示出了根据本公开实施例的用于存储集群的管理装置600的框图。
参照图6,管理装置600可包括获取模块610和集群确定模块620。
获取模块610可以被配置为响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息。
作为示例,参照上述图4,所述存储集群可以由位于两个区域(例如两个机房或同一机房内的不同区域)中的3个存储节点组成。根据实际情况,也可以有任何合适数量的存储节点来组成所述存储集群。在该存储集群中有一个主存储节点(例如存储节点S1作为主存储节点)和2个从存储节点(例如存储节点S2和S3作为从存储节点),它们共同提供服务。上述两个区域的存储节点通过例如网络互连。
当因各种原因而造成使上述两个区域互连的网络中断时,所述存储集群发生了分裂,其中,分裂出了两个子存储集群,分别是子存储集群1和子存储集群2。需要注意,当所述存集群所具有的存储节点较多时,本领域技术人员容易想到,所述存储集群发生分裂后会出现多于2个子存储集群的情况,但这同样适用于本申请所提供的管理方法。本申请是为了便于描述而仅示出了上述场景。
根据本公开实施例,所述获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息,可以包括执行以下操作中的至少一个操作:获取所述每个子存储集群的各存储节点的性能评价信息;获取所述每个子存储集群的各存储节点的状态评价信息;获取所述每个子存储集群的各存储节点的存储介质评价信息。
作为示例,可以获取子存储集群1中的存储节点S1和S2的性能评价信息、状态评价信息和存储介质评价信息中的至少一项。可以获取子存储集群2中的存储节点S3的性能评价信息、状态评价信息和存储介质评价信息中的至少一项。
由此可以看出,本公开提供的管理方法可以获取每个子存储集群的三个维度的信息,即性能维度、状态维度和存储介质维度。从而,使得本公开提供的管理方法能够对每个子存储集群有比较全面而又合适的评价。
根据本公开实施例,所述获取所述每个子存储集群的各存储节点的性能评价信息可以包括:获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,基于获取的每个第一指标的值确定所述每个第一指标的第一统计值。
作为示例,获取子存储集群1中的存储节点S1和S2的性能评价信息可以包括获取与子存储集群1的存储节点S1和S2的性能有关的多个第一指标中的每个第一指标的值。
所述第一指标可以包括以下项中的至少一项:各存储节点的输入/输出操作数量;各存储节点的带宽;各存储节点的输入/输出操作延时。
作为示例,各存储节点的输入/输出操作数量可以是各存储节点在预定周期内每秒I/O操作(Input/Output Operations Per Second,IOPS)数,其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,各存储节点的输入/输出操作数量可以存储节点S1在5秒内的IOPS数、存储节点S2在5秒内的IOPS数等。
作为示例,各存储节点的带宽可以是各存储节点在预定周期内的带宽(bandwidth),其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,各存储节点的带宽可以是存储节点S1在5秒内的带宽、存储节点S2在5秒内的带宽等。
作为示例,各存储节点的输入/输出操作延时可以是各存储节点在预定周期内的读写I/O操作时产生的平均延时(latency),其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,各存储节点的输入/输出操作延时可以是存储节点S1在5秒内的平均I/O延时、存储节点S3在5秒内的平均I/O延时等。
基于上述获取的每个第一指标的值便可以确定每个第一指标的第一统计值。
作为示例,针对存储节点S1,在预定周期5秒内,获取的IOPS数为20万个,带宽为200 Mb/s,平均I/O延时为100毫秒。针对存储节点S2,在预定周期5秒内,获取的IOPS数为15万个,带宽为100 Mb/s,平均I/O延时为80毫秒。针对存储节点S3,在预定周期5秒内,获取的IOPS数为18万个,带宽为180 Mb/s,平均I/O延时为200毫秒。
在此情况下,针对子存储集群1,可以基于第一指标IOPS数的值来确定该第一指标IOPS数的第一统计值,其中该第一统计值可以是总和、平均值、最大值、标准差等。例如该第一指标IOPS数的总和为35(即20+15)万或平均值为17.5万。针对子存储集群2,该第一指标IOPS数的总和为18万或平均值为18万。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第一指标的第一统计值。具体地,针对某个第一指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一指标IOPS数,可以先确定存储节点S1、S2和S3的总平均值为17.67万。然后,在针对子存储集群1时,确定的第一指标IOPS数的平均值为上述的17.5万,则此时第一指标IOPS数的第一统计值可以为0.99(即17.5除以17.67);在针对子存储集群2时,确定的第一指标IOPS数的平均值为上述的18万,则此时第一指标IOPS数的第一统计值可以为1.02(即18除以17.67)。可选地,针对某个第一指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第一指标的第一统计值。例如,针对第一指标IOPS数,确定的存储集群1的平均值为上述的17.5万,确定的子存储集群2的平均值为上述的18万,然后可以确定子存储集群1和2的平均值可以为17.75,接着在针对子存储集群1时,第一指标IOPS数的第一统计值可以为0.98(即17.5除以17.75);在针对子存储集群2时,第一指标IOPS数的第一统计值可以为1.01(即18除以17.75)。
通过获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,可以尽可能选择性能好的子存储集群来接管分裂前整个集群的功能(此时性能好的子存储集群可以称为新存储集群),从而避免了如上述传统管理方法所带来的、接管分裂前整个集群功能的子存储集群性能下降甚至降级等问题。
根据本公开实施例,所述获取所述每个子存储集群的各存储节点的状态评价信息可以包括:获取与所述每个子存储集群的各存储节点的状态有关的多个第二指标中的每个第二指标的值,基于获取的每个第二指标的值确定所述每个第二指标的第二统计值。
作为示例,获取子存储集群1中的存储节点S1和S2的状态评价信息可以包括获取与存储集群1的存储节点S1和S2的状态有关的多个第二指标中的每个第二指标的值。
所述第二指标可以包括与在各存储节点的输入/输出操作中产生的接口错误有关的指标。
作为示例,第二指标可以是在存储节点的输入/输出操作期间产生的SCSI错误。例如,第二指标可以是SCSI介质错误(SCSI Medium Error)和/或SCSI硬件错误(SCSIHardware Error)。SCSI介质错误和SCSI硬件错误对于潜在的慢盘和坏盘有重要的指示作用,所以可以将这两种错误的数量作为第二指标,并且这两种错误越少,代表硬盘以及所在存储节点的状态越好,也就是说越健康,存储系统的稳定性也就越高。那么在发生脑裂后,选取上述错误较少的子存储集群来接管分裂前的整个集群的功能是比较好的选择,不仅能够更好地保证数据安全,还能够提升接管分裂前整个集群的功能的子存储集群的稳定性。根据实际情况,可以将该第二指标作为管理方法的主要指标。
作为示例,在存储节点的输入/输出操作期间产生的SCSI介质错误和SCSI硬件错误可以是预定周期内产生的SCSI介质错误和SCSI硬件错误,其中,预定周期可以根据实际情况灵活设置,如设置预定周期为5秒。例如,存储节点S1在5秒内产生的SCSI介质错误为5个,SCSI硬件错误为3个。
基于上述获取的每个第二指标的值便可以确定每个第二指标的第二统计值。
作为示例,针对存储节点S1,在预定周期5秒内,获取的SCSI介质错误为5个,SCSI硬件错误为3个。针对存储节点S2,在预定周期5秒内,获取的SCSI介质错误为3个,SCSI硬件错误为1个。存储节点S3,在预定周期5秒内,获取的SCSI介质错误为4个,SCSI硬件错误为2个。
在此情况下,针对子存储集群1,可以基于第二指标SCSI介质错误的值来确定该第二指标SCSI介质错误的第二统计值,其中该第二统计值可以是总和、平均值、最大值、标准差等。例如,该第二指标SCSI介质错误的总和为8(即5+3)个或平均值为4个。针对子存储集群2,该第二指标SCSI介质错误的总和为4个或平均值为4个。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第二指标的第二统计值。具体地,针对某个第二指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第二指标的第二统计值。例如,针对第二指标SCSI介质错误,可以先确定存储节点S1、S2和S3的总平均值为4个。然后,在针对子存储集群1时,确定的第二指标SCSI介质错误的平均值为上述的4个,则此时第二指标SCSI介质错误的第二统计值可以为1(即4除以4);在针对子存储集群2时,确定的第二指标SCSI介质错误的平均值为上述的4个,则此时第二指标SCSI介质错误的第二统计值可以为1(即4除以4)。可选地,针对某个第二指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第二指标的第二统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
根据本公开实施例,所述获取所述每个子存储集群的各存储节点的存储介质评价信息可以包括:获取与所述每个子存储集群的各存储节点的预定类型存储介质有关的多个第三指标中的每个第三指标的值,基于获取的每个第三指标的值确定所述每个第三指标的第三统计值。
根据本公开实施例,所述第三指标可以包括所述预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个。
作为示例,预定类型存储介质可以是固态硬盘(Solid State Drive,SSD)。在包括SSD的存储集群或者是混闪存储集群(混合使用SSD和机械硬盘(Hard Disk Drive,HDD))中,常用数据或者关键性元数据通常存放在传输速度更快、层级更高的SSD中。尤其在混闪存储系统中,SSD的总容量通常决定着关键数据的数量。通过考虑上述类型的存储介质可以保证新存储集群拥有更多的关键性元数据及常用数据,并且还可以最大限度的避免重要数据丢失或者热数据迁移。此外,SSD的使用寿命以及寿命使用比率也是SSD状态的重要指标。作为另一示例,预定类型存储介质也可以是上述HDD。
作为示例,第三指标可以是存储节点S1、S2和S3的SSD的存储容量、使用寿命以及寿命使用比率中的至少一个。
基于上述获取的每个第三指标的值便可以确定每个第三指标的第三统计值。
作为示例,针对存储节点S1,获取的SSD的存储容量为300GB,获取的SSD的使用寿命为5年,SSD的寿命使用比率为20%(表示该SSD已使用了1年)。针对存储节点S2,获取的SSD的存储容量为500GB,获取的SSD的使用寿命为10年,SSD的寿命使用比率为10%(表示该SSD已使用了1年)。针对存储节点S3,获取的SSD的存储容量为100GB,获取的SSD的使用寿命为2年,SSD的寿命使用比率为50%(表示该SSD已使用了1年)。
在此情况下,针对子存储集群1,可以基于第三指标SSD的存储容量的值来确定该第三SSD的存储容量的第三统计值,其中该第三统计值可以是总和、平均值、最大值、标准差等。例如该第三指标SSD的存储容量的总和为800(即300+500)GB或平均值为400GB。针对子存储集群2,该第三指标SSD的存储容量的总和为100GB或平均值为100GB。此外,还可以基于子存储集群1和2来一起确定子存储集群1或2的各第三指标的第三统计值。具体地,针对某个第三指标,可以先确定包括各子存储集群在内的所有存储节点的总平均值,然后确定各个子存储集群内所有存储节点的平均值,最后将上述平均值除以总平均值即可得到针对该子存储集群的该第三指标的第三统计值。例如,针对第三指标SSD的存储容量,可以先确定存储节点S1、S2和S3的总平均值为300GB。然后,在针对子存储集群1时,确定的第三指标SSD的存储容量的平均值为上述的400 GB,则此时第三指标SSD的存储容量的第三统计值可以为1.33(即400除以300);在针对子存储集群2时,确定的第三指标SSD的存储容量的平均值为上述的100 GB,则此时第三指标SSD的存储容量的第三统计值可以为0.33(即100除以300)。可选地,针对某个第三指标,还可以先确定各个子存储集群内所有存储节点的第一平均值,然后将各个子存储集群的第一平均值再按照子存储集群的数量进行平均得到总的第二平均值,然后将上述第一平均值除以总的第二平均值,即可得到针对该子存储集群的该第三指标的第三统计值。具体示例计算过程类似与上述关于第一指标的第一统计值所描述的计算过程,在此不做赘述。
继续参照图6,集群群定模块620可以被配置为根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群。
作为示例,针对每个子存储集群而得到的上述每个第一指标的第一统计值、每个第二指标的第二统计值和每个第三指标的第三统计值中的至少一个可以作为所获取的对应子存储集群的评价信息,以用来确定继续提供服务的子存储集群。
根据本公开的实施例,所述集群确定模块620,可以包括:第一权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的性能评价信息确定所述每个子存储集群的第一权重;第二权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的状态评价信息确定所述每个子存储集群的第二权重;第三权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的存储介质评价信息确定所述每个子存储集群的第三权重;最终权重确定模块,被配置为基于所述第一权重、所述第二权重和所述第三权重中至少一个确定所述每个子存储集群的最终权重;确定子存储集群模块,被配置为基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群。
作为示例,第一权重可以通过将第一指标IOPS数的第一统计值乘以第一指标带宽的第一统计值后再除以第一指标平均I/O延时的第一统计值来得到的。此时,可以看出平均I/O延时的第一统计值越小,则该子存储集群的性能越好。
作为示例,第二权重可以通过第二指标SCSI介质错误的第二统计值和第二指标SCSI硬件错误的第二统计值的加和被1除来得到的。此时,可以看出,错误的数量越少,该子存储集群越健康。
作为示例,第三权重可以通过将第三指标SSD的存储容量的第三统计值除以SSD的寿命使用比率的第三统计值或除以SSD的使用寿命的第三统计值来获得。此时,可以看出,SSD的寿命使用比率越小,说明此时SSD还能继续使用的寿命越长,则对应的子存储集群的使用寿命也就越长。
基于上述第一权重、第二权重和第三权重中至少一个便可以确定对应子存储集群的最终权重。
另外,本领域技术人员容易想到,根据实际需要,当只需要用上述第一权重、第二权重和第三权重中的一个或两个权重来确定最终权重时,剩下不用的权重可以事前不获取相关的值,以加快最终权重的确定时间。
根据本公开实施例,所述确定子存储集群模块,包括:最终确定模块,被配置为将所述至少两个子存储集群中的最终权重最大的子存储集群确定为继续提供服务的子存储集群。
需要注意,以上所介绍的任何“获取”,可以根据实际需要,通过任何适当的获取方式来获取相关的内容。例如,直接获取方式,如直接获取上述存储容量等)。又例如,间接获取方式,如采用在采样时间(如40秒)内的测试块(例如1MB或4KB大小的块)来进行随机混合读写或顺序混合读写(例如按6:4混合)操作,以获取例如上述带宽、IOPS、平均I/O延时等值。本领域技术人员容易想到,上述采用时间越长,得到的数据越能反映实际情况,但是也需要考虑例如允许服务中断的时间等其它因素来综合考虑,此处不做赘述。此外,还需要注意,上述具体数值仅是示例,本领域技术人员可以根据实际获取的值来进行相关的计算。此外,关于数值的具体精度(即是保留小数点后2位还是4位等)可以根据实际需要来灵活截取,在此不做赘述。
由于以上已经在描述根据本公开的用于存储集群的管理方法的过程中,对上述操作所涉及的内容的细节进行了介绍,因此这里为简洁起见不再赘述,相关细节可参照以上关于图1至图5的描述。
以上以结合图1至图6详细描述了,本公开所提供的用于存储集群的管理方法和装置。由于本公开提供的管理方法和装置可以根据所获取的分裂出的至少两个子存储集群中的每个子存储集群的评价信息,来综合确定较佳的继续提供服务的子存储集群,从而提升了存储集群的稳定性,增加了存储集群的可用性。此外,还由于本公开提供的可以获取每个子存储集群的一到三个维度的信息(即性能维度、状态维度和/或存储介质维度),从而,使得本公开提供的管理方法能够对每个子存储集群有比较全面而又合适的评价。
应理解的是:图6所示的装置中的各个模块可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些模块可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。
此外,本公开还提供了一种用于存储集群的管理设备,接下来将结合图7进行说明。
图7示出了根据本公开实施例的用于存储集群的管理设备700的结构图。上文针对用于存储集群的管理方法的说明同样适用于设备700,除非另有明确说明。
参见图7,设备700可以包括处理器701和存储器702。处理器701和存储器702都可以通过总线703相连。
处理器701可以根据存储在存储器702中的程序执行各种动作和处理。具体地,处理器701可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或ARM架构的。
存储器702存储有计算机可执行指令,在计算机可执行指令被处理器701执行时实现上述管理方法。存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
此外,本公开还提供了一种计算机可读记录介质。图8示出了根据本公开实施例的记录介质的示意图8000。
如图8所示,所述计算机可读记录介质8020上存储有计算机可执行指令8010。当所述计算机可执行指令8010由处理器执行时,可以执行参照以上附图描述的根据本公开实施例的管理方法。本公开实施例中的计算机可读记录介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其它方面可以在可以由控制器、微处理器或其它计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其它图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (16)
1.一种用于存储集群的管理方法,其特征在于,所述方法包括:
响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息;
根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群,
其特征在于,所述获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息,包括执行以下操作:
获取所述每个子存储集群的各存储节点的性能评价信息,其中,所述各存储节点的性能评价信息是与各存储节点的输入/输出操作数量、各存储节点的带宽以及各存储节点的输入/输出操作延时中的至少一个相关的信息;
获取所述每个子存储集群的各存储节点的状态评价信息,其中,所述各存储节点的状态评价信息是与在各存储节点的输入/输出操作中产生的接口错误有关的信息;
获取所述每个子存储集群的各存储节点的存储介质评价信息,其中,所述存储介质评价信息是与预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个相关的信息。
2.如权利要求1所述的管理方法,其特征在于,
所述获取所述每个子存储集群的各存储节点的性能评价信息,包括:获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,基于获取的每个第一指标的值确定所述每个第一指标的第一统计值;
所述获取所述每个子存储集群的各存储节点的状态评价信息,包括:获取与所述每个子存储集群的各存储节点的状态有关的多个第二指标中的每个第二指标的值,基于获取的每个第二指标的值确定所述每个第二指标的第二统计值;
所述获取所述每个子存储集群的各存储节点的存储介质评价信息,包括:获取与所述每个子存储集群的各存储节点的预定类型存储介质有关的多个第三指标中的每个第三指标的值,基于获取的每个第三指标的值确定所述每个第三指标的第三统计值。
3.如权利要求2所述的管理方法,其特征在于,所述第一指标包括以下项中的至少一项:
各存储节点的输入/输出操作数量;
各存储节点的带宽;
各存储节点的输入/输出操作延时。
4.如权利要求2所述的管理方法,其特征在于,所述第二指标包括与在各存储节点的输入/输出操作中产生的接口错误有关的指标。
5.如权利要求2所述的管理方法,其特征在于,所述第三指标包括所述预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个。
6.如权利要求1所述的管理方法,其特征在于,所述根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群,包括:
基于获取的所述每个子存储集群的各存储节点的性能评价信息确定所述每个子存储集群的第一权重;
基于获取的所述每个子存储集群的各存储节点的状态评价信息确定所述每个子存储集群的第二权重;
基于获取的所述每个子存储集群的各存储节点的存储介质评价信息确定所述每个子存储集群的第三权重;
基于所述第一权重、所述第二权重和所述第三权重中至少一个确定所述每个子存储集群的最终权重;
基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群。
7.如权利要求6所述的管理方法,其特征在于,所述基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群,包括:
将所述至少两个子存储集群中的最终权重最大的子存储集群确定为继续提供服务的子存储集群。
8.一种用于存储集群的管理装置,其特征在于,所述装置包括:
获取模块,被配置为响应于共同提供服务的所述存储集群发生分裂,获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息;
集群确定模块,被配置为根据所获取的每个子存储集群的评价信息,确定所述至少两个子存储集群中继续提供服务的子存储集群,
其特征在于,所述获取分裂出的至少两个子存储集群中的每个子存储集群的评价信息,包括执行以下操作:
获取所述每个子存储集群的各存储节点的性能评价信息,其中,所述各存储节点的性能评价信息是与各存储节点的输入/输出操作数量、各存储节点的带宽以及各存储节点的输入/输出操作延时中的至少一个相关的信息;
获取所述每个子存储集群的各存储节点的状态评价信息,其中,所述各存储节点的状态评价信息是与在各存储节点的输入/输出操作中产生的接口错误有关的信息;
获取所述每个子存储集群的各存储节点的存储介质评价信息,其中,所述存储介质评价信息是与预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个相关的信息。
9.如权利要求8所述的管理装置,其特征在于,
所述获取所述每个子存储集群的各存储节点的性能评价信息,包括:获取与所述每个子存储集群的各存储节点的性能有关的多个第一指标中的每个第一指标的值,基于获取的每个第一指标的值确定所述每个第一指标的第一统计值;
所述获取所述每个子存储集群的各存储节点的状态评价信息,包括:获取与所述每个子存储集群的各存储节点的状态有关的多个第二指标中的每个第二指标的值,基于获取的每个第二指标的值确定所述每个第二指标的第二统计值;
所述获取所述每个子存储集群的各存储节点的存储介质评价信息,包括:获取与所述每个子存储集群的各存储节点的预定类型存储介质有关的多个第三指标中的每个第三指标的值,基于获取的每个第三指标的值确定所述每个第三指标的第三统计值。
10.如权利要求9所述的管理装置,其特征在于,所述第一指标包括以下项中的至少一项:
各存储节点的输入/输出操作数量;
各存储节点的带宽;
各存储节点的输入/输出操作延时。
11.如权利要求9所述的管理装置,其特征在于,所述第二指标包括与在各存储节点的输入/输出操作中产生的接口错误有关的指标。
12.如权利要求9所述的管理装置,其特征在于,所述第三指标包括所述预定类型存储介质的存储容量、使用寿命以及寿命使用比率中的至少一个。
13.如权利要求8所述的管理装置,其特征在于,所述集群确定模块,包括:
第一权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的性能评价信息确定所述每个子存储集群的第一权重;
第二权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的状态评价信息确定所述每个子存储集群的第二权重;
第三权重确定模块,被配置为基于获取的所述每个子存储集群的各存储节点的存储介质评价信息确定所述每个子存储集群的第三权重;
最终权重确定模块,被配置为基于所述第一权重、所述第二权重和所述第三权重中至少一个确定所述每个子存储集群的最终权重;
确定子存储集群模块,被配置为基于所述每个子存储集群的最终权重,确定所述至少两个子存储集群中继续提供服务的子存储集群。
14.如权利要求13所述的管理装置,其特征在于,所述确定子存储集群模块,包括:
最终确定模块,被配置为将所述至少两个子存储集群中的最终权重最大的子存储集群确定为继续提供服务的子存储集群。
15.一种用于存储集群的管理设备,包括:
处理器,和
存储器,所述存储器存储有计算机可执行指令,所述计算机可执行指令当由处理器执行时促使处理器执行如权利要求1-7中的任一项所述的管理方法。
16.一种计算机可读记录介质,存储有计算机可执行指令,其中,所述计算机可执行指令当由处理器执行时促使处理器执行如权利要求1-7中的任一项所述的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210279218.XA CN114374707B (zh) | 2022-03-22 | 2022-03-22 | 用于存储集群的管理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210279218.XA CN114374707B (zh) | 2022-03-22 | 2022-03-22 | 用于存储集群的管理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114374707A CN114374707A (zh) | 2022-04-19 |
CN114374707B true CN114374707B (zh) | 2022-06-21 |
Family
ID=81145245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210279218.XA Active CN114374707B (zh) | 2022-03-22 | 2022-03-22 | 用于存储集群的管理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114374707B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102308559A (zh) * | 2011-07-26 | 2012-01-04 | 华为技术有限公司 | 一种用于集群计算机系统的投票仲裁方法及装置 |
CN105450717A (zh) * | 2014-09-29 | 2016-03-30 | 中兴通讯股份有限公司 | 集群脑裂处理方法和装置 |
CN107579860A (zh) * | 2017-09-29 | 2018-01-12 | 新华三技术有限公司 | 节点选举方法及装置 |
CN108874640A (zh) * | 2018-05-07 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 一种集群性能的评估方法和装置 |
CN113438110A (zh) * | 2021-06-23 | 2021-09-24 | 曙光信息产业(北京)有限公司 | 一种集群性能的评价方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631066B1 (en) * | 2002-03-25 | 2009-12-08 | Symantec Operating Corporation | System and method for preventing data corruption in computer system clusters |
CN109086009B (zh) * | 2018-08-03 | 2021-08-03 | 厦门集微科技有限公司 | 一种监控管理方法和装置、计算机可读存储介质 |
CN111708665B (zh) * | 2020-05-29 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种存储集群系统全面监控的方法、装置、设备和介质 |
-
2022
- 2022-03-22 CN CN202210279218.XA patent/CN114374707B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102308559A (zh) * | 2011-07-26 | 2012-01-04 | 华为技术有限公司 | 一种用于集群计算机系统的投票仲裁方法及装置 |
CN105450717A (zh) * | 2014-09-29 | 2016-03-30 | 中兴通讯股份有限公司 | 集群脑裂处理方法和装置 |
CN107579860A (zh) * | 2017-09-29 | 2018-01-12 | 新华三技术有限公司 | 节点选举方法及装置 |
CN108874640A (zh) * | 2018-05-07 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 一种集群性能的评估方法和装置 |
CN113438110A (zh) * | 2021-06-23 | 2021-09-24 | 曙光信息产业(北京)有限公司 | 一种集群性能的评价方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114374707A (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10705932B2 (en) | Method, device and computer program product for managing a storage system | |
US11287984B2 (en) | Method and device for writing stored data into storage medium based on flash memory | |
US8843447B2 (en) | Resilient distributed replicated data storage system | |
WO2019119311A1 (zh) | 一种数据存储的方法、装置和系统 | |
US8266475B2 (en) | Storage management device, storage management method, and storage system | |
US9619181B2 (en) | Information processing device and method for controlling replacement of semiconductor storage device | |
EP0727745A1 (en) | Memory control apparatus and its control method | |
CN111190841A (zh) | 存储设备及其存储器管理方法 | |
JP5938965B2 (ja) | マルチノードストレージシステムのノード装置および処理速度管理方法 | |
US11474919B2 (en) | Method for managing multiple disks, electronic device and computer program product | |
US9558206B2 (en) | Asymmetric distributed data storage system | |
CN111124264B (zh) | 用于重建数据的方法、设备和计算机程序产品 | |
CN110096220B (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
JP6515752B2 (ja) | ストレージ制御装置、制御方法、および制御プログラム | |
US11385823B2 (en) | Method, electronic device and computer program product for rebuilding disk array | |
US9639441B2 (en) | Solid-state storage system, apparatus and method of writing data | |
WO2019210844A1 (zh) | 存储设备异常检测方法及装置、分布式存储系统 | |
CN108170366A (zh) | 存储设备中的存储介质管理方法、装置和存储设备 | |
US20190347165A1 (en) | Apparatus and method for recovering distributed file system | |
US20220253356A1 (en) | Redundant data calculation method and apparatus | |
CN109344012B (zh) | 数据重构控制方法、装置和设备 | |
CN114374707B (zh) | 用于存储集群的管理方法、装置、设备及介质 | |
CN117149062A (zh) | 一种磁带损坏数据的处理方法以及计算装置 | |
WO2021046693A1 (zh) | 存储系统中数据处理方法、装置以及存储系统 | |
CN108932176B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40066402 Country of ref document: HK |