1、全虚拟化 –- 全虚拟化技术可以使得客户机操作系统与下层的应届完全的分离,客户机操作系统无需关心如何虚拟化,也不用做任何的修改,总的来说,全虚拟化就是不用硬件或操作系统来帮助虚拟化敏感特权指令。
2、半虚拟化 –- 即部分虚拟化,半虚拟化就是指客户机操作系统和虚拟机监控器相互通信提高性能和效率,需要修改客户机操作系统的内核,用虚拟机监控器来替换非虚拟化的指令,达到与虚拟化层的虚拟机监控器直接交互。
3、硬件辅助虚拟化 –- 硬件厂商对虚拟化的支持,例如Intel的VT-x技术就赋予CPU新的特权指令执行模式,使得虚拟机监控器以新的特权模式运行。
2.2 迁移技术
虚拟机的迁移指在源主机运行的虚拟机操作系统移动到目标主机或虚拟机上并能够正常运行。在没有虚拟机前,系统的迁移都是依靠备份和恢复技术,随着虚拟机技术的快速发展,系统的迁移不再只是单纯的备份和恢复了。
虚拟机迁移技术为服务器虚拟化提供了便捷的方法。迁移服务器可以为用户节省管理资金和升级费用等,迁移技术使得用户可以用一台服务器来替代多台服务器,例如在某服务器因故停机时,我们可以把它迁移到网络中相同的虚拟机中,不会中断业务的运行。迁移技术有以下三种:
V2P(虚拟机到物理机)----V2P指把一个操作系统和应程序以及数据都从一个虚机上迁移到物理机上。是P2V的逆操作。
V2V(虚拟机到虚拟机)----V2V指虚拟机直接移动操作系统和数据。即虚拟机从一个物理机的监控器上迁移到另一台物理机的监控器上。
P2V(物理机到虚拟机)----指把物理服务器上的操作系统等迁移到虚拟机监控器上的虚拟机上。
本文研究的虚拟机迁移调度指的是V2V类型。即把某些感知到需要迁移的虚拟机迁移到合适的位置,使得资源使用效率更高。
静态迁移与动态迁移[11]----静态迁移即在迁移前先关闭虚拟机,把虚拟机拷贝到目标主机后,重新开机运行,由于虚拟机被关闭了一段时间,用户会感觉到服务被中断,静态迁移主要用于对非实时性的服务的领域。动态迁移也叫在线迁移,迁移过程中不关闭虚拟机。现在目标主机上准备一个镜像副本,然后将源机内存分批拷贝到目标主机。这个过程中并不中断程序和服务。这种迁移技术用于对实时性较高的领域。
2.3 模拟退火算法思想
2.3.1 爬山算法(Hill Climbing)
在介绍模拟退火思想之前,我们先介绍一种基于贪心搜索的爬山算法。爬山算法是一种简单的贪心搜索算法,每次从当前解的临近解中找一个最优的解当作下一步需要的解,达到一个局部的最优【12】。爬山算法的有可能会陷入局部最优解,而不一定能搜索到全局最优解。如图2.1。假如我们从A点开始搜索,爬山算法会很快的搜索到B并认为其为最优解,接下来搜索到C,爬山算法不会认为C是比B更优的解,亦即不会接受C作为自己的解,因此,爬山算法会把B点作为最后的全局最优解,而不会搜索到E点,所以爬山算法只能搜索到一个局部最优,而不是全局最优。
图2.1 爬山算法解释图
2.3.2 模拟退火(Simulated Annealing)思想
爬山算法是个完全的局部贪心算法,每次都找一个当前最优解,最后可能只是找到局部最优解[12]。模拟退火算法其实质也是基于贪心搜索思想,但我们在搜索过程中引入了随机参数,使得模拟退火算法有一定的概率接受一个比当前更差的解,从而使得我们跳出局部最优,达到一个全局最优的解。依然引用图2.1。模拟退火算法的执行如下: 虚拟机在线迁移管理系统之自主迁移调度方法设计与实现(3):http://www.youerw.com/jisuanji/lunwen_11985.html