加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.com/)- 应用安全、运维、云计算、5G、云通信!
当前位置: 首页 > 云计算 > 正文

对云计算环境中在线迁移技术的分析

发布时间:2021-07-28 15:49:14 所属栏目:云计算 来源:互联网
导读:1 引言 云计算技术的发展与应用已经成为现今研究的热点。云计算是一种基于互联网的大众参与的计算模式,其计算资源包括计算能力、存储能力、交互能力等。这些资源都是动态的、被虚拟化了的,并以服务的方式提供给用户。虚拟化已经成为云计算等各种新型计算模
  1 引言
 
 
    云计算技术的发展与应用已经成为现今研究的热点。云计算是一种基于互联网的大众参与的计算模式,其计算资源包括计算能力、存储能力、交互能力等。这些资源都是动态的、被虚拟化了的,并以服务的方式提供给用户。虚拟化已经成为云计算等各种新型计算模式的基础,其所具有的综合化、模块化、通用性、容错以及高可靠性等良好特性使其在云计算中发挥着重要作用。其中的迁移技术是最引人注目和最有价值的应用之一,所以如何在云计算环境中利用迁移技术,成为了极具意义的研究问题。
 
 
    虚拟机迁移技术能够透明地将运行于VMM (virtualmachine monitor)上的操作系统在物理主机间转移,管理员不需要了解操作系统本身的细节,也不需要关心操作系统上运行的服务状态,极大地方便了人们的管理操作。目前,主流的在线迁移工具都依赖于物理主机之间采用集中式共享外存设备。考虑到云计算环境中许多计算机系统各自独立拥有本地外存,现有迁移技术在这种场合下受到限制,所以有必要实现一个包括外存迁移在内的全系统在线迁移方案,从而拓宽现有迁移技术在云环境中的应用范围。
 
 
    2 在线迁移技术背景
 
 
    2.1原理及局限性
 
 
    虚拟机在线迁移技术m可以在保持虚拟机运行的同时,把其从一个物理计算机迁移到另一个物理计算机,并在目的主机上恢复运行,无缝地实现服务整合。通过在线迁移,可以更方便地实现云计算环境中服务器的在线维护、在线升级、负载均衡等,并提供了一种灾难恢复的解决方案。VMW,的迁移工具VMotion在物理主机共享外存的情况下,实现了操作系统运行状态的迁移,主要包括内存状态、外设状态、CPU寄存器状态等。宾汉姆顿大学则在Xen基础上通过在POST阶段加人对内存页的预拷贝,加快了在线迁移的速度。这些迁移技术对磁盘的处理都比较简单,主机间通过SAN (storage area network),NAS(network-attached storage)等方式共享磁盘存储,而非实现真正的磁盘迁移,如图1所示。
 
 
    图1 基于共享存储的虚拟机迁移
 
 
    在云计算环境中许多计算机系统并没有采用共享式外存,而是采用分散式外部存储方式,现有迁移技术在这种场合下受到限制,虚拟机迁移到目的主机后不能访问其原有外存设备,或者需要依赖于源主机为其外存访问提供支持。为了使现有迁移技术更好地应用于云环境中,有必要实现一个包括外存迁移在内的全系统在线迁移方案,使得在采用分散式本地存储的计算机环境下,仍然能够利用迁移技术转移计算环境,并且保证迁移过程中操作系统服务的可用性。
 
 
    2.2设计思路
 
 
    云环境中的全系统在线增量迁移主要分为三个阶段:Push阶段、停机拷贝阶段和Pull阶段。在Push阶段,源VM(virtual machine)仍在运行,其外存访问被VMM监控。在内存pre-copy之前采用与内存迁移同样的原理先进行外存的pre-copy。外存pre-copy结束后,进人Xen的内存pre-copy阶段,在此期间VM对外存的访问仍然被监控记录,作为后续阶段同步剩余不一致外存状态的依据。在停机拷贝阶段,源VM被挂机,传输剩余的内存状态、CPU状态等,并将VMM所记录的外存状态信息发送给目的VM。在Pull阶段。目的VM被激活,对于本地UO请求根据需要向源主机请求数据,同时源主机主动根据已记录的外存状态发送未同步完的外存数据。
 
 
[page]    3 云环境中全系统在线增量迁移的设计与实现
 
 
    3.1Push阶段的设计与实现
 
 
    Push阶段的迁移流程如图2所示。
 
 
 
 
    图2  Push阶段迁移流程
 
 
    首先,用户通过。migrate命令向VMM发出迁移请求,收到请求后VMM通知块设备即将开始迁移;然后,检查内存是否够用,如果不够用则先释放部分内存,以保证有足够的内存进行迁移;接着,源主机与目的主机建立socket连接。源主机请求迁移。当收到目的主机的响应之后,调用迁移主体函数正式开始迁移。
 
 
    外存pre-copy主要借鉴} Xen内存pre-copy的方法通过一个循环体将源VM的外存数据发送至目的主机,同时设置了一些相应的循环终止条件,以避免外存迁移时间过长,从而影响总体迁移时间。
 
 
    主机端需要监控VM对外存的访问。本文采用的方法是,在设备后端初始化了一个bitmap,用于记录外存块的状态变化。如果某个外存块在循环期间被写脏,就将相应的标志位置1。每轮循环首先从设备后端获取此bitmap记录,根据该记录发送前一轮发送过程中被VM写脏的外存块。第一次迁移时,由于目的主机不存在虚拟机外存的历史状态,增量迁移的外存内容为虚拟机全部外存数据,并在此时初始化设备后端中的bitmap,开始对虚拟机外存访问进行监控。此后的每一轮pre-copy,迁移进程从设备后端获取此bitmap,根据bitmap确定本轮需要发送的外存脏块,同时,VMM将bitmap清零,重新开始记录下一轮pre-copy中虚拟机的外存更新情况。外存pre-copy结束,进人Xen的内存pre-copy阶段,这期间VM对外存的访问仍然被监控并且记录,作为后续阶段同步剩余不一致外存状态的依据。
 
 
    3.2停机拷贝阶段的设计与实现
 
 
    停机拷贝阶段的设计与实现比较简单。进入停机阶段,源VM被挂起,目的VM尚未启动。从最后一轮外存pre-copy至源VM被挂起的过程中,源VM外存访问产生的脏块被设备后端记录在bitmap中,设计流程如图3所示。

(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读