云计算
- 云计算 是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备。
- 云计算的模型是以服务为导向的,根据提供的服务层次不同,可分为:IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software as a Service,软件即服务)。
从IaaS到SaaS,提供的服务越来越抽象,用户实际控制的范围也越来越小
虚拟化技术
- 定义
In computing, virtualization refers to the act of creating a virtual(rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources.(在计算机领域,虚拟化指创建某事物的虚拟(而非实际)版本,包括虚拟的计算机硬件平台、存储设备,以及计算机网络资源) - 虚拟化是一种资源管理技术,它将计算机的各种实体资源(CPU、内存、存储、网络等)予以抽象和转化处理,并提供分割、重新组合,以达到最大化利用物理资源的目的。
- Virtual Machine Monitor(VMM,虚拟机监控器,也称为Hypervisor)层,向下掌控实际的物理资源,向上呈现给虚拟机N份逻辑的资源。
- 软件虚拟化和硬件虚拟化
软件虚拟化:通过软件模拟实现VMM层,通过纯软件的环境来模拟执行客户机里的指令。
QEMU,软件虚拟化
硬件虚拟化: 计算机硬件本身提供能力让客户机指令独立执行,而不需要VMM截获重定向。
硬件虚拟化的支持–Intel Virtualization Technology,简称Intel VT. - 半虚拟化
virtio,没有平台依赖性
客户意识到自己是运行在虚拟化环境里,并作出相应修改以配合VMM
优势:
a. 可以提升性能和简化VMM软件复杂度
b. 不需要太依赖硬件虚拟化的支持,从而使得其软件设计可以跨平台且是优雅的。 - 全虚拟化
客户机完全不知道自己运行在虚拟化环境
需要模拟出完整的、和物理平台一模一样的平台给客户机 - Type1和Type2虚拟化
虚拟化层是直接位于硬件之上还是在一个宿主操作系统之上,将虚拟化划分为Type1和Type2.
Type1 Hypervisor
这类虚拟化层直接运行在硬件上,没有所谓的宿主机操作系统。他们直接控制硬件资源以及客户机
典型的如Xen和VMware ESX
Type2 Hypervisor
运行在一个宿主机操作系统之上,如VMware Workstation;或系统里,如KVM。
通常是宿主机操作系统的一个应用程序,像其他应用程序一样受宿主机操作系统的管理。
客户机通常抽象为宿主机上的一个进程。