前言:什么是虚拟化?
在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境。
由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。
一般所指的虚拟化资源包括计算能力和数据存储。
由于目前信息技术领域的很多企业都曾在宣传中将该企业的某种技术称为虚拟化技术,这些技术涵盖的范围可以从Java虚拟机技术到系统管理软件,这就使得准确的界定虚拟技术变得困难。因此各种相关学术论文在谈到虚拟技术时常常提到的便是如前面所提到的那个不严格的定义。
一、虚拟化的概述
1.1、虚拟化产生的背景
美国环境保护EPA报告中曾经统计过一组数据,EPA研究服务器和数据中心的能源效率时发现,实际上服务器只有5%的时间在工作,其他时间一直处于休眠状态。
ps:软件资源是没有硬件资源的性能高(稳定和效率)的(相同功能)
1.2、虚拟化技术
通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在独立的空间内运行二互不影响,从而提高计算机的工作效率。
例:1、在一个操作系统中(win10)模拟多个操作系统(centos、win10、sure),同时每个操作系统可以跑不同的服务(Nginx+Tomcat),从而实现一台宿主机搭建一个集群(从整体)
2、通过软件、应用程序的方式,来实现物理硬件功能 。ensp( 以软件形式实现物理设备的功能 (二层交换机、三层路由器、三层交换机等))
1.3、虚拟化技术的发展
1.3.1雏形:
1961年 ,IBM709机器实现了分时系统,将CPU占用切分为多个极短的时间片(1/100sec)每个时间片执行不同的工作,通过对这些时间片进行轮询,从而将一个CPU伪装成多个CPU
1972年,IBM正式将system370机的分时系统命名为虚拟机。
1990年,IBM推出的system390机支持逻辑分区(将一个CPU分为多份,相互独立,也就是逻辑分割)
Xen:2003年问世,是一个外部的hypervisor/VMM程序(虚拟机管理程序),能够独立宿主机和给多个客户机分配资源
KVM:2007年问世,现已内置在kernel内核中的
Xen:支持的虚拟化技术:全虚拟化,半虚拟化
KVM:支持的虚拟化技术:全虚拟化
1.3.2、虚拟化类型
全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用
使用的方法:使用hypervisor(VMM)软件,其原理是在底层硬件和服务器之间建立一个抽象层,而基于核心的虚拟机是面向Linux系统的开源产品hypervisor(VMM)可以捕捉CPU的指令,为指令访问硬件控制器和外设充当中介。
半虚拟化:需要修改操作系统
直通:直接使用物理硬件资源(需要支持,还不完善)
1.3.3、特性
优势:
①集中化管理(远程管理、维护)
②提高硬件利用率(虚拟化特性)(物理资源利用率低-例如峰值,虚拟化解决了“空闲”容量)
③动态调整机器/资源配置(虚拟化把系统的应用程序和服务硬件分离、提高了灵活性)
④高可靠(可部署额外的功能和方案,可提高透明负载均衡、迁移、恢复复制等应用环境)
劣势:
①前期高额费用(初期的硬件支持)
②降低硬件利用率(特定场景-例如极度吃资源的应用不一定适合虚拟化)
③更大的错误影响面(本地物理机down机会导致虚拟机不可用,同