软件更新方法、装置、存储介质及设备制造方法及图纸

技术编号:18138197 阅读:45 留言:0更新日期:2018-06-06 11:40
本发明专利技术公开一种软件更新的方法、装置、存储介质及设备。该方法包括:替代步骤,对安装在第一物理机上的至少一个第一虚拟机在第二物理机上建立对应的第二虚拟机,并通过数据的共享和迁移技术使得第二虚拟机能够替代第一虚拟机执行服务;更新步骤,对第一物理机的内核和/或每个被替代的第一虚拟机进行软件更新。该方法能在不影响客户业务服务的前提下,快速、高效地更新虚拟系统中用户虚拟化软件和/或内核虚拟化模块。

【技术实现步骤摘要】
软件更新方法、装置、存储介质及设备
本专利技术涉及虚拟化计算机系统,具体地,涉及软件更新的方法、装置、存储介质及设备。
技术介绍
在KVM(Kernel-basedVirtualMachine,基于内核虚拟机)虚拟化中,服务运行在虚拟机上,并且一个或多个虚拟机可同时运行在一个物理机上。在KVM虚拟化系统中,当发现一些功能存在漏洞或需要改进时,可以更新替换系统组件并重新启动系统来修复漏洞、引入新特性和增强系统功能。通过虚拟化系统软件的动态更新能够在不影响现有运行软件正常运行的情况下,对软件的部分组件的功能进行更新。该软件更新过程应该是一种无损或者极低有损的升级过程,即整个软件升级过程对正在运行中的目标软件所提供的服务不产生影响或者所产生的影响用户无感知。在现有技术中,一种方法是通过热补丁来实现软件动态升级,另一种方法通过虚拟机之间进行本地热迁移实现部分虚拟化软件的更新。上述方法具有一定的局限性,对于软件热补丁方法,首先,需要通过编译生成特殊的补丁函数,对编译器存在依赖,补丁生成具有一定复杂性。其次,该方法无法对正在执行的函数进行升级,容易导致升级过程阻塞在某些函数中。此外,当程序重启之后,补丁会自动失效。对于本地虚拟机热迁移方法,在进行本地迁移时,虚拟机一直在本地宿主机上运行,这就必然需要依赖于部分虚拟化组件,特别是内核态虚拟化组件。也就使得这种方法只能升级运行虚拟机的用户态虚拟化软件,而无法升级运行虚拟机所依赖的各种内核虚拟模块。现有技术中,在涉及物理机内核相关的更新或版本统一时,通常需要重新启动物理机,这在公有云环境上会造成客户服务中断,甚至对客户造成很大损失。即便通过热迁移技术,将物理机中客户的磁盘数据迁移到其他物理机,再进行更新,也需要耗费很长的时间。
技术实现思路
本专利技术的目的在于提供了一种实现软件更新的方法、装置、存储介质及设备,以便能在不影响客户业务服务的前提下,快速、高效地在公有云环境下更新软件。第一方面,本专利技术实施例提供了一种软件更新方法,用于更新安装在第一物理机上的至少一个第一虚拟机,包括:替代步骤,对安装在第一物理机上的至少一个第一虚拟机在第二物理机上建立对应的第二虚拟机,并通过数据的共享和迁移技术使得所述第二虚拟机能够替代所述第一虚拟机执行服务;更新步骤,对所述第一物理机的内核和/或每个被替代的所述第一虚拟机进行软件更新。结合第一方面,本专利技术实施例的替代步骤还可以进一步包括:共享子步骤,通过共享存储技术,将磁盘数据以虚拟镜像的方式共享到所述第二物理机上;建立子步骤,在具有所述虚拟镜像的所述第二物理机上建立与所述第一虚拟机的配置相同的第二虚拟机;迁移子步骤,基于建立的所述第二虚拟机,将所述第一虚拟机的内存数据和状态数据迁移到所述第二物理机;启动子步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动与所述第一虚拟机对应的所述第二虚拟机。进一步地,如果所述软件更新包括更新所述第一物理机的内核,则,在所述共享子步骤中,所述磁盘数据来自存储在第三物理机上用于创建所述第一虚拟机的虚拟机镜像母盘;所述迁移子步骤包括,将所述第一虚拟机的磁盘中相对于所述虚拟机镜像母盘的增量磁盘数据迁移到所述第二物理机;并且所述启动子步骤包括,根据所述虚拟镜像、所述内存数据、所述状态数据和所述增量磁盘数据启动所述第二虚拟机。进一步地,如果所述软件更新为更新所述第一虚拟机,则,所述磁盘数据来自所述第一物理机中的每个所述第一虚拟机的本地磁盘数据。进一步地,在所述更新步骤之后,进一步包括:回迁步骤,对每个与所述第一虚拟机对应的所述第二虚拟机在所述第一物理机上建立对应的第三虚拟机,通过将数据从所述第二虚拟机回迁到所述第一物理机,使得所述第三虚拟机能够替代所述第二虚拟机执行服务。进一步地,如果更新了所述第一物理机的内核,则所述回迁步骤还包括:在所述第一物理机建立所述第三虚拟机,所述第三虚拟机的配置与所述第一虚拟机的配置相同;将所述第二虚拟机中的所述内存数据、所述状态数据和所述增量磁盘数据回迁到所述第一物理机;根据所述第一物理机的本地磁盘数据和所述回迁的数据启动所述第三虚拟机;关闭所述第二物理机与所述第三物理机之间的镜像共享。进一步地,如果没有更新所述第一物理机的内核,则所述回迁步骤还包括:在所述第一物理机建立所述第三虚拟机,所述第三虚拟机的配置与所述第一虚拟机的配置相同;将所述第二虚拟机中的所述内存数据和所述状态数据回迁到所述第一物理机;根据所述第一物理机的本地磁盘数据和所述回迁的数据启动所述第三虚拟机;关闭所述第一物理机与所述第二物理机之间的镜像共享。第二方面,本专利技术实施例提供了一种实现软件更新的装置,用于更新安装在第一物理机上的至少一个第一虚拟机,包括:替代模块,用于对安装在第一物理机上的至少一个第一虚拟机在第二物理机上建立对应的第二虚拟机,并通过数据的共享和迁移技术使得所述第二虚拟机能够替代所述第一虚拟机执行服务;更新模块,用于对所述第一物理机的内核和/或每个被替代的所述第一虚拟机进行软件更新。结合第二方面,本专利技术实施例的替代模块还可以进一步包括:共享单元,用于通过共享存储技术,将磁盘数据以虚拟镜像的方式共享到所述第二物理机上;建立单元,用于在具有所述虚拟镜像的所述第二物理机上建立与所述第一虚拟机的配置相同的第二虚拟机;迁移单元,用于基于建立的所述第二虚拟机,将所述第一虚拟机的内存数据和状态数据迁移到所述第二物理机;启动单元,用于根据所述虚拟镜像、所述内存数据和所述状态数据,启动与所述第一虚拟机对应的所述第二虚拟机。进一步地,如果所述软件更新包括更新所述第一物理机的内核,则,在所述共享单元中,所述磁盘数据来自存储在第三物理机上用于创建所述第一虚拟机的虚拟机镜像母盘;所述迁移单元包括,将所述第一虚拟机的磁盘中相对于所述虚拟机镜像母盘的增量磁盘数据迁移到所述第二物理机;并且所述启动单元包括,根据所述虚拟镜像、所述内存数据、所述状态数据和所述增量磁盘数据启动所述第二虚拟机。进一步地,如果所述软件更新为更新所述第一虚拟机,则,所述磁盘数据来自所述第一物理机中的每个所述第一虚拟机的本地磁盘数据。进一步地,所述装置还包括:回迁模块,用于对每个与所述第一虚拟机对应的所述第二虚拟机在所述第一物理机上建立对应的第三虚拟机,通过将数据从所述第二虚拟机回迁到所述第一物理机,使得所述第三虚拟机能够替代所述第二虚拟机执行服务。进一步地,如果更新了所述第一物理机的内核,则所述回迁模块还包括:在所述第一物理机建立所述第三虚拟机,所述第三虚拟机的配置与所述第一虚拟机的配置相同;将所述第二虚拟机中的所述内存数据、所述状态数据和所述增量磁盘数据回迁到所述第一物理机;根据所述第一物理机的本地磁盘数据和所述回迁的数据启动所述第三虚拟机;关闭所述第二物理机与所述第三物理机之间的镜像共享。进一步地,如果没有更新所述第一物理机的内核,则所述回迁模块还包括:在所述第一物理机建立所述第三虚拟机,所述第三虚拟机的配置与所述第一虚拟机的配置相同;将所述第二虚拟机中的所述内存数据和所述状态数据回迁到所述第一物理机;根据所述第一物理机的本地磁盘数据和所述回迁的数据启动所述第三虚拟机;关闭所述第一物理机与所述第二物理机之间的镜像共享。第三方面,本专利技术实施例提供了一种非本文档来自技高网
...
软件更新方法、装置、存储介质及设备

【技术保护点】
一种软件更新的方法,其特征在于,包括:替代步骤,对安装在第一物理机上的至少一个第一虚拟机在第二物理机上建立对应的第二虚拟机,并通过数据的共享和迁移技术使得所述第二虚拟机能够替代所述第一虚拟机执行服务;更新步骤,对所述第一物理机的内核和/或每个被替代的所述第一虚拟机进行软件更新。

【技术特征摘要】
1.一种软件更新的方法,其特征在于,包括:替代步骤,对安装在第一物理机上的至少一个第一虚拟机在第二物理机上建立对应的第二虚拟机,并通过数据的共享和迁移技术使得所述第二虚拟机能够替代所述第一虚拟机执行服务;更新步骤,对所述第一物理机的内核和/或每个被替代的所述第一虚拟机进行软件更新。2.根据权利要求1所述的方法,其特征在于,所述替代步骤还包括:共享子步骤,通过共享存储技术,将磁盘数据以虚拟镜像的方式共享到所述第二物理机上;建立子步骤,在具有所述虚拟镜像的所述第二物理机上建立与所述第一虚拟机的配置相同的第二虚拟机;迁移子步骤,基于建立的所述第二虚拟机,将所述第一虚拟机的内存数据和状态数据迁移到所述第二物理机;启动子步骤,根据所述虚拟镜像、所述内存数据和所述状态数据,启动与所述第一虚拟机对应的所述第二虚拟机。3.根据权利要求2所述的方法,其特征在于,如果所述软件更新包括更新所述第一物理机的内核,则,在所述共享子步骤中,所述磁盘数据来自存储在第三物理机上用于创建所述第一虚拟机的虚拟机镜像母盘;所述迁移子步骤包括,将所述第一虚拟机的磁盘中相对于所述虚拟机镜像母盘的增量磁盘数据迁移到所述第二物理机;并且所述启动子步骤包括,根据所述虚拟镜像、所述内存数据、所述状态数据和所述增量磁盘数据启动所述第二虚拟机。4.根据权利要求2所述的方法,其特征在于,如果所述软件更新为更新所述第一虚拟机,则,在所述共享子步骤中,所述磁盘数据来自所述第一物理机中的每个所述第一虚拟机的本地磁盘数据。5.根据权利要求1-4任一项所述的方法,其特征在于,在所述更新步骤之后,进一步包括:回迁步骤,对每个与所述第一虚拟机对应的所述第二虚拟机在所述第一物理机上建立对应的第三虚拟机,通过将数据从所述第二虚拟机回迁到所述第一物理机,使得所述第三虚拟机能够替代所述第二虚拟机执行服务。6.根据权利要求5所述的方法,其特征在于,如果更新了所述第一物理机的内核,则所述回迁步骤还包括:在所述第一物理机建立所述第三虚拟机,所述第三虚拟机的配置与所述第一虚拟机的配置相同;将所述第二虚拟机中的所述内存数据、所述状态数据和所述增量磁盘数据回迁到所述第一物理机;根据所述第一物理机的本地磁盘数据和所述回迁的数据启动所述第三虚拟机;关闭所述第二物理机与所述第三物理机之间的镜像共享。7.根据权利要求5所述的方法,其特征在于,如果没有更新所述第一物理机的内核,则所述回迁步骤还包括:在所述第一物理机建立所述第三虚拟机,所述第三虚拟机的配置与所述第一虚拟机的配置相同;将所述第二虚拟机中的所述内存数据和所述状态数据回迁到所述第一物理机;根据所述第一物理机的本地磁盘数据和所述回迁的数据启动所述第三虚拟机;关闭所述第一物理机与所述第二物理机之间的镜像共享。8.一种软件更新的装置,其特征在于,包括:替代模块,用于对安装在第一物理机上的至少一个第一虚拟机在第二物理机上建立对应的第二虚拟机,并通过数据的共享和迁移技术使得所述第二虚拟机能够替代所述第一虚拟机执行服务;更新模块,用于对所述第一物理机的内核和/或每个被替代的所述第一虚拟机进行软件更新。9.根据权利要求8所述的装置,其特征在于,所述替代模块还包括:共享单元,用于通过共享...

【专利技术属性】
技术研发人员:郑豪邱模炯
申请(专利权)人:上海优刻得信息科技有限公司
类型:发明
国别省市:上海,31

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

1