一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跨主机虚拟机存储热迁移的方法及系统与流程

2022-04-13 16:41:13 来源:中国专利 TAG:


1.本发明涉及数据传输技术领域,尤其涉及一种跨主机虚拟机存储热迁移的 方法及系统。


背景技术:

2.跨主机虚拟机热迁移就是一个由qemu来实现的功能,该功能可允许虚拟 机在几乎没有离线的情况下迁移至不同的主机,热迁移实质要做的就是将虚拟 机原封不动地从源端主机复制到目标端主机上。然而,对于热迁移来说,如果 源端主机和目标端主机共享存储(虚拟机的镜像文件目录在一个共享的存储 上),则只需要通过网络发送源端主机的虚拟机vcpu执行状态、内存中的内容、 虚机设备的状态到目标端主机上,如果源端主机和目标端主机不是基于共享存 储,则需要同时也将虚拟机的存储进行跨主机热迁移,也即将源端主机的虚拟 机的磁盘热迁移到目标端主机上。目前,qemu热迁移存储大致需要通过全量 同步、迭代同步和双写共同完成,具体分为如下步骤:
3.(1)全量同步:虚拟机仍在源端主机上运行,同时虚拟机的磁盘所有数 据块被传输到目标端主机上,传输同时qemu会监控并记录下传输过程中已传 输的数据块中被修改了的数据块(称为脏数据块);
4.(2)迭代同步:将传输完但又被虚拟机修改了的脏数据块传输到目标端 主机上;
5.(3)双写模式:直到脏数据块传输完毕后没有产生新的脏数据块也没有 正在进行的读写请求时,则认为存储同步完成,进入数据双写模式,开始虚拟 机其他部分的热迁移,在所有部分完成迁移前,新下发的写请求将会同步地在 源端主机和目标端主机完成。
6.这种使用迭代迁移虚拟机脏数据块的方式来同步源端主机和目标端主机的 虚拟机的磁盘数据的方式,最大的弊端就是当虚拟机持续处于高负载状态,一 直对源端存储进行写请求产生新的脏数据块时,跌断传输则很难完成,如果虚 拟机的产出脏数据的速度一直持续大于实际传输速度,虚拟机的磁盘迁移不仅 无法完成,不断的数据同步也会对带宽造成长时间占用。
7.另外一种磁盘同步的方式是会在全量同步开始时,便开始进入双写模式, 这样的好处是可以省去迭代同步的步骤,只需要进行一次全量同步;但弊端是 同步过程中,数据都需要同时地写入源端主机和目标端主机,极大地降低了读 写的效率。


技术实现要素:

8.本发明的目的在于提供一种跨主机虚拟机存储热迁移的方法及系统,用于 解决将源端主机的虚拟机的磁盘存储迁移到目标端主机上时,迁移难以完成导 致长时间占用带宽或读写的效率低等问题。
9.为了达到上述目的,本发明提供了一种跨主机虚拟机存储热迁移的方法, 用于将源端主机的虚拟机的磁盘热迁移到目标端主机上,包括:
10.在开始热迁移之后,在每一预定时间段内,获取所述虚拟机的实际脏数据 产生的
总速度、数据传输速度以及每个所述磁盘的写速度;
11.在每个所述预定时间段结束后,基于所述实际脏数据产生的总速度及所述 数据传输速度判断热迁移是否需要优化;以及,
12.当判定热迁移需要优化时,基于每个所述磁盘的写速度确定需要优化的所 述磁盘,并在下一个所述预定时间段内降低需要优化的所述磁盘的写速度。
13.可选的,当所述实际脏数据产生的总速度以及所述数据传输速度的比值大 于第一预定值且小于第二预定值时,判定热迁移需要优化,其中,所述第一预 定值小于1,所述第二预定值大于1。
14.可选的,所述第一预定值的范围为0.9~1,所述第二预定值的范围为1~1.8。
15.可选的,当所述实际脏数据产生的总速度以及所述数据传输速度的比值小 于或等于所述第一预定值时,保持每个所述磁盘的写速度并继续执行热迁移。
16.可选的,当所述实际脏数据产生的总速度以及所述数据传输速度的比值大 于或等于所述第二预定值时,中断热迁移。
17.可选的,基于每个所述磁盘的写速度确定需要优化的所述磁盘的步骤包括:
18.基于每个所述磁盘的写速度计算出所述磁盘的平均写速度;
19.判断每个所述磁盘的写速度是否大于所述平均写速度,将写速度大于所述 平均写速度的所述磁盘作为需要优化的所述磁盘。
20.可选的,降低需要优化的所述磁盘的写速度之前,还包括:
21.基于需要优化的所述磁盘的写速度计算出相应的写速度上限;以及,
22.降低所述磁盘的写速度之后,所述磁盘的写速度小于相应的所述写速度上 限。
23.可选的,基于需要优化的所述磁盘的写速度根据如下方法计算出相应的写 速度上限:
[0024][0025]
其中,wsp_i
max
为下一个预定时间段需要优化的所述磁盘i的写速度上限, α为第三预定值,所述第三预定值小于1,migrate_sp为所述数据传输速度; dirty_sp为所述实际脏数据产生的总速度;wsp_i为磁盘i为上一个预定时间段 内的写速度。
[0026]
可选的,所述第三预定值为0.9~1。
[0027]
本发明还提供了一种跨主机虚拟机热迁移的系统,用于将源端主机的虚拟 机的磁盘热迁移到目标端主机上,包括:
[0028]
数据监控模块,用于在开始热迁移之后,在每一预定时间段内,获取所述 虚拟机的实际脏数据产生的总速度、数据传输速度以及每个所述磁盘的写速度;
[0029]
优化判断模块,用于在每个所述预定时间段结束后,基于所述实际脏数据 产生的总速度及所述数据传输速度判断热迁移是否需要优化;以及,
[0030]
优化执行模块,用于当判定热迁移需要优化时,基于每个所述磁盘的写速 度确定需要优化的所述磁盘,并降低需要优化的所述磁盘的写速度。
[0031]
本发明提供了一种跨主机虚拟机存储热迁移的方法及系统,用于将源端主 机的虚拟机的磁盘热迁移到目标端主机上,在开始热迁移之后,监控每一预定 时间段内的虚拟机的实际脏数据产生的总速度、数据传输速度以及每个所述磁 盘的写速度,在每个所述预
定时间段结束后,可以基于所述实际脏数据产生的 总速度及所述数据传输速度判断热迁移是否需要优化,只有当判定热迁移需要 优化时,基于每个所述磁盘的写速度确定需要优化的所述磁盘,并降低需要优 化的所述磁盘的写速度。本发明可以根据每个预定时间段内的实际迁移状态来 限制磁盘的写速度,在保证热迁移能够完成的基础上,尽可能小地限制所述虚 拟机的读写性能,避免所述虚拟机性能长时间受到很大折损,并且只降低了需 要优化的磁盘的写速度,避免限制不需要限制的磁盘的写速度。
附图说明
[0032]
图1为本发明实施例提供的跨主机虚拟机存储热迁移的方法的流程图;
[0033]
图2为本发明实施例提供的确定需要优化的所述磁盘的流程图;
[0034]
图3为本发明实施例提供的跨主机虚拟机热迁移的系统的结构框图;
[0035]
标号:10-数据监控模块;20-优化判断模块;30-优化执行模块。
具体实施方式
[0036]
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列 描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形 式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0037]
图1为本实施例提供的跨主机虚拟机存储热迁移的方法的流程图。如图1 所示,所述跨主机虚拟机存储热迁移的方法用于将源端主机的虚拟机的磁盘热 迁移到目标端主机上,其包括:
[0038]
步骤s100:在开始热迁移之后,在每一预定时间段内,获取所述虚拟机的 实际脏数据产生的总速度、数据传输速度以及每个所述磁盘的写速度;
[0039]
步骤s200:在每个所述预定时间段结束后,基于所述实际脏数据产生的总 速度及所述数据传输速度判断热迁移是否需要优化;以及,
[0040]
步骤s300:当判定热迁移需要优化时,基于每个所述磁盘的写速度确定需 要优化的所述磁盘,并在下一个所述预定时间段(或称预设时间段)内降低需 要优化的所述磁盘的写速度。
[0041]
具体而言,首先执行步骤s100,将热迁移的整个过程切分为一个一个小的 时间段,每个时间段则为所述预定时间段。例如:热迁移的整个过程需要60 分钟,切分为6段,每个所述预定时间段为10分钟。
[0042]
接着,开始所述磁盘的热迁移,所述热迁移的步骤分为全量同步、迭代同 步及双写模式,此处不再过多赘述。在每个所述预定时间段内,会持续对热迁 移进行动态监控,并获取所述虚拟机的实际脏数据产生的总速度、数据传输速 度以及每个所述磁盘的写速度。
[0043]
执行步骤s200,在每个所述预定时间段结束后,对所述虚拟机的实际脏数 据产生的总速度dirty_sp、数据传输速度migrate_sp以及每个所述磁盘i(1≤i≤ n,n所述虚拟机中的磁盘的总数量)的写速度wsp_i
max
进行数据处理。具体而 言,首先计算所述实际脏数据产生的总速度dirty_sp以及所述数据传输速度 migrate_sp的比值,然后判断所述实际脏数据产生的总速度dirty_sp以及所述数 据传输速度migrate_sp的比值是否大于第一预定值且小于第二预定值,其中, 所述第一预定值小于1,所述第二预定值大于1。
[0044]
进一步地,当所述实际脏数据产生的总速度dirty_sp以及所述数据传输速 度migrate_sp的比值小于或等于所述第一预定值时,可以判定所述实际脏数据 产生的总速度dirty_sp远小于所述数据传输速度migrate_sp,基于当前的所述实 际脏数据产生的总速度dirty_sp以及所述数据传输速度migrate_sp可有效完成迁 移,无需进行优化热迁移也能够完成,保持每个所述磁盘的写速度并继续执行 热迁移即可;当所述实际脏数据产生的总速度dirty_sp以及所述数据传输速度 migrate_sp的比值大于第一预定值且小于第二预定值时,可以判定所述实际脏 数据产生的总速度dirty_sp以及所述数据传输速度migrate_sp相差不大,基于当 前的所述实际脏数据产生的总速度dirty_sp以及所述数据传输速度migrate_sp不 利于热迁移的有效完成,热迁移需要优化;当所述实际脏数据产生的总速度 dirty_sp以及所述数据传输速度migrate_sp的比值大于或等于所述第二预定值时, 可以判定所述实际脏数据产生的总速度dirty_sp远大于所述数据传输速度 migrate_sp,基于当前的所述实际脏数据产生的总速度dirty_sp以及所述数据传 输速度migrate_sp无法有效完成迁移,且没有优化的余地,此时可中断热迁移。
[0045]
应理解,“没有优化的余地”是指优化带来的代价是会让当前的磁盘的读写 性能锐减,从而会在短时间内大幅度降低所述虚拟机的读写性能,这样的性能 降低是不可接受的。
[0046]
优选的,所述第一预定值的范围为0.9~1,例如是0.9;所述第二预定值的 范围为1~1.8,例如是1.8,如此一来,既不会把所述磁盘的读写速度限制压得 太低,也可以保证每个所述预定时间段热迁移至少前进10%的进度。
[0047]
接下来,执行步骤s300,当判定热迁移需要优化时,基于每个所述磁盘的 写速度确定需要优化的所述磁盘。具体而言,图2为本实施例提供的确定需要 优化的所述磁盘的流程图。如图2所示,首先基于每个所述磁盘的写速度计算 出所述磁盘的平均写速度,例如每个所述磁盘i的写速度为wsp_i,求出n个的 所述磁盘的写速度的总和:然后将所述磁盘的写速度的总和wsp_total除以所述磁盘的数量n,得到所 述磁盘的平均写速度wsp_avg。接下来,判断每个所述磁盘i的写速度wsp_i是 否大于所述平均写速度wsp_avg,写速度wsp_i大于所述平均写速度wsp_avg的 所述磁盘i即为需要优化的所述磁盘。
[0048]
进一步地,基于需要优化的所述磁盘的写速度计算出相应的写速度上限。 本实施例中,根据如下方法计算出需要优化的所述磁盘i的写速度上限wsp_imax:
[0049][0050]
其中,wsp_i
max
为下一个预定时间段需要优化的所述磁盘i的写速度上限, α为第三预定值,所述第三预定值小于1,migrate_sp为所述数据传输速度; dirty_sp为所述实际脏数据产生的总速度;wsp_i为磁盘i为上一个预定时间段 内的写速度,即需要解释说明的是,该上一个预定时间段为上述下一个预定时 间段相邻近的前一个时间段。
[0051]
其中,α为第三预定值,所述第三预定值小于1。可选的,所述第三预定 值为0.9~1,例如是0.9。
[0052]
在下一个所述预定时间段内降低需要优化的所述磁盘i的写速度,并且, 降低所述磁盘i的写速度之后,所述磁盘i的写速度应该小于所述写速度上限 wsp_i
max
。计算所述磁盘i的写速度上限wsp_i
max
后,在下一个所述预定时间段内 降低所述磁盘i的写速度时,以所述磁盘i的写速度上限wsp_i
max
作为参考,避 免写速度降低太多,能够极大程度确保所述虚拟机的读写性能不会受到明显影 响。
[0053]
图3为本实施例提供的一种跨主机虚拟机热迁移的系统的结构框图。如图 3所示,所述跨主机虚拟机热迁移的系统用于将源端主机的虚拟机的磁盘热迁 移到目标端主机上,包括:
[0054]
数据监控模块10,用于在开始热迁移之后,在每一预定时间段内,获取所 述虚拟机的实际脏数据产生的总速度、数据传输速度以及每个所述磁盘的写速 度;
[0055]
优化判断模块20,用于在每个所述预定时间段结束后,基于所述实际脏数 据产生的总速度及所述数据传输速度判断热迁移是否需要优化;以及,
[0056]
优化执行模块30,用于当判定热迁移需要优化时,基于每个所述磁盘的写 速度确定需要优化的所述磁盘,并降低需要优化的所述磁盘的写速度。
[0057]
综上,在本发明实施例提供的跨主机虚拟机存储热迁移的方法及系统,用 于将源端主机的虚拟机的磁盘热迁移到目标端主机上,在开始热迁移之后,监 控每一预定时间段内的虚拟机的实际脏数据产生的总速度、数据传输速度以及 每个所述磁盘的写速度,在每个所述预定时间段结束后,可以基于所述实际脏 数据产生的总速度及所述数据传输速度判断热迁移是否需要优化,只有当判定 热迁移需要优化时,基于每个所述磁盘的写速度确定需要优化的所述磁盘,并 降低需要优化的所述磁盘的写速度。本发明可以根据每个预定时间段内的实际 迁移状态来限制磁盘的写速度,在保证热迁移能够完成的基础上,尽可能小地 限制所述虚拟机的读写性能,避免所述虚拟机性能长时间受到很大折损,并且 只降低了需要优化的磁盘的写速度,避免限制不需要限制的磁盘的写速度。
[0058]
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例 重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相 参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所 以描述的比较简单,相关之处参见方法部分说明即可。
[0059]
还需要说明的是,虽然本发明已以较佳实施例披露如上,然而上述实施例 并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明 技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许 多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本 发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修 改、等同变化及修饰,均仍属于本发明技术方案保护的范围。
[0060]
还应当理解的是,除非特别说明或者指出,否则说明书中的术语“第一”、
ꢀ“
第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而 不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
[0061]
此外还应该认识到,此处描述的术语仅仅用来描述特定实施例,而不是用 来限制本发明的范围。必须注意的是,此处的以及所附权利要求中使用的单数 形式“一个”和“一种”包括复数基准,除非上下文明确表示相反意思。例如,对
ꢀ“
一个步骤”或“一个装置”的引
述意味着对一个或多个步骤或装置的引述,并且 可能包括次级步骤以及次级装置。应该以最广义的含义来理解使用的所有连词。 以及,词语“或”应该被理解为具有逻辑“或”的定义,而不是逻辑“异或”的定义, 除非上下文明确表示相反意思。此外,本发明实施例中的方法和/或设备的实现 可包括手动、自动或组合地执行所选任务。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献