带I/O虚拟化的虚拟机在线迁移方法、装置制造方法及图纸

技术编号:15616069 阅读:75 留言:0更新日期:2017-06-14 03:22
本发明专利技术公开了一种带I/O虚拟化的虚拟机在线迁移方法、装置,所述方法包括:为虚拟机分配I/O虚拟化网卡和I/O半虚拟化网卡;将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定;对所述虚拟机进行在线迁移时,卸载所述I/O虚拟化网卡,利用所述I/O半虚拟化网卡进行I/O数据的处理;当所述虚拟机迁移完成后,为所述虚拟机重新加载所述I/O虚拟化网卡,并恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定,利用所述I/O虚拟化网卡进行I/O数据的处理。

【技术实现步骤摘要】
带I/O虚拟化的虚拟机在线迁移方法、装置
本专利技术涉及虚拟机迁移技术,尤其涉及一种带I/O虚拟化的虚拟机在线迁移方法、装置。
技术介绍
虚拟化是目前正在飞速发展的互联网技术(IT,InternetTechnology)云计算前沿技术的基础。通过引入服务器虚拟化,IT系统资源池中的业务应用运行在虚拟服务器(虚拟机)上,可以实现服务器整合,提高资源利用率,降低企业总体拥有成本(TCO,TotalCostofOwnership);可以提高系统的高可用性(HA,HighAvailability),并且能够以更加细腻的粒度更加方便的进行资源的弹性分配和统一调度。图1为采用服务器虚拟化的资源池系统架构图,在一个物理服务器上可加载有多个虚拟机,每个虚拟机都具有自己的应用(APP,Application)、用户操作系统(GuestOS,GuestOperatingSystem);物理服务器还具有虚拟机监视器Hypervisor/VMM(Hypervisor/VirtualMachineMonitor)以及硬件(Hardware)。通过虚拟机在线迁移(LM,LiveMigration)技术,可以将虚拟机从一台物理服务器(物理机)迁移到另一台物理服务器,当一台物理服务器上的虚拟机全部迁移到其他物理服务器后,可以方便的对其进行检修或升级等维护操作,或者将其关电以达到节能减排的效果。虚拟机在线迁移的流程参见图2所示,将源虚拟机在共享存储上的磁盘映像,在要迁移到的目标服务器上启动,然后将源虚拟机在迁移开始时间点的内存保存并复制到目标虚拟机中,再将内存复制过程中源虚拟机的内存变化记录并拷贝到目标虚拟机,实现源虚拟机与目标虚拟机的同步后,目标虚拟机接管服务,最后关闭源虚拟机,完成迁移。传统虚拟化环境的I/O机制采用全模拟(Emulation)的方式,不安装特殊的设备驱动,使用简单但是性能很差。通过安装专用的半虚拟化(Para-virtualization)驱动,例如使用virtio,使得GuestOS和Hypervisor能够共同合作,让模拟更加高效,虚拟化系统的I/O性能能够有较大的提升。全虚拟化与半虚拟化的对比见图3。然而即使采用了半虚拟化,由于虚拟化层Hypervisor/VMM的存在,虚拟机与底层硬件的数据通信需要Hypervisor干预调度。当有数据到达虚拟机时,Hypervisor需要与所有虚拟机配合,查询并接受相应的数据,带来了额外的系统开销,一方面影响I/O效率,造成I/O性能的恶化,另一方面占用服务器处理资源。I/O虚拟化通过将虚拟机与外部硬件设备之间的I/O通道虚拟化,在虚拟机建立时由Hypervisor分配虚拟的I/O通道,使得虚拟机与硬件可以直接进行数据通信,虚拟机直接用硬件发送和接收数据,而不需要hypervisor再进行干预处理,使得I/O吞吐量提高,延迟降低,并减少对中央处理器(CPU,CenterProcessUnit)的占用。系统的I/O性能进一步提高,甚至接近虚拟化之前的I/O性能。可以进行I/O虚拟化的硬件主要包括网卡(NIC,NetworkInterfaceCard)和存储卡(HBA,HostBusAdapter)等总线接口(PCI-E,PCIExpress)设备。对于一个硬件只服务于一个虚拟机的情况,可以采用直通(Passthrough)技术。Passthrough与半虚拟化的对比见图4。而对于一个硬件服务于多个虚拟机的情况,可以采用单根I/O虚拟化(SR-IOV,SingleRoot-I/OVirtualization)。SR-IOV是对Passthrough的扩展,在一个PCI物理网络设备(PF,PhysicalFunction)上虚拟出多个逻辑网络设备(VF,VirtualFunction),每个VF拥有独立的资源,例如发送与接收的缓存队列,Hypervisor可以将一个或多个VF分配给一个虚拟机进行直接访问,授予VM拥有对VF的直接硬件读写权。通过将PCI-E接口的物理I/O通道分成多个虚拟I/O通道,在系统创建虚拟机时就为其指定专有的一个或多个虚拟通道,各虚拟机的虚拟通道都是独立的互不影响,硬件与各虚拟机之间的数据交互通过各自独立的虚拟通道完成,不再需要Hypervisor的干预与协调,能够极大的提高系统I/O性能。应用SR-IOV的服务器虚拟化架构如图5。虽然I/O虚拟化的性能很好,接近未虚拟化的原始水平,但是由于Hypervisor将物理设备的硬件资源直接分配给了虚拟机,不再进行屏蔽,在虚拟机进行在线迁移时,现有机制无法保证目标服务器可以满足迁移虚拟机能够获得与源服务器完全相同的物理资源,从而造成虚拟机在线迁移失败。在虚拟机进行在线迁移之前,将I/O虚拟化进行卸载,虚拟机不带I/O虚拟化实现迁移,迁移完成后再重新加载I/O虚拟化。这种方法虽然实现了虚拟机的迁移,但是虚拟机在卸载I/O虚拟化时,数据通道会中断,造成对业务的影响。因此,一般情况下,在需要进行虚拟机在线迁移的应用场景下,不能使用I/O虚拟化,系统的I/O性能受到影响;在需要系统I/O性能最高的应用场景,无法实现动态的虚拟机在线迁移。
技术实现思路
为解决上述技术问题,本专利技术实施例提供了一种带I/O虚拟化的虚拟机在线迁移方法、装置。本专利技术实施例提供的带I/O虚拟化的虚拟机在线迁移方法,包括:为虚拟机分配I/O虚拟化网卡和I/O半虚拟化网卡;将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定;对所述虚拟机进行在线迁移时,卸载所述I/O虚拟化网卡,利用所述I/O半虚拟化网卡进行I/O数据的处理;当所述虚拟机迁移完成后,为所述虚拟机重新加载所述I/O虚拟化网卡,并恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定,利用所述I/O虚拟化网卡进行I/O数据的处理。本专利技术实施例中,所述将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定后,所述方法还包括:将所述I/O虚拟化网卡设置为激活模式,以及将所述I/O半虚拟化网卡设置为备用模式。本专利技术实施例中,所述方法还包括:当所述虚拟机在线迁移之前,利用处于所述激活模式下的所述I/O虚拟化网卡进行I/O数据的处理。本专利技术实施例中,所述卸载所述I/O虚拟化网卡后,所述方法还包括:将所述I/O半虚拟化网卡设置为激活模式。本专利技术实施例中,所述恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定后,所述方法还包括:将所述I/O虚拟化网卡设置为激活模式,以及将所述I/O半虚拟化网卡设置为备用模式。本专利技术实施例提供的带I/O虚拟化的虚拟机在线迁移装置,包括:分配单元,用于为虚拟机分配I/O虚拟化网卡和I/O半虚拟化网卡;绑定单元,用于将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定;卸载单元,用于对所述虚拟机进行在线迁移时,卸载所述I/O虚拟化网卡,利用所述I/O半虚拟化网卡进行I/O数据的处理;加载单元,用于当所述虚拟机迁移完成后,为所述虚拟机重新加载所述I/O虚拟化网卡,并恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定,利用所述I/O虚拟化网卡进行I/O数据的处理。本专利技术实施例中,所述装置还包括:第一设置单元,用于在将所述I/O虚拟化网卡和所述本文档来自技高网
...
带I/O虚拟化的虚拟机在线迁移方法、装置

【技术保护点】
一种带I/O虚拟化的虚拟机在线迁移方法,其特征在于,该方法包括:为虚拟机分配I/O虚拟化网卡和I/O半虚拟化网卡;将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定;对所述虚拟机进行在线迁移时,卸载所述I/O虚拟化网卡,利用所述I/O半虚拟化网卡进行I/O数据的处理;当所述虚拟机迁移完成后,为所述虚拟机重新加载所述I/O虚拟化网卡,并恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定,利用所述I/O虚拟化网卡进行I/O数据的处理。

【技术特征摘要】
1.一种带I/O虚拟化的虚拟机在线迁移方法,其特征在于,该方法包括:为虚拟机分配I/O虚拟化网卡和I/O半虚拟化网卡;将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定;对所述虚拟机进行在线迁移时,卸载所述I/O虚拟化网卡,利用所述I/O半虚拟化网卡进行I/O数据的处理;当所述虚拟机迁移完成后,为所述虚拟机重新加载所述I/O虚拟化网卡,并恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定,利用所述I/O虚拟化网卡进行I/O数据的处理。2.根据权利要求1所述的带I/O虚拟化的虚拟机在线迁移方法,其特征在于,所述将所述I/O虚拟化网卡和所述I/O半虚拟化网卡进行绑定后,所述方法还包括:将所述I/O虚拟化网卡设置为激活模式,以及将所述I/O半虚拟化网卡设置为备用模式。3.根据权利要求2所述的带I/O虚拟化的虚拟机在线迁移方法,其特征在于,所述方法还包括:当所述虚拟机在线迁移之前,利用处于所述激活模式下的所述I/O虚拟化网卡进行I/O数据的处理。4.根据权利要求1所述的带I/O虚拟化的虚拟机在线迁移方法,其特征在于,所述卸载所述I/O虚拟化网卡后,所述方法还包括:将所述I/O半虚拟化网卡设置为激活模式。5.根据权利要求1至4任一项所述的带I/O虚拟化的虚拟机在线迁移方法,其特征在于,所述恢复所述I/O虚拟化网卡与所述I/O半虚拟化网卡的绑定后,所述方法还包括:将所述I/O虚拟化网卡设置为激活模式,以及将所述I/O半虚拟化网卡设置为备用模式。6.一种带I/O虚拟化的虚拟机在线迁移装置,其特征在于,所述...

【专利技术属性】
技术研发人员:吕锐新
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京,11

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

1