天天看点

初识虚拟化

一、虚拟化的产生背景

在2000年之前,服务器单机性能比较差。在这种情况下一台服务器仅能运行一个业务,对于一些需要更多资源的服务需要通过集群等技术来实现。

随着服务器单机性能(CPU核数、内存容量)的提升,如果按照传统的业务部署模式,一台服务器运行一个业务。在这种情况下极大的浪费了资源,比如在一个配有4核CPU,16G内存的服务器上可以运行5个甚至更多的目录树服务。

如果在一台性能较高的服务器上运行多个业务,势必会因为业务之间的干扰,存在因一个业务故障而影响其他业务的可能。在这种情况下通过虚拟化技术便可解决这种不足。请看下文的介绍

二、对虚拟化的认识

虚拟化是指使用虚拟化技术在一台物理计算机上运行多个逻辑的计算机,这些逻辑的计算机之间彼此隔离,相互独立,运行不同的操作系统和不同业务。不同的虚拟计算机共享物理主机的硬件资源。

通过虚拟化可以整合计算机的硬件资源,进行统一分配和调度,提升计算机硬件资源的利用率,充分发挥计算机的整机性能。

其中虚拟化技术中关键的部分是VMM(虚拟机监视器),VMM是在计算机硬件和客户机操作系统之间增加的一个虚拟化层。例如KVM虚拟化使用的Hypervisor和VMware vSphere所使用的Esxi等。

三、虚拟化的分类

虚拟化技术通过VMM的实现完成对CPU的虚拟化、内存的虚拟化、I/O的虚拟化等。根据对VMM的不同实现有完全虚拟化、准(半)虚拟化等。

完全虚拟化:由VMM为所有的客户机操作系统提供完整的硬件模拟,客户机操作系统的指令通过VMM捕获翻译后运行在计算机硬件上。代表产品:VMware vSphere,KVM

半(准)虚拟化:在VMM的上层增加一个API,客户机操作系统直接调用API(主动)来和VMM进行通信,简化了VMM的负担。这种技术需要对客户机操作系统的核心进行修改,因此客户机操作系统不支持windows(核心不知道)。代表产品:Xen

硬件辅助虚拟化:硬件厂商通过对CPU的开发,增加CPU的新特性,来简化VMM的工作。

补充:在完全虚拟化的基础上,通过开发一些特定的软件增加半虚拟化技术,从而改善计算机硬件的兼容能力,提高数据的吞吐量。这类软件有VMware 的VMware Tools,KVM的Virtio。

四、典型的虚拟化产品比较

VMWare vSphere:完全虚拟化的代表,属于VMware。市场占有率最高。相比较于KVM,他的虚拟化平台控制机(vCenter和VCSA)可以和普通的虚拟机共同运行在计算节点

(Esxi)上。

KVM:kernel-based Virtual Machine,即基于(Linux)内核的虚拟机,属于RedHat。KVM的VMM使用的是Hypervisor,运行在RHEV-H(KVM虚拟化的计算节点)上;其虚拟化平台管理控制机是RHEV-M。KVM属于红帽公司的企业级虚拟化产品(RHEV),管理的主机数在500台左右,不适合超大规模的部署。

Xen:半虚拟化技术的典型代表,属于Citrix(思杰公司)。

Hyper-V:微软的虚拟化产品

    本品博文所介绍的观点如有不清楚、不合理或不正确之处,还请各位博友指正,感激不尽

上一篇: KVM虚拟化
下一篇: KVM虚拟化

继续阅读