云计算中虚拟机迁移策略的研究.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Post-copy和Pre-copy迁移时间的对比
Post-copy总结
优点:
较Pre-copy迁移时间短。
缺点:
Pull 的初始阶段,性能较差。 目前算法不稳定。如果迁移途中,目的主机崩溃,则VM的数据不可恢复。
混合动态迁移算法
迁移准备阶段进行一次Pre-Copy的全复制过程。 虚拟机内存页面被全部复制传送完毕后,源主机随机暂停运行。 源主机将待迁移的虚拟机的CPU状态和不可再分的内存脏页面复制到目的主机。 目的主机开始恢复虚拟机的运行。 发生缺页错误时,目的主机的VM通过网络从源虚拟机获取缺失页。 (还处在研究阶段,没有具体的实现和实施细节)
主流算法的对比
Pre-Copy 优点:相较于纯粹的Stop-and-copy,停机时间短 缺点:总迁移时间较长,引起网络传输总量较多, 对带宽要求较高。 Post-Copy 优点:相较于Pre-copy,总迁移时间缩短。 缺点: Pull 的初始阶段,性能较差。
目前算法不稳定。如果迁移途中,目的主机崩溃,则VM的数据不可恢复。
迁移步骤
初始化 目的主机预留资源
生成检查点
迭代日志转移 Waiting-and-
Charing
停机复制 事务完成 交接服务
CR/TR-Motion先决条件
日志文件的复制速率应大于日志文件的生成速率。 ( log增长速率是1MB/s,LAN的传输速率是1GB/s) 日志文件的回放速率应大于日志文件的生成速率。 (虚拟机进程会因为I/O事件而阻塞自己的运行,导致虚拟机会立即处理全部的I/O事件 ) 否则日志文件在源主机和目的主机上大量堆积,导致整个算法的失败。
接着,在发生page fault后,从发生fault的那页page开始往前后两个方向传输。
另外,当发生多次的page fault时,可以从不同的地方分别开始传送page,当有两个方 向的传输碰面的时候,就停止该方向的传输。此算法会一直持续到所有的page都被传 送到destination端为止。
(1)基于按需取页(Demand paging)
当在destination的VM执行时遇到page fault,就向source host发出需求,此时source host VM会传回造成错误的page。
优点:每个页面只被传输一次。 缺点: 依赖于网络状况,网络往返的延迟会减慢虚拟机的性能。
主流动态迁移算法
Pre-Copy(预复制) Post-Copy(后续复制)
CR/RT-Motion(基于检查点恢复与日志回放技术的虚拟机动态迁移算法)
Pre-copy算法及其改进
标准的Pre-Copy
内存复制过程: (1)预复制。将虚拟机的全部 内存页面从源主机复制到目 的主机。 (2)迭代复制。将上一轮过程
在最糟糕的情况下,pre-copy算法需要对内存脏页面进行迭代传送,直到迭代次数和系 统承受能力的上限被突破才会被迫停止迭代复制进入停机复制阶段,这样会很明显的
增加系统的开销,并且引起很长的停机时间。
Pre-copy算法的改进
增加一个被命名为to_send_last的位图页,用来记录那些频繁更新的的页面。为了便于 控制,出现重发,则这个页面就应该放入to_send_last位图中。
内存访问的不确定性,某些页面总不能被访问致使迁移在很长时间都不能完成。
(2)基于主动推送(Active Push)
为了改善( 1 )所带来的问题,除了造成page fault的页面必须先传输外,source host会 从第一页page开始,不停的传送pages到destination端。变成主动的传输,能够有效的 改善某些页面一直不被访问的访问的问题。
中被修改过且到目前为止本
轮复制过程中没有被修改过 的页面迭代复制到目的主机 。
(3)停机复制。将虚拟机剩余
少量没有同步的内存页面和 虚拟机系统运行信息复制到 目的主机
标准Pre-copy(续)
最理想的情况:等同纯粹的Stop-and-Copy,VM内存一直没有被改写。 最糟糕的情况:负载较高时,内存修改较为频繁(可写工作集),内存页VM产生脏页 的速率可能大于拷贝的速率。
(3)基于页面预取(Pre-paging)
由于要预测缺页错误(page fault)产生的情形相当困难,所以作者们利用读取内存常 常读取一大块的特性,由造成缺页的那页邻近的页面作为传输的依据,能够大幅的改 善缺页错误的情形。 作者提出一个冒泡算法来作为pre-paging的算法。
首先,在还没有fault发生的情况下,从第一页page开始往下传输。
基于次数序列的Pre-Copy算法
N,代表次数序列数组to_send_h的最大长度。(to_send_h用于保存to_send位图的历 史统计) K,代表高脏页面的阈值。
使用历史脏页面集to_send_h来帮助决定是否传送页面p
基于增量压缩技术的Pre-copy
以内存夜更新变换的增量来代替变化后页面本身的形势存储数据的方法。 算法采用RLE算法来压缩增量页面。 • 优点:增加了网络的吞吐 量。 • 缺点:源主机中的内容不 停的被更新覆盖,而在内存 中需要额外保存一个增量内 存页面的副本。
通过CPU调度优化的Pre-Copy算法
通过调节CPU调度频率来减慢虚拟机内存的写。
优点:降低代迁移内存页面的弄脏速率,达到快速收敛。 缺点:损伤虚拟机的服务性能,甚至会出现服务中断,损害了动态迁移的透明性。
Pre-copy总结
优点: 同静态复制算法相比,Pre-copy算法缩短了停机时间(能达到毫秒级)。 不足: 负载较高时,内存页面修改频繁,受网络带宽等因素影响,迭代无法收敛而进入 强制停机复制阶段,会造成较大的系统开销,引起较长的停机时间和总迁移时间 。
Post-copy算法及其改进
标准post-copy
( 1 ) 源主机向目的主机复制传送包括VCPU等系统状态在内的虚拟机在目的主机上能够 运行的最小数据集。 ( 2 ) 停止源虚拟机的运行。 ( 3 ) 目的主机收到最小工作数据集后恢复虚拟机的运行。 ( 4 ) 目的主机上的虚拟机开始通过网络从源虚拟主机拿取内存页面。
CR/TR-Motion 优点:较Pre-copy,缩短了停机时间,减少了网络数据流量 缺点:
在多核的情况下,记录和回放内存操作的代价很高。
未摆脱Pre-copy算法的框架。
待研究问题
结合某一实际应用或特例,对虚拟机的动态迁移进行改进,如减小网络带宽,总停机 时间,总迁移时间等等。
Thank you!
CR/TR-Motion总结
优点: 所以对带宽的要求并不那么苛刻,总迁移时间和downtime明显缩短,对running service影响较小,并且对写密集应用有更好的适用性。 缺点 : 在多核环境下,记录和回放内存race的代价是昂贵的。
同Pre-copy,会因为频繁的可写工作集导致总迁移时间过长。
虚拟机动态迁移的评估标准
最小中断。迁移时停机时间最小,因为在停机时间内任何服务都无法执行。 一致性。总迁移时间不要太长,因为这段时间内2台机器状态必须同步,可能影响稳定 性。 最小干扰。保证迁移不会通过资源竞争来干扰正在活动的服务,如cpu、网络带宽。 透明性。迁移过程对用户是透明的,在迁移期间,要维持所有的网络连接、应用程序 状态。
虚拟机动态迁移策略的研究
演讲者:张灵敏
目录 背景和意义 虚拟机动态迁移简介 主流算法的介绍及其改进 总结
背景和意义
背景:云计算 应用:负载均衡、节能、动态维护等
虚拟机动态迁移技术简介
文件系统。通过文件系统NFS的方式解决。 网络状态。XEN已经实现了局域网内的网络连接重定向,通过发送ARP重定向包,将 虚拟机的IP地址与目的机器的MAC地址绑定,之后的所有就可以发送的到目的机器上 。 内存状态。内存中数据量大,且内容是动态变化的,因此内存的迁移难度最大。 ......
优点:规避了迭代拷贝存在的问题,可以减少虚拟机的总迁移时间和网络带宽的消耗 。 缺点: 因为也是基于缺Βιβλιοθήκη Baidu异常机制,所以缺点同Post-copy。
CR/TR-Motion算法
CR/TR-Motion算法
源主机以copy-on-write的方式生成一个对用户操作系统透明的checkpoint,并传输给目 的主机。 目的主机接收checkpoint完毕,返回消息,目的主机就以一定时间间隔不断发送log file ,直到达到某终止条件。此期间,源主机不停运行服务,目的主机则不断根据接收得 到的log file进行基于checkpoint的回放。 达到终止条件,源主机在传输完最后的log file之后暂停,目的则在回放完最后的file log 之后接手服务。