本发明实施例涉及通信领域,具体而言,涉及一种存储集群装置、设备挂载方法、存储介质及电子装置。
背景技术:
现有的集中存储为了增强整体存储方案的可靠性,会将多台存储设备进行组网集群管理,其中,多台存储设备通过网络接到交换机进行局域网组网以形成一个存储集群。整体业务由平台管理单元设备进行任务调度以及监控管理。当发现其中的一个存储设备a出现故障时,则将存储设备a所承接的数据码流存储业务调度给存储设备b或者存储设备c,以保证整体业务的连续性。
但是当某台设备a出现故障时,则设备a的存储资源就丢失了,包括设备a的存储硬盘无法再使用,故障设备中的存储数据也无法被访问到;且由于每台设备的存储资源完全归属于这台设备的控制计算单元,因而当设备a发生故障时,设备a的存储资源无法被其他设备共享,降低了存储资源的使用效率。
技术实现要素:
本发明实施例提供了一种存储集群装置、设备挂载方法、存储介质及电子装置,以至少解决相关技术中存储资源使用效率低的问题。
根据本发明的一个实施例,提供了一种存储集群装置,包括平台管理单元以及至少两个存储设备,所述平台管理单元用于对至少两个所述存储设备进行控制,其中:
第一存储设备中包括的第一存储组件与第二存储设备中包括的第二存储组件通过预定接口相连接,其中,所述第一存储设备和第二存储设备为至少两个所述存储设备中包括的任意两个存储设备。
在一个示例性实施例中,所述第一存储组件中包括第一存储器、用于对所述第一存储器进行控制的第一控制器,其中,所述第一存储设备还包括用于控制所述第一存储器和所述第一控制器的第一调度模块;
所述第二存储组件中包括第二存储器、用于对所述第二存储器进行控制的第二控制器,其中,所述第二存储设备还包括用于控制所述第二存储器和第二控制器的第二调度模块;
所述第一调度模块和所述第二调度模块均与所述平台管理单元连接,其中,
所述第一存储器通过第一预定接口与所述第二控制器连接,所述第一控制器通过第二预定接口与所述第二存储器连接,所述预定接口包括所述第一预定接口和所述第二预定接口。
在一个示例性实施例中,所述第一调度模块和所述第二调度模块通过中继设备与所述平台管理单元连接。
在一个示例性实施例中,所述中继设备包括交换机。
在一个示例性实施例中,所述预定接口包括串行连接sas接口。
根据本发明的另一个实施例,提供了一种设备挂载方法,应用于前述的存储集群装置,包括:
所述第一存储设备中包括的第一调度模块接收来自所述平台管理单元的第一调度信号,其中,所述第一调度模块用于控制所述第一存储组件中包括的第一存储器和第一控制器,所述第一调度信号用于指示所述第一存储器与所述第二存储组件中包括的第二控制器进行挂载操作,以使所述第二控制器具备控制所述第一存储器的能力;
所述第一调度模块基于所述第一调度信号,解除所述第一控制器与所述第一存储器的控制,以及对所述第一存储器和所述第二控制器进行挂载操作,其中,所述第一控制器用于对所述第一存储器进行控制。
在一个示例性实施例中,在所述第一存储设备中包括的第一调度模块接收来自所述平台管理单元的第一调度信号之前,所述方法还包括:
所述第一调度模块确定所述第一控制器发生故障;
所述第一调度模块将用于指示所述第一控制器发生故障的故障信息发送至所述平台管理单元,以指示所述平台管理单元基于所述故障信息向所述第一调度管理模块发送所述第一调度信号。
在一个示例性实施例中,所述方法还包括:
所述第二存储设备中包括的第二调度模块接收来自所述平台管理单元的第二调度信号,其中,所述第二调度模块用于控制所述第二控制器,所述第一调度信号用于指示所述第一存储器与所述第二控制器进行挂载操作,以使所述第二控制器具备控制所述第一存储器的能力;
所述第二调度模块基于所述第二调度信号,控制所述第二控制器和所述第一存储器进行挂载操作。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于通过预定的接口将第一存储组件与第二存储组件进行连接,因而当其中一个主机发生故障时,其它的主机设备能够通过预定接口对第一存储组件进行控制和调用,从而避免因设备故障造成的存储资源闲置或数据丢失,因此,可以解决存储资源利用率低的问题,达到提高存储资源的利用效率效果。
附图说明
图1是根据本发明实施例的存储集群装置的结构框图;
图2是根据本发明实施例的设备挂载方法的流程图;
图3是根据本发明具体实施例的结构示意图一;
图4是根据本发明具体实施例的结构示意图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“其它”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
如图1所示,一种数据存储装置,包括平台管理单元以及至少两个存储设备,平台管理单元用于对至少两个存储设备进行控制,其中:
第一存储设备中包括的第一存储组件与第二存储设备中包括的第二存储组件通过预定接口相连接,其中,第一存储设备和第二存储设备为至少两个存储设备中包括的任意两个存储设备。
在本实施例中,第一存储设备的第一存储组件与第二存储设备的第二存储组件通过预定接口相连接,使得第一存储设备或第二存储设备出现故障时,第一存储设备或第二存储设备的存储资源能够继续被其它存储设备所控制和调用,避免数据丢失以及资源闲置。
其中,第一存储组件和第二存储组件均可以包括(但不限于)存储资源(如存储器、云存储模块等)以及用于控制存储资源的主控模块(如cpu等);预定端口可以是sas接口,也可以是网络接口,还可以是其它能够执行数据传输功能的接口。
在一个可选的实施例中,第一存储组件中包括第一存储器、用于对第一存储器进行控制的第一控制器,其中,第一存储设备还包括用于控制第一存储器和第一控制器的第一调度模块;
第二存储组件中包括第二存储器、用于对第二存储器进行控制的第二控制器,其中,第二存储设备还包括用于控制第二存储器和第二控制器的第二调度模块;
第一调度模块和第二调度模块均与平台管理单元连接,其中,
第一存储器通过第一预定接口与第二控制器连接,第一控制器通过第二预定接口与第二存储器连接,预定接口包括第一预定接口和第二预定接口。
在本实施例中,调度模块可以(但不限于)用于向控制器和存储器进行供电、建立控制关系、调用等,其中,调度模块可以是存储设备中内设的cpu、fpga、mcu等具有逻辑控制功能的设备;调度模块与平台管理单元的连接方式可以是通过sas接口直接连接的,也可以是通过交换机等中间设备进行连接的。
在一个可选的实施例中,第一调度模块和第二调度模块通过中继设备与平台管理单元连接。
在一个可选的实施例中,第一存储设备还包括第一网络组件,第二存储设备还包括第二网络组件,其中,第一网络组件和第二网络组件之间通过中继设备连接。
在一个可选的实施例中,中继设备包括交换机。
在一个可选的实施例中,预定接口包括串行连接sas接口。
在本实施例中提供了一种设备挂载方法,应用于前述的存储集群装置,图2是根据本发明实施例的一种设备挂载方法的流程图,如图2所示,该流程包括如下步骤:
步骤s202,第一存储设备中包括的第一调度模块接收来自平台管理单元的第一调度信号,其中,第一调度模块用于控制第一存储组件中包括的第一存储器和第一控制器,第一调度信号用于指示第一存储器与第二存储组件中包括的第二控制器进行挂载操作,以使第二控制器具备控制第一存储器的能力;
步骤s204,第一调度模块基于第一调度信号,解除第一控制器与第一存储器的控制,以及对第一存储器和第二控制器进行挂载操作,其中,第一控制器用于对第一存储器进行控制。
在本实施例中,第一调度模块控制第一控制器与第一存储器解除控制,使第一存储器能够挂载至第二控制器,实现第二控制器对第一存储器的控制,从而在第一控制器出现故障的情况下,第二控制器能够控制第一存储器对外部数据进行存储,或将存储的数据进行调出,实现了存储资源的最大化利用,以及避免了数据的丢失。
在一个可选的实施例中,在第一存储设备中包括的第一调度模块接收来自平台管理单元的第一调度信号之前,该方法还包括:
步骤s2002,第一调度模块确定第一控制器发生故障;
步骤s2004,第一调度模块将用于指示第一控制器发生故障的故障信息发送至平台管理单元,以指示平台管理单元基于故障信息向第一调度管理模块发送第一调度信号。
在本实施例中,第一调度模块确定第一控制器发生故障的方法可以是第一调度模块采集第一控制器以及第一存储设备中的其它模块或装置状态信息,并对状态信息进行判断,从而确定第一控制器是否发生故障;也可以是第一控制器以及第一存储设备中的其它模块或装置在发生故障的情况下,将故障信息发送至第一调度模块,使第一调度模块确定第一控制器或第一存储设备发生故障;故障信息包括但不限于故障设备或装置的代码、地址、故障之间等信息;故障信息的传输方式包括(但不限于)通过以太网进行传输,或者通过3g/4g/5g/量子通信网络进行传输。
在一个可选的实施例中,该方法还包括:
步骤s206,第二存储设备中包括的第二调度模块接收来自平台管理单元的第二调度信号,其中,第二调度模块用于控制第二控制器,第一调度信号用于指示第一存储器与第二控制器进行挂载操作,以使第二控制器具备控制第一存储器的能力;
步骤s208,第二调度模块基于第二调度信号,控制第二控制器和第一存储器进行挂载操作。
在本实施例中,第二调度模块在平台管理模块的控制下使第二控制器对第一存储器执行挂载操作,使得第二控制器能够在第一控制器发生故障的情况下对第一存储器进行调用或控制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
下面结合具体实施例对本发明进行说明。
如图3及图4所示,存储设备除了通过交换机进行设备间互连外,设备之间还增加了minisas进行互连;且存储设备内部架构为分离式设计,即由第三方调度控制管理模块来实现主控系统与存储资源的供电分离,确保当主控系统出现故障时,存储资源依然能够正常供电,正常工作。
具体工作方式如下:
在正常工作模式下,存储设备a、b、c各自通过内部的minisas与各自的存储资源互连,管理各自的存储资源,此时存储资源属于存储设备a、b、c的主控系统专用。存储设备a、b、c从终端业务单元接入进来的数据码流,直接存入本地存储资源中。同时调度控制管理模块实时监控存储设备中主控系统的健康故障状态。
一旦主控系统发生故障,则将故障信息通过交换机上报至平台管理单元m,平台管理单元m做统一的调度和管理,将终端业务单元的任务调度至其他设备(如存储设备b),同时下发信息给调度控制管理模块,调度控制管理模块继而控制存储扩展模块,将存储资源从主控系统中释放,并通过对外的minisas接口,将存储资源挂载到其他存储设备中,如存储设备b,有存储设备b对这些存储资源进行管理。
如图4所示,存储资源这个大模块中,包含存储扩展模块(即sasexpander)以及磁盘阵列。存储扩展模块具备多minisas宽口功能。即上行支持多主机互连控制,从而具备将存储资源从一个主控系统中释放,并挂载到另一个主控系统的功能。
综上所述,存储设备中将主控系统与存储资源做分离式设计,从而可以被灵活调度,保障了业务的连续,同时也保障了当存储设备中主控系统出现故障时,其存储数据不会丢失。
需要说明的是,本申请为了简要说明原理,仅列举了有限的设备进行举例,实际存储设备不限定为3台。
其中,存储设备:主要的业务是负责将终端设备单元的数据码流接入,并存入自己的磁盘中。
平台管理单元设备:主要的业务是负责整体集群业务的管理、任务的调度、客户应用的实现等等,本专利重点体现其任务调度的功能。
终端业务单元设备:作为数据码流的输入源头。同时被平台管理单元所调度。
交换机设备:实现设备间信息通信交互,存储设备、平台单元管理设备、终端业务单元设备通过交换机组成集群局域网。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。