一种RDMA虚拟机热迁移的方法、系统及相应物理机与流程


一种rdma虚拟机热迁移的方法、系统及相应物理
技术领域
1.本发明涉及数据存储技术领域,特别是涉及一种rdma虚拟机热迁移的方法、系统及相应物理机。


背景技术:



2.虚拟机热迁移是指将正在运行的虚拟机,在对业务中断时间和系统性能损失尽量小的目标下,将其从源物理机迁移到目标物理机,在虚拟机热迁移的应用技术中,通过多次循环迭代的方式拷贝虚拟机的页面内存信息是制约虚拟机热迁移效率的主要瓶颈。其中,所采用的拷贝通常采用rdma(remote direct memory access,远程直接内存访问)网卡在源内存和目标内存之间通过远程直接内存访问的方式实现。
3.在虚拟机热迁移过程,系统从源物理机拷贝所有页面到目标物理机,如果源物理机对需要拷贝的内存区域有写操作,则标记对应页面为脏页,如果在拷贝和传输过程中不断出现脏页,则采用迭代拷贝的方式不断拷贝脏页,当迭代拷贝的内存数据收敛或者低于某个阈值时,源物理机暂停虚拟机,拷贝最后一轮脏页和虚拟机状态到目标物理机,然后关掉源物理机的虚拟机,启动目标物理机的虚拟机运行,从而实现了虚拟机从源物理机到目标物理机的热迁移。
4.现有的这种采用rdma卡实现虚拟机热迁移的方案存在以下缺点:
5.在rdma通信下,主要由硬件完成通信协议的处理,很多内存数据表项是由硬件维护,而且硬件内部通常有缓存空间(cache)缓存更新的数据,跟内存区域的数据不一致,系统从源物理机拷贝内存数据到目标物理机的过程中需要把硬件内缓存的数据同步到内存区域再拷贝,从而导致迭代拷贝的效率低下。其中,内存数据表项包括:qpc(queue pair context,队列对上下文)、cqc(complete queue context,完成队列上下文)、srqc(shared receive queue context,共享接收队列上下文)以及eqc(event queue context,共享接收队列上下文)。
6.在rdma通信下,当源物理机在迭代拷贝的时候,与之通信的对端物理机无法感知源物理机正在迁移,仍然给源物理机发送数据报文。当源物理机的rdma网卡接收到数据报文进行处理时又会在硬件内产生新的脏数据,需要系统不停的同步网卡内的脏数据到内存区域,也导致迭代拷贝的效率低下。
7.同时,在rdma通信下,当源物理机暂停被迁移虚拟机时,被迁移虚拟机不能再处理与之通信的对端物理机的数据报文,对端物理机的数据报文被丢弃,如果被迁移虚拟机暂停时间过长,导致与之通信的对端物理机长时间无法收到已发送数据报文的响应而产生超时重传,甚至超时重传溢出会导致对端物理机rdma网卡断链,即使被迁移虚拟机最终完成内存数据搬移,也无法在目的物理机恢复与对端的通信。


技术实现要素:



8.本发明所要解决的技术问题在于,提供一种rdma虚拟机热迁移的方法及装置,可
以快速且平滑地实现rdma虚拟机热迁移,且提高了热迁移效率以及成功率。
9.为解决上述技术问题,作为本发明的一方面,提供一种rdma虚拟机热迁移的方法,其至少包括如下步骤:
10.获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,源物理机的host主机向rdma网卡下发虚拟机热迁移同步命令;
11.源物理机的rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;
12.对端物理机的rdma网卡收到所述热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;
13.源物理机的rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;
14.源物理机把所述虚拟机对应的内存页表拷贝到目标物理机的内存区域。
15.其中,进一步包括:
16.在源物理机把虚拟机的内存页表全部拷贝到目标物理的内存区域后,关闭源物理机的相应虚拟机,启动目标物理机的相应虚拟机;
17.目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;
18.对端物理机rdma网卡收到所述重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文。
19.相应地,本发明的另一方面还提供一种rdma虚拟机热迁移的系统,其至少包括有源物理机、对端物理机以及目标物理机,其中:
20.所述源物理机,用于获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,控制其host主机向rdma网卡下发虚拟机热迁移同步命令;控制其rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;控制其rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;将所述虚拟机对应的内存页表拷贝到目标物理机的内存区域;
21.对端物理机,用于在其rdma网卡收到来自源物理机的热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;以及用于在收到来自目标物理机的重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文;
22.目标物理机,用于在目标物理机的内存区域接收源物理机所拷贝的内存页表后,启动目标物理机中相应的虚拟机;控制目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;并控制目标物理机与对端物理机之间的数据传送。
23.其中,进一步包括:
24.所述源物理机进一步用于在把虚拟机的内存页表全部拷贝到目标物理的内存区域后,关闭其上相应的虚拟机。
25.作为本发明的一方面,还提供一种源物理机,其包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机,所述硬件层进一步包括rdma网卡以及内存区域;
26.其中,所述host主机用于:
27.获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,向rdma网卡下
发虚拟机热迁移同步命令;
28.控制源物理机的rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;
29.控制源物理机的rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;
30.控制源物理机把虚拟机的内存页表拷贝到目标物理机的内存区域;
31.并在拷贝完成后,控制关闭源物理机上相应的虚拟机。
32.作为本发明的一方面,还提供一种对端物理机,其包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机,所述硬件层进一步包括rdma网卡以及内存区域;
33.其中,所述rdma网卡用于:
34.在收到来自源物理机的热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;
35.在收到来自目标物理机的重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文。
36.作为本发明的一方面,还提供一种目标物理机,其包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机,所述硬件层进一步包括rdma网卡以及内存区域;
37.其中,所述host主机用于:
38.在目标物理机的内存区域接收源物理机所拷贝的内存页表后,启动目标物理机的虚拟机;
39.控制目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;
40.控制目标物理机与对端物理机之间的数据传送。
41.作为本发明的一方面,还提供一种rdma虚拟机热迁移的系统,其包括:多台物理机,所述多台物理机至少包括:如前述的源物理机,如前述的对端物理机;以及如前述的目标物理机。
42.实施本发明实施例,具有如下的有益效果:
43.本发明提供一种rdma虚拟机热迁移的方法、系统及相应物理机,通过利用rdma通信下,主要由硬件完成通信协议的处理的特点,在源物理机进行热迁移时,源物理机的rdma网卡停止发送被迁移虚拟机的新的数据报文,并且通过源物理机跟对端的网络连接,发送一个特殊的迁移控制消息报文,通知与被迁移源物理机的被迁移虚拟机通信的对端物理机rdma网卡暂停发送新的数据报文,该控制消息报文完全由对端物理机的rdma网卡识别和处理,对端的上层应用软件完全不感知。从而使源物理机和对端物理机之间网络流量都暂停后,源物理机的rdma网卡不再产生新的脏页,源物理机的系统只需要执行一次rdma硬件缓存和系统内存之间的数据同步操作就可以执行最后一轮拷贝,无需不断迭代同步和拷贝,从而大大提高迁移效率。
44.同时,当最后一轮拷贝完成,启动目标物理机的虚拟机运行,通过目标物理机的rdma网卡给与源物理机被迁移虚拟机通信的对端物理机发送一个重启控制消息报文,通知对端物理机rdma网卡重启数据包发送的流程,可以防止现有技术中断链的风险。
45.综上,本发明通过在rdma通信两端链接之间增加一种控制信息通道的方式,在源物理机的虚拟机启动热迁移时,通知与被迁移虚拟机通信的对端被迁移虚拟机的状态,通知对端暂停发送新的数据报文,从而达到提高热迁移的效率,缩短热迁移的时间,以及提高热迁移的成功率。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
47.图1为本发明提供的一种rdma虚拟机热迁移的方法的一个实施例的主流程示意图;
48.图2为图1的应用环境示意图;
49.图3为本发明涉及的源物理机、对端物理机、目标物理机之间的数据交互示意图;
50.图4为现有的被动响应的方案中三方之间的数据交互的一个例子的示意图;
51.图5为现有的被动响应的方案中三方之间的数据交互的另一个例子的示意图。
具体实施方式
52.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
53.如图1所示,示出了本发明提供的一种rdma虚拟机热迁移的方法的一个实施例的主流程示意图。一并结合图2所示,在本实施例中,所述方法应用于图2所示的应用架构中,其中图2中的序号1至8大致示出了本发明方法的流程的前后顺序。在本实施例中,所述方法至少包括如下步骤:
54.步骤s10,获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,源物理机的host主机向rdma网卡下发虚拟机热迁移同步命令;可以理解的是,在一个具体的例子中,所述命令中会携带待迁移的虚拟机标识信息、目标物理机的虚拟机标识信息等内容;
55.步骤s11,源物理机的rdma网卡停止向与被迁移虚拟机通知的对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文(如pause报文);在此步骤中,源物理机的rdma网卡停止向对端物理机的rdma网卡发送当前数据传输中的后续的数据报文;
56.步骤s12,对端物理机的rdma网卡收到所述热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;一般地,对端物理机的rdma网卡可以向源物理机发送针对该热迁移控制报文的响应报文;
57.步骤s13,收到所述响应报文后,源物理机的rdma网卡流量暂停,并保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;
58.步骤s14,源物理机把所述虚拟机对应的内存页表拷贝到目标物理机的内存区域。
59.其中,所述方法进一步包括如下步骤:
60.步骤s15,在源物理机把虚拟机的内存页表全部拷贝到目标物理的内存区域后,关
闭源物理机的相应虚拟机,启动目标物理机的相应虚拟机;
61.步骤s16,目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文(如resume报文);
62.步骤s17,对端物理机rdma网卡收到所述重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文。
63.可以理解的是,本发明实施例提供的一种提高rdma虚拟机热迁移效率的方法,利用rdma通信下,主要由硬件完成通信协议的处理的特点,在源物理机进行热迁移时,源物理机的rdma网卡停止发送被迁移虚拟机的新的数据报文,并且通过源物理机跟对端的网络连接,发送一个特殊控制消息报文(热迁移控制报文),通知与被迁移源物理机的被迁移虚拟机通信的对端物理机rdma网卡暂停发送新的数据报文,该控制消息报文完全由对端物理机的rdma网卡识别和处理,对端的上层应用软件完全不感知。从而使源物理机和对端物理机之间网络流量都暂停后,源物理机的rdma网卡不再产生新的脏页,源物理机的系统只需要执行一次rdma硬件缓存和系统内存之间的数据同步操作就可以执行最后一轮拷贝,无需不断迭代同步和拷贝,从而大大提高迁移效率。
64.当最后一轮拷贝完成,启动目标物理机的虚拟机运行,再通过目标物理机的rdma网卡给与源物理机被迁移虚拟机通信的对端物理机发送一个特殊控制消息报文(重启控制报文),通知对端物理机rdma网卡重启数据包发送的流程。采用本发明实施例所提供的方法,可以提高热迁移的效率,缩短热迁移的时间,以及提高热迁移的成功率。
65.为了更深入地理解本发明实施例所带来的效果,下述将结合本发明实施例中源物理机、对端物理机以及目标物理机之间的数据交互的过程,并与现有技术中被动响应的方案中三者之间的数据交互的过程进行比较,进行说明如下:
66.由于目前rdma通信两端网卡之间主要是传输数据报文,即主要是数据通道,本发明实施例的主要创新点是在rdma通信两端网卡之间增加一种控制通道,用于传输控制报文,通过控制报文可以同步rdma通信两端网卡之间的工作状态,从而达到提高rdma热迁移效率的目的。而且本控制通道对原来的rdma数据通道没有任何影响,也不需要rdma通信两端网卡的上层应用软件感知,所以对现存的rdma通信协议没有任何不良影响。而且本控制通道的应用不仅局限于rdma虚拟机热迁移,可以很容易地扩展至其它rdma应用场景。
67.本发明实施例相对通过被动响应通知对端物理机停止发送的方案存在如下的优点:
68.其一、效率高。本发明实施例的方法通过主动发送热迁移控制报文的方式通知对端物理机,当源物理机收到该热迁移控制报文的响应报文时,可以确认后续不会再有来自对端物理机的数据报文,可以一次性地把远端rdma网卡硬件内缓存的表项数据同步到内存区域并拷贝到目标物理机的内存区域。
69.而在被动响应通知的方案下,源物理机无法确认对端物理机何时会给自己发送数据报文,从而无法准确的把握在rdma网卡硬件和内存区域之间同步表项数据的时间。如果在同步后收到对端物理机的数据报文,域段物理机需要处理该数据报文,给对端物理机发送响应报文,在这个过程中又会产生新的脏页,需要再一次同步rdma网卡硬件和内存区域之间的数据,导致迭代效率降低。
70.其二、对rdma通信的正常业务流程没有影响。在本发明实施例的方法中,当对端暂
停发送新的数据报文时,能确保已经发送的数据报文的响应报文都已经收到,源物理机和对端物理机之间不存在数据包丢失的情况。当迁移完成后,对端物理机的rdma网卡重启数据报文发送时,可以从当前的状态立即启动发送,实现无缝衔接。
71.如下图3所示,图中m0为源物理机,m1为对端物理机,m2为目标物理机。假设当m1收到暂停发送的控制报文时,数据报文0~n-1已经发出,报文n尚未发出,m1可以暂停发送报文n及其之后的报文,并且确保收到报文0~n-1的响应报文后再返回控制报文的响应报文。这样,在m0和m1之间暂停通信的过程中,是不存在报文丢失的情况的。当m1收到来自m2的重启报文之后,就可以立即从报文n开始发送,对m1来说,暂停前和重启后的状态是无缝衔接的。
72.而在现有的被动响应方案中,如图4所示,假设当源物理机收到对端物理机的数据报文0时,已经处于迁移状态,于是源物理机给对端物理机返回一个暂停响应报文,并且不再处理报文0及其之后的所有报文。当暂停响应报文到达m1的时候,m1已经发出报文n-1,报文n尚未发出,m1暂停发送报文n及其之后的报文,但此时报文0~n-1都被m0丢弃了,实际上没有完成。所以当m1收到来自m2的重启报文之后,不能立即从报文n开始发送,必须要回退到报文0,从报文0开始发送,无法做到暂停前和重启后的无缝衔接。
73.其三、对rdma连接没有影响,没有断链的风险。由于本发明实施例的方法采用的是源物理机主动通知的方式,在源物理机rdma网卡启动数据搬移时能够保证源物理机和对端物理机之间没有任何数据报文传输,所以不存在由于对端物理机数据报文丢失的问题。
74.在现有的被动响应方案中,如图5所示,由于对端发送数据报文的时间存在不确定性,源端物理机无法保证一定能够在迁移过程中给对端物理机的数据报文产生响应报文。如果对端物理机接收不到响应报文,就无法感知远端物理机正在迁移,而认为是普通的数据报文丢失,然后重传未响应的数据报文。如果远端虚拟机迁移的时间过长,可能会导致对端物理机的rdma网卡重传次数超过规定的次数而自动断开连接。一旦对端物理机的rdma网卡断开连接,即使源端虚拟机迁移到目标物理机后,目标物理机rdma网卡给对端物理机发送重启报文,也无法恢复和对端物理机的连接。
75.重新结合图2所示,本发明实施例的另一方面还提供了一种rdma虚拟机热迁移的系统的,其至少包括有源物理机、对端物理机以及目标物理机,其中:
76.所述源物理机,用于获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,控制其host主机向rdma网卡下发虚拟机热迁移同步命令;控制其rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;控制其rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;将所述虚拟机对应的内存页表拷贝到目标物理机的内存区域;所述源物理机进一步用于在把虚拟机的内存页表全部拷贝到目标物理的内存区域后,关闭其上相应的虚拟机。
77.更具体地,所述源物理机,其包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机(vm),所述硬件层进一步包括rdma网卡以及内存区域;在一个具体的例子中,所述源物理机的上述功能通过其中的host主机来实现。
78.在一个具体的例子中,,所述源物理机的host主机用于:
79.获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,向rdma网卡下
发虚拟机热迁移同步命令;
80.控制源物理机的rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;
81.控制源物理机的rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;
82.控制源物理机把虚拟机的内存页表拷贝到目标物理机的内存区域;
83.并在拷贝完成后,控制关闭源物理机上相应的虚拟机。对端物理机,用于在其rdma网卡收到来自源物理机的热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;以及用于在收到来自目标物理机的重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文;
84.更具体地,所述对端物理机,其包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机vm,所述硬件层进一步包括rdma网卡以及内存区域;在一个具体的例子中,所述rdma网卡可以自动实现上述暂停和重启数据传输的功能。
85.在一个具体的例子中,所述对端物理机的rdma网卡用于:
86.在收到来自源物理机的热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;
87.在收到来自目标物理机的重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文。
88.目标物理机,用于在目标物理机的内存区域接收源物理机所拷贝的内存页表后,启动目标物理机中相应的虚拟机;控制目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;并控制目标物理机与对端物理机之间的数据传送。
89.更具体地,所述目标物理机,其包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机vm,所述硬件层进一步包括rdma网卡以及内存区域;在一个具体的例子中,所述目标物理机的上述功能通过其中的host主机来实现。
90.在一个具体的例子中,所述目标物理机的host主机用于:
91.在目标物理机的内存区域接收源物理机所拷贝的内存页表后,启动目标物理机的虚拟机;
92.控制目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;
93.控制目标物理机与对端物理机之间的数据传送。
94.更多的细节,可以参考并结合前述对图1至图3的描述,在此不进行赘述。
95.实施本发明实施例,具有如下的有益效果:
96.本发明实施例提供一种rdma虚拟机热迁移的方法、系统及相应物理机,通过利用rdma通信下,主要由硬件完成通信协议的处理的特点,在源物理机进行热迁移时,源物理机的rdma网卡停止发送被迁移虚拟机的新的数据报文,并且通过源物理机跟对端的网络连接,发送一个特殊的迁移控制消息报文,通知与被迁移源物理机的被迁移虚拟机通信的对端物理机rdma网卡暂停发送新的数据报文,该控制消息报文完全由对端物理机的rdma网卡识别和处理,对端的上层应用软件完全不感知。从而使源物理机和对端物理机之间网络流量都暂停后,源物理机的rdma网卡不再产生新的脏页,源物理机的系统只需要执行一次rdma硬件缓存和系统内存之间的数据同步操作就可以执行最后一轮拷贝,无需不断迭代同
步和拷贝,从而大大提高迁移效率。
97.同时,当最后一轮拷贝完成,启动目标物理机的虚拟机运行,通过目标物理机的rdma网卡给与源物理机被迁移虚拟机通信的对端物理机发送一个重启控制消息报文,通知对端物理机rdma网卡重启数据包发送的流程,可以防止现有技术中断链的风险。
98.综上,本发明实施例通过在rdma通信两端链接之间增加一种控制信息通道的方式,在源物理机的虚拟机启动热迁移时,通知与被迁移虚拟机通信的对端被迁移虚拟机的状态,通知对端暂停发送新的数据报文,从而达到提高热迁移的效率,缩短热迁移的时间,以及提高热迁移的成功率。
99.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
100.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
101.以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

技术特征:


1.一种rdma虚拟机热迁移的方法,其特征在于,至少包括如下步骤:获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,源物理机的host主机向rdma网卡下发虚拟机热迁移同步命令;源物理机的rdma网卡停止向与被迁移虚拟机通信的对端物理机的rdma网卡发送当前数据传输的后续数据报文,同时向所述对端物理机的rdma网卡发送一热迁移控制报文;对端物理机的rdma网卡收到所述热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;源物理机的rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;源物理机把所述虚拟机对应的内存页表拷贝到目标物理机的内存区域。2.如权利要求1所述的方法,其特征在于,进一步包括:在源物理机把虚拟机的内存页表全部拷贝到目标物理的内存区域后,关闭源物理机的相应虚拟机,启动目标物理机的相应虚拟机;目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;对端物理机rdma网卡收到所述重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文。3.一种rdma虚拟机热迁移的系统,其特征在于,至少包括有源物理机、对端物理机以及目标物理机,其中:所述源物理机,用于获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,控制其host主机向rdma网卡下发虚拟机热迁移同步命令;控制其rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;控制其rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;将所述虚拟机对应的内存页表拷贝到目标物理机的内存区域;对端物理机,用于在其rdma网卡收到来自源物理机的热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;以及用于在收到来自目标物理机的重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文;目标物理机,用于在目标物理机的内存区域接收源物理机所拷贝的内存页表后,启动目标物理机中相应的虚拟机;控制目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;并控制目标物理机与对端物理机之间的数据传送。4.如权利要求2所述的系统,其特征在于,进一步包括:所述源物理机进一步用于在把虚拟机的内存页表全部拷贝到目标物理的内存区域后,关闭其上相应的虚拟机。5.一种源物理机,其特征在于,包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机,所述硬件层进一步包括rdma网卡以及内存区域;其中,所述host主机用于:获取对源物理机中被迁移虚拟机的内存数据进行迁移的迁移请求,向rdma网卡下发虚拟机热迁移同步命令;控制源物理机的rdma网卡停止向对端物理机的rdma网卡发送新的数据报文,同时向对端物理机的rdma网卡发送一热迁移控制报文;
控制源物理机的rdma网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;控制源物理机把虚拟机的内存页表拷贝到目标物理机的内存区域;并在拷贝完成后,控制关闭源物理机上相应的虚拟机。6.一种对端物理机,其特征在于,包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机,所述硬件层进一步包括rdma网卡以及内存区域;其中,所述rdma网卡用于:在收到来自源物理机的热迁移控制报文后,暂停向源物理机的rdma网卡发送当前数据传输的后续的数据报文;在收到来自目标物理机的重启控制报文后,重启当前数据传输,向目标物理机的rdma网卡发送后续的数据报文。7.一种目标物理机,其特征在于,包括有硬件层,在所述硬件层上运行有host主机,在所述host主机之上运行有至少一个虚拟机,所述硬件层进一步包括rdma网卡以及内存区域;其中,所述host主机用于:在目标物理机的内存区域接收源物理机所拷贝的内存页表后,启动目标物理机的虚拟机;控制目标物理机rdma网卡向对端物理机的rdma网卡发送一重启控制报文;控制目标物理机与对端物理机之间的数据传送。8.一种rdma虚拟机热迁移的系统,其特征在于,包括:多台物理机,所述多台物理机至少包括:如权利要求5所述的源物理机;如权利要求6所述的对端物理机;以及如权利要求7所述的目标物理机。

技术总结


本发明公开了一种RDMA虚拟机热迁移的方法,包括如下步骤:源物理机的Host主机向RDMA网卡下发虚拟机热迁移同步命令;源物理机的RDMA网卡停止向对端物理机的RDMA网卡发送新的数据报文,同时向对端物理机的RDMA网卡发送一热迁移控制报文;对端物理机的RDMA网卡收到所述热迁移控制报文后,暂停向源物理机的RDMA网卡发送当前数据传输的后续的数据报文;源物理机的RDMA网卡保持其内缓存的表项数据稳定,并将缓存的表项数据同步到源物理机的内存区域;源物理机把所述虚拟机对应的内存页表拷贝到目标物理机的内存区域。本发明还公开了相应的系统和物理机。实施本发明,可提高热迁移的效率,缩短热迁移的时间,以及提高热迁移的成功率。功率。功率。


技术研发人员:

韦奋

受保护的技术使用者:

深圳云豹智能有限公司

技术研发日:

2022.10.19

技术公布日:

2022/12/6

本文发布于:2024-09-21 17:58:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/31365.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:物理   报文   网卡   虚拟机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议