System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种虚拟机迁移方法、芯片系统及主机。
技术介绍
1、虚拟化技术可以基于主机上的芯片系统实现。该芯片系统包括主机系统和网卡系统。主机系统包括处理器。在处理器上运行有虚拟机和虚拟机管理系统。虚拟机在经过虚拟机管理系统的控制和管理后,通过网卡芯片和其他业务主机进行业务交互。通常,在业务交互的过程中,将网络模型中的部分网络协议层(例如传输层和网络层)的功能设置在处理器中,由处理器对业务交互过程中的报文进行封装和解析工作。但报文的封装和解析工作会大大降低处理器和虚拟机的处理性能。
2、为了提高处理器的处理运算性能,可以基于sr-iov技术使得虚拟机无需虚拟机管理系统的控制和管理,虚拟机可以与网卡系统直接进行通信。同时,将部分网络协议层(例如传输层和网络层,甚至传输层之上的网络协议层)或者全部网络协议层的功能从主机系统的处理器卸载至网卡系统。通过网卡系统,基于一些状态信息以进行业务交互。这些状态信息用于帮助网卡系统实现对交互报文进行封装和解析的工作。可以将这种业务交互方式称为有状态的业务交互。在有状态的业务交互时,网卡系统在处理完成相关业务信息后,需要向主机系统输出相关业务对应的完成信号。当位于主机系统的虚拟机获取到完成信号后,即可确认相关业务信息已处理完成。对于虚拟机直通网卡系统的方案,因为在对虚拟机热迁移的过程中,虚拟机持续与业务主机的业务交互。所以无法保证在将虚拟机的状态信息迁移至目的主机之前,已经将所有已发起的业务信息的完成信号均传达至虚拟机处。因此在虚拟机直通有状态的业务交互的网卡系统时,
技术实现思路
1、本申请实施例提供一种虚拟机迁移方法、芯片系统及主机,实现了在虚拟机直通网卡系统的情况下,对进行有状态的业务交互的虚拟机进行热迁移。
2、为达到上述目的,本申请的实施例采用如下技术方案:
3、第一方面,本申请实施例提供了一种虚拟机迁移方法,该虚拟机迁移方法基于芯片系统。芯片系统包括网卡系统和主机系统。主机系统上运行有虚拟机和虚拟机管理系统。该方法包括:网卡系统从主机系统的第一存储区域中向目的主机迁移第一脏页数据。第一存储区域用于存储虚拟机的内存数据。第一脏页数据为内存数据中的脏页数据。在迁移第一脏页数据的过程中,网卡系统根据第一指示信息,停止与至少一个业务主机进行后续发起的业务信息的交互,并基于已发起的所述业务信息与至少一个业务主机进行交互。业务信息用于指示虚拟机与至少一个业务主机之间的业务处理。在迁移完第一脏页数据后,虚拟机管理系统控制虚拟机停机,并基于第一传输连接向目的主机迁移虚拟机的状态数据。状态数据包括虚拟机与至少一个业务主机的业务交互状态。
4、本申请实施例在迭代拷贝第一脏页数据的过程中,停止与至少一个业务主机进行后续发起的业务信息的交互,并基于已发起的所述业务信息与至少一个业务主机进行交互。一方面可以保证在虚拟机停机前一段时间内没有发起新的业务信息,避免在虚拟机停机的时候,新发起的业务信息所对应的完成信息尚未传达至虚拟机处。另一方面,可以在从停止发起新的业务信息开始,到虚拟机停机为止的时段内,对在先已经发起的业务信息进行处理,以保证在虚拟机停机时,这部分业务信息对应的完成信号已经送达虚拟机。本申请实施例基于上述方案实现了虚拟机直通的情况下,且虚拟机在与业务主机进行有状态的业务交互的过程中,成功对虚拟机进行热迁移。
5、在一种可能的实施方式中,上述在迁移完第一脏页数据后,虚拟机管理系统控制虚拟机停机,包括:网卡系统,验证是否处理完成所有已发起的业务信息。当处理完成所有已发起的业务信息时,向主机系统的虚拟机管理系统输出停机确认信号。停机确认信号用于指示已处理完成已发起的业务信息。虚拟机管理系统根据停机确认信号控制虚拟机停机。在本申请实施例中,为了确保在虚拟机停机前,所有已发起的业务信息均已处理完成。可以在迁移完第一脏页数据后,对业务信息的处理完成情况进行验证。当验证确认所有已发起的业务信息已经完成时,再将虚拟机停机,以保证虚拟机的热迁移成功。
6、在一种可能的实施方式中,业务信息包括第一业务信息。第一业务信息为至少一个业务主机通过网卡系统向虚拟机发起的信息。上述验证是否处理完成所有已发起的业务信息,包括:网卡系统,根据第一业务信息生成第一写入指令。第一写入指令用于向第一存储区域写入新的第一脏页数据。根据第一写入指令,生成对应的第一验证指令。第一验证指令用于从第一存储区域验证读取新的第一脏页数据。如果从第一存储区域中验证读取到新的第一脏页数据,则网卡系统向主机系统输出对应的第一业务完成通知。在本申请实施例中,第一业务信息为在虚拟机侧执行的业务信息。第一业务信息可以包括控制指示信息和数据处理指示信息。当第一业务信息包括数据处理指示信息,且该数据处理指示信息为对虚拟机的第一存储区域进行写入数据处理时,生成第一写入指令以执行该写入数据处理操作。第一写入指令会使得第一存储区域生成新的内存数据,即第一脏页数据。为了验证该第一业务信息已处理完成,可以在执行第一写入指令后,生成第一验证指令来读取第一存储区域,以验证是否完成该第一脏页数据。
7、在一种可能的实施方式中,业务信息包括第二业务信息。第二业务信息为虚拟机通过网卡系统向至少一个业务主机发起的信息。上述验证是否处理完成所有已发起的业务信息,包括:网卡系统:在根据第二业务信息向至少一个业务主机发送业务报文时,将第一计数值增加第一数值;在接收第一应答信息时,将第一计数值减少第一数值;第一应答信息用于指示至少一个业务主机已处理对应的第二业务信息;当第一计数值的大小为初始值时,向虚拟机管理系统输出第二验证完成信号;第二验证完成信号用于指示已处理对应的第二业务信息。在本申请实施例中,网卡系统根据第二业务信息向业务主机侧发送业务报文。可以基于计数的方式来记录第二业务信息的发起情况和完成情况。后续基于计数的值来验证是否完成所有第二业务信息。
8、在一种可能的实施方式中,上述在迁移完第一脏页数据后,虚拟机管理系统控制虚拟机停机,还包括:主机系统,在迁移完第一脏页数据后,基于虚拟机管理系统向网卡系统输出停机准备信号。停机准备信号用于指示已迁移完毕第一脏页数据。网卡系统,根据停机准备信号,执行验证是否处理完成所有已发起的业务信息。在本申请实施例中,可以通过虚拟机管理系统来生成停机准备信号,以指示网卡系统开始对已发起的业务信息的完成情况进行验证。
9、在一种可能的实施方式中,该方法还包括:当第一脏页数据的数据量小于第一阈值时,虚拟机管理系统向网卡系统输出第一指示信号。在本申请实施例中,当第一脏页数据的数据量小于第一阈值时,代表业务交互量小于一定程度,此时停机交互业务数据,对业务交互的影响较小,且可以使得第一脏页数据的数据量逐渐减小,以快速进行停机,并完成虚拟机的热迁移。避免虚拟机长期进行业务交互,长时间未能实现虚拟机的停机,进而导致热本文档来自技高网...
【技术保护点】
1.一种虚拟机迁移方法,其特征在于,所述虚拟机迁移方法基于芯片系统;所述芯片系统包括网卡系统和主机系统;所述主机系统上运行有虚拟机和虚拟机管理系统;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在迁移完所述第一脏页数据后,所述虚拟机管理系统控制所述虚拟机停机,包括:
3.根据权利要求2所述的方法,其特征在于,所述业务信息包括第一业务信息;所述第一业务信息为所述至少一个业务主机通过所述网卡系统向所述虚拟机发起的信息;所述验证是否处理完成所有已发起的所述业务信息,包括:
4.根据权利要求2或3所述的方法,其特征在于,所述业务信息包括第二业务信息;所述第二业务信息为所述虚拟机通过所述网卡系统向所述至少一个业务主机发起的信息;所述验证是否处理完成所有已发起的所述业务信息,包括
5.根据权利要求2-4任一项所述的方法,其特征在于,所述在迁移完所述第一脏页数据后,所述虚拟机管理系统控制所述虚拟机停机,还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4或5所述
8.根据权利要求1-7任一项所述的方法,其特征在于,所述虚拟机管理系统还用于实现进行传输层的网络协议处理;所述方法还包括:
9.根据权利要求1-8任一项所述的方法,其特征在于,所述虚拟机管理系统还用于实现进行传输层的网络协议处理;所述方法还包括:
10.一种芯片系统,其特征在于,所述芯片系统包括主机系统和网卡系统;所述主机系统上运行有虚拟机和虚拟机管理系统;其中:
11.根据权利要求10所述的芯片系统,其特征在于,
12.根据权利要求11所述的芯片系统,其特征在于,所述业务信息包括第一业务信息;所述第一业务信息为所述至少一个业务主机通过所述网卡系统向所述虚拟机发起的信息;
13.根据权利要求11或12所述的芯片系统,其特征在于,所述业务信息包括第二业务信息;所述第二业务信息为所述虚拟机通过所述网卡系统向所述至少一个业务主机发起的信息;
14.根据权利要求11-13任一项所述的芯片系统,其特征在于,
15.根据权利要求10-14任一项所述的芯片系统,其特征在于,所述主机系统还用于:
16.根据权利要求13或14所述的芯片系统,其特征在于,所述主机系统还用于:
17.根据权利要求10-16任一项所述的芯片系统,其特征在于,所述虚拟机管理系统还用于实现进行传输层的网络协议处理;所述主机系统还用于:
18.根据权利要求10-17任一项所述的芯片系统,其特征在于,所述虚拟机管理系统还用于实现进行传输层的网络协议处理;所述主机系统还用于:
19.一种主机,其特征在于,所述主机包括电路板和如权利要求10-18任一项所述的芯片系统;所述芯片系统设置在所述电路板上。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令;当所述指令在如权利要求10-18任一项所述的芯片系统上运行时,使得所述芯片系统执行如权利要求1-9任一项所述的虚拟机迁移方法;当所述指令在如权利要求19所述的主机上运行时,使得所述主机执行如权利要求1-9任一项所述的虚拟机迁移方法。
...【技术特征摘要】
1.一种虚拟机迁移方法,其特征在于,所述虚拟机迁移方法基于芯片系统;所述芯片系统包括网卡系统和主机系统;所述主机系统上运行有虚拟机和虚拟机管理系统;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在迁移完所述第一脏页数据后,所述虚拟机管理系统控制所述虚拟机停机,包括:
3.根据权利要求2所述的方法,其特征在于,所述业务信息包括第一业务信息;所述第一业务信息为所述至少一个业务主机通过所述网卡系统向所述虚拟机发起的信息;所述验证是否处理完成所有已发起的所述业务信息,包括:
4.根据权利要求2或3所述的方法,其特征在于,所述业务信息包括第二业务信息;所述第二业务信息为所述虚拟机通过所述网卡系统向所述至少一个业务主机发起的信息;所述验证是否处理完成所有已发起的所述业务信息,包括
5.根据权利要求2-4任一项所述的方法,其特征在于,所述在迁移完所述第一脏页数据后,所述虚拟机管理系统控制所述虚拟机停机,还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,所述虚拟机管理系统还用于实现进行传输层的网络协议处理;所述方法还包括:
9.根据权利要求1-8任一项所述的方法,其特征在于,所述虚拟机管理系统还用于实现进行传输层的网络协议处理;所述方法还包括:
10.一种芯片系统,其特征在于,所述芯片系统包括主机系统和网卡系统;所述主机系统上运行有虚拟机和虚拟机管理系统;其中:...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。