一文看懂虚拟化技术!
Posted 云技术漫谈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文看懂虚拟化技术!相关的知识,希望对你有一定的参考价值。
今天我们来聊聊虚拟化技术。
通常意义的虚拟化(Virtualization)技术是指使用虚拟机管理程序软件(VMM或Hypervisor)在一台物理设备上创建若干虚拟机 (VM) 的过程。
维基百科中定义:虚拟化是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境(VM)。
虚拟机
虚拟机VM(Virtual Machine)是指使用虚拟化技术,通过软件模拟完整的计算机硬件系统功能,构造出的完整虚拟计算机系统。该虚拟机可以独立运行在一个完全隔离的环境中,像使用本地计算机一样安全可靠。
宿主机
运行Hypervisor软件并承载虚拟机运行的物理服务器或PC。
Hypervisor
即虚拟机监视器VMM(Virtual Machine Monitor),是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。
Hypervisor是可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisor将虚拟机与主机分离开来,并根据需要为每个虚拟机动态分配计算资源,同时在各个虚拟机之间施加防护,确保各虚拟机之间使用的资源不发生冲突。
使用虚拟化技术前和虚拟化后的对比:
可以看到VMM是处在虚拟机和底层物理硬件之前中间层,它既要负责对虚拟资源的管理,包括虚拟环境的调度,虚拟机之间的通信以及虚拟机的管理等,又要负责物理资源的管理,包括处理器、中断、内存、设备等的管理。
要说虚拟化的优势,首先想到的第一个优点肯定是:
1、提高服务器资源利用率降低采购成本。
虚拟化技术能够让一台服务器虚拟出多台运行环境,不仅可以提高服务器资源利用率,还意味着你无需购买多台服务器来安装不同的操作系统或应用。这样可大大节省硬件、冷却和维护成本。
此外虚拟化业界龙头VMware列举了虚拟化的以下优势,在这里我就不展开说明了:
2、降低资金成本和运维成本。
3、提高IT 部门的工作效率、效益、敏捷性和响应能力。
4、最大限度减少或消除停机,提高业务连续性和灾难恢复能力。(在虚拟化之上可借助HA等技术实现虚拟机的故障检测迁移,保证上层业务的可用性)
5、加快应用和资源的调配速度,简化数据中心管理。(虚拟机的生命周期管理都可以在虚拟化管理软件界面上方便直观的管理)
1、全虚拟化(Full Virtualization)
全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。
敏感指令在操作系统和硬件之间被捕捉处理,客户操作系统无需修改,所有软件都能在虚拟机中运行
全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。
2、硬件辅助虚拟化(Hardware-Assisted Virtualization)
硬件辅助虚拟化是指借助硬件(主要是处理器)的支持来实现高效的全虚拟化,客户操作系统无需修改即可在VMM中运行。
Intel-VT 和 AMD-V 是目前 x86 体系结构上可用的两种硬件辅助虚拟化技术。
硬件辅助虚拟化VMM有KVM、VMware ESX等。
3、部分虚拟化(Partial Virtualization)
VMM 只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。
这种虚拟技术以Xen为代表,微软的Hyper-V所采用技术和Xen类似,也可以把Hyper-V归属于半虚拟化。
目前,主流的虚拟化技术有VMware、KVM、Xen、HyperV等。
其中VMware是虚拟化业界龙头老大,其产品市场占有率在50%以上。
Xen和KVM,是开源免费的虚拟化软件,国内许多虚拟化厂商的产品基本都是采用KVM虚拟化技术做的二次开发。
Hyper-V则是微软的虚拟化产品,不温不火,市场占有率不高。
VMware
VMware ,IT行业没有不熟悉它的,是虚拟化市场的龙头老大,占据50%以上的市场份额。公司成立于1998年,总部设在美国加利福尼亚州帕洛阿尔托。VMware 提供了很多的虚拟化产品,从服务器到桌面都有很多应用。
VMware发展历程:
KVM
基于内核的虚拟机(Kernel-based Virtual Machine,缩写为KVM)是一种集成于Linux内核中的虚拟化技术,它可将Linux内核转化为一个虚拟机监视器。
KVM于2007年2月5日被导入Linux 2.6.20核心中。
KVM需要处理器支持硬件辅助虚拟化才能正常运行,即处理器支持Intel-VT 或 AMD-V技术。
XEN
以上是关于一文看懂虚拟化技术!的主要内容,如果未能解决你的问题,请参考以下文章