一种虚拟化容错方法及设备技术

技术编号:27116178 阅读:21 留言:0更新日期:2021-01-25 19:18
本申请的目的是提供一种虚拟化容错方法及设备,本申请通过虚拟机管理器在第一物理机上创建至少一个主虚拟机及其虚拟硬盘,同时在第二物理机上对应创建至少一个备虚拟机,并将主虚拟机的虚拟硬盘复制至第二物理机;启动主虚拟机且处于容错模式后,启动备虚拟机,将主虚拟机的对外网络接口打开,同时阻断备虚拟机的对外网络接口;将主虚拟机的状态信息同步至备虚拟机;若检测到第一物理机和/或主虚拟机发生故障,则从主虚拟机切换至备虚拟机,并将备虚拟机的对外网络接口打开,以同步的最新状态信息运行所述备虚拟机,实现了通过将容错技术应用到虚拟化中,屏蔽了硬件差异,在保证性能的同时,使各服务器中部署的应用同样具备极高的可用性。高的可用性。高的可用性。

【技术实现步骤摘要】
一种虚拟化容错方法及设备


[0001]本申请涉及计算机领域,尤其涉及一种虚拟化容错方法及设备。

技术介绍

[0002]现有技术中,提高应用程序的可用性一直是建设信息化基础设施中需要着重考虑的目标,而现实情况是很多应用程序的可用性由于其架构限制,需要额外开发组件以扩展其可靠性,从而在保证其可用性达到一定的要求。传统的应用高可用技术有主备、双活、集群等技术,但是这些都需要通过应用改造才能达成,而对于很多工业现场应用、嵌入式应用等单机应用来说,企业如果必须保证这些应用的可用性从而避免对生产业务造成损失,就需要购买单独的应用集群软件、数据库集群软件等,其部署、维护成本都非常昂贵,且难以达到很高的可用性要求。因此,在这些场景中如果使用容错技术,则能保证一台服务器宕机后另一台机器中的应用立即上线达到无缝切换的目的,从而使得业务保持一直在线。
[0003]现有的容错方案中,硬件容错产品FT Server采用中央处理器(Central Processing Unit,CPU)的锁步(lockstep)、硬盘RAID等技术,保证两台服务器的CPU、内存、硬盘等处于同步状态,当一台机器宕机时另外一台机器的状态立即切换为上线,可保证应用一直在线。而对于硬件容错技术而言,由于采用了CPU的锁步技术来保证两台服务器的运行状态保持一致,因而就会在兼容性、性能等方面产生一定的缺陷,比如,CPU锁步技术相当于调试开关,让CPU的运行状态能够复制到外部CPU中,但是这样也就对CPU的计算能力有一部分消耗在状态复制上,导致CPU、内存等性能有一定损失;又比如,CPU锁步技术需要在特定的CPU型号、主板上才能支持,对硬件有要求,用户不能使用自有服务器部署;又比如,硬件容错产品中只能部署一个操作系统,但是其上的应用程序很难利用其全部硬件性能,因而也就造成了资源浪费;又比如,硬件容错产品往往都是采用X86服务器,导致在很多采用ARM服务器的场景中不能使用,因而这些ARM服务器应用的可用性就无法满足要求。

技术实现思路

[0004]本申请的一个目的是提供一种虚拟化容错方法及设备,将容错技术应用到虚拟化中,屏蔽了硬件差异,在保证性能的同时,使各服务器中部署的应用同样具备极高的可用性。
[0005]根据本申请的一个方面,提供了一种虚拟化容错方法,应用于虚拟机管理器端,其中,所述方法包括:
[0006]在第一物理机上创建至少一个主虚拟机及其虚拟硬盘,同时,在第二物理机上对应创建至少一个备虚拟机,并将所述主虚拟机的虚拟硬盘复制至所述第二物理机;
[0007]启动所述主虚拟机且处于容错模式后,启动所述备虚拟机,将所述主虚拟机的对外网络接口打开,同时阻断所述备虚拟机的对外网络接口;
[0008]将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机;
[0009]若检测到所述第一物理机和/或所述主虚拟机发生故障,则从所述主虚拟机切换
至所述备虚拟机,并将所述备虚拟机的对外网络接口打开,以同步的最新状态信息运行所述备虚拟机。
[0010]进一步地,上述方法中,所述第一物理机和所述第二物理机上均包括模拟器;
[0011]其中,所述将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机,包括:
[0012]通过所述模拟器,经由所述第一物理机与所述第二物理机之间的内部网络,将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机。
[0013]进一步地,上述方法中,所述将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机,包括:
[0014]实时获取所述主虚拟机的网络状态和内存状态;
[0015]基于所述主虚拟机的网络状态和内存状态确定同步传递频率;
[0016]基于所述同步传递频率将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机。
[0017]进一步地,上述方法中,所述方法还包括:
[0018]通过所述第一物理机与所述第二物理机之间的内部网络,对所述第一物理机和所述主虚拟机进行心跳检测,以检测所述第一物理机和所述主虚拟机是否发生故障。
[0019]进一步地,上述方法中,所述主虚拟机的虚拟硬盘与所述备虚拟机的虚拟硬盘相互独立;
[0020]其中,所述方法还包括:
[0021]将所述主虚拟机的相关文件写入所述主虚拟机的虚拟硬盘的同时,还将所述主虚拟机的相关文件写入所述备虚拟机的虚拟硬盘。
[0022]进一步地,上述方法中,所述状态信息包括以下至少任一项:
[0023]中央处理器、内存、硬盘及网络。
[0024]根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述虚拟化容错方法。
[0025]根据本申请的另一方面,还提供了一种用于虚拟化容错的设备,其中,该设备包括:
[0026]一个或多个处理器;
[0027]计算机可读介质,用于存储一个或多个计算机可读指令,
[0028]当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述虚拟化容错方法。
[0029]与现有技术相比,本申请通过虚拟机管理器在第一物理机上创建至少一个主虚拟机及其虚拟硬盘,同时,在第二物理机上对应创建至少一个备虚拟机,并将所述主虚拟机的虚拟硬盘复制至所述第二物理机;启动所述主虚拟机且处于容错模式后,启动所述备虚拟机,将所述主虚拟机的对外网络接口打开,同时阻断所述备虚拟机的对外网络接口;将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机;若检测到所述第一物理机和/或所述主虚拟机发生故障,则从所述主虚拟机切换至所述备虚拟机,并将所述备虚拟机的对外网络接口打开,以同步的最新状态信息运行所述备虚拟机,实现了通过将容错技术
应用到虚拟化中,提高了虚拟机运行效率,屏蔽了硬件差异,解决了单机有状态应用程序无法高可用的问题,使得在保证性能的同时,使各服务器中部署的应用同样具备极高的可用性。
附图说明
[0030]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0031]图1示出根据本申请一个方面的一种虚拟化容错方法的流程示意图;
[0032]图2示出根据本申请一个方面的一种虚拟化容错方法的中的虚拟机容错架构示意图;
[0033]图3示出根据本申请一个方面的一种虚拟化容错方法中的容错虚拟机创建的流程示意图;
[0034]图4示出根据本申请一个方面的一种虚拟化容错方法中的虚拟化容错原理图。
[0035]附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
[0036]下面结合附图对本申请作进一步详细描述。
[0037]在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟化容错方法,应用于虚拟机管理器端,其中,所述方法包括:在第一物理机上创建至少一个主虚拟机及其虚拟硬盘,同时,在第二物理机上对应创建至少一个备虚拟机,并将所述主虚拟机的虚拟硬盘复制至所述第二物理机;启动所述主虚拟机且处于容错模式后,启动所述备虚拟机,将所述主虚拟机的对外网络接口打开,同时阻断所述备虚拟机的对外网络接口;将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机;若检测到所述第一物理机和/或所述主虚拟机发生故障,则从所述主虚拟机切换至所述备虚拟机,并将所述备虚拟机的对外网络接口打开,以同步的最新状态信息运行所述备虚拟机。2.根据权利要求1所述的方法,其中,所述第一物理机和所述第二物理机上均包括模拟器;其中,所述将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机,包括:通过所述模拟器,经由所述第一物理机与所述第二物理机之间的内部网络,将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机。3.根据权利要求2所述的方法,其中,所述将所述主虚拟机的状态信息同步至所述第二物理机上的所述备虚拟机,包括:实时获取所述主虚拟机的网络状态和内存状态;基于所述主虚拟机的网络状态和内存状态确定...

【专利技术属性】
技术研发人员:蒋迪尤永康梅磊
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1