掌桥专利:专业的专利平台
掌桥专利
首页

一种后端存储设备切换方法、装置、设备和介质

文献发布时间:2023-06-19 09:24:30


一种后端存储设备切换方法、装置、设备和介质

技术领域

本申请涉及服务器虚拟化技术领域,特别涉及一种后端存储设备切换方法、装置、设备和介质。

背景技术

随着当前服务器虚拟化技术的日渐成熟,存储虚拟化已逐渐成为云计算领域中的重要组成部分。服务器虚拟化使用过程中不可避免的会有底层存储设备更换的需求,比如底端存储设备向高端存储设备的切换,单一存储设备向双活存储设备的切换等。

后端存储设备的切换流程是先将CFS存储池上的业务虚拟机通过在线迁移的方式迁移到各个主机的本地存储池上,然后CFS存储域进入维护模式,更换心跳磁盘,重新创建CFS存储池,完成后端存储设备的切换;然后再将本地存储池上的虚拟机在线迁移到新创建的CFS存储池上,最终完成整个流程。整个过程需要本地磁盘容量足够大,在切换过程中必须停止运行服务,并且切换过程不能产生任何异常,切换流程比较复杂。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

本申请的目的是提供一种后端存储设备切换方法、装置、设备和介质,对本地磁盘容量没有限制,能够保证运行业务不中断的情况下完成后端存储设备的在线切换,切换操作简单。其具体方案如下:

本申请提供了一种后端存储设备切换方法,包括:

读取切换指令,并根据所述切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,所述第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量;

在存储域中添加所述第一心跳磁盘,并建立所述数据磁盘对应的第一存储池;

将所述原后端存储设备的第二存储池中的虚拟机迁移至所述第一存储池,并删除所述第二存储池和所述第二心跳磁盘。

优选地,所述在存储域中添加所述第一心跳磁盘,包括:

从虚拟化环境的数据库中读取主机信息和心跳磁盘信息,并根据所述主机信息和所述心跳磁盘信息生成配置信息;

发送所述配置信息至各个主机,以使各个所述主机重载服务,完成所述第一心跳磁盘的添加。

优选地,所述从虚拟化环境的数据库中读取主机信息和心跳磁盘信息之前,还包括:

在所述数据库中,将所述第一心跳磁盘对应的物理磁盘标记为心跳磁盘,以使生成所述心跳磁盘信息。

优选地,所述删除所述第二存储池和所述第二心跳磁盘之后,还包括:

断开所述原后端存储设备与各个主机的映射关系。

优选地,所述根据所述切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,所述第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量,包括:

根据所述切换指令在所述新后端存储设备上划分出多个所述数据磁盘和所述第一心跳磁盘;其中,所述第一心跳磁盘的数量比所述第二心跳磁盘的数量大1。

本申请提供了一种后端存储设备切换装置,包括:

读取与划分模块,用于读取切换指令,并根据所述切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,所述第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量;

添加与建立模块,用于在存储域中添加所述第一心跳磁盘,并建立所述数据磁盘对应的第一存储池;

迁移与删除模块,用于将所述原后端存储设备的第二存储池中的虚拟机迁移至所述第一存储池,并删除所述第二存储池和所述第二心跳磁盘。

优选地,所述添加与建立模块,包括:

读取与生成单元,用于从虚拟化环境的数据库中读取主机信息和心跳磁盘信息,并根据所述主机信息和所述心跳磁盘信息生成配置信息;

发送单元,用于发送所述配置信息至各个主机,以使各个所述主机重载服务,完成所述第一心跳磁盘的添加。

优选地,所述添加与建立模块,还包括:

标记单元,用于在所述数据库中,将所述第一心跳磁盘对应的物理磁盘标记为心跳磁盘,以使生成所述心跳磁盘信息。

本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述后端存储设备切换方法的步骤。

本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述后端存储设备切换方法的步骤。

本申请提供了一种后端存储设备切换方法,包括:读取切换指令,并根据所述切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,所述第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量;在存储域中添加所述第一心跳磁盘,并建立所述数据磁盘对应的第一存储池;将所述原后端存储设备的第二存储池中的虚拟机迁移至所述第一存储池,并删除所述第二存储池和所述第二心跳磁盘。

可见,本申请通过根据切换指令在新后端存储设备上划分出大于原后端存储设备的第二心跳磁盘的数量的第一心跳磁盘,在存储域中添加第一心跳磁盘,此时,存储域中的心跳磁盘的数量是第一心跳磁盘和第二心跳磁盘的数量总和,当删除第二心跳磁盘时,由于存储域的仲裁机制,即使删除第二心跳磁盘,活跃的第一心跳磁盘的数量为总数的一半以上,存储域不会进入维护模式,对本地磁盘容量没有限制,能够保证运行业务不中断的情况下完成后端存储设备的在线切换,切换操作简单。

本申请同时还提供了一种后端存储设备切换装置、电子设备和计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种存储域的结构示意图;

图2为本申请实施例所提供的一种后端存储设备切换方法的流程图;

图3为本申请实施例所提供的另一种后端存储设备切换方法的流程图;

图4为本申请实施例提供的一种后端存储设备切换装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

后端存储设备的切换流程是先将CFS存储池上的业务虚拟机通过在线迁移的方式迁移到各个主机的本地存储池上,然后CFS存储域进入维护模式,更换心跳磁盘,重新创建CFS存储池,完成后端存储设备的切换;然后再将本地存储池上的虚拟机在线迁移到新创建的CFS存储池上,最终完成整个流程。整个过程需要本地磁盘容量足够大,在切换过程中必须停止运行服务,并且切换过程不能产生任何异常,切换流程比较复杂。

请参考图1,图1为本申请实施例所提供的一种存储域的结构示意图,存储域即CFS(cluster file system,集群文件系统)存储域是由一系列的主机、心跳磁盘、数据磁盘及配置参数等组成的一个集合,其中,心跳磁盘保证了存储域中各个主机的存活状态,数据磁盘可用来创建CFS存储池,供虚拟化系统中虚拟机的使用,各个主机通过配置文件及参数分别运行一个服务来维持CFS存储域的正常运行。其中,CFS存储池是基于CFS存储域中的数据磁盘来创建的,并且可挂载在CFS存储域中的多个主机上,为各个主机使用该存储池提供统一的视图。CFS存储域上可以有多个主机,一个主机上可以挂载多个CFS存储池,当虚拟机创建完成后,相关虚拟磁盘及配置文件便存储在CFS存储池上。

基于上述技术问题,本实施例提供一种后端存储设备切换方法,对本地磁盘容量没有限制,能够保证运行业务不中断的情况下完成后端存储设备的在线切换,切换操作简单,具体请参考图2,图2为本申请实施例所提供的一种后端存储设备切换方法的流程图,具体包括:

S101、读取切换指令,并根据切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量;

本实施例应用于服务器虚拟化系统。当低端存储设备(原后端存储设备)向高端存储设备(新后端存储设备)切换时,或者单一存储设备(原后端存储设备)向双活存储设备(新后端存储设备)切换时,读取到切换指令。

可以理解的是,CFS存储域的心跳磁盘可以是一块,也可以是多块;当进行后端存储切换时,新存储设备上需划分出多个的第一心跳磁盘,且,第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量。因为CFS存储域中仲裁机制的影响,处于活跃的心跳磁盘的个数应为心跳磁盘总数的一半以上,才能保证CFS存储域中主机不会发生Fence机制或者Umount机制。Fence机制为主机重启机制以达到恢复环境的目的;Umount机制为卸载CFS存储域当前主机上所有CFS存储池的机制。因此,本实施例中的新后端存储设备的第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量,以使在删除第二心跳磁盘时,不需要进入维护模式,不需要卸载所有存储池停止相关服务,就可以在线增加存储域的心跳磁盘。

本实施例不对第一心跳磁盘的数量进行限定,只要是大于原后端存储设备的第二心跳磁盘的数量即可。优选地,,根据切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量,包括:

根据切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,第一心跳磁盘的数量比第二心跳磁盘的数量大1。

S102、在存储域中添加第一心跳磁盘,并建立数据磁盘对应的第一存储池;

本实施例在存储域中添加第一心跳磁盘,此时,存储域中的心跳磁盘包括:第一心跳磁盘和第二心跳磁盘。本实施例不对添加第一心跳磁盘的方式进行限定,用户可自定义设置。在一种可实现的实施方式中,可以采用执行命令的方式,也就是说,存储域中各个主机上配置文件包括有集群信息、主机信息以及心跳磁盘的信息,形成配置文件的方式是通过执行命令行的方式,将各个主机上的配置文件逐渐完成所需要的配置。当所有信息通过运行命令的方式添加完成后,运行相关服务,完成CFS存储域的配置。比如CFS存储域中有三个主机,则需要在每个主机上都运行三条添加主机的命令,这样在每个主机的配置文件中才会形成三个主机的基本信息,当所有的主机运行完成后,完成了心跳磁盘的添加。在另一种可实现的实施方式中,为了减少由于某台主机卡顿或者运行命令异常,都有可能导致最终三台主机的配置文件不一致,从而导致CFS存储域异常,可以采用在线添加心跳磁盘,不在使用命令行的方式来完成单个主机上配置信息的填充,而是通过服务器虚拟化系统中数据库里记录的属于这个CFS存储域的主机信息、心跳磁盘信息,直接生成多主机所需要的配置信息,一次性分发到各个主机上,也保证了各个主机配置文件的一致性,然后运行相关服务,完成CFS存储域的配置,简化了心跳管理的流程,进行心跳磁盘的管理时不需要进入CFS存储域的维护模式,为后端存储设备切换时只进行一次业务虚拟机的在线迁移提供了技术保证。

并且,每一个数据磁盘创建有对应的第一存储池,本实施例不对数据磁盘的数量进行限定,用户可根据实际需求在进行新后端存储设备划分磁盘时进行设定,只要是能够实现本实施例的目的即可。

S103、将原后端存储设备的第二存储池中的虚拟机迁移至第一存储池,并删除第二存储池和第二心跳磁盘。

将员后端存储设备的第二存储池中的虚拟机迁移到第一存储池中,并删除第二存储池和第二心跳磁盘,断开了原后端存储设备。

进一步的,删除第二存储池和第二心跳磁盘之后,还包括:断开原后端存储设备与各个主机的映射关系。断开原后端存储设备与各个主机的映射关系后,完成了原后端存储设备的移出,以便完成了整个后端存储设备的切换。

基于上述技术方案,本实施例通过根据切换指令在新后端存储设备上划分出大于原后端存储设备的第二心跳磁盘的数量的第一心跳磁盘,在存储域中添加第一心跳磁盘,此时,存储域中的心跳磁盘的数量是第一心跳磁盘和第二心跳磁盘的数量总和,当删除第二心跳磁盘时,由于存储域的仲裁机制,即使删除第二心跳磁盘,活跃的第一心跳磁盘的数量为总数的一半以上,存储域不会进入维护模式,对本地磁盘容量没有限制,能够保证运行业务不中断的情况下完成后端存储设备的在线切换,切换操作简单。

基于上述实施例,为了能够,本实施例提供一种后端存储设备切换方法,通过采用存储域配置文件分发的优化策略,将所有的配置信息发送至所有的主机,以便替换所有主机中的配置文件,实现重载服务,最终在线添加了第一心跳磁盘,发挥第一心跳磁盘的作用,具体请参考图2,图2为本申请实施例所提供的另一种后端存储设备切换方法的流程图,包括:

S201、读取切换指令,并根据切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量;

具体请参考上述实施例,本实施例不再进行赘述。

S202、从虚拟化环境的数据库中读取主机信息和心跳磁盘信息,并根据主机信息和心跳磁盘信息生成配置信息;

进一步的,在步骤S202之前还包括:在数据库中,将第一心跳磁盘对应的物理磁盘标记为心跳磁盘,以使生成心跳磁盘信息。

本实施例在线添加心跳磁盘时,将添加为第一心跳磁盘的物理磁盘在虚拟化环境的数据库中,标记为心跳磁盘,通过CFS存储域配置文件分发的优化策略,将所有配置信息重新分发到各个主机,更新主机的配置文件,然后在各个主机上重载服务,使在线添加的心跳磁盘发挥其心跳作用。

本实施例将命令行添加形成配置信息的方式替换成通过数据库中的相关记录直接抓取形成配置信息的方式,减少了各个主机上命令行的运行,同时提升了各个主机上配置文件的一致性和可靠性。

S203、发送配置信息至各个主机,以使各个主机重载服务,完成第一心跳磁盘的添加;

S204、建立数据磁盘对应的第一存储池;

S205、将原后端存储设备的第二存储池中的虚拟机迁移至第一存储池,并删除第二存储池和第二心跳磁盘。

基于上述技术方案,本实施例采用合理的CFS存储域心跳管理的优化方案和CFS存储域配置文件分发的优化策略,在只进行一次虚拟机在线迁移的前提下,完成虚拟化系统后端的存储设备进行切换,操作流程更加高效、实用,保证服务器虚拟化的稳定性和高可用性。

基于上述实施例,本实施例提供一种具体的后端存储设备在线切换的方法,包括:

服务器虚拟化系统中存在3个主机,3个主机共同使用A存储(原后端存储设备),A存储上划分了1块第二心跳磁盘,2块第二数据磁盘,3块磁盘映射到3个主机上,即可通过各个主机都能看到这3块共享磁盘。3个主机,1块第二心跳磁盘,2块第二数据磁盘形成一个CFS存储域。在CFS存储域中基于2块第二数据磁盘创建了2个CFS存储池(C和D),多个业务虚拟机便运行在这两个CFS存储池上。

当服务器虚拟化系统需要进行存储切换时,即使用B存储(新后端存储设备)来替换A存储时,此时需要在B存储上划出2块第一心跳磁盘(1+1=2),2块第一数据磁盘,将4块盘映射到CFS存储域中的各个主机上,通过在线添加第一心跳磁盘的方式,将2块新的第一心跳磁盘添加到CFS存储域中,此时CFS存储域中有3块心跳磁盘,接着将2块第一数据磁盘创建为CFS存储池(E和F)。接着,将CFS存储池C和D上的业务虚拟机通过在线迁移的方式迁移到CFS存储池E和F上,完成迁移后,将C、D这2个CFS存储池删除,断开A存储,此时由于CFS存储域中存在3块心跳磁盘,2块active盘,所以CFS存储域可正常运行。最后,在CFS存储域心跳管理界面删除掉断开的第二心跳磁盘,断开A存储的映射,即可移除A存储,从而完成整个后端存储设备的切换流程。

可见,相关技术中服务器虚拟化系统进行后端存储切换时,由于心跳磁盘的限制,需要进入维护模式来进行存储设备的切换,需要先将CFS存储池上的虚拟机先迁移到本地存储池,待完成存储切换后,再将虚拟机迁移到在新存储设备上创建的CFS存储池,最终完成存储设备切换,但是,切换流程复杂,且容易导致CFS存储域配置文件不一致,触发Fence机制或者Umount机制。本实施例提供的后端存储切换方案,可以有效减少虚拟机在线迁移的次数,保证CFS存储域中配置文件的一致性,且操作流程更加简洁高效,提高了服务器虚拟化的稳定性。

下面对本申请实施例提供的一种后端存储设备切换装置进行介绍,下文描述的装置与上文描述的后端存储设备切换方法可相互对应参照,参考图4,图4为本申请实施例所提供的一种后端存储设备切换装置的结构示意图,包括:

读取与划分模块410,用于读取切换指令,并根据切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,第一心跳磁盘的数量大于原后端存储设备的第二心跳磁盘的数量;

添加与建立模块420,用于在存储域中添加第一心跳磁盘,并建立数据磁盘对应的第一存储池;

迁移与删除模块430,用于将原后端存储设备的第二存储池中的虚拟机迁移至第一存储池,并删除第二存储池和第二心跳磁盘。

优选地,添加与建立模块420,包括:

读取与生成单元,用于从虚拟化环境的数据库中读取主机信息和心跳磁盘信息,并根据主机信息和心跳磁盘信息生成配置信息;

发送单元,用于发送配置信息至各个主机,以使各个主机重载服务,完成第一心跳磁盘的添加。

优选地,添加与建立模块420,还包括:

标记单元,用于在数据库中,将第一心跳磁盘对应的物理磁盘标记为心跳磁盘,以使生成心跳磁盘信息。

优选地,还包括:

断开模块,用于断开原后端存储设备与各个主机的映射关系。

优选地,读取与划分模块410,包括:

划分单元,用于根据切换指令在新后端存储设备上划分出多个数据磁盘和第一心跳磁盘;其中,第一心跳磁盘的数量比第二心跳磁盘的数量大1。

由于后端存储设备切换装置部分的实施例与后端存储设备切换方法部分的实施例相互对应,因此后端存储设备切换装置部分的实施例请参见后端存储设备切换方法部分的实施例的描述,这里暂不赘述。

下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的后端存储设备切换方法可相互对应参照。

本申请实施例提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上后端存储设备切换方法的步骤。

由于电子设备部分的实施例与后端存储设备切换方法部分的实施例相互对应,因此电子设备部分的实施例请参见后端存储设备切换方法部分的实施例的描述,这里暂不赘述。

下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的后端存储设备切换方法可相互对应参照。

本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上后端存储设备切换方法的步骤。

由于计算机可读存储介质部分的实施例与后端存储设备切换方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见后端存储设备切换方法部分的实施例的描述,这里暂不赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种后端存储设备切换方法、装置、设备和介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

相关技术
  • 一种后端存储设备切换方法、装置、设备和介质
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
技术分类

06120112149626