参考资料:
机械工业出版社的《云计算:应用开发实践》
百度百科
1. 什么虚拟化技术
虚拟化是一个广义的术语,在计算机方面通常是指计算元件是在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。
虚拟化技术通常包含虚拟服务器、客户操作系统和虚拟服务器管理程序。
2. 完全虚拟化
使用名为hypervisor的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。
优点是,客户操作系统不需要做任何修改;缺点是,Hypervisor会给CPU带来额处的开销。例如,VMWare、微软的VirtualPC和KVM等就是这方面的产品。
3. 准虚拟化
完全虚拟化要求hypervisor管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是,改动客户操作系统,让它以为自己运行在虚拟环境下,能够与hypervisor协同工作。这种方法就叫准虚拟化。
优点是,性能高;缺点是,客户操作系统需要修改。例如,Xen就是这方面的产品。
4. 操作系统层虚拟化
实现虚拟化还有一个方法,就在操作系统层直接增加虚拟服务器,这就称为操作系统层虚拟化。
优点是,本机速度性能较高;缺点是,灵活性较差。例如,Solaris就是这方面的产品。
5. 硬件虚拟化技术
Intel VT和AMD VT,主要解决因为缺少对应的内部指令集,无法保证虚拟化任务可以高效完成的相关问题。