本发明涉及云平台领域,特别涉及一种虚拟机迁移方法、系统、装置及可读存储介质。
背景技术:
虚拟机迁移是虚拟化软件或云计算管理平台的一项重要功能,用于把关闭或正在运行的虚拟机从一台物理主机迁移至另外一台主机上。然而目前虚拟化软件或云计算管理平台并未对迁移进行认证,迁移过程中可能被伪装成目的主机ip的动作欺骗,使目的主机存在被冒充、代替的可能,使得虚拟机的迁移数据存在被截获、破解的风险。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种安全性、可靠性更高的虚拟机迁移方法、系统、装置及可读存储介质。其具体方案如下:
一种虚拟机迁移方法,包括:
通过源主机,将虚拟机数据的迁移请求发送至目的主机;
通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;
当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。
优选的,所述通过源主机,将虚拟机数据的迁移请求发送至目的主机的过程前,还包括:
通过源主机获取目的主机的公钥;
则所述通过源主机,将虚拟机数据的迁移请求发送至目的主机的过程,具体包括:
通过所述源主机,利用所述目的主机的公钥对虚拟机数据对应的迁移请求进行加密,并将加密后的所述迁移请求发送至所述目的主机;
则所述通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机的过程,具体包括:
通过所述目的主机,利用所述目的主机的私钥对所述迁移请求进行解密,并根据解密后的所述迁移请求生成应答结果;获取所述源主机的公钥,利用所述源主机的公钥对所述应答结果进行加密后发送至所述源主机;
则当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机的过程,具体包括:
通过所述源主机,利用所述源主机的私钥对所述应答结果进行解密,如果解密后的所述应答结果为允许迁移,则利用所述目的主机的公钥对所述虚拟机数据进行加密,并将加密后的所述虚拟机数据发送至所述目的主机。
优选的,所述通过源主机获取目的主机的公钥的过程,具体包括:
通过源主机查询密钥服务器上目的主机的公钥;
相应的,通过所述目的主机获取所述源主机的公钥的过程,具体包括:
通过所述目的主机查询所述密钥服务器上所述源主机的公钥。
优选的,所述虚拟机迁移方法还包括:
通过所述目的主机,利用所述目的主机的私钥对所述虚拟机数据进行解密。
优选的,所述迁移请求具体为将所述源主机的信息、所述虚拟机数据的配置信息打包后得到的迁移请求。
优选的,所述应答结果具体为:
根据所述迁移请求和所述目的主机的实际实时状态,判断所述目的主机是否具备所述迁移请求对应的虚拟机的运行条件得到的结果判定;
如果所述目的主机具备所述运行条件,则所述应答结果为允许迁移。
相应的,本发明还公开了一种虚拟机迁移系统,包括:
迁移请求模块,用于通过源主机,将虚拟机数据的迁移请求发送至目的主机;
应答结果模块,用于通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;
数据迁移模块,用于当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。
优选的,所述虚拟机迁移系统还包括:
公钥获取模块,用于通过所述源主机获取所述目的主机的公钥,并通过所述目的主机获取所述源主机的公钥;
相应的,所述迁移请求模块具体用于通过所述源主机,利用所述目的主机的公钥对虚拟机数据对应的迁移请求进行加密,并将加密后的所述迁移请求发送至所述目的主机;
所述应答结果模块具体用于通过所述目的主机,利用所述目的主机的私钥对所述迁移请求进行解密,并根据解密后的所述迁移请求生成应答结果,利用所述源主机的公钥对所述应答结果进行加密后发送至所述源主机;
所述数据迁移模块具体用于通过所述源主机,利用所述源主机的私钥对所述应答结果进行解密,如果解密后的所述应答结果为允许迁移,则利用所述目的主机的公钥对所述虚拟机数据进行加密,并将加密后的所述虚拟机数据发送至所述目的主机。
相应的,本发明还公开了一种虚拟机迁移装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文所述虚拟机迁移方法的步骤。
相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述虚拟机迁移方法的步骤。
本发明公开了一种虚拟机迁移方法,包括:通过源主机,将虚拟机数据的迁移请求发送至目的主机;通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。本发明中出现了三次握手,分别是迁移请求由源主机发送至目的主机,应答结果由目的主机发送至源主机,虚拟机数据由源主机发送至目的主机,这三次握手确认和验证了源主机和目的主机,能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种虚拟机迁移方法的步骤流程图;
图2为本发明实施例中另一种虚拟机迁移方法的步骤流程图;
图3为本发明实施例中一种虚拟机迁移方法的信息流向示意图;
图4为本发明实施例中一种虚拟机迁移系统的结构分布图;
图5为本发明实施例中一种虚拟机迁移装置的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
虚拟机迁移是虚拟化软件或云计算管理平台的一项重要功能,用于把关闭或正在运行的虚拟机从一台物理主机迁移至另外一台主机上。然而目前虚拟化软件或云计算管理平台并未对迁移进行认证,迁移过程中可能被伪装成目的主机ip的动作欺骗,使目的主机存在被冒充、代替的可能,使得虚拟机的迁移数据存在被截获、破解的风险。
本申请中出现了三次握手,这三次握手能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
本发明实施例公开了一种虚拟机迁移方法,参见图1所示,包括:
s11:通过源主机,将虚拟机数据的迁移请求发送至目的主机;
这里的源主机,是当前虚拟机运行时的宿主机;目的主机则是虚拟机迁移后的宿主机。在正式迁移虚拟机数据前,需要先发送迁移请求告知目的主机,迁移请求具体为将源主机的信息、虚拟机数据的配置信息打包后得到的迁移请求,源主机的信息一般包括源主机ip和主机标识,之所以将以上信息打包后作为迁移请求,是为了提高传输效率。
s12:通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;
在目的主机接收到迁移请求后,目的主机会根据自身条件判断是否具备运行该虚拟机的条件,也即所述应答结果具体为:根据所述迁移请求和所述目的主机的实际实时状态,判断所述目的主机是否具备所述迁移请求对应的虚拟机的运行条件,最后得到的结果判定;如果所述目的主机具备所述运行条件,则所述应答结果为允许迁移。如果目的主机不具备该运行条件,则应答结果为拒绝迁移。
s13:当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。
可以理解的是,如果应答结果为拒绝迁移,则源主机上的虚拟机数据迁移业务暂时停止,进一步向上级控制器发送状态信息,以向工作人员提示该虚拟机数据迁移的业务暂停。
本发明实施例公开了一种虚拟机迁移方法,包括:通过源主机,将虚拟机数据的迁移请求发送至目的主机;通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。本发明实施例中出现了三次握手,分别是迁移请求由源主机发送至目的主机,应答结果由目的主机发送至源主机,虚拟机数据由源主机发送至目的主机,这三次握手确认和验证了源主机和目的主机,能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
本发明实施例公开了一种具体的虚拟机迁移方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,参见图2和图3所示:
s21:通过源主机获取目的主机的公钥;
具体的,步骤s21通过源主机查询密钥服务器上目的主机的公钥。
可以理解的是,密钥服务器上保存着所有主机的公钥信息,密钥服务器在接收并认证主机的信息合法后就会给该主机颁发公钥。
s22:通过所述源主机,利用所述目的主机的公钥对虚拟机数据对应的迁移请求进行加密,并将加密后的所述迁移请求发送至所述目的主机;
s23:通过所述目的主机,利用所述目的主机的私钥对所述迁移请求进行解密,并根据解密后的所述迁移请求生成应答结果;获取所述源主机的公钥,利用所述源主机的公钥对所述应答结果进行加密后发送至所述源主机;
可以理解的是,通过所述目的主机获取所述源主机的公钥的过程,具体包括:通过所述目的主机查询密钥服务器上所述源主机的公钥。
s24:通过所述源主机,利用所述源主机的私钥对所述应答结果进行解密,如果解密后的所述应答结果为允许迁移,则利用所述目的主机的公钥对所述虚拟机数据进行加密,并将加密后的所述虚拟机数据发送至所述目的主机。
进一步的,本实施例中虚拟机迁移方法还包括:
s25:通过所述目的主机,利用所述目的主机的私钥对所述虚拟机数据进行解密。
可以理解的是,本实施例的三次握手中,引入了密钥服务器,在数据传输过程中利用公钥加密、私钥解密,保证了数据信息的传输过程中的安全性,即使数据被截取,也应无法解密而避免了数据泄露和被篡改的情况发生。而且这三次握手能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
相应的,本发明还公开了一种虚拟机迁移系统,参见图4所示,包括:
迁移请求模块01,用于通过源主机,将虚拟机数据的迁移请求发送至目的主机;
应答结果模块02,用于通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;
数据迁移模块03,用于当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。
本实施例中出现了三次握手,分别是迁移请求由源主机发送至目的主机,应答结果由目的主机发送至源主机,虚拟机数据由源主机发送至目的主机,这三次握手确认和验证了源主机和目的主机,能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
进一步的,本实施例中虚拟机迁移系统还可以包括:
公钥获取模块,用于通过所述源主机获取所述目的主机的公钥,并通过所述目的主机获取所述源主机的公钥;
相应的,所述迁移请求模块01具体用于通过所述源主机,利用所述目的主机的公钥对虚拟机数据对应的迁移请求进行加密,并将加密后的所述迁移请求发送至所述目的主机;
所述应答结果模块02具体用于通过所述目的主机,利用所述目的主机的私钥对所述迁移请求进行解密,并根据解密后的所述迁移请求生成应答结果,利用所述源主机的公钥对所述应答结果进行加密后发送至所述源主机;
所述数据迁移模块03具体用于通过所述源主机,利用所述源主机的私钥对所述应答结果进行解密,如果解密后的所述应答结果为允许迁移,则利用所述目的主机的公钥对所述虚拟机数据进行加密,并将加密后的所述虚拟机数据发送至所述目的主机。
在一些优选实施例中,所述通过源主机获取目的主机的公钥的过程,具体包括:通过源主机查询密钥服务器上目的主机的公钥;相应的,通过所述目的主机获取所述源主机的公钥的过程,具体包括:通过所述目的主机查询密钥服务器上所述源主机的公钥。
在一些优选实施例中,所述数据迁移模块还用于:通过所述目的主机,利用所述目的主机的私钥对所述虚拟机数据进行解密。
在一些优选实施例中,所述迁移请求具体为将所述源主机的信息、所述虚拟机数据的配置信息打包后得到的迁移请求。
在一些优选实施例中,所述应答结果具体为:根据所述迁移请求和所述目的主机的实际实时状态,判断所述目的主机是否具备所述迁移请求对应的虚拟机的运行条件得到的结果判定;如果所述目的主机具备所述运行条件,则所述应答结果为允许迁移。
相应的,本发明还公开了一种虚拟机迁移装置,参见图5所示,包括处理器11和存储器12;其中,所述处理11执行所述存储器12中保存的计算机程序时实现以下步骤:
通过源主机,将虚拟机数据的迁移请求发送至目的主机;
通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;
当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。
本实施例中出现了三次握手,分别是迁移请求由源主机发送至目的主机,应答结果由目的主机发送至源主机,虚拟机数据由源主机发送至目的主机,这三次握手确认和验证了源主机和目的主机,能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体还可以实现以下步骤:
通过源主机获取目的主机的公钥。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
通过所述源主机,利用所述目的主机的公钥对虚拟机数据对应的迁移请求进行加密,并将加密后的所述迁移请求发送至所述目的主机;
通过所述目的主机,利用所述目的主机的私钥对所述迁移请求进行解密,并根据解密后的所述迁移请求生成应答结果;获取所述源主机的公钥,利用所述源主机的公钥对所述应答结果进行加密后发送至所述源主机;
通过所述源主机,利用所述源主机的私钥对所述应答结果进行解密,如果解密后的所述应答结果为允许迁移,则利用所述目的主机的公钥对所述虚拟机数据进行加密,并将加密后的所述虚拟机数据发送至所述目的主机。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:通过源主机查询密钥服务器上目的主机的公钥;通过所述目的主机查询密钥服务器上所述源主机的公钥。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体还可以实现以下步骤:通过所述目的主机,利用所述目的主机的私钥对所述虚拟机数据进行解密。
在一些具体的实施例中,所述迁移请求具体为将所述源主机的信息、所述虚拟机数据的配置信息打包后得到的迁移请求。
在一些具体的实施例中,所述应答结果具体为:根据所述迁移请求和所述目的主机的实际实时状态,判断所述目的主机是否具备所述迁移请求对应的虚拟机的运行条件得到的结果判定;如果所述目的主机具备所述运行条件,则所述应答结果为允许迁移。
进一步的,本实施例中的虚拟机迁移装置,还可以包括:
输入接口13,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器12中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器11中,以便处理器11利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口13具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口14,用于将处理器11产生的各种数据输出至与其相连的终端设备,以便于与输出接口14相连的其他终端设备能够获取到处理器11产生的各种数据。本实施例中,所述输出接口14具体可以包括但不限于usb接口、串行接口等。
通讯单元15,用于在虚拟机迁移装置和外部服务器之间建立远程通讯连接,以便于虚拟机迁移装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元15具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘16,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器17,用于对虚拟机迁移过程的相关信息进行实时显示,以便于用户及时地了解当前虚拟机数据的迁移情况。
鼠标18,可以用于协助用户输入数据并简化用户的操作。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动硬盘、cd-rom或技术领域内所公知的任意其他形式的存储介质。计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过源主机,将虚拟机数据的迁移请求发送至目的主机;
通过所述目的主机,根据所述迁移请求生成应答结果并发送至所述源主机;
当所述应答结果为允许迁移,通过所述源主机将所述虚拟机数据发送至所述目的主机。
本实施例中出现了三次握手,分别是迁移请求由源主机发送至目的主机,应答结果由目的主机发送至源主机,虚拟机数据由源主机发送至目的主机,这三次握手确认和验证了源主机和目的主机,能够有效防止迁移过程中受到其他伪装ip的欺骗,从而使虚拟机数据被伪装成目的主机ip的其他主机截获、破解,提高了虚拟机数据在迁移过程中的安全性。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体还可以实现以下步骤:
通过源主机获取目的主机的公钥。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
通过所述源主机,利用所述目的主机的公钥对虚拟机数据对应的迁移请求进行加密,并将加密后的所述迁移请求发送至所述目的主机;
通过所述目的主机,利用所述目的主机的私钥对所述迁移请求进行解密,并根据解密后的所述迁移请求生成应答结果;获取所述源主机的公钥,利用所述源主机的公钥对所述应答结果进行加密后发送至所述源主机;
通过所述源主机,利用所述源主机的私钥对所述应答结果进行解密,如果解密后的所述应答结果为允许迁移,则利用所述目的主机的公钥对所述虚拟机数据进行加密,并将加密后的所述虚拟机数据发送至所述目的主机。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:通过源主机查询密钥服务器上目的主机的公钥;通过所述目的主机查询密钥服务器上所述源主机的公钥。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:通过所述目的主机,利用所述目的主机的私钥对所述虚拟机数据进行解密。
在一些具体的实施例中,所述迁移请求具体为将所述源主机的信息、所述虚拟机数据的配置信息打包后得到的迁移请求。
在一些具体的实施例中,所述应答结果具体为:根据所述迁移请求和所述目的主机的实际实时状态,判断所述目的主机是否具备所述迁移请求对应的虚拟机的运行条件得到的结果判定;如果所述目的主机具备所述运行条件,则所述应答结果为允许迁移。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种虚拟机迁移方法、系统、装置及可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。