云路由高可用方法及设备与流程

文档序号:26003752发布日期:2021-07-23 21:21阅读:167来源:国知局
云路由高可用方法及设备与流程

本发明涉及计算机领域,尤其涉及一种云路由高可用方法及设备。



背景技术:

云路由是云计算iaas层对路由器的虚拟化的产物,云计算平台iaas创建的所有网络及其对应的网络服务都要依赖云路由提供。如果云路由出现故障那必将影响整个云的使用。然而,不可避免的,承载云路由的物理机可能出现硬件故障,从而导致云路由故障。

实际应用中,云路由往往通过虚机ha(highavailable)策略保证云路由高可用,但虚机的ha策略需要共享存储支持,其原理是故障之后,用云路由在共享存储中的副本在正常的物理节点启动起来。一般情况下,这个宕机时间到再恢复一般需要3分钟左右的时间才能正常恢复。

然而3分钟的宕机时间往往不能满足实际的需要,试想一个抢票系统,应用3分钟不能访问,往往几乎就没机会了。另一方面,如果故障,开发者通常需要在云路由中找到过程中的日志等信息供分析,重新启动的虚机本身并不会保存原有虚机中运行过程中的状态。此前建立的网络连接也都会中断。



技术实现要素:

本发明的一个目的是提供一种云路由高可用方法及设备。

根据本发明的一个方面,提供了一种云路由高可用方法,该方法包括:

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

主路由虚拟机从正常虚拟机获取网络访问请求,并基于所述网络访问请求为所述正常虚拟机建立对应的网络连接。

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

将原始云路由器封装到云路由镜像中;

用脚本调用qemu命令,并基于所述云路由镜像,在第一物理机上创建主路由虚拟机、在第二物理机上为所述主路由虚拟机创建对应的备路由虚拟机。

进一步的,上述方法中,主路由虚拟机从正常虚拟机获取网络访问请求,并基于所述网络访问请求为所述正常虚拟机建立对应的网络连接,包括:

主路由虚拟机从正常虚拟机获取网络访问请求;

主路由虚拟机基于所述网络访问请求,执行为所述正常虚拟机建立对应的网络连接的第一操作,同时将所述第一操作同步到备路由虚拟机。

进一步的,上述方法中,主路由虚拟机基于所述网络访问请求,执行为所述正常虚拟机建立对应的网络连接的第一操作,同时将所述第一操作同步到备路由虚拟机之后,还包括:

当所述主路由虚拟机故障时,所述备路由虚拟机基于从主路由虚拟机同步到的第一操作,执行后续对应的为所述正常虚拟机建立对应的网络连接的第二操作。

根据本发明的另一方面,还提供一种云路由高可用设备,其中,该设备包括:

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

主路由虚拟机或备路由虚拟机,用于从正常虚拟机获取网络访问请求,并基于所述网络访问请求为所述正常虚拟机建立对应的网络连接。

进一步的,上述设备中,所述创建装置,用于将原始云路由器封装到云路由镜像中;用脚本调用qemu命令,并基于所述云路由镜像,在第一物理机上创建主路由虚拟机、在第二物理机上为所述主路由虚拟机创建对应的备路由虚拟机。

进一步的,上述设备中,所述主路由虚拟机,用于从正常虚拟机获取网络访问请求;主路由虚拟机基于所述网络访问请求,执行为所述正常虚拟机建立对应的网络连接的第一操作,同时将所述第一操作同步到备路由虚拟机。

进一步的,上述设备中,所述备路由虚拟机,用于当所述主路由虚拟机故障时,所述备路由虚拟机基于从主路由虚拟机同步到的第一操作,执行后续对应的为所述正常虚拟机建立对应的网络连接的第二操作。

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

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

与现有技术相比,本发明通过建立一对容错的虚机来解决云路由的高可用场景问题,容错技术是虚拟化底层qemu工具提供的一对主备虚机,而启动的一对虚机时使用的云路由的镜像,这样就保证了利用容错技术创建了一对云路由虚机,其中主云路由上的路由器所有操作都会被同步到备云路由上同步运行。当主云路由故障时,备云路由会在1秒内接替主云路由的工作,而整个过程,云路由内部的服务无感,之前建立的所有网络连接也不会中断。

附图说明

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

图1示出根据本发明一个方面的一种云路由高可用方法的示意图。

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

具体实施方式

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

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

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

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

如图1所示,本发明提供一种云路由高可用方法,所述方法包括:

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

步骤s2,主路由虚拟机vm1从正常虚拟机vm3获取网络访问请求,并基于所述网络访问请求为所述正常虚拟机建立对应的网络连接。

在此,本发明通过容错保护的一对虚拟机就是图1中的主路由虚拟机vm1和备路由虚拟机vm2。基于qemu的容错会保证同一时间点只有主路由虚拟机vm1或备路由虚拟机vm2起作用,其中的另外一个备路由虚拟机vm2或主路由虚拟机vm1只用来同步运行对方路由虚拟机转发过来的命令和定期同步状态的第一操作,以保证主备云路由器的两个虚机实时同步。另一方面,对外的网络服务只有主路由虚拟机起作用,以避免引发网络上的服务冲突(如dhcp冲突等)。由于是虚机级别的热备,所以运行时正常虚拟机的网络访问请求对应建立的网络连接(建立网络通道)也会同步热备到备路由虚拟机上,所以当主路由虚拟机的所在物理机发生故障时,备路由虚拟机直接接管,由于此前热备的架构,所有主路由虚拟机的此前建立的网络连接都在备路由虚拟机上,网络的连接会无感切换,切换的时间也不会像传统云路由高可用那样故障之后要系统重启,并且路由切换1秒内可以完成。

具体的,如图1所示,主路由虚拟机vm1和备路由虚拟机vm2之间可以通过公有网络和管理网络通信;主路由虚拟机vm1和正常虚拟机vm3可以通过云路由私有网络通信。

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

将原始云路由器封装到云路由镜像中;

用脚本调用qemu命令,并基于所述云路由镜像,在第一物理机上创建主路由虚拟机、在第二物理机上为所述主路由虚拟机创建对应的备路由虚拟机。

在此,可以将传统云路由器保存为云路由镜像,然后利用云路由镜像创建主云路由虚拟机,接着可以利用qemu的容错技术,为主云路由虚拟机创建备云路由虚拟机,注意这里备云路由虚拟机要创建在与主云路由虚拟机不同的物理机上。

待备云路由虚拟机创建完成,初始数据同步完成,就可以建立云路由的私有网络,可以为正常虚拟机提供网络服务了。

本发明的云路由高可用方法一实施例中,步骤s2,主路由虚拟机从正常虚拟机获取网络访问请求,并基于所述网络访问请求为所述正常虚拟机建立对应的网络连接,包括:

主路由虚拟机从正常虚拟机获取网络访问请求;

主路由虚拟机基于所述网络访问请求,执行为所述正常虚拟机建立对应的网络连接的第一操作,同时将所述第一操作同步到备路由虚拟机。

本发明的云路由高可用方法一实施例中,主路由虚拟机基于所述网络访问请求,执行为所述正常虚拟机建立对应的网络连接的第一操作,同时将所述第一操作同步到备路由虚拟机之后,还包括:

当所述主路由虚拟机故障时,所述备路由虚拟机基于从主路由虚拟机同步到的第一操作,执行后续对应的为所述正常虚拟机建立对应的网络连接的第二操作。

在此,所述第一操作可以是主路由虚拟机故障之前正常运行,执行的部分的为所述正常虚拟机建立对应的网络连接的操作;所述第二操作可以是备路由虚拟机执行的主路由虚拟机故障后,待备路由虚拟机的接续完成的为所述正常虚拟机建立对应的网络连接的任务的第一操作之外的剩余操作。

具体的,主云路由、备路由启动后,可以启动qemu管理进程;正常虚拟机向主云路由虚拟机发送网页访问请求;主云路由虚拟机执行将网页访问请求发送到外网的第一操作;主云路由虚拟机将第一操作数据备份到被路由虚拟机;当主云路由虚拟机瘫痪时,qemu管理进程切换备路由虚拟机,以继续提供路由服务。

根据本发明的另一方面,还提供一种云路由高可用设备,其中,该设备包括:

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

主路由虚拟机,用于从正常虚拟机获取网络访问请求,并基于所述网络访问请求为所述正常虚拟机建立对应的网络连接。

进一步的,上述设备中,所述创建装置,用于将原始云路由器封装到云路由镜像中;用脚本调用qemu命令,并基于所述云路由镜像,在第一物理机上创建主路由虚拟机、在第二物理机上为所述主路由虚拟机创建对应的备路由虚拟机。

进一步的,上述设备中,所述主路由虚拟机,用于从正常虚拟机获取网络访问请求;主路由虚拟机基于所述网络访问请求,执行为所述正常虚拟机建立对应的网络连接的第一操作,同时将所述第一操作同步到备路由虚拟机。

进一步的,上述设备中,还包括:备路由虚拟机,用于当所述主路由虚拟机故障时,所述备路由虚拟机基于从主路由虚拟机同步到的第一操作,执行后续对应的为所述正常虚拟机建立对应的网络连接的第二操作。

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

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

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

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

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

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

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

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