CN115599494A - 虚拟机迁移方法以及装置、升级方法和服务器 - Google Patents

虚拟机迁移方法以及装置、升级方法和服务器 Download PDF

Info

Publication number
CN115599494A
CN115599494A CN202211153267.5A CN202211153267A CN115599494A CN 115599494 A CN115599494 A CN 115599494A CN 202211153267 A CN202211153267 A CN 202211153267A CN 115599494 A CN115599494 A CN 115599494A
Authority
CN
China
Prior art keywords
processor
virtual machine
processors
migration
target virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211153267.5A
Other languages
English (en)
Inventor
张争宪
郑翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202211153267.5A priority Critical patent/CN115599494A/zh
Publication of CN115599494A publication Critical patent/CN115599494A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本说明书实施例提供虚拟机迁移方法、装置以及设备,其中虚拟机迁移方法,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。该方法迁移的效率高,迁移时间短,可以避免网络拥塞,攻击面小,迁移安全性高。

Description

虚拟机迁移方法以及装置、升级方法和服务器
技术领域
本说明书实施例涉及计算机技术领域,特别涉及虚拟机迁移方法。
背景技术
随着计算机技术的不断发展,虚拟机技术也得到了快速发展。虚拟机主要在处理器中运行并投入使用。当处理器在新建、扩容、升级、运维等升级过程中,由于虚拟机软件问题、处理器硬件问题等,导致虚拟机的使用存在安全风险。因此,亟需一种有效的方案对虚拟机进行迁移。
发明内容
有鉴于此,本说明书实施例提供了虚拟机迁移方法。本说明书一个或者多个实施例同时涉及一种升级方法,虚拟机迁移装置,一种服务器,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种虚拟机迁移方法,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
接收针对目标虚拟机的迁移请求;
根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
根据本说明书实施例的第二方面,提供了一种虚拟机迁移方法,应用于目标虚拟机当前所在的源处理器,所述源处理器部署在包含多个处理器和控制单元的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
接收所述控制单元发送的迁移指令,其中,所述源处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定;
将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,其中,所述目的处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
根据本说明书实施例的第三方面,提供了一种升级方法,应用于服务器,所述服务器包含多个处理器和控制单元,所述多个处理器之间通过智能网卡交互数据,包括:
控制单元接收针升级请求,根据所述升级请求从所述多个处理器中,确定源处理器和所述源处理器中目标虚拟机待迁移到的目的处理器,向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
所述源处理器响应于所述迁移指令,将所述目标虚拟机在内存中存储的状态数据,通过所述智能网卡发送至所述目的处理器;
所述目的处理器根据所述状态数据,生成目标虚拟机;
所述源处理器在迁移完成的情况下,进行升级。
根据本说明书实施例的第四方面,提供了一种虚拟机迁移装置,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
第一接收模块,被配置为接收针对目标虚拟机的迁移请求;
确认模块,被配置为根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
第一发送模块,被配置为向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
根据本说明书实施例的第五方面,提供了一种虚拟机迁移装置,应用于目标虚拟机当前所在的源处理器,所述源处理器部署在包含多个处理器和控制单元的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
第二接收模块,被配置为接收所述控制单元发送的迁移指令,其中,所述源处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定;
第二发送模块,被配置为将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,其中,所述目的处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
根据本说明书实施例的第六方面,提供了一种服务器,包括:
多个处理器和控制单元,所述多个处理器之间通过智能网卡交互数据;
所述控制单元,被配置为接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器;向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
所述源处理器,被配置为响应于所述迁移指令,将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
根据本说明书实施例的第七方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟机迁移方法的步骤。
根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述虚拟机迁移方法的步骤。
根据本说明书实施例的第九方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟机迁移方法的步骤。
本说明书提供了一种虚拟机迁移方法,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
附图说明
图1A是本说明书一个实施例提供的一种升级方法的流程图;
图1B是本说明书一个实施例提供的一种虚拟机迁移系统下虚拟机迁移方法的处理流程图;
图2是本说明书一个实施例提供的一种虚拟机迁移方法的流程图;
图3A是本说明书一个实施例提供的一种虚拟机迁移方法中出数据传输的流程图;
图3B是本说明书一个实施例提供的另一种虚拟机迁移方法的流程图;
图4A是本说明书一个实施例提供的一种虚拟机迁移方法的处理过程流程图;
图4B是本说明书一个实施例提供的一种虚拟机迁移方法中源处理器与目的处理器数据交互的流程图;
图5是本说明书一个实施例提供的一种虚拟机迁移装置的结构示意图;
图6是本说明书一个实施例提供的另一种虚拟机迁移装置的结构示意图;
图7是本说明书一个实施例提供的一种服务器的结构示意图;
图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
虚拟机(Virtual Machine),指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。
热迁移(Live Migration),又叫动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
内核热补丁(Kernel Live Patching):又被称之补丁,意指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。
PCIE(Peripheral Component Interconnect Express),是高速串行计算机扩展总线标准。
DMA(Direct Memory Access),是直接存储器访问。
在本说明书中,提供了虚拟机迁移方法,本说明书同时涉及虚拟机迁移装置,一种服务器,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
随着计算机技术的不断发展,虚拟机技术也得到了快速发展。虚拟机主要在处理器中运行并投入使用。当处理器在新建、扩容、运维等升级过程中,由于虚拟机软件问题、处理器硬件问题等,导致虚拟机的使用存在安全风险。因此,需要对虚拟机进行迁移。
稳定性是虚拟机进行迁移的挑战之一。提供虚拟化环境的处理器,一般由基于Linux操作系统、基于内核的虚拟机(KVM,Kernel-based Virtual Machine)和虚拟操作系统模拟器(QEMU,Quick EMUlator)等虚拟化组件组成。在一个服务器上的处理器需要安装安全补丁、修复代码程序错误(Bug)、支持新特性等处理时,一般要将虚拟机通过跨网络的热迁移,迁移到其他服务器的处理器上,从而源服务器上的处理器能够进行升级。
跨网络的迁移中,内存中的数据从源端服务器复制,需要先进入网卡,通过网卡的网络端口输出到网线、接入交换机、汇聚交换机,甚至是核心交换机,到达目的端服务器的网卡的网络端口,再由网卡将数据从网络端口传输到目的端服务器。通过该传输过程可见,由于数据从源端服务器发出后,需要经过网卡的网络端口通过物理网络传输到目的端服务器的网卡的网络端口,在此期间,由于传输路径长,路过的交换机多,不仅额外占用大量的物理网络带宽,甚至还可能会发生严重延迟、丢包等问题,还会存在迁移流量和项目流量争抢的可能性。
可见,跨网络的热迁移会导致严重的性能抖动和服务不可用,特别是大规模的热迁移,对网络资源的依赖极其严重,最重要的是有安全风险。且直通设备很难进行热迁移,对于云上的直通设备,例如FPGA,GPU,智能卡等设备就会发生长时间流量中断;热迁移时,消耗大量的网络带宽,影响任务稳定性的同时,还无法进行大规模迁移;热迁移链路长,网络攻击面大。
为了解决上述问题,本说明书提供了一种升级方法。参见图1A,图1A示出了本说明书一个实施例提供的一种升级方法,应用于服务器,所述服务器包含多个处理器,所述多个处理器之间通过智能网卡交互数据,所述方法包括:
步骤102:控制单元接收针升级请求,根据所述升级请求从所述多个处理器中,确定源处理器和所述源处理器中目标虚拟机待迁移到的目的处理器,向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
步骤104:所述源处理器响应于所述迁移指令,将所述目标虚拟机在内存中存储的状态数据,通过所述智能网卡发送至所述目的处理器;
步骤106:所述目的处理器根据所述状态数据,生成目标虚拟机;
步骤108:所述源处理器在迁移完成的情况下,进行升级。
在该升级方法中,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,目标虚拟机所在源处理器把内存中存储的状态数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是跨网络交换机的另一个服务器上。这样做的好处是,目标虚拟机的内存脏页流量通过总线(PCIE)或DMA进入智能网卡的硬件专用快转模块中,然后直接通过总线或DMA转发到目的处理器的内存,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,当目标虚拟机迁移成功后,就可以对源处理器的软硬件进行任何修改以达到升级的目的。
上述为本实施例的一种升级方法的示意性方案。需要说明的是,该升级方法的技术方案与下述的虚拟机迁移方法的技术方案属于同一构思,升级方法的技术方案未详细描述的细节内容,均可以参见下述虚拟机迁移方法的技术方案的描述。
相应地,本说明书还提供了一种虚拟机迁移方法,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
参见图1B,图1B示出了本说明书一个实施例提供的一种虚拟机迁移系统下虚拟机迁移方法的处理流程图,虚拟机迁移系统包括多个处理器和控制单元,所述多个处理器和所述代理单元部署在同一物理机(服务器)上,所述多个处理器之间通过智能网卡交互数据。
所述控制单元,被配置为接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器;向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
所述源处理器,被配置为响应于所述迁移指令;将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
应用本说明书实施例的方案,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
上述为本实施例的一种虚拟机迁移系统的示意性方案。需要说明的是,该虚拟机迁移系统的技术方案与下述的虚拟机迁移方法的技术方案属于同一构思,虚拟机迁移系统的技术方案未详细描述的细节内容,均可以参见下述虚拟机迁移方法的技术方案的描述。
本说明书一个或多个实施例提供的方法,可以应用于各种场景下的虚拟机迁移,如添加安全补丁、增加新特性、进行故障硬件维修等等,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
参见图2,图2示出了本说明书一个实施例提供的一种虚拟机迁移方法的流程图,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,具体包括以下步骤。
步骤202:接收针对目标虚拟机的迁移请求。
具体地,处理器可以是中央处理器(CPU,Central Processing Unit),是作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。控制单元可以是控制器(controller),也可以是代理单元,用于完成协调和指挥整个计算机系统的操作。服务器可以是物理机,如计算机,服务器中包含多个处理器和虚拟机。目标虚拟机是指需要进行迁移的虚拟机,也即待迁移的虚拟机。智能网卡(Smart NIC,Smart Network Interface Card),也称智能网络适配器,不仅能完成标准网卡所具有的网络传输功能之外,还提供内置的可编程、可配置的硬件加速引擎,提升应用的性能和大幅降低CPU在通信中的消耗,可以提供更多的CPU资源。
实际应用中,接收针对目标虚拟机的迁移请求的方式有多种:可以是用户发现目标虚拟机需要进行迁移,通过服务器对目标虚拟机进行迁移操作,使控制单元接收到针对目标虚拟机的迁移请求;可以是控制单元对各个处理器的虚拟机进行监测,监测到目标虚拟机异常需要进行修复或者需要进行功能升级时,自动生成针对目标虚拟机的迁移请求;也可以是每个处理器对其包含的虚拟机进行监测,在监测到目标虚拟机异常需要进行修复或者需要进行功能升级时,向控制单元进行上报,使控制单元接收到针对目标虚拟机的迁移请求;为了便于对虚拟机或处理器的定期性检测和维修,还可以针对目标虚拟机进行周期性的迁移,也即预先设置周期时长,每间隔预设周期,控制单元将接收到针对目标虚拟机的迁移请求。本说明书对此不作限定。
需要说明的是,控制单元在实际应用中,可以表现为运行于所述多个处理器中任意处理器之上的控制软件,或者,可以是独立于所述多个处理器并与处理器通信的、单独的控制器,其中,控制单元用于指导或控制处理器进行虚拟机的迁移。例如,云端的控制中心接收到维修人员发出的迁移指示,则云端响应于迁移指示,向服务器中的运行于所有处理器之上的控制软件发送迁移请求,控制软件基于迁移请求,直到目标虚拟机进行迁移。又如,云端的控制中心接收到运营人员发出的迁移指示,则云端响应于迁移指示,向服务器中的与处理器通信的、单独的控制器发送迁移请求,控制器基于迁移请求,通知源处理器进行目标虚拟机的迁移。
步骤204:根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
具体地,源处理器是指进行迁移的起点对应的处理器,也即目标虚拟机所在的处理器。目的处理器是指迁移的终点对应的处理器,也即目标虚拟机将要迁移到的处理器。需要说明的是,源处理器和目的处理器均为服务器中的处理器,也即源处理器和目的处理器为多个处理器中的两个处理器。
实际应用中,在接收到迁移请求的基础上,控制器对迁移请求进行响应,确定出目标虚拟机迁移出的处理器以及目标虚拟机迁移到的处理器,即目标虚拟机当前所在的源处理器和待迁移到的目的处理器。
在本说明书一种可实现的方式中,迁移请求中携带了源处理器标识,则控制单元可以基于源处理器标识确定源处理器,并按照一定规则确定出目标处理器。也即所述根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,具体实现过程可以如下:
根据所述迁移请求携带的源处理器标识,从所述多个处理器中确定所述目标虚拟机当前所在的源处理器;
基于预设筛选条件,从所述多个处理器中确定出所述目标虚拟机待迁移到的目的处理器。
具体地,源处理器标识是指源处理器的标号、名称、代号等。预设筛选条件是指确定目的处理器的要求、标准,如处理器的类型、处理器的数据处理量、处理器的状态等中的至少一种,预设筛选条件可以仅包含一个筛选条件,也可以包含多个子筛选条件。
实际应用中,在接收到携带有源处理器标识的迁移请求后,控制单元将源处理器标识分别与各个处理器的标识进行匹配,将匹配成功的处理器确定为源处理器,也即目标虚拟机当前所在的源处理器。
例如,有五个处理器,处理器1的标识为a1、处理器2的标识为a2、处理器3的标识为a3、处理器4的标识为a4以及处理器5的标识为a5。若接收到的迁移请求中携带有源处理器标识a4,则处理器4为源处理器。
进一步地,将各处理器分别与预设筛选条件进行比较,将符合预设筛选条件的处理器,确定为目标虚拟机待迁移到的目的处理器。
沿用上例,预设筛选条件为选择状态为空闲状态的处理器为目的处理器,且处理器1-5的状态分为别:工作状态、空闲状态、修复状态、异常状态和升级状态,则将处理器2确定为目的处理器。
如此,基于迁移请求携带的源处理器标识,确定源处理器,可以快速、准确地定位源处理器,进而提高迁移的效率;此外,基于预设筛选条件,从多个处理器中确定目的处理器,可以在迁移请求未指定将虚拟机迁移到具体的某个处理器的情况下,快速筛选出目的处理器,保证迁移的顺利进行,提高迁移的成功率。
可选地,预设筛选条件为数据处理量低于预设处理量,此时将数据处理量低于预设处理量的处理器确定为目的处理器即可。也即所述基于预设筛选条件,从所述多个处理器中确定出所述目标虚拟机待迁移到的目的处理器,具体实现过程可以如下:
获取各处理器的数据处理量;
将所述数据处理量低于预设处理量的处理器,确定为所述目标虚拟机待迁移到的目的处理器。
具体地,数据处理量表征数据的多少,可以从数据所占空间的大小来衡量,如1GB数据、1TB数据,又如对数据继续处理需要花费的时间来衡量,如10分钟、20分钟等等;预设处理量是预先设置的数据阈值,可以从数据所占空间的大小和/或数据对应的时间范围的角度进行设置。
实际应用中,可以实时读取各处理器的数据处理量,并将各处理的数据处理量,分别与预设处理量进行比较,将数据处理量低于预设处理量的处理器,确定为目的处理器。
例如,有三个处理器,处理器1的数据处理量为10KB、处理器2的数据处理量为0.5KB、处理器3的数据处理量为100KB。预设数据处理量为1KB,则将处理器2确定为目的处理器。
如此,通过将数据处理量低于预设处理量的处理器确定为目的处理器,可以保证目的处理器有足够的处理资源,接收目标虚拟机的数据,并保证目标虚拟机的正常运行,进一步地提高虚拟机迁移的成功率和可靠性。
此外,预设筛选条件也可以为数据处理量最低,即将数据处理量最低的处理器确定为目的处理器;预设筛选条件还可以为数据处理效率高于预设处理阈值,即将数据处理效率高于预设处理阈值的处理器确定为目的处理器;预设筛选条件还可以为处于进行数据处理的状态,如正常工作状态、可正常运行状态,即将进行数据处理的状态的处理器确定为目的处理器。本说明书对此不作限定。
需要说明的是,为了保证目的处理器可用,预设筛选条件可以为,在包含限制处理器状态的基础上,包含限制处理器的功能。例如,预设筛选条件为可正常工作且处理器的数据处理量最低。
在本说明书另一种可实现的方式中,迁移请求中携带了源处理器标识和目的处理器标识,则控制单元可以基于源处理器标识确定源处理器,基于目的处理器标识确定目标处理器。也即在所述迁移请求中携带有源处理器标识和目的处理器标识的情况下,所述根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,具体实现过程可以如下:
将所述多个处理器中与所述源处理器标识对应的处理器,确定为所述目标虚拟机当前所在的源处理器;
将所述多个处理器中与所述目的处理器标识对应的处理器,确定为所述目标虚拟机待迁移到的目的处理器。
具体地,源处理器标识是指源处理器的标号、名称、代号等。目的处理器标识是指目的处理器的标号、名称、代号等。
实际应用中,在接收到携带有源处理器标识和目的处理器标识的迁移请求后,控制单元将源处理器标识分别与各个处理器的标识进行匹配,将匹配成功的处理器确定为源处理器,也即目标虚拟机当前所在的源处理器;将目的处理器标识分别与各个处理器的标识进行匹配,将匹配成功的处理器确定为目的处理器,也即目标虚拟机待迁移的目的处理器。
例如,有五个处理器,处理器1的标识为a1、处理器2的标识为a2、处理器3的标识为a3、处理器4的标识为a4以及处理器5的标识为a5。若接收到的迁移请求中携带有源处理器标识a2和目的处理器标识a3,则处理器4为源处理器,处理器3确定为目的处理器。
如此,基于迁移请求携带的源处理器标识,确定源处理器,基于迁移请求携带的目的处理器标识,确定目的处理器,可以快速、准确地定位源处理器和目的处理器,进而提高迁移的效率;也即,在指定将虚拟机迁出的源处理器和迁入的目的处理器的情况下,可以提高迁移的迁移速率。
需要说明的是,源处理器与目的处理器的确定,可以同时进行,也可以先确定源处理器,再确定目的处理器,还可以先确定目的处理器,再确定源处理器。本说明书对此不作限定。
此外,迁移请求中携带有源处理器标识,可以用目标虚拟机标识代替,即迁移请求中携带有目标虚拟机标识。控制单元可以根据目标虚拟机标识确定目标虚拟机所在的处理器,也即源处理器。
步骤206:向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
具体的,所述迁移指令表示启动迁移。
实际应用中,在确定了源处理器和目的处理器的基础上,控制单元会生成标识启动迁移的迁移指令发送至源处理器,告知源处理器开始进行目标虚拟机的迁移,也即源处理器在接收到迁移指令之后,将目标虚拟机的数据,通过智能网卡发送至目标处理器,执行迁移的过程。
此外,迁移指令可以携带有目的处理器标识,用于告知源处理器将目标虚拟机迁移到哪台处理器中;控制单元还可以将迁移指令发送给目的处理器,告知目的处理器进行迁移的准备工作,为接收目标虚拟机的数据奠定基础。
需要说明的是,在本说明书一个或多个可选的实施例中,对目标虚拟机执行的迁移为热迁移,也即所述迁移请求为热迁移请求,所述目标虚拟机的数据为内存中存储的所述目标虚拟机的状态数据。如此,可以使直通设备在同一设备内,也能进行热迁移,提高了热迁移的效率。
需要说明的是,处理器可以通过PCIE设备与智能网卡进行数据交互,也可以通过DMA设备与智能网卡进行数据交互。参见图3A,图3A是本说明书一个实施例提供的一种虚拟机迁移方法中出数据传输的流程图:源处理器将目标虚拟机的数据通过PCIE设备传输给智能网卡,智能网卡再通过PCIE设备将目标虚拟机的数据传输给目的处理器。或者,源处理器将目标虚拟机的数据通过DMA设备传出给智能网卡,智能网卡再通过DMA设备将目标虚拟机的数据传输给目的处理器。
本说明书提供了一种虚拟机迁移方法,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
参见图3B,图3B示出了本说明书一个实施例提供的另一种虚拟机迁移方法的流程图,应用于目标虚拟机当前所在的源处理器,所述源处理器部署在包含多个处理器和控制单元的服务器上,所述多个处理器之间通过智能网卡交互数据,具体包括以下步骤。
步骤302:接收所述控制单元发送的迁移指令,其中,所述源处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定。
具体地,处理器可以是中央处理器(CPU,Central Processing Unit),是作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。控制单元可以控制器(controller),也可以是代理单元,用于完成协调和指挥整个计算机系统的操作;服务器可以是物理机,如计算机,服务器中包含多个处理器和虚拟机。目标虚拟机是指需要进行迁移的虚拟机,也即待迁移的虚拟机。智能网卡(Smart NIC,Smart Network Interface Card),也称智能网络适配器,不仅能完成标准网卡所具有的网络传输功能之外,还提供内置的可编程、可配置的硬件加速引擎,提升应用的性能和大幅降低CPU在通信中的消耗,可以提供更多的CPU资源。迁移指令表示启动迁移。
实际应用中,控制单元会接收到针对目标虚拟机的迁移请求,然后根据迁移请求,从多个处理器中,确定目标虚拟机当前所在的源处理器和待迁移到的目的处理器,然后将迁移指令发送至源处理器,也即源处理器接收到控制单元发送的迁移指令。
步骤304:将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,其中,所述目的处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
实际应用中,源处理器在接收到迁移指令之后,响应迁移指令,通过智能网卡将目标虚拟机的数据发送至目的处理器即可,也只执行迁移的过程。
可选地,源处理器可以将目标虚拟机的所有数据通过智能网卡发送至目的处理器,如此,可以保证数据迁移的完整性。
可选地,源处理还可以通过智能网卡,将目标虚拟机在内存中存储的状态数据发送至目的处理器。也即所述将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,具体实现过程可以如下:
迭代复制所述目标虚拟机在内存中存储的状态数据,将所述状态数据从内存发送至所述智能网卡,以使所述智能网卡将所述状态数据转发至所述目标虚拟机待迁移到的目的处理器。
实际应用中,由于是迁移,目标虚拟机在迁移的过程中依据为用户提供服务,因此内存中存储的目标虚拟机的状态数据一直在不断的更新、变化,为了保证数据的完整性和连续性,需要将目标虚拟机在内存中存储的状态数据进行多次迭代复制,然后将状态数据通过智能网卡转发至目的处理器。如此,只将状态数据发送至目的处理器,在保证目标虚拟机迁移至目的处理器之后,服务的稳定进行,还能降低数据传输量,提高迁移的效率。
例如,目标虚拟机在内存中存储的状态数据为内存脏页流量,源处理器多次迭代拷贝的内存脏页流量,并通过PCIE设备使内存脏页流量进入智能网卡的硬件专用快转模块中,由智能网卡的硬件专用快转模块直接转发到目的处理器。由于迁移的脏页不会产生网络流量,流量在服务器内部消化,在物理网络上不会造成任何网络消耗。
需要说明的是,除了目标虚拟机在内存中存储的状态数据,为了保证目标虚拟机在目的处理器上的长期稳定运行,目标虚拟机的储备数据也需要传输至目的处理器。由于目标虚拟机的储备数据一般存在云端,可以由云端将目标虚拟机的储备数据发送给目的处理器。
在目标虚拟机迁移完成后,对于源处理器可以进行维修、热补丁、增加新特性的处理。也即所述将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器之后,还包括:
接收针对所述源处理器的调整指令;
根据所述调整指令中的调整参数,进行升级。
具体地,调整指令是指对源处理器进行维修、热补丁、增加新特性等处理指令,调整参数即为处理参数。
实际应用中,在目标虚拟机迁移完成后,对源处理器可以进行相应的处理,如维修、热补丁、增加新特性、删除等,此时,源处理会接收到针对源处理器的调整指令,然后基于调整指令中的调整参数,对进行相应的调整处理即可。如此,可以完成源处理器的功能性升级、修复,以及维修等。
本说明书提供了一种虚拟机迁移方法,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
由于节点支持热拔插,因此直通设备(服务器)无需断电,设备状态不用进行保存/恢复和网络传输,另外智能网卡的硬件转发能力强,内存中存储的状态数据同步及时,大幅降低数据的中断时间。
下述结合附图4A,以本说明书提供的虚拟机迁移方法在实际场景中的应用为例,对所述虚拟机迁移方法进行进一步说明。其中,图4A示出了本说明书一个实施例提供的一种虚拟机迁移方法的处理过程流程图,具体包括以下步骤。
步骤402:控制单元接收针对目标虚拟机的迁移请求;根据迁移请求从多个处理器中,确定目标虚拟机当前所在的源处理器和待迁移到的目的处理器;向源处理器和目的处理器发送迁移指令,以使源处理器将目标虚拟机的数据,通过智能网卡发送至目的处理器。
例如,根据迁移请求携带的源处理器标识,从多个处理器中确定目标虚拟机当前所在的源处理器,并将数据处理量低于预设处理量的处理器,确定为目标虚拟机待迁移到的目的处理器。
又如,迁移请求中携带有源处理器标识和目的处理器标识,此时,将多个处理器中与源处理器标识对应的处理器,确定为目标虚拟机当前所在的源处理器;将多个处理器中与目的处理器标识对应的处理器,确定为目标虚拟机待迁移到的目的处理器。
步骤404:目的处理器准备虚拟机资源,包括网络资源。
例如建立虚拟机的网卡,然后将网卡加入OvS br-int网桥。如果该阶段失败,会有回滚操作。
步骤406:源处理器将目标虚拟机的数据,通过智能网卡发送至目标虚拟机待迁移到的目的处理器。
例如,迭代复制目标虚拟机在内存中存储的状态数据,将状态数据从内存发送至智能网卡,以使智能网卡将状态数据转发至目标虚拟机待迁移到的目的处理器,即该阶段完全是将目标虚拟机在内存中存储的状态数据进行迁移,如果虚拟机的系统盘在源处理器,那么系统盘数据也会在此时进行迁移。
参见图4B,图4B是本说明书一个实施例提供的一种虚拟机迁移方法中源处理器与目的处理器数据交互的流程图:CPU0为源处理器,CPU1为目的处理器,假设CPU0上所在的节点产生硬件告警,需要进行硬件维修,或者有安全补丁需要尽快升级,或者有新特性需要支持,可以把虚拟机从CPU0上直接快速迁移到同台服务器的另一个节点上,也就是CPU1,需要多次迭代拷贝CPU0上虚拟机的内存脏页流量,并通过PCIE设备使内存脏页流量进入智能网卡的硬件专用快转模块中,然后直接转发到CPU1。
步骤408:源处理器接收调整指令;根据调整指令中的调整参数,进行升级。
例如,迁移完成后源处理器进入资源清理阶段,断开源处理器上目标虚拟机的卷连接、清理源计算节点虚拟机的网卡资源,然后进行源处理器的升级。
本说明书提供了一种虚拟机迁移方法,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
与上述方法实施例相对应,本说明书还提供了应用于控制单元的虚拟机迁移装置实施例,图5示出了本说明书一个实施例提供的一种虚拟机迁移装置的结构示意图。如图5所示,该装置应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
第一接收模块502,被配置为接收针对目标虚拟机的迁移请求;
确认模块504,被配置为根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
第一发送模块506,被配置为向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
可选地,所述迁移请求为热迁移请求,所述目标虚拟机的数据为内存中存储的所述目标虚拟机的状态数据。
可选地,所述确认模块502,还被配置为:
根据所述迁移请求携带的源处理器标识,从所述多个处理器中确定所述目标虚拟机当前所在的源处理器;
基于预设筛选条件,从所述多个处理器中确定出所述目标虚拟机待迁移到的目的处理器。
可选地,所述确认模块502,还被配置为:
获取各处理器的数据处理量;
将所述数据处理量低于预设处理量的处理器,确定为所述目标虚拟机待迁移到的目的处理器。
可选地,所述迁移请求中携带有源处理器标识和目的处理器标识;
所述确认模块502,还被配置为:
将所述多个处理器中与所述源处理器标识对应的处理器,确定为所述目标虚拟机当前所在的源处理器;
将所述多个处理器中与所述目的处理器标识对应的处理器,确定为所述目标虚拟机待迁移到的目的处理器。
本说明书提供了一种虚拟机迁移装置,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
上述为本实施例的一种应用于控制单元的虚拟机迁移装置的示意性方案。需要说明的是,该应用于控制单元的虚拟机迁移装置的技术方案与上述的应用于控制单元的虚拟机迁移方法的技术方案属于同一构思,应用于控制单元的虚拟机迁移装置的技术方案未详细描述的细节内容,均可以参见上述应用于控制单元的虚拟机迁移方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了应用于源处理器的虚拟机迁移装置实施例,图6示出了本说明书一个实施例提供的另一种虚拟机迁移装置的结构示意图。如图6所示,该装置应用于目标虚拟机当前所在的源处理器,所述源处理器部署在包含多个处理器和控制单元的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
第二接收模块602,被配置为接收所述控制单元发送的迁移指令,其中,所述迁移指令表示启动迁移,所述源处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定;
第二发送模块604,被配置为将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,其中,所述目的处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
可选地,所述第二发送模块604,还被配置为:
迭代复制所述目标虚拟机在内存中存储的状态数据,将所述状态数据从内存发送至所述智能网卡,以使所述智能网卡将所述状态数据转发至所述目标虚拟机待迁移到的目的处理器。
可选地,所述装置还包括调整模块,被配置为:
接收针对所述源处理器的调整指令;
根据所述调整指令中的调整参数,进行升级。
本说明书提供了一种虚拟机迁移装置,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
上述为本实施例的一种应用于控制单元的虚拟机迁移装置的示意性方案。需要说明的是,该应用于控制单元的虚拟机迁移装置的技术方案与上述的应用于控制单元的虚拟机迁移方法的技术方案属于同一构思,应用于控制单元的虚拟机迁移装置的技术方案未详细描述的细节内容,均可以参见上述应用于控制单元的虚拟机迁移方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了服务器实施例,图7示出了本说明书一个实施例提供的一种服务器的结构示意图。如图7所示,该设备包括:
多个处理器702和控制单元704,所述多个处理器之间通过智能网卡交互数据;
所述控制单元702,被配置为接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器704中,确定所述目标虚拟机当前所在的源处理器704-2和待迁移到的目的处理器704-4;向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
所述源处理器704-2,被配置为响应于所述迁移指令,将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器704-4。
可选地,所述迁移请求为热迁移请求,所述目标虚拟机的数据为内存中存储的所述目标虚拟机的状态数据。
可选地,所述控制单元702,还被配置为:
根据所述迁移请求携带的源处理器标识,从所述多个处理器704中确定所述目标虚拟机当前所在的源处理器704-2;
基于预设筛选条件,从所述多个处理器704中确定出所述目标虚拟机待迁移到的目的处理器704-4。
可选地,所述控制单元702,还被配置为:
获取各处理器704的数据处理量;
将所述数据处理量低于预设处理量的处理器704,确定为所述目标虚拟机待迁移到的目的处理器704-4。
可选地,所述迁移请求中携带有源处理器标识和目的处理器标识;
所述控制单元702,还被配置为:
将所述多个处理器704中与所述源处理器标识对应的处理器,确定为所述目标虚拟机当前所在的源处理器704-2;
将所述多个处理器704中与所述目的处理器标识对应的处理器,确定为所述目标虚拟机待迁移到的目的处理器704-4。
可选地,所述源处理器704-2,还被配置为:
迭代复制所述目标虚拟机在内存中存储的状态数据,将所述状态数据从内存发送至所述智能网卡,以使所述智能网卡将所述状态数据转发至所述目标虚拟机待迁移到的目的处理器704-4。
可选地,所述源处理器704-2,还被配置为:
接收针对所述源处理器的调整指令;
根据所述调整指令中的调整参数,进行升级。
本说明书提供了一种服务器,在源处理器需要支持安全补丁、新特性时,或者进行故障硬件维修时,需要进行虚拟机迁移,源处理器将目标虚拟机的数据经过智能网卡的硬件专用模块直接转发到该服务器的目的处理器上,而不是将目标虚拟机通过跨网络交换机等物理网络,迁移到另一个服务器上,该过程不经过智能网卡的网络端口,不依赖网络交换机,时延短,吞吐大,并且由于路径变短,成功率变高,即可以提高迁移的效率、成功率和并发数量,减少迁移时间,并且避免了网络拥塞,由于迁移在同一服务器内部完成,大幅缩减迁移路径,攻击面大幅度降低,提高了迁移的安全性。
上述为本实施例的一种服务器的示意性方案。需要说明的是,该服务器的技术方案与上述的虚拟机迁移方法的技术方案属于同一构思,服务器的技术方案未详细描述的细节内容,均可以参见上述虚拟机迁移方法的技术方案的描述。
图8示出了本说明书一个实施例提供的一种计算设备的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟机迁移方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的虚拟机迁移方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟机迁移方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟机迁移方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟机迁移方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟机迁移方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟机迁移方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的虚拟机迁移方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述虚拟机迁移方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种服务器,包括:
多个处理器和控制单元,所述多个处理器之间通过智能网卡交互数据;
所述控制单元,被配置为接收针对目标虚拟机的迁移请求;根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器;向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
所述源处理器,被配置为响应于所述迁移指令,将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
2.一种升级方法,应用于服务器,所述服务器包含多个处理器,所述多个处理器之间通过智能网卡交互数据,所述方法包括:
控制单元接收针升级请求,根据所述升级请求从所述多个处理器中,确定源处理器和所述源处理器中目标虚拟机待迁移到的目的处理器,向所述源处理器发送迁移指令,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
所述源处理器响应于所述迁移指令,将所述目标虚拟机在内存中存储的状态数据,通过所述智能网卡发送至所述目的处理器;
所述目的处理器根据所述状态数据,生成目标虚拟机;
所述源处理器在迁移完成的情况下,进行升级。
3.一种虚拟机迁移方法,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
接收针对目标虚拟机的迁移请求;
根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
4.根据权利要求3所述的方法,所述迁移请求为热迁移请求,所述目标虚拟机的数据为内存中存储的所述目标虚拟机的状态数据。
5.根据权利要求3所述的方法,所述根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,包括:
根据所述迁移请求携带的源处理器标识,从所述多个处理器中确定所述目标虚拟机当前所在的源处理器;
基于预设筛选条件,从所述多个处理器中确定出所述目标虚拟机待迁移到的目的处理器。
6.根据权利要求5所述的方法,其特征在于,所述基于预设筛选条件,从所述多个处理器中确定出所述目标虚拟机待迁移到的目的处理器,包括:
获取各处理器的数据处理量;
将所述数据处理量低于预设处理量的处理器,确定为所述目标虚拟机待迁移到的目的处理器。
7.根据权利要求3所述的方法,所述迁移请求中携带有源处理器标识和目的处理器标识;
所述根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,包括:
将所述多个处理器中与所述源处理器标识对应的处理器,确定为所述目标虚拟机当前所在的源处理器;
将所述多个处理器中与所述目的处理器标识对应的处理器,确定为所述目标虚拟机待迁移到的目的处理器。
8.一种虚拟机迁移方法,应用于目标虚拟机当前所在的源处理器,所述源处理器部署在包含多个处理器和控制单元的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
接收所述控制单元发送的迁移指令,其中,所述源处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定;
将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,其中,所述目的处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
9.根据权利要求8所述的方法,其特征在于,所述将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,包括:
迭代复制所述目标虚拟机在内存中存储的状态数据,将所述状态数据从内存发送至所述智能网卡,以使所述智能网卡将所述状态数据转发至所述目标虚拟机待迁移到的目的处理器。
10.根据权利要求9所述的方法,其特征在于,所述将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器之后,还包括:
接收针对所述源处理器的调整指令;
根据所述调整指令中的调整参数,进行升级。
11.一种虚拟机迁移装置,应用于控制单元,所述控制单元部署在包含多个处理器的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
第一接收模块,被配置为接收针对目标虚拟机的迁移请求;
确认模块,被配置为根据所述迁移请求从所述多个处理器中,确定所述目标虚拟机当前所在的源处理器和待迁移到的目的处理器,其中,所述源处理器和所述目的处理器为所述多个处理器中的处理器;
第一发送模块,被配置为向所述源处理器发送迁移指令,以使所述源处理器将所述目标虚拟机的数据,通过所述智能网卡发送至所述目的处理器。
12.一种虚拟机迁移装置,应用于目标虚拟机当前所在的源处理器,所述源处理器部署在包含多个处理器和控制单元的服务器上,所述多个处理器之间通过智能网卡交互数据,包括:
第二接收模块,被配置为接收所述控制单元发送的迁移指令,其中,所述源处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定;
第二发送模块,被配置为将所述目标虚拟机的数据,通过所述智能网卡发送至所述目标虚拟机待迁移到的目的处理器,其中,所述目的处理器为所述控制单元根据针对所述目标虚拟机的迁移请求从所述多个处理器中确定,所述源处理器和所述目的处理器为所述多个处理器中的处理器。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求3-7或8-10任意一项所述虚拟机迁移方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求3-7或8-10任意一项所述虚拟机迁移方法的步骤。
CN202211153267.5A 2022-09-21 2022-09-21 虚拟机迁移方法以及装置、升级方法和服务器 Pending CN115599494A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211153267.5A CN115599494A (zh) 2022-09-21 2022-09-21 虚拟机迁移方法以及装置、升级方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211153267.5A CN115599494A (zh) 2022-09-21 2022-09-21 虚拟机迁移方法以及装置、升级方法和服务器

Publications (1)

Publication Number Publication Date
CN115599494A true CN115599494A (zh) 2023-01-13

Family

ID=84845638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211153267.5A Pending CN115599494A (zh) 2022-09-21 2022-09-21 虚拟机迁移方法以及装置、升级方法和服务器

Country Status (1)

Country Link
CN (1) CN115599494A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331704A (zh) * 2023-11-30 2024-01-02 摩尔线程智能科技(北京)有限责任公司 图形处理器gpu调度方法、装置和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331704A (zh) * 2023-11-30 2024-01-02 摩尔线程智能科技(北京)有限责任公司 图形处理器gpu调度方法、装置和存储介质
CN117331704B (zh) * 2023-11-30 2024-03-15 摩尔线程智能科技(北京)有限责任公司 图形处理器gpu调度方法、装置和存储介质

Similar Documents

Publication Publication Date Title
CN110389900B (zh) 一种分布式数据库集群测试方法、装置及存储介质
US11200079B2 (en) System and method for virtual machine live migration
CN109861839B (zh) 业务不中断的虚拟交换机升级方法以及相关设备
EP3125117A1 (en) Update management system and update management method
CN107544841B (zh) 虚拟机热迁移方法和系统
CN107357571B (zh) 设备组件程序的维护方法及系统
US10541862B2 (en) VNF processing policy determining method, apparatus, and system
CN103605561A (zh) 一种云计算集群系统及其在线迁移物理服务器的方法
US10812328B2 (en) Network function virtualisation
CN105812169B (zh) 一种主备机切换方法及装置
CN104468521A (zh) 在线迁移方法、装置和系统
CN102932409B (zh) 一种虚拟机在线迁移的方法和系统
CN109245926B (zh) 智能网卡、智能网卡系统及控制方法
CN112311646B (zh) 基于超融合系统的混合云及部署方法
WO2018137520A1 (zh) 一种业务恢复方法及装置
CN105516292A (zh) 一种智能变电站云平台的热备方法
JP2021524104A (ja) マスター・スタンドバイコンテナシステム切替
CN111352647A (zh) 虚拟机升级方法、装置、设备及存储介质
CN108170507B (zh) 虚拟应用管理方法/系统、计算机可读存储介质及服务端
CN104899116A (zh) 数据备份的方法、源服务器、目标服务器及系统
CN115599494A (zh) 虚拟机迁移方法以及装置、升级方法和服务器
CN115904520A (zh) 基于pcie拓扑状态变更的配置保存方法及相关设备
CN110019484B (zh) 数据库系统及实现方法、管理设备、数据接口设备和介质
CN113297133A (zh) 一种服务迁移质量保障方法及系统
CN116095145B (zh) 一种vpc集群的数据控制方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination