什么是虚拟化技术
虚拟化是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。
虚拟化技术的优势
-
更高的资源利用率
-
降低管理成本
-
提高使用灵活性
-
提高安全性
-
更高的可用性
-
更高的可扩展性
虚拟化技术的实现方式
市场上最常见的虚拟化软件有VMWare workstation(VMWare)、VirtualBox(Oracle)、Hyper-V(Microsoft)、KVM(Redhat)、Xen等,这些软件统称之为VMM(Virtual Machine Monitor),使用不同的虚拟化实现。
全虚拟化(硬件辅助虚拟化技术)
在虚拟机(VM)和硬件之间加了一个软件层–Hypervisor,或者叫做虚拟机管理程序(VMM)。
hypervisor 可以划分为两大类:
-
hypervisor 是直接运行在物理硬件之上的,例子:基于内核的虚拟机(KVM —— 它本身是一个基于操作系统的 hypervisor)
-
hypervisor 运行在另一个操作系统(运行在物理硬件之上)中,例子:QEMU 和 WINE
-
优点:运行在虚拟机上的操作系统没有经过任何修改。
-
缺点:Hypervisor会占用一定的资源,性能有所降低。
半虚拟化技术
客户操作系统进行了修改,增加了一个专门的API,这个API可以将客户操作系统发出的指令进行最优化, 即不需要Hypervisor耗费一定的资源进行翻译操作。
例子:xen
-
优点:不需要Hypervisor耗费一定的资源进行翻译操作,性能提高
-
缺点:需要修改包含该API的操作系统,比较麻烦;而且对于某些不含该API的操作系统(主要是windows)来说,就不行能用这种方法。