虚拟化的主流技术介绍

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机上可以运行不同的操作系统,并且应用程序都可以相互独立的空间内运行而互不影响,显著提高计算机的工作效率。

虚拟化实现了用软件的方法重新划分和定义了IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源的利用率,使资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

虚拟化的目的就是要对IT基础设施进行简化,可以简化对资源以及对资源管理的访问。现在主流的虚拟化技术有:CPU虚拟化、网络虚拟化、服务器虚拟化、存储虚拟化和应用虚拟化。下面我们来主要介绍一下这几种虚拟化技术的基本原理:

CPU虚拟化

通俗来讲,CPU虚拟化就是用单个CPU模拟出多个并行的CPU,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

CPU的虚拟化技术是一种硬件方案,原因是纯软件虚拟化解决方案存在很多限制 。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)。在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置。如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。

虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。

虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚

你可能感兴趣的:(运维,java,docker)