镜像仓库高可用方法及设备与流程

文档序号:26003754发布日期:2021-07-23 21:21阅读:74来源:国知局
镜像仓库高可用方法及设备与流程

本发明涉及计算机领域,尤其涉及一种镜像仓库高可用方法及设备。



背景技术:

镜像仓库是云计算iaas层提供镜像下载的关键服务,没有镜像服务器,就无法新建镜像,也就无法新建虚机,在一些小规模的云计算平台,如2、3个节点的基于超融合一体机的云环境,镜像服务器通常被部署到其中的一个节点,如果该节点故障宕机,整个云环境就无法提供下载和保存镜像的服务了。如果没有镜像仓库的高可用,整个云环境也会因为镜像仓库这个关键服务的丢失无法正常工作。其影响范围包括但不限于,上传下载镜像,保存云主机镜像,备份数据,灾备等功能。

实际应用中,镜像仓库高可用往往通过自己设计一个高可用组,然后不定期的同步数据来完成,但是,这种高可用并不能实现实时同步。而且很有可能存在一段时间内高可用的两个节点数据不一致的问题。造成后续为了解决不一致而增加冗长的逻辑来处理各种各样的中间态。而且这种高可用无法解决本发明要解决的2个问题。主要原因是这种设计在故障切换之后一定会中断已建立的网络连接,导致此前下载一半的任务中断。

试想,一个要下载1天的镜像,中间由于故障切换,任务失败对于使用者是个怎样的心情。显然这并不是最好的解决方法。



技术实现要素:

本发明的一个目的是提供一种镜像仓库高可用方法及设备

根据本发明的一个方面,提供了一种镜像仓库高可用方法,该方法包括:

基于qemu命令的容错技术,在第一物理机上创建主容错虚拟机及在第二物理机上创建备容错虚拟机;

将主容错虚拟机添加为镜像服务器;

所述镜像服务器为计算资源虚拟机提供镜像下载或上传服务。

进一步的,上述方法中,将主容错虚拟机添加为镜像服务器,包括:

将主容错虚拟机的ip地址,添加为镜像服务器的ip地址,其中,所述主容错虚拟机和备容错虚拟机的ip地址相同。

进一步的,上述方法中,基于qemu命令的容错技术,在第一物理机上创建主容错虚拟机及在第二物理机上创建备容错虚拟机,包括:

用脚本调用qemu命令,并基于原云管平台的镜像服务器的原始镜像仓库,在第一物理机上创建主容错虚拟机及在第二物理机上创建备容错虚拟机。

进一步的,上述方法中,用脚本调用qemu命令,并基于原云管平台的镜像服务器的原始镜像仓库,在第一物理机上创建主容错虚拟机vm1及在第二物理机上创建备容错虚拟机之后,还包括:

卸载原云管平台的镜像服务器。

进一步的,上述方法中,所述镜像服务器为计算资源虚拟机提供镜像下载服务,包括:

镜像服务器中的主容错虚拟机获取镜像下载服务的请求;

主容错虚拟机基于所述镜像下载服务的请求,执行将镜像仓库中的镜像发送给对应的计算资源虚拟机的第一操作,同时将所述第一操作同步到备容错虚拟机。

进一步的,上述方法中,主容错虚拟机基于所述镜像下载服务的请求,执行将镜像仓库中的镜像发送给对应的计算资源虚拟机的第一操作,同时将所述第一操作同步到备容错虚拟机,还包括:

当所述主容错虚拟机故障时,所述备容错虚拟机基于从主容错虚拟机同步到的第一操作,执行后续对应的将镜像发送给计算资源虚拟机的第二操作。

进一步的,上述方法中,所述镜像服务器为计算资源虚拟机提供镜像上传服务,包括:

镜像服务器中的主容错虚拟机获取镜像上传服务的请求;

主容错虚拟机基于所述镜像上传服务的请求,执行从计算资源虚拟机接收镜像并保存到镜像仓库中的第一操作,同时将所述第一操作同步到备容错虚拟机。

进一步的,上述方法中,主容错虚拟机基于所述镜像上传服务的请求,执行从计算资源虚拟机接收镜像并保存到镜像仓库中的第一操作,同时将所述第一操作同步到备容错虚拟机之后,还包括:

当所述主容错虚拟机故障时,所述备容错虚拟机基于从主容错虚拟机同步到的第一操作,执行后续对应的从计算资源虚拟机接收镜像并保存到镜像仓库中的第二操作。

根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。

根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。

与现有技术相比,本发明通过建立一对容错的虚机来解决的镜像仓库高可用问题,容错技术是虚拟化底层工具提供的一对主备虚机,qemu层会保证容错的虚机的内容始终一致,这里我们将镜像服务器建立在容错服务器内部,由于容错虚机本身具备高可用,镜像仓库也就具备了高可用的属性,当有镜像上传或下载时,主容错虚拟机和备容错虚拟机之间会内部实时同步,始终保持数据一致。当有故障切换时,基于qemu的容错会保证由主容错虚拟机在1s内切换到备容错虚拟机,并且此前跟应用建立的网络连接不中断。整个过程也就保证了镜像服务器上到镜像仓库的正常使用、不中断,镜像仓库服务的故障恢复时间限制在1秒内,实现镜像仓库高可用。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出根据本发明一个方面的一种镜像仓库高可用方法的示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

如图1所示,本发明提供一种镜像仓库高可用方法,所述方法包括:

步骤s1,基于qemu命令的容错技术,在第一物理机上创建主容错虚拟机及在第二物理机上创建备容错虚拟机;

步骤s2,将主容错虚拟机添加为镜像服务器;

步骤s3,所述镜像服务器为计算资源虚拟机提供镜像下载或上传服务。

在此,本发明通过建立一对容错的虚机来解决的镜像仓库高可用问题,容错技术是虚拟化底层工具提供的一对主备虚机,qemu层会保证容错的虚机的内容始终一致,这里我们将镜像服务器建立在容错服务器内部,由于容错虚机本身具备高可用,镜像仓库也就具备了高可用的属性,当有镜像上传或下载时,主容错虚拟机和备容错虚拟机之间会内部实时同步,始终保持数据一致。当有故障切换时,基于qemu的容错会保证由主容错虚拟机在1s内切换到备容错虚拟机,并且此前跟应用建立的网络连接不中断。整个过程也就保证了镜像服务器上到镜像仓库的正常使用、不中断,镜像仓库服务的故障恢复时间限制在1秒内,实现镜像仓库高可用。

本发明的镜像仓库高可用方法一实施例中,步骤s2,将主容错虚拟机添加为镜像服务器,包括:

将主容错虚拟机的ip地址添加为镜像服务器的ip地址,其中,所述主容错虚拟机和备容错虚拟机的ip地址相同。

在此,如图1所示,可以利用基于qemu命令的容错技术创建一对容错虚拟机,将主容错虚拟机的ip地址添加为镜像仓库服务器的ip地址。对于云管平台,容错保护的主、备容错虚机就是1个虚机。

容错保护的一对容错虚拟机就是图1中的2个容错虚拟机vm1、vm2,他们分别处于不同的第一物理机host1和第二物理机host2上,由于容错虚拟机vm1、vm2本身具备高可用,镜像仓库服务器也就具备了高可用的属性。

本实施例中,利用基于qemu的容错技术创建一对虚机,将主容错虚拟机的ip地址添加为镜像服务器。只要在云管平台把对应的主容错虚拟机的ip地址填入,就可以在主容错虚拟机和备容错虚拟机的内部部署镜像仓库服。

所述主容错虚拟机和备容错虚拟机的ip地址相同,可以统一对外提供服务。

本发明的镜像仓库高可用方法一实施例中,步骤s1,基于qemu命令的容错技术,在第一物理机上创建主容错虚拟机及在第二物理机上创建备容错虚拟机,包括:

如图1所示,用脚本调用qemu命令,并基于原云管平台的镜像服务器的原始镜像仓库,在第一物理机上创建主容错虚拟机vm1及在第二物理机上创建备容错虚拟机vm2。

在此,可以用脚本调用qemu命令,并基于所述原云管平台的镜像服务器的原始镜像仓库创建一对容错虚拟机,其中容错虚拟机要处于不同的物理机上。

本发明的镜像仓库高可用方法一实施例中,用脚本调用qemu命令,并基于原云管平台的镜像服务器的原始镜像仓库,在第一物理机上创建主容错虚拟机vm1及在第二物理机上创建备容错虚拟机vm2之后,还包括:

卸载原云管平台的镜像服务器,从而可靠切换到本发明的具有高可用功能的镜像服务器。

本发明的镜像仓库高可用方法一实施例中,步骤s3,所述镜像服务器为计算资源虚拟机提供镜像下载服务,包括:

如图1所示,镜像服务器中的主容错虚拟机vm1获取镜像下载服务的请求;

主容错虚拟机vm1基于所述镜像下载服务的请求,执行将镜像仓库中的镜像发送给对应的计算资源虚拟机vm3的第一操作,同时将所述第一操作同步到备容错虚拟机。

本发明的镜像仓库高可用方法一实施例中,主容错虚拟机vm1基于所述镜像下载服务的请求,执行将镜像仓库中的镜像发送给对应的计算资源虚拟机vm3的第一操作,同时将所述第一操作同步到备容错虚拟机vm3之后,还包括:

当所述主容错虚拟机vm1故障时,所述备容错虚拟机vm2基于从主容错虚拟机同步到的第一操作,执行后续对应的将镜像发送给计算资源虚拟机vm3的第二操作。

在此,所述第一操作可以是主容错虚拟机故障之前正常运行,执行的部分的将镜像仓库中的镜像发送给对应的计算资源虚拟机vm3的操作;所述第二操作可以是备容错虚拟机执行的主容错虚拟机故障后,待备容错虚拟机的接续完成将镜像仓库中的镜像发送给对应的计算资源虚拟机vm3的任务的第一操作之外的剩余操作。

本发明的镜像仓库高可用方法一实施例中,步骤s3,所述镜像服务器为计算资源虚拟机提供镜像上传服务,包括:

如图1所示,镜像服务器中的主容错虚拟机vm1获取镜像上传服务的请求;

主容错虚拟机vm1基于所述镜像上传服务的请求,执行从计算资源虚拟机vm3接收镜像并保存到镜像仓库中的第一操作,同时将所述第一操作同步到备容错虚拟机。

本发明的镜像仓库高可用方法一实施例中,主容错虚拟机vm1基于所述镜像上传服务的请求,执行从计算资源虚拟机vm3接收镜像并保存到镜像仓库中的第一操作,同时将所述第一操作同步到备容错虚拟机之后,还包括:

当所述主容错虚拟机vm1故障时,所述备容错虚拟机vm2基于从主容错虚拟机同步到的第一操作,执行后续对应的从计算资源虚拟机vm3接收镜像并保存到镜像仓库中的第二操作。

在此,所述第一操作可以是主容错虚拟机故障之前正常运行,执行的部分的从计算资源虚拟机vm3接收镜像并保存到镜像仓库中的操作;所述第二操作可以是备容错虚拟机执行的主容错虚拟机故障后,待备容错虚拟机的接续完成从计算资源虚拟机vm3接收镜像并保存到镜像仓库中的任务的第一操作之外的剩余操作。

根据本发明的另一方面,还提供一种镜像仓库高可用设备,其中,该设备包括:

创建装置,基于qemu命令的容错技术,在第一物理机上创建主容错虚拟机及在第二物理机上创建备容错虚拟机;

添加装置,用于将主容错虚拟机添加为镜像服务;

镜像服务器置,用于为计算资源虚拟机提供镜像下载或上传服务。

根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。

根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。

本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1