服务器虚拟化技术是指在一台物理服务器上运行多个虚拟服务器的技术,以下是几种常见的服务器虚拟化技术:
KVM(Kernel-based Virtual Machine)
KVM是一种基于Linux环境的开源虚拟化解决方案,它本质是一个提供虚拟化内核的内核插件,实现完整的虚机服务还需要借助QEMU来配合完成。
优点:已经被纳入Linux的内核,具有官方支持;是完全虚拟化技术,可以支持多种操作系统。
缺点:相对于Xen、VMware、Hyper-V,KVM是运行在Linux内核上的虚拟化架构,会消耗更多的计算资源。
OpenVZ
OpenVZ是基于Linux平台的操作系统级别的虚拟化技术,本质是一个虚拟化软件。
优点:性能损失最低,运行无需经过虚拟指令,直接运行CPU,性能接近裸机,正常损失1~3%性能。
缺点:基于Linux,主机及宿主机都必须是Linux系统;所有虚拟机共用宿主机的内存和CPU,超卖情况会严重降低虚拟机性能。
Xen
Xen支持两种模式的虚拟化,包括半虚拟化(Xen PV)和全虚拟化(Xen HVM)。
半虚拟化(Xen PV):只支持Linux系统;性能损失比较少,大约4%~8%;虚拟化直接替代操作系统层,作用于硬件,让虚拟机能够直接感知到硬件而不是虚拟出的设备,所以性能高。
全虚拟化(Xen HVM):支持Windows;理论效率比PV略低,性能损失较大,大约8%~20%。
此外,由于Windows系统的封闭性,Xen无法采用半虚拟化方式支持,因此也支持全虚拟化的方式来支持Windows系统。但半虚拟化架构需要特定的系统架构,XEN需要修改操作系统内核,而Windows操作系统由于其封闭性,不能被Xen的半虚拟化所支持。
Hyper-V Server
Hyper-V Server是微软公司推出的虚拟化技术产品,支持全虚拟化跟半虚拟化两种技术。
半虚拟化技术:一般采用Windows系统,对Windows虚机性能提升极高。
全虚拟化技术:要求硬件CPU支持虚拟化技术,采用虚拟硬件方式来支持额外操作系统。为支持Linux等系统虚机,也支持该技术。
此外,在系统开启Hyper-V功能之后,原来的操作系统被认为是第一个虚拟机。Hyper-V的优点是系统自带该功能,购买系统注册码可以选择直接开启对应功能;缺点是除Windows系统之外,对其他系统的支持度不高。
VMware
VMware属于硬件虚拟化,直接作用于物理层(指的是服务器虚拟化产品)。这是业内老牌公司推出的虚拟化产品,除了授权比较贵之外几乎毫无缺点。