您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 云计算中虚拟机迁移策略的研究
虚拟机动态迁移策略的研究演讲者:张灵敏目录背景和意义虚拟机动态迁移简介主流算法的介绍及其改进总结背景和意义背景:云计算应用:负载均衡、节能、动态维护等虚拟机动态迁移技术简介文件系统。通过文件系统NFS的方式解决。网络状态。XEN已经实现了局域网内的网络连接重定向,通过发送ARP重定向包,将虚拟机的IP地址与目的机器的MAC地址绑定,之后的所有就可以发送的到目的机器上。内存状态。内存中数据量大,且内容是动态变化的,因此内存的迁移难度最大。......虚拟机动态迁移的评估标准最小中断。迁移时停机时间最小,因为在停机时间内任何服务都无法执行。一致性。总迁移时间不要太长,因为这段时间内2台机器状态必须同步,可能影响稳定性。最小干扰。保证迁移不会通过资源竞争来干扰正在活动的服务,如cpu、网络带宽。透明性。迁移过程对用户是透明的,在迁移期间,要维持所有的网络连接、应用程序状态。主流动态迁移算法Pre-Copy(预复制)Post-Copy(后续复制)CR/RT-Motion(基于检查点恢复与日志回放技术的虚拟机动态迁移算法)Pre-copy算法及其改进标准的Pre-Copy内存复制过程:(1)预复制。将虚拟机的全部内存页面从源主机复制到目的主机。(2)迭代复制。将上一轮过程中被修改过且到目前为止本轮复制过程中没有被修改过的页面迭代复制到目的主机。(3)停机复制。将虚拟机剩余少量没有同步的内存页面和虚拟机系统运行信息复制到目的主机标准Pre-copy(续)最理想的情况:等同纯粹的Stop-and-Copy,VM内存一直没有被改写。最糟糕的情况:负载较高时,内存修改较为频繁(可写工作集),内存页VM产生脏页的速率可能大于拷贝的速率。在最糟糕的情况下,pre-copy算法需要对内存脏页面进行迭代传送,直到迭代次数和系统承受能力的上限被突破才会被迫停止迭代复制进入停机复制阶段,这样会很明显的增加系统的开销,并且引起很长的停机时间。Pre-copy算法的改进增加一个被命名为to_send_last的位图页,用来记录那些频繁更新的的页面。为了便于控制,出现重发,则这个页面就应该放入to_send_last位图中。基于次数序列的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)目的主机上的虚拟机开始通过网络从源虚拟主机拿取内存页面。(1)基于按需取页(Demandpaging)当在destination的VM执行时遇到pagefault,就向sourcehost发出需求,此时sourcehostVM会传回造成错误的page。优点:每个页面只被传输一次。缺点:依赖于网络状况,网络往返的延迟会减慢虚拟机的性能。内存访问的不确定性,某些页面总不能被访问致使迁移在很长时间都不能完成。(2)基于主动推送(ActivePush)为了改善(1)所带来的问题,除了造成pagefault的页面必须先传输外,sourcehost会从第一页page开始,不停的传送pages到destination端。变成主动的传输,能够有效的改善某些页面一直不被访问的访问的问题。(3)基于页面预取(Pre-paging)由于要预测缺页错误(pagefault)产生的情形相当困难,所以作者们利用读取内存常常读取一大块的特性,由造成缺页的那页邻近的页面作为传输的依据,能够大幅的改善缺页错误的情形。作者提出一个冒泡算法来作为pre-paging的算法。首先,在还没有fault发生的情况下,从第一页page开始往下传输。接着,在发生pagefault后,从发生fault的那页page开始往前后两个方向传输。另外,当发生多次的pagefault时,可以从不同的地方分别开始传送page,当有两个方向的传输碰面的时候,就停止该方向的传输。此算法会一直持续到所有的page都被传送到destination端为止。Post-copy和Pre-copy迁移时间的对比Post-copy总结优点:较Pre-copy迁移时间短。缺点:Pull的初始阶段,性能较差。目前算法不稳定。如果迁移途中,目的主机崩溃,则VM的数据不可恢复。混合动态迁移算法迁移准备阶段进行一次Pre-Copy的全复制过程。虚拟机内存页面被全部复制传送完毕后,源主机随机暂停运行。源主机将待迁移的虚拟机的CPU状态和不可再分的内存脏页面复制到目的主机。目的主机开始恢复虚拟机的运行。发生缺页错误时,目的主机的VM通过网络从源虚拟机获取缺失页。(还处在研究阶段,没有具体的实现和实施细节)优点:规避了迭代拷贝存在的问题,可以减少虚拟机的总迁移时间和网络带宽的消耗。缺点:因为也是基于缺页异常机制,所以缺点同Post-copy。CR/TR-Motion算法CR/TR-Motion算法源主机以copy-on-write的方式生成一个对用户操作系统透明的checkpoint,并传输给目的主机。目的主机接收checkpoint完毕,返回消息,目的主机就以一定时间间隔不断发送logfile,直到达到某终止条件。此期间,源主机不停运行服务,目的主机则不断根据接收得到的logfile进行基于checkpoint的回放。达到终止条件,源主机在传输完最后的logfile之后暂停,目的则在回放完最后的filelog之后接手服务。迁移步骤初始化目的主机预留资源生成检查点迭代日志转移Waiting-and-Charing停机复制事务完成交接服务CR/TR-Motion先决条件日志文件的复制速率应大于日志文件的生成速率。(log增长速率是1MB/s,LAN的传输速率是1GB/s)日志文件的回放速率应大于日志文件的生成速率。(虚拟机进程会因为I/O事件而阻塞自己的运行,导致虚拟机会立即处理全部的I/O事件)否则日志文件在源主机和目的主机上大量堆积,导致整个算法的失败。CR/TR-Motion总结优点:所以对带宽的要求并不那么苛刻,总迁移时间和downtime明显缩短,对runningservice影响较小,并且对写密集应用有更好的适用性。缺点:在多核环境下,记录和回放内存race的代价是昂贵的。同Pre-copy,会因为频繁的可写工作集导致总迁移时间过长。主流算法的对比Pre-Copy优点:相较于纯粹的Stop-and-copy,停机时间短缺点:总迁移时间较长,引起网络传输总量较多,对带宽要求较高。Post-Copy优点:相较于Pre-copy,总迁移时间缩短。缺点:Pull的初始阶段,性能较差。目前算法不稳定。如果迁移途中,目的主机崩溃,则VM的数据不可恢复。CR/TR-Motion优点:较Pre-copy,缩短了停机时间,减少了网络数据流量缺点:在多核的情况下,记录和回放内存操作的代价很高。未摆脱Pre-copy算法的框架。待研究问题结合某一实际应用或特例,对虚拟机的动态迁移进行改进,如减小网络带宽,总停机时间,总迁移时间等等。Thankyou!
本文标题:云计算中虚拟机迁移策略的研究
链接地址:https://www.777doc.com/doc-4724618 .html