一、什么是虚拟化
虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
虚拟化技术也与VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。
虚拟化技术有很多定义,下面就给出了一些这样的定义。
“虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。” —— Jonathan Eunice, Illuminata Inc。
“虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。” —— Wikipedia
“虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。” —— Open Grid Services Architecture Glossary of Terms。
KVM全称Kernel-based Virtual Machine(基于内核的虚拟机),寄居在linux kernel中(寄居架构),这样就直接使系统内核成为一个虚拟机管理程序(VMM)。它使用Linux自身的调度器进行管理。
KVM是基于硬件的全虚拟化,需要硬件技术支持(如Intel VT技术或者AMD V技术)。
KVM在当前只能运行在Linux操作系统中。
主要包括桌面版的 VMware workstation、VMware server和VMware esx/esxi
VMware esx/esxi 是全虚拟化软件,把底层物理硬件的驱动程序整合到Hypervisor(vmm)管理层中,整个软件是一个操作系统,直接安装在裸机上,不需要其他的OS做底层系统。整合了很多功能,例如取消了内存复制等。
VMware Server 需要有底层操作系统支持,可安装在linux或者windows操作系统上来管理资源,性能不错,多用于企业生产环境。
VMware workstation是软件虚拟化,需要有底层操作系统支持,多用于测试。
VMware vCenter 用来管理VMware esx/esxi
XenServer是思杰公司(Citrix) 推出的一款服务器虚拟化系统
XenServer是一个操作系统,不需要依赖底层的其它操作系统。
Xen在不使用Intel VT或AMD的VT技术的时候属于半虚拟化
Xen在使用Intel VT或AMD的VT技术(硬件辅助虚拟化)属于全虚拟化
在windows的server版中,使用的全虚拟化技术,直接运行在硬件上,这样使操作系统直接成为虑拟机管理器。
VirtualBox需要底层操作系统支持,是个半虚拟化软件,现在属于oralce公司,可以运行在大多数的操作系统上,使用人数较少
(c)2008-2023 Www.QNWTOP.Com All Rights Reserved