本申请涉及虚拟机技术领域,更具体地说,涉及一种虚拟机迁移方法、系统、设备及计算机可读存储介质。
背景技术:
超融合基础架构(hyper-convergedinfrastructure,hci)指的是在同一套单元设备中不仅仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括备份软件、快照技术、重复数据删除、在线数据压缩等元素,而多套单元设备可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out),形成统一的资源池。然而,在hci的应用过程中,当有虚拟机迁移至hci时,为了便于对迁移来的虚拟机进行管理,需要安装相应的软件工具。
现有的一种软件工具安装方法是手动安装,然而,手动安装过程中需要用户设置前置安装条件,为用户带来额外操作,影响用户体验。
综上所述,如何提高虚拟机迁移过程中的用户体验是目前本领域技术人员亟待解决的问题。
技术实现要素:
本申请的目的是提供一种虚拟机迁移方法,其能在一定程度上解决如何提高虚拟机迁移过程中的用户体验的技术问题。本申请还提供了一种虚拟机迁移系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种虚拟机迁移方法,应用于hci平台,包括:
响应虚拟机迁移指令;
复制待迁移虚拟机的数据,得到虚拟机镜像;
将软件工具安装包挂载并复制保存至所述虚拟机镜像;
调用软件工具安装程序,在所述虚拟机镜像中安装软件工具;
发送表征所述待迁移虚拟机迁移成功的信息。
优选的,所述将软件工具安装包挂载并复制保存至所述虚拟机镜像,包括:
创建中转虚拟机,将所述虚拟机镜像作为所述中转虚拟机的辅助盘;
命令所述中转虚拟机将所述软件工具安装包挂载并复制保存至所述虚拟机镜像;
所述调用软件工具安装程序,在所述虚拟机镜像中安装软件工具,包括:
命令所述中转虚拟机运行所述软件工具安装程序,在所述虚拟机镜像中安装所述软件工具。
优选的,所述创建中转虚拟机,包括:
通过guestfish工具创建所述中转虚拟机;
所述hci平台命令所述中转虚拟机,包括:
通过所述guestfish工具命令所述中转虚拟机。
优选的,所述命令所述中转虚拟机运行所述软件工具安装程序,在所述虚拟机镜像中安装所述软件工具之后,所述发送表征所述待迁移虚拟机迁移成功的信息之前,还包括:
控制所述中转虚拟机执行关机事件。
优选的,所述软件工具包括vmtools工具。
优选的,所述发送表征所述待迁移虚拟机迁移成功的信息之后,还包括:
启动迁移后的虚拟机。
优选的,所述调用软件工具安装程序,在所述虚拟机镜像中安装软件工具,包括:
调用软件工具安装脚本,在所述虚拟机镜像中安装软件工具,所述软件工具安装脚本中封装有软件工具安装程序。
一种虚拟机迁移系统,应用于hci平台,包括:
第一响应模块,用于响应虚拟机迁移指令;
第一复制模块,用于复制待迁移虚拟机的数据,得到虚拟机镜像;
第一设置模块,用于将软件工具安装包挂载并复制保存至所述虚拟机镜像;
第一调用模块,用于调用软件工具安装程序,在所述虚拟机镜像中安装软件工具;
第一发送模块,用于发送表征所述待迁移虚拟机迁移成功的信息。
一种虚拟机迁移设备,应用于hci平台,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述虚拟机迁移方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述虚拟机迁移方法的步骤。
本申请提供的一种虚拟机迁移方法,应用于hci平台,响应虚拟机迁移指令;复制待迁移虚拟机的数据,得到虚拟机镜像;将软件工具安装包挂载并复制保存至虚拟机镜像;调用软件工具安装程序,在虚拟机镜像中安装软件工具;发送表征待迁移虚拟机迁移成功的信息。本申请提供的虚拟机迁移方法,hci平台得到虚拟机镜像之后,需要借助软件工具安装包及软件工具安装程序,在虚拟机镜像中安装软件工具,之后才发送表征待迁移虚拟机迁移成功的信息,实现了在虚拟机的迁移过程中自动为待迁移虚拟机安装软件工具的功能,使得用户不再手动为待迁移虚拟机安装软件工具,提高了用户体验。本申请提供的一种虚拟机迁移系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种虚拟机迁移方法的第一流程图;
图2为本申请实施例提供的一种虚拟机迁移方法的第二流程图;
图3为实际应用中虚拟机迁移方法的流程图;
图4为本申请实施例提供的一种虚拟机迁移系统的结构示意图;
图5为本申请实施例提供的一种虚拟机迁移设备的结构示意图;
图6为本申请实施例提供的一种虚拟机迁移设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种虚拟机迁移方法的第一流程图。
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,可以包括以下步骤:
步骤s101:响应虚拟机迁移指令。
实际应用中,虚拟机迁移至hci平台之前,通常会发送虚拟机迁移指令给hci平台,以此告知hci平台需进行虚拟机迁移,所以hci平台需接收虚拟机迁移指令,并响应虚拟机迁移指令以执行响应的虚拟机迁移操作。
步骤s102:复制待迁移虚拟机的数据,得到虚拟机镜像。
实际应用中,hci在执行虚拟机迁移操作的过程中,由于迁移前后的虚拟机需相同,所以需要复制待迁移虚拟机的数据,得到虚拟机镜像,之后,基于虚拟机镜像重起虚拟机,以实现虚拟机的迁移。
步骤s103:将软件工具安装包挂载并复制保存至虚拟机镜像。
步骤s104:调用软件工具安装程序,在虚拟机镜像中安装软件工具。
实际应用中,待迁移虚拟机迁移至hci平台之后,为了使得待迁移虚拟机服从hci的管理,或者使得待迁移虚拟机满足hci的性能需求,需要在待迁移虚拟机中安装相应的软件工具,为了实现在迁移过程中自动为待迁移虚拟机安装软件工具,本申请中,hci平台来得到虚拟机镜像后,需将软件工具安装包挂载并复制保存至虚拟机镜像,之后,再调用软件工具安装程序,在虚拟机镜像中安装软件工具。
步骤s105:发送表征待迁移虚拟机迁移成功的信息。
实际应用中,hci平台为待迁移虚拟机安装软件工具之后,便可以发送表征待迁移虚拟机迁移成功的信息,以便用户等应用迁移至hci平台的虚拟机。
本申请提供的一种虚拟机迁移方法,应用于hci平台,响应虚拟机迁移指令;复制待迁移虚拟机的数据,得到虚拟机镜像;将软件工具安装包挂载并复制保存至虚拟机镜像;调用软件工具安装程序,在虚拟机镜像中安装软件工具;发送表征待迁移虚拟机迁移成功的信息。本申请提供的虚拟机迁移方法,hci平台得到虚拟机镜像之后,需要借助软件工具安装包及软件工具安装程序,在虚拟机镜像中安装软件工具,之后才发送表征待迁移虚拟机迁移成功的信息,实现了在虚拟机的迁移过程中自动为待迁移虚拟机安装软件工具的功能,使得用户不再手动为待迁移虚拟机安装软件工具,提高了用户体验。
请参阅图2,图2为本申请实施例提供的一种虚拟机迁移方法的第二流程图。
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,可以包括以下步骤:
步骤s201:响应虚拟机迁移指令。
步骤s202:复制待迁移虚拟机的数据,得到虚拟机镜像。
步骤s203:创建中转虚拟机,将虚拟机镜像作为中转虚拟机的辅助盘。
步骤s204:命令中转虚拟机将软件工具安装包挂载并复制保存至虚拟机镜像。
实际应用中,hci平台将软件工具安装包挂载并复制保存至虚拟机镜像的过程中,为了便于对虚拟机镜像进行操作,可以另创建虚拟机来对虚拟机镜像进行管理,具体的,hci平台可以创建中转虚拟机,将虚拟机镜像作为中转虚拟机的辅助盘,再命令中转虚拟机将软件工具安装包挂载并复制保存至虚拟机镜像。
步骤s205:命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具。
相应的,hci平台调用软件工具安装程序,在虚拟机镜像中安装软件工具的过程中,可以借助另创建的虚拟机,即中转虚拟机来安装软件工具,具体的,hci平台可以命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具。
步骤s206:发送表征待迁移虚拟机迁移成功的信息。
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,为了便于对另创建的虚拟机进行管理,hci平台可以通过guestfish工具来操作中转虚拟机,也即hci平台在创建中转虚拟机时,可以通过guestfish工具创建中转虚拟机;相应的,hci平台在命令中转虚拟机时,可以通过guestfish工具命令中转虚拟机。
应当指出,本申请涉及的guestfish工具指的是宿主机里编辑虚拟机镜像的工具,guestfish命令只是对开源库libguestfs接口的封装工具;其中,libguestfs库对虚拟机镜像处理原理是创建临时特殊虚拟机guestfsd并等待guestfish命令指令
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,为了保证软件工具真实落盘到虚拟机镜像,hci平台命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具之后,发送表征待迁移虚拟机迁移成功的信息之前,还可以控制中转虚拟机执行关机事件。由于中转虚拟机执行关机事件的话,会对自身的数据进行保存,所以可以确保软件工具真正落盘到虚拟机镜像中。
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,软件工具包括vmtools工具。
应当指出,本申请中的vmtools工具指的是虚拟化性能优化工具,其可以提供虚拟化实现辅助工具,待迁移虚拟机安装vmtools工具后,用户可以借助vmtools工具方便的对待迁移虚拟机进行管控。
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,发送表征待迁移虚拟机迁移成功的信息之后,hci平台还可以启动迁移后的虚拟机,以便将迁移后的虚拟机交付用户使用。
本申请实施例提供的一种虚拟机迁移方法,应用于hci平台,为了便于对软件工具安装程序进行管理,可以将软件安装程序封装成软件工具安装脚本,相应的,hci平台调用软件工具安装程序,在虚拟机镜像中安装软件工具的过程,具体可以为:调用软件工具安装脚本,在虚拟机镜像中安装软件工具,软件工具安装脚本中封装有软件工具安装程序。
为了便于理解,现以图3所示的虚拟机迁移过程为例进行说明。在图3中,hci平台中包括web(worldwideweb,万维网)、host(主机)、guestfish工具、guestsfd、migrate_vm_img,其中,migrate_vm_img表示linux系统;待迁移虚拟机可以为vmware/h3c上的虚拟机;且guestfish工具与guestsfd间可以通过rpc隧道进行通信等。则虚拟机迁移过程如下:
用户通过web触发将vmware/h3c上的虚拟机迁移至hci平台的迁移请求,并且选定交付使用时已安装vmtools工具;
host接收到迁移请求后,对待迁移虚拟机进行数据复制,得到虚拟机镜像,并执行兼容性处理;
在兼容性处理过程中,host使用guestfish工具创建特殊虚拟机guestsfd,并且将虚拟机镜像作为guestsfd的辅助盘;
host通过guestfish工具命令guestsfd将cdrom光驱中的vmtools工具安装包挂载并复制保存至虚拟机镜像中;
host通过guestfish工具命令guestsfd运行vmtools安装shell脚本;
vmtools安装完毕并执行关机事件;
guestfish工具命令兼容性处理结束并通知host;
host接收到guestfish工具兼容性处理结束通知后向web更新状态;
host启动迁移完毕后的虚拟机并交付用户使用。
请参阅图4,图4为本申请实施例提供的一种虚拟机迁移系统的结构示意图。
本申请实施例提供的一种虚拟机迁移系统,应用于hci平台,可以包括:
第一响应模块101,用于响应虚拟机迁移指令;
第一复制模块102,用于复制待迁移虚拟机的数据,得到虚拟机镜像;
第一设置模块103,用于将软件工具安装包挂载并复制保存至虚拟机镜像;
第一调用模块104,用于调用软件工具安装程序,在虚拟机镜像中安装软件工具;
第一发送模块105,用于发送表征待迁移虚拟机迁移成功的信息。
本申请实施例提供的一种虚拟机迁移系统,第一设置模块可以包括:
第一创建子模块,用于创建中转虚拟机,将虚拟机镜像作为中转虚拟机的辅助盘;
第一命令子模块,用于命令中转虚拟机将软件工具安装包挂载并复制保存至虚拟机镜像;
第一调用模块可以包括:
第二命令子模块,用于命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具。
本申请实施例提供的一种虚拟机迁移系统,第一创建子模块可以包括:
第一创建单元,用于通过guestfish工具创建中转虚拟机;
相应的,hci平台命令通过guestfish工具命令中转虚拟机。
本申请实施例提供的一种虚拟机迁移系统,还可以包括:
第一控制模块,用于第二命令子模块命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具之后,第一发送模块发送表征待迁移虚拟机迁移成功的信息之前,控制中转虚拟机执行关机事件。
本申请实施例提供的一种虚拟机迁移系统,软件工具可以包括vmtools工具。
本申请实施例提供的一种虚拟机迁移系统,还可以包括:
第一启动模块,用于第一发送模块发送表征待迁移虚拟机迁移成功的信息之后,启动迁移后的虚拟机。
本申请实施例提供的一种虚拟机迁移系统,第一调用模块可以包括:
第一调用单元,用于调用软件工具安装脚本,在虚拟机镜像中安装软件工具,软件工具安装脚本中封装有软件工具安装程序。
本申请还提供了一种虚拟机迁移设备及计算机可读存储介质,其均具有本申请实施例提供的一种虚拟机迁移方法具有的对应效果。请参阅图5,图5为本申请实施例提供的一种虚拟机迁移设备的结构示意图。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
响应虚拟机迁移指令;
复制待迁移虚拟机的数据,得到虚拟机镜像;
将软件工具安装包挂载并复制保存至虚拟机镜像;
调用软件工具安装程序,在虚拟机镜像中安装软件工具;
发送表征待迁移虚拟机迁移成功的信息。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:创建中转虚拟机,将虚拟机镜像作为中转虚拟机的辅助盘;命令中转虚拟机将软件工具安装包挂载并复制保存至虚拟机镜像;命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:通过guestfish工具创建中转虚拟机;通过guestfish工具命令中转虚拟机。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具之后,发送表征待迁移虚拟机迁移成功的信息之前,控制中转虚拟机执行关机事件。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:软件工具包括vmtools工具。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:发送表征待迁移虚拟机迁移成功的信息之后,启动迁移后的虚拟机。
本申请实施例提供的一种虚拟机迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:调用软件工具安装脚本,在虚拟机镜像中安装软件工具,软件工具安装脚本中封装有软件工具安装程序。
请参阅图5,本申请实施例提供的另一种虚拟机迁移设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现虚拟机迁移设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(hml)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线连接:无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
响应虚拟机迁移指令;
复制待迁移虚拟机的数据,得到虚拟机镜像;
将软件工具安装包挂载并复制保存至虚拟机镜像;
调用软件工具安装程序,在虚拟机镜像中安装软件工具;
发送表征待迁移虚拟机迁移成功的信息。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:创建中转虚拟机,将虚拟机镜像作为中转虚拟机的辅助盘;命令中转虚拟机将软件工具安装包挂载并复制保存至虚拟机镜像;命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过guestfish工具创建中转虚拟机;hci平台通过guestfish工具命令中转虚拟机。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:命令中转虚拟机运行软件工具安装程序,在虚拟机镜像中安装软件工具之后,发送表征待迁移虚拟机迁移成功的信息之前,控制中转虚拟机执行关机事件。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:软件工具包括vmtools工具。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:发送表征待迁移虚拟机迁移成功的信息之后,启动迁移后的虚拟机。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:调用软件工具安装脚本,在虚拟机镜像中安装软件工具,软件工具安装脚本中封装有软件工具安装程序。
本申请所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种虚拟机迁移系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种虚拟机迁移方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。