首页 理论教育 基于KVM的桌面云服务端I/O虚拟化解决方案研究结果

基于KVM的桌面云服务端I/O虚拟化解决方案研究结果

时间:2023-10-19 理论教育 版权反馈
【摘要】:动态迁移是在源虚拟机不停机且QoS能够保证的前提下,将源虚拟机的操作系统和数据迁移到目标服务器上,总的来说迁移的主要内容有:内存、磁盘、网络和设备状态。磁盘的迁移磁盘数据的特点是数据量特别大,且存储介质多种多样,在局域网内,一般不进行磁盘数据的迁移,而是采用共享存储技术,如NFS等。

基于KVM的桌面云服务端I/O虚拟化解决方案研究结果

动态迁移是在源虚拟机不停机且QoS能够保证的前提下,将源虚拟机的操作系统和数据迁移到目标服务器上,总的来说迁移的主要内容有:内存、磁盘、网络和设备状态。

(1)内存的迁移

内存迁移非常复杂,因为在迁移的过程中,虚拟机上的应用不会停止,也就是说内存数据会处于不断变化中,每一次内存数据的改写意味着一次内存数据的迭代传输,而迭代的过程必然增加迁移的总时间,所以动态迁移总是在迁移总时间和停机时间之间做着平衡。

内存的迁移过程一般有三个阶段:

PUSH阶段:该阶段中,源服务器首先将全部内存页传递给目的端服务器,但是在传输过程中,内存页的数据会被持续被修改,接着源物理机会将迭代传输时被改动的内存数据传输给目的物理机,直至满足迭代条件停止。

STOP-and-COPY阶段:该阶段中,源主机暂停,源物理机将最后一轮迭代中被弄脏的内存数据和CPU、I/O等设备状态数据传输给目的物理机。

PULL阶段:目的主机在最小系统下运行,当运行到某应用程序时,可能会缺失部分数据,这时目的主机会以缺页中断的形式向源主机索取缺失的数据。

常见的内存迁移方法一般包含以上三个阶段中的一个或多个,例如只有STOP-and-COPY阶段,则是静态迁移方法,只有PUSH阶段和STOP-and-COPY阶段则属于预迁移方法,只有STOP-and-COPY阶段和PULL阶段则属于后迁移方法。当然也有完全不包括上述三个阶段的迁移方法,如CR/TR-Motion方法。(www.xing528.com)

(2)磁盘的迁移

磁盘数据的特点是数据量特别大,且存储介质多种多样,在局域网内,一般不进行磁盘数据的迁移,而是采用共享存储技术,如NFS等。在NFS共享存储中,源和目的虚拟机共享NFS Server的磁盘空间,在进行迁移时就不用再进行磁盘数据的迁移了,只需要传输少量的配置文件信息。但是对于非局域网环境,存储的迁移就是一个难点了,Travostiono F[33]等提出了一种“VM Tumtablede Monstrator”的技术,使得对于磁盘数据的迁移不再只局限于局域网环境,在Travostiono F的实验中,在非局域网环境下,尽管数据量增大了1000倍以上,但是停机时间只增长了5到10倍。

(3)网络的迁移

网络迁移是为了保证在迁移后虚拟机的网络连接情况不会改变,具体的迁移数据有网络协议及IP等。对于局域网中的迁移,我们常用ARP重定向数据包,将源和目的虚拟机的IP地址进行绑定,这样就避免了网络数据的传输,并且能在对用户透明的前提下实现网络数据资源的迁移。

但是网络结构并不总是一成不变的,对于非局域网的网络资源的迁移是比较困难的,对此,Hidenobu等在文献[34]中提出了一种IP Mobility技术,也叫作全局动态IP迁移技术,这种技术可以在非局域网环境下进行网络数据的迁移,并且可以控制停机时间在Is以内。

(4)设备状态的迁移

设备状态的迁移非常重要,例如CPU状态、网络状态、图形处理器的状态等,它们保证了虚拟机在迁移后能够保持原来状态,但是它们的数据量通常都比较小,不管是在局域网环境还是在非局域网环境,传输这些数据占用的资源都比较小,传输时间也非常短。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈