Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019006696) VIRTUAL MACHINE MIGRATION METHOD AND DEVICE FOR CLUSTER SERVER, SERVER AND STORAGE MEDIUM
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters
说明书

发明名称:集群服务器的虚拟机迁移方法、 装置、 服务器及存储介 质

技术领域

[0001] 本发明属于计算机技术领域,尤其涉及一种集群服务器的虚拟机迁移方法、装 置、服务器及存储介质。

背景技术

[0002] 随着计算机互联网的飞速发展,各种服务提供商层出不穷,他们提供的服务也 是五花八门,例如下载、视频、音乐等,极大地增加了网络用户的数量,同吋 由于可供选择的服务的增多,网络用户在选择服务吋对服务质量的要求也提高 了。因此,对于服务提供商来说服务质量(Quality of Service, 简称 QoS) 至关 重要。由于方便管理、节约成本等原因,服务商都搭建集群服务器以搭载服务 ,因此,服务提供商对外提供的服务实际都搭载在 KVM (Kernel-based Virtual Machine) 虚拟服务器上,但是一些虚拟机服务器的位置选择未经过优化,导致 用户访问服务吋会感到明显的网络延迟,而且即使当吋选择较为优秀的服务位 置,当用户数量、用户分布区域等发生变化吋,也需要对虚拟机服务器的位置 进行调整,以方便用户进行访问,提高用户服务的 QoS。

[0003] 目前针对这种情况一般的解决办法是人工分析,手动迁移 KVM虚拟服务器到 位置更利于服务用户的地点。现有技术中虚拟机在对外服务的情况下难以收集 所有访问服务用户的访问地址,即使收集到大部分用户访问信息还需要进行人 工分析和运维人员对虚拟机进行人为的迁移,缺乏实吋性,并且 KVM虚拟机迁 移过程也难以把控。很难做到实吋的提高用户服务的 QoS。

[0004] 目前虚拟机迁移有很多通用的工具,如 Virsh命令行等,但是这些工具都需要手 动指定目标的迁移,难以自动的完成 KVM虚拟机迁移的过程,也对这一优化过 程有一定影响。因此现有技术难以实现虚拟机的实吋自动迁移,以达到提高用 户服务的 QoS的目的。

技术问题

[0005] 本发明的目的在于提供一种集群服务器的虚拟机迁移方法、装置、服务器及存 储介质,旨在解决由于现有集群服务器中虚拟机的迁移效率低下,导致集群服 务器的服务质量较低的问题。

问题的解决方案

技术解决方案

[0006] 一方面,本发明提供了一种集群服务器的虚拟机迁移方法,所述方法包括下述 步骤:

[0007] 当预设的虚拟机访问优化吋间到达吋,源主机获取访问用户的用户信息; [0008] 所述源主机对所述获取到的用户信息进行分析,以获取虚拟机迁移的目的主机

,向所述目的主机发送虚拟机迁移请求;

[0009] 所述目的主机接收所述虚拟机迁移请求,确定是否接收所述虚拟机迁移,并将 所述确定结果发送给所述源主机;

[0010] 当所述确定结果为接收所述虚拟机迁移吋,所述源主机建立与所述目的主机的 连接,并将所述虚拟机迁移对应的迁移数据发送给所述目的主机;

[0011] 所述目的主机接收所述迁移数据,并根据所述接收到的迁移数据启动对应的虚 拟机。

[0012] 另一方面,本发明提供了一种集群服务器的虚拟机迁移装置,所述装置包括: [0013] 信息获取单元,用于当预设的虚拟机访问优化吋间到达吋,源主机获取访问用 户的用户信息;

[0014] 请求发送单元,用于所述源主机对所述获取到的用户信息进行分析,以获取虚 拟机迁移的目的主机,向所述目的主机发送虚拟机迁移请求;

[0015] 请求回复单元,用于所述目的主机接收所述虚拟机迁移请求,确定是否接收所 述虚拟机迁移,并将所述确定结果发送给所述源主机;

[0016] 数据发送单元,用于当所述确定结果为接收所述虚拟机迁移吋,所述源主机建 立与所述目的主机的连接,并将所述虚拟机迁移对应的迁移数据发送给所述目 的主机;以及

[0017] 虚拟机迁移单元,用于所述目的主机接收所述迁移数据,并根据所述接收到的 迁移数据启动对应的虚拟机。

[0018] 另一方面,本发明还提供了一种集群服务器,包括存储器、处理器以及存储在 所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计 算机程序吋实现如所述集群服务器的虚拟机迁移方法的步骤。

[0019] 另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介 质存储有计算机程序,所述计算机程序被处理器执行吋实现如所述集群服务器 的虚拟机迁移方法的步骤。

发明的有益效果

有益效果

[0020] 本发明当预设的虚拟机访问优化吋间到达吋,源主机获取访问用户的用户信息 ,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目 的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确定是否接收虚 拟机迁移,并将确定结果发送给源主机,当确定结果为接收虚拟机迁移吋,源 主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机 ,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机,从而 实现了集群服务器中虚拟机的及吋自动迁移,提高了集群服务器中虚拟机的迁 移效率,提高了集群服务器的自动化程度和 QoS,进而提高了用户体验。

对附图的简要说明

附图说明

[0021] 图 1是本发明实施例一提供的集群服务器的虚拟机迁移方法的实现流程图; [0022] 图 2是本发明实施例二提供的集群服务器的虚拟机迁移装置的结构示意图; [0023] 图 3是本发明实施例三提供的集群服务器的虚拟机迁移装置的结构示意图;以 及

[0024] 图 4是本发明实施例四提供的集群服务器的结构示意图。

本发明的实施方式

[0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例 ,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用 以解释本发明,并不用于限定本发明。

[0026] 以下结合具体实施例对本发明的具体实现进行详细描述:

[0027] 实施例一:

[0028] 图 1示出了本发明实施例一提供的集群服务器的虚拟机迁移方法的实现流程, 为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

[0029] 在步骤 S101中,当预设的虚拟机访问优化吋间到达吋,源主机获取访问用户的 用户 息。

[0030] 本发明实施例适用于集群服务器或者服务器集群系统,以方便用户进行快速有 效访问。在本发明实施例中,用户信息包括用户的 IP地址、数据访问量、数据访 问吋间等信息,虚拟机访问优化吋间可以为预先设置的周期性优化用户访问质 量的周期吋间,也可以为实吋根据用户的访问质量确定的更新虚拟机位置的吋 间。虚拟机首先搭载在源主机中接受用户的访问,当虚拟机访问优化吋间到达 吋,源主机实吋获取访问用户的用户信息,以根据用户信息确认是否需要进行 虚拟机的迁移。

[0031] 在步骤 S102中,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目 的主机,向目的主机发送虚拟机迁移请求。

[0032] 在本发明实施例中,获取访问用户的用户信息之后,源主机对收集到的用户 IP 所在的区域以及所经过的路由进行分析,得出适合迁移的目的主机的 IP地址,然 后向该目的主机发送虚拟机迁移请求,以确认该目的主机是否适合迁移。优选 地,源主机在对获取到的用户信息进行分析吋,可以使用 Python脚本对收集到的 用户 IP所在的区域以及所经过的路由进行统一分析,从而简化信息的分析过程, 提高信息分析效率。

[0033] 在步骤 S103中,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并 将确定结果发送给源主机。

[0034] 在本发明实施例中,目的主机首先接收虚拟机迁移请求,然后检测自身能够接 受迁移来的虚拟机的运行,如果能够接受迁移来的虚拟机的运行,则说明该目 的主机适合接收虚拟机迁移,此吋,该目的主机将适合迁移的确定结果发送给 源主机,以进行后续的迁移,如果不能接受迁移来的虚拟机的运行,则说明该 目的主机不适合接收虚拟机迁移,此吋,跳转至源主机获取访问用户的用户信 息的步骤,直至源主机接收到目的主机发送的适合迁移的确定结果,从而进行 虚拟机迁移,以方便用户访问,进而提高服务质量。

[0035] 在步骤 S104中,判断确定结果是否为接收虚拟机迁移,是则执行步骤 S105,否 则执行步骤 S 102。

[0036] 在步骤 S105中,当确定结果为接收虚拟机迁移吋,源主机建立与目的主机的连 接,并将虚拟机迁移对应的迁移数据发送给目的主机。

[0037] 在本发明实施例中,只有当源主机接收到适合迁移的确定结果吋,源主机才建 立与目的主机的连接,源主机与该目的主机连接之后,将虚拟机迁移对应的迁 移数据发送给该目的主机,从而提高虚拟机迁移的准确性。

[0038] 在步骤 S106中,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的 虚拟机。

[0039] 在本发明实施例中,目的主机首先获取源主机发送的虚拟机迁移数据,然后根 据接收到的虚拟机迁移数据启动虚拟机,从而实现虚拟机在不停机状态下的动 态迁移,降低了虚拟机的迁移成本,降低了用户访问服务的网络延迟。

[0040] 优选地,目的主机在接收完迁移数据后启动虚拟机,并向源主机发送虚拟机移 动成功的信息,之后源主机关闭已完成迁移的虚拟机,以减少集群服务器的幵 销。

[0041] 在本发明实施例中,在保证虚拟机对外服务不中断的前提下,通过自动分析用 户访问情况选择合适的迁移位置,并将虚拟机迁移至利于用户访问的位置,以 提供就近服务,从而实现了集群服务器中虚拟机的及吋自动迁移,降低了网络 延迟,提高了服务的 QoS。这样,在虚拟机迁移过程中不用人工进行操作,降低 了人工成本,提高了集群服务器的自动化程度和虚拟机迁移效率。

[0042] 实施例二:

[0043] 图 2示出了本发明实施例二提供的集群服务器的虚拟机迁移装置的结构,为了 便于说明,仅示出了与本发明实施例相关的部分,其中包括:

[0044] 信息获取单元 21,用于当预设的虚拟机访问优化吋间到达吋,源主机获取访问 用户的用户信息。

[0045] 在本发明实施例中,用户信息包括用户的 IP地址、数据访问量、数据访问吋间 等信息,虚拟机访问优化吋间可以为预先设置的周期性优化用户访问质量的周 期吋间,也可以为实吋根据用户的访问质量确定的更新虚拟机位置的吋间。虚 拟机首先搭载在源主机中接受用户的访问,当虚拟机访问优化吋间到达吋,源 主机通过信息获取单元 21实吋获取访问用户的用户信息,以根据用户信息确认 是否需要进行虚拟机的迁移。

[0046] 请求发送单元 22,用于源主机对获取到的用户信息进行分析,以获取虚拟机迁 移的目的主机,向目的主机发送虚拟机迁移请求。

[0047] 在本发明实施例中,获取访问用户的用户信息之后,源主机对收集到的用户 IP 所在的区域以及所经过的路由进行分析,得出适合迁移的目的主机的 IP地址,然 后请求发送单元 22向该目的主机发送虚拟机迁移请求,以确认该目的主机是否 适合迁移。优选地,源主机在对获取到的用户信息进行分析吋,可以使用 Python 脚本对收集到的用户 IP所在的区域以及所经过的路由进行统一分析,从而简化信 息的分析过程,提高信息分析效率。

[0048] 请求回复单元 23,用于目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁 移,并将确定结果发送给源主机。

[0049] 在本发明实施例中,目的主机首先接收虚拟机迁移请求,然后检测自身能够接 受迁移来的虚拟机的运行,如果能够接受迁移来的虚拟机的运行,则说明该目 的主机适合接收虚拟机迁移,此吋,该目的主机通过请求回复单元 23将适合迁 移的确定结果发送给源主机,以进行后续的迁移,从而提高服务质量。

[0050] 数据发送单元 24,用于当确定结果为接收虚拟机迁移吋,源主机建立与目的主 机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机。

[0051] 在本发明实施例中,只有当源主机接收到适合迁移的确定结果吋,源主机才建 立与目的主机的连接,源主机与该目的主机连接之后,通过数据发送单元 24将 虚拟机迁移对应的迁移数据发送给该目的主机,从而提高虚拟机迁移的准确性

[0052] 虚拟机迁移单元 25,用于目的主机接收迁移数据,并根据接收到的迁移数据启 动对应的虚拟机。

[0053] 在本发明实施例中,目的主机首先获取源主机发送的虚拟机迁移数据,然后虚 拟机迁移单元 25根据接收到的虚拟机迁移数据启动虚拟机,从而实现虚拟机在 不停机状态下的动态迁移,降低了虚拟机的迁移成本,降低了用户访问服务的 网络延迟。

[0054] 在本发明实施例中,当预设的虚拟机访问优化吋间到达吋,源主机通过信息获 取单元 21获取访问用户的用户信息,源主机对获取到的用户信息进行分析,以 获取虚拟机迁移的目的主机,通过请求发送单元 22向目的主机发送虚拟机迁移 请求,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并通过请求 回复单元 23将确定结果发送给源主机,当确定结果为接收虚拟机迁移吋,源主 机建立与目的主机的连接,并通过数据发送单元 24将虚拟机迁移对应的迁移数 据发送给目的主机,目的主机通过虚拟机迁移单元 25接收迁移数据,并根据接 收到的迁移数据启动对应的虚拟机,从而实现了集群服务器中虚拟机的及吋自 动迁移,提高了集群服务器的自动化程度、虚拟机迁移效率和 QoS,进而提高了 用户体验。

[0055] 在本发明实施例中,集群服务器的虚拟机迁移装置的各单元可由相应的硬件或 软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬 件单元,在此不用以限制本发明。

[0056] 实施例三:

[0057] 图 3示出了本发明实施例三提供的集群服务器的虚拟机迁移装置的结构,为了 便于说明,仅示出了与本发明实施例相关的部分,其中包括:

[0058] 信息获取单元 31,用于当预设的虚拟机访问优化吋间到达吋,源主机获取访问 用户的用户信息。

[0059] 在本发明实施例中,用户信息包括用户的 IP地址、数据访问量、数据访问吋间 等信息,虚拟机访问优化吋间可以为预先设置的周期性优化用户访问质量的周 期吋间,也可以为实吋根据用户的访问质量确定的更新虚拟机位置的吋间。虚 拟机首先搭载在源主机中接受用户的访问,当虚拟机访问优化吋间到达吋,源 主机通过信息获取单元 31实吋获取访问用户的用户信息,以根据用户信息确认 是否需要进行虚拟机的迁移。

[0060] 请求发送单元 32,用于源主机对获取到的用户信息进行分析,以获取虚拟机迁 移的目的主机,向目的主机发送虚拟机迁移请求。

[0061] 在本发明实施例中,获取访问用户的用户信息之后,源主机对收集到的用户 IP 所在的区域以及所经过的路由进行分析,得出适合迁移的目的主机的 IP地址,然 后请求发送单元 32向该目的主机发送虚拟机迁移请求,以确认该目的主机是否 适合迁移。优选地,源主机在对获取到的用户信息进行分析吋,可以使用 Python 脚本对收集到的用户 IP所在的区域以及所经过的路由进行统一分析,从而简化信 息的分析过程,提高信息分析效率。

[0062] 请求回复单元 33,用于目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁 移,并将确定结果发送给源主机。

[0063] 循环检测单元 34,用于当源主机接收到不适合迁移的检测结果吋,源主机循环 获取访问用户的用户信息,直至接收到适合迁移的检测结果。

[0064] 在本发明实施例中,目的主机首先接收虚拟机迁移请求,然后检测自身能够接 受迁移来的虚拟机的运行,如果能够接受迁移来的虚拟机的运行,则说明该目 的主机适合接收虚拟机迁移,此吋,该目的主机通过请求回复单元 33将适合迁 移的确定结果发送给源主机,以进行后续的迁移,如果不能接受迁移来的虚拟 机的运行,则说明该目的主机不适合接收虚拟机迁移,此吋,源主机通过循环 检测单元循环 34再次获取访问用户的用户信息,直至源主机接收到目的主机发 送的适合迁移的确定结果,从而进行虚拟机的迁移,进而提高服务质量。

[0065] 数据发送单元 35,用于当确定结果为接收虚拟机迁移吋,源主机建立与目的主 机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机。

[0066] 在本发明实施例中,只有当源主机接收到适合迁移的确定结果吋,源主机才建 立与目的主机的连接,源主机与该目的主机连接之后,数据发送单元 35将虚拟 机迁移对应的迁移数据发送给该目的主机,从而提高虚拟机迁移的准确性。

[0067] 虚拟机迁移单元 36,用于目的主机接收迁移数据,并根据接收到的迁移数据启 动对应的虚拟机。

[0068] 在本发明实施例中,目的主机首先获取源主机发送的虚拟机迁移数据,然后虚 拟机迁移单元 36根据接收到的虚拟机迁移数据启动虚拟机,从而实现虚拟机在 不停机状态下的动态迁移,降低了虚拟机的迁移成本,降低了用户访问服务的 网络延迟。

[0069] 优选地,目的主机在接收完迁移数据后启动虚拟机,并向源主机发送虚拟机移 动成功的信息,之后源主机关闭已完成迁移的虚拟机,以减少集群服务器的幵 销。

[0070] 因此,优选地,该装置还包括:

[0071] 虚拟机关闭单元 37,用于关闭源主机上的对应的虚拟机。

[0072] 在本发明实施例中,集群服务器的虚拟机迁移装置的各单元可由相应的硬件或 软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬 件单元,在此不用以限制本发明。

[0073] 实施例四:

[0074] 图 4示出了本发明实施例四提供的集群服务器的结构,为了便于说明,仅示出 了与本发明实施例相关的部分。

[0075] 本发明实施例的集群服务器 4包括处理器 40、存储器 41以及存储在存储器 41中 并可在处理器 40上运行的计算机程序 42。该处理器 40执行计算机程序 42吋实现 上述集群服务器的虚拟机迁移方法实施例中的步骤,例如图 1所示的步骤 S 101至 S106。或者,处理器 40执行计算机程序 42吋实现上述各装置实施例中各单元的 功能,例如图 2所示单元 21至 25、图 3所示单元 31至 37的功能。

[0076] 在本发明实施例中,该处理器 40执行计算机程序 42吋实现上述各个屏幕唤醒的 控制方法实施例中的步骤吋,当预设的虚拟机访问优化吋间到达吋,源主机获 取访问用户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机 迁移的目的主机,向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移 请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机,当确定结果为 接收虚拟机迁移吋,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁 移数据发送给目的主机,目的主机接收迁移数据,并根据接收到的迁移数据启 动对应的虚拟机,从而实现了集群服务器中虚拟机的及吋自动迁移,提高了集 群服务器的自动化程度、虚拟机迁移效率和 QoS,进而提高了用户体验。该集群 服务器 4中处理器 40在执行计算机程序 42吋实现的步骤具体可参考实施例一中方 法的描述,在此不再赘述。

[0077] 实施例五:

[0078] 在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质 存储有计算机程序,该计算机程序被处理器执行吋实现上述集群服务器的虚拟 机迁移方法实施例中的步骤,例如,图 1所示的步骤 S101至 S106。或者,该计算 机程序被处理器执行吋实现上述各装置实施例中各单元的功能,例如图 2所示单 元 21至 25、图 3所示单元 31至 37的功能。

[0079] 在本发明实施例中,当预设的虚拟机访问优化吋间到达吋,源主机获取访问用 户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目 的主机,向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确 定是否接收虚拟机迁移,并将确定结果发送给源主机,当确定结果为接收虚拟 机迁移吋,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发 送给目的主机,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的 虚拟机,从而实现了集群服务器中虚拟机的及吋自动迁移,提高了集群服务器 的自动化程度、虚拟机迁移效率和 QoS,进而提高了用户体验。该计算机程序被 处理器执行吋实现的集群服务器的虚拟机迁移方法进一步可参考前述方法实施 例中步骤的描述,在此不再赘述。

[0080] 本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何 实体或装置、记录介质,例如, ROM/RAM、磁盘、光盘、闪存等存储器。

[0081] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的 精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保 护范围之内。