一种vDPA虚机热迁移不丢包的方法技术

技术编号:36032762 阅读:10 留言:0更新日期:2022-12-21 10:35
本发明专利技术涉及虚机迁移技术领域,提供一种vDPA虚机热迁移不丢包的方法,包括:根据热迁移请求,将源主机上的主要脏页推送至目标主机;通过源主机虚拟交换机将流量从源主机vDPA网卡迁移至目标主机的缓存网卡,目标主机开始抓取缓存报文并将缓存报文存入缓存网卡;暂停源主机虚机,将源主机上剩余的脏页全部推送至目标主机;在完成所有脏页推送后,启动目标主机虚机,将缓存报文发送至vDPA网卡,将流量迁移至vDPA网卡,完成虚机迁移。根据本发明专利技术示例性实施例的vDPA虚机热迁移不丢包的方法,可以解决热迁移期间的丢包问题,确保虚机整个热迁移期间无报文丢失。移期间无报文丢失。移期间无报文丢失。

【技术实现步骤摘要】
一种vDPA虚机热迁移不丢包的方法


[0001]本专利技术涉及虚机迁移
,尤其涉及一种vDPA虚机热迁移不丢包的方法。

技术介绍

[0002]virtio是一种标准的半虚拟化IO设备模型,广泛用于云计算中的网络、存储等虚拟化。而网络或存储等的虚拟化很容易遇到性能瓶颈问题,为解决这一问题,红帽、迈络思、因特尔等厂商提出vDPA(virtio data path acceleration,一般指virtio网络数据层硬件加速)网络解决方案。vDPA分控制通道和数据通道,控制通道按照各厂商自定义格式实现,简化了厂商的开发难度;数据通道遵循vritio协议实现。vDPA目前基于因特尔CPU和迈络思双口25G光卡测试,64字节小包可以达到31Mpps。
[0003]如图1所示,vDPA网络解决方案应用于虚机热迁移场景过程中的不足在于,依然会有丢包,这种丢包需要客户在传输层甚至应用层做出保护,否则就会导致业务运行异常。但是这种基于传输层甚至应用层做保护的行文对用户技术要求高,增加了用户业务程序开发成本,甚至可能会降低程序的稳定行,因此这种解决方案不适用于小规模应用的用户。另外如果虚机中运行的为DPI业务(深度报文识别),报文只会发送一次,且不会重传,报文一旦丢失,就会造成不可修复的危害。这种应用场景,用户从业务程序角度,根本没办法解决热迁移期间丢包的问题。
[0004]因此,如何提供一种虚机热迁移不丢包的解决方案,成为亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,为了克服现有技术的不足,本专利技术提供一种vDPA虚机热迁移不丢包的解决方案,由vDPA虚机保障无报文丢失,避免因为虚机热迁移而影响用户端的业务。
[0006]本专利技术vDPA虚机热迁移不丢包的方法,包括:
[0007]步骤S1:根据热迁移请求,将源主机上的主要脏页推送至目标主机;
[0008]步骤S2:通过源主机虚拟交换机将流量从源主机vDPA网卡迁移至目标主机的缓存网卡,目标主机开始抓取缓存报文并将缓存报文存入缓存网卡;
[0009]步骤S3:暂停源主机虚机,将源主机上剩余的脏页全部推送至目标主机;
[0010]步骤S4:在完成所有脏页推送后,启动目标主机虚机,将缓存报文发送至vDPA网卡,将流量迁移至vDPA网卡,完成虚机迁移。
[0011]进一步地,本专利技术vDPA虚机热迁移不丢包的方法的步骤S1,包括:
[0012]用户端根据源主机运行状态向源主机虚拟化管理软件发送热迁移请求;
[0013]源主机虚拟化管理软件接收热迁移请求后与目标主机虚拟化管理软件建立SOCKET连接;
[0014]目标主机虚拟化管理软件创建缓存网卡并启动缓存程序;
[0015]源主机虚拟化管理软件将需要迁移的源主机虚机对应的脏页推送至目标主机虚拟化管理软件;
[0016]当完成一次推送后,继续推送上一次推送期间产生的脏页;
[0017]不断重复推送,当推送的脏页大小小于设定值时,判定主要脏页推送完成,停止脏页推送。
[0018]进一步地,本专利技术vDPA虚机热迁移不丢包的方法的步骤S2,包括:源主机虚拟化管理软件通知源主机虚拟交换机迁移流量至缓存网卡,停止源主机虚拟交换机与源主机vDPA网卡之间的流量收发,并将流量迁入至目标主机虚拟交换机,目标主机虚拟交换机与目标主机的缓存网卡之间开始持续相互收发流量。
[0019]进一步地,本专利技术vDPA虚机热迁移不丢包的方法的步骤S3,包括:暂停源主机虚机,采用源主机虚拟化管理软件将源主机虚机暂停前的脏页发送至目标主机虚拟化管理软件,通过源主机虚拟化管理软件通知目标主机虚拟化管理软件脏页推送完成。
[0020]进一步地,本专利技术vDPA虚机热迁移不丢包的方法的步骤S4,包括:
[0021]目标主机虚拟化管理软件接收脏页推送完成的通知后启动目标主机虚机,并同时启动目标主机vDPA网卡;
[0022]目标主机虚机启动后,通过目标主机虚拟化管理软件通知目标主机缓存网卡发送缓存报文,目标主机缓存网卡将缓存报文发送至目标主机vDPA网卡;
[0023]通过目标主机虚拟化管理软件通知目标主机虚拟交换机迁移流量至目标主机vDPA网卡,停止目标主机虚拟交换机与缓存网卡之间的流量收发,通过目标主机虚拟交换机将目标主机缓存网卡中的流量迁移至目标主机vDPA网卡。
[0024]进一步地,本专利技术vDPA虚机热迁移不丢包的方法的步骤S4,还包括:
[0025]通过目标主机虚拟化管理软件向源主机虚拟化管理软件发送虚机启动完成的通知;
[0026]断开源主机和目标主机的SOCKET连接,并由源主机释放虚机;
[0027]通过源主机虚拟化管理软件向用户端返回完成热迁移完成的通知。
[0028]进一步地,本专利技术vDPA虚机热迁移不丢包的方法的步骤S4中,由源主机释放虚机资源,包括:通过源主机虚拟化管理软件向源主机虚机发送释放虚机资源的通知,释放虚机内存,并通过源主机虚机释放源主机vDPA网卡。
[0029]本专利技术vDPA虚机热迁移不丢包的方法,可以解决热迁移期间的丢包问题,确保虚机整个热迁移期间无报文丢失。
附图说明
[0030]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0031]图1为现有技术中虚机迁移方法的流程图。
[0032]图2为本专利技术示例性第一实施例的一种vDPA虚机热迁移不丢包的方法的流程图。
[0033]图3为本专利技术示例性第一实施例的一种vDPA虚机热迁移不丢包的方法的执行流程图。
具体实施方式
[0034]下面结合附图对本专利技术实施例进行详细描述。
[0035]需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0036]需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0037]图2为根据本专利技术示例性第一实施例的一种vDPA虚机热迁移不丢包的方法的流程图,图3为根据本专利技术示例性第一实施例的一种vDPA虚机热迁移不丢包的方法的执行流程图,如图2和图3所示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种vDPA虚机热迁移不丢包的方法,其特征在于,所述方法,包括:步骤S1:根据热迁移请求,将源主机上的主要脏页推送至目标主机;步骤S2:通过源主机虚拟交换机将流量从源主机vDPA网卡迁移至目标主机的缓存网卡,目标主机开始抓取缓存报文并将缓存报文存入缓存网卡;步骤S3:暂停源主机虚机,将源主机上剩余的脏页全部推送至目标主机;步骤S4:在完成所有脏页推送后,启动目标主机虚机,将缓存报文发送至vDPA网卡,将流量迁移至vDPA网卡,完成虚机迁移。2.根据权利要求1所述的vDPA虚机热迁移不丢包的方法,其特征在于,步骤S1,包括:用户端根据源主机运行状态向源主机虚拟化管理软件发送热迁移请求;源主机虚拟化管理软件接收热迁移请求后与目标主机虚拟化管理软件建立SOCKET连接;目标主机虚拟化管理软件创建缓存网卡并启动缓存程序;源主机虚拟化管理软件将需要迁移的源主机虚机对应的脏页推送至目标主机虚拟化管理软件;当完成一次推送后,继续推送上一次推送期间产生的脏页;不断重复推送,当推送的脏页大小小于设定值时,判定主要脏页推送完成,停止脏页推送。3.根据权利要求1所述的vDPA虚机热迁移不丢包的方法,其特征在于,步骤S2,包括:源主机虚拟化管理软件通知源主机虚拟交换机迁移流量至缓存网卡,停止源主机虚拟交换机与源主机vDPA网卡之间的流量收发,并将流量迁入至目标主机虚拟交换机,目标主机虚拟交换机与目标主机的缓存网卡之间开始持续相互收发流量。4.根据权利要求...

【专利技术属性】
技术研发人员:武国庆
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

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

1