openstack(一)之虚拟化简介

时间:2024-03-23 12:11:40

写在前面:云计算在服务器端提供集中的物理计算资源,然后将这些物理资源进行虚拟化,为用户提供一个隔离、安全、可信的虚拟工作环境。因此在学习云计算和openstack之前应先了解下虚拟化技术。

1.what is 虚拟化

本质上,虚拟化就是由位于下层的软件模块,根据上一层软件模块的期待,抽象出一个虚拟的软件或硬件接口,使上一层软件可以直接运行在与自己所期待的运行环境完全一致的虚拟环境上。

在云计算中的虚拟化一般是指硬件抽象层上的虚拟化,是指将一台物理计算机系统虚拟化为一台或多台虚拟计算机系统。一台物理的服务器上可以跑多台虚拟机,每个虚拟计算系统都拥有自己的虚拟硬件,如CPU、内存和设备等,并提供一个独立的虚拟机执行环境。虚拟机的实现是通过虚拟机监控器(Virtual Machine Monitor,VMM,也可称为Hypervisor)实现的。

虚拟化环境具体结构如下图所示:

openstack(一)之虚拟化简介


2.虚拟化的实现方式

根据虚拟化的实现方式可分为两种:

(1)1型虚拟化

Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi 都属于这个类型。如下图所示:

openstack(一)之虚拟化简介

(2)2型虚拟化

物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。如下图所示:

openstack(一)之虚拟化简介

比较:

1型虚拟化一般对硬件虚拟化功能进行了特别优化,性能上比2型要高;

2型虚拟化因为基于普通的操作系统,会比较灵活,比如支持虚拟机嵌套。嵌套意味着可以在KVM虚拟机中再运行KVM。


根据VMM所提供的虚拟平台类型又可将VMM分为两种:

(1)完全虚拟化

VMM虚拟的是现实存在的平台,并且在客户机操作系统看来,虚拟平台和现实平台是一样的,客户机操作系统感觉不到运行在一个虚拟平台上,现有的操作系统无需进行任何修改就可以运行在这样的虚拟平台上。

(2)类虚拟化

第二类VMM虚拟出的平台是现实中不存在的,而是经过VMM重新定义的。虚拟平台需要对所运行的客户机操作系统进行或多或少的修改使之适应虚拟环境,客户机操作系统也就知道自己运行在虚拟平台上,并且会去主动适应。


3.虚拟化相关

虚拟化中核心技术:CPU虚拟化,内存虚拟化,I/O虚拟化,网络虚拟化

虚拟化引入的新特性:动态迁移、虚拟机快照、虚拟机克隆、P2V(Physical to Virtual Machine)

典型的虚拟化产品:VMware(包括VMware ESX Server、VMware Workstation、Vmware Fusion),Microsoft(Virtual PC和Virtual Server),Xen,KVM

高层管理工具:XenAPI,Libvirt