美国环境保护署(EPA)报告的一组有趣的统计数据就证明了其好处。EPA 研究服务器和数据中心的能源效率时发现,实际上服务器只有 5% 的时间是在工作的。在其他时间,服务器都处于 “休眠” 状态。
底层硬件--->操作系统--->VMware和本机其他的APP--->运行不同的操作系统。
虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化前
每台主机一个操作系统
软件硬件紧密地结合
在同一主机上运行多个应用程序通常会遭遇沖突
系统的资源利用率低
硬件成本高昂而且不够灵活
虚拟化后
打破了操作系统和硬件的互相依赖
通过封装到到虚拟机的技术, 管理操作系统和应用程序为单一的个体
強大的安全和故障隔离
虚拟机是独立于硬件的, 它们能在任何硬件上运行(有些虚拟化必须运行在他更改过的系统上的)
虚拟化定义:让应用程序运行在不同的空间内,这些空间彼此独立集合,大提升服务器的使用效率。
虚拟化分类
全虚拟化技术、半虚拟化技术/准虚拟化技术
全虚拟化技术
完全虚拟化技术又叫硬件辅助虚拟化技术,最初所使用的虚拟化技术就是全虚拟化(Full Virtualization)技术,它在虚拟机(VM)和硬件之间加了一个软件层--Hypervisor,或者叫做虚拟机监控器(VMM)
hypervisor 直接运行在物理硬件之上 - KVM, KVM在云上用的多,企业用的少。
hypervisor 运行在另一个操作系统中 - QEMU 和 WINE, openstack默认支持QEMU,
完全虚拟化的优点:不需要修改宿主机的操作系统。
半虚拟化技术
半虚拟化技术,也叫做准虚拟化技术。它就是在全虚拟化的基础上,把客户操作系统进行了修改,增加了一个专门的API,这个API可以将客户操作系统发出的指令进行最优化,而不需要Hypervisor耗费一定的资源进行翻译操作,因此Hypervisor的工作负担变得非常的小,因此整体的性能也有很大的提高。
全虚拟化和半虚拟化是个包含关系,半虚拟化和准虚拟化是全虚拟化的一咱类型,但是全虚拟化并不是半虚拟化,相当于是一个进阶类型,
虚拟化的工作:首先宿主机要发送指令,他认为是要和真正的硬件发送指令了,所以他发送的是硬件能够识别的指令,但是这个指令没办法到我们真正的硬件上,因为他要交给我们的Lib库或者是虚拟化程序,虚拟化程序先理解这个指令真正的意义,他再链接不同的库,达到访问资源的目的,中间有个翻译的角色,如果你的虚拟机比较多的话,或者每台虚拟机执行的动作或功能比较多的话,那就要消耗大量的翻译资源,而这些资源本应该不需要去发挥的,所以我们可以对宿主机的操作系统进行更改让他发出的指令,让他发出的指令并不是真正向硬件发送的,而是跟我真正虚拟化层发送的,这样我们hypervisor层翻译的动作就变少了,这样性能自然就能提高的。这就是我们准虚拟化或者是半虚拟化。对于完全虚拟化来说他要硬件的支持,分为需要硬件的支持和不需要硬件的支持,需要硬件支持的就是kvm、vmware workstaion,不需要硬件支持的是linux的QEMU
完全虚拟化的优点:我不需要修改我们的宿主机操作系统,我拿到一个系统就可以直接安装,我不需要公司再增加一个所谓的API接口,如果是半虚拟化又没有提供API那是用不了的。准虚拟化的优点:大大提高对硬件的使用效率,增加虚拟机的性能,这就是准虚拟化和完全虚拟化的特点。
架构类型
寄居架构:就是在操作系统之上安装和运行虚拟化程序,依赖于主机操作系统对设备的支持和物理资源的管理;
裸金属架构:就是直接在硬件上面安装虚拟化软件,再在其上安装操作系统和应用,依赖虚拟层内核和服务器控制台进行管理。
架构类型
优点:简单,便于实现
缺点:安装和运行应用程序依赖于主机操作系统对设备的支持
裸金属架构
优点:虚拟机不依赖于操作系统,可以支持多种操作系统,多种应用,更加灵 活
缺点:虚拟层内核开发难度较大
举例:VMWare ESX Server
裸金属架构:大大提升系统的稳定性。对于主机的硬件使用率得到提升。
VMWare ESX6这个版本下已知的bug,这个虚拟化里我是可以创建多个用户的,毕竟我可以给多个用户不同的权限,如果我给这个用户创建一个创建虚拟机的权限,在这个版本下普通用户创建虚拟机会崩溃,连接界面会崩溃不是虚拟机会崩溃。生产环境中都是通过一个帐号进行管理的,VMWare ESX也是基于linux内核裁剪得到的。