虚拟化与云平台

 

虚拟化:

虚拟化技术就是指一台物理机上可以跑多台虚拟机,共享内存、CPUIO等硬件资源,虚拟机之间在逻辑上是相互隔离的。

共享的物理机称为“宿主机”,虚拟机称为“客户机”

宿主机通过hypervisor将硬件资源虚拟化给客户机共享。

根据hypervisor的安装方式不同,虚拟化分为2种类型:

类型1hypervisor直接在安装在宿主机的逻辑上,像VMWareESXi

类型2hypervisor安装在宿主机的操作系统上,像KVMVMWareWorkStation

 

类型1比类型2的性能好,因为少了一层映射;但是类型2比类型1的便用性和移植性要好,所以类型2是目前的主流用法。

 

CPU虚拟化:

每个客户机本质上是宿主机中的一个进程,虚拟机中的每个核对应着进程中的多线程。

 

内存虚拟化:

 

虚拟机负责管理VAàPA的内存映射,宿主机负责管理PAàMA的内存映射

 

存储虚拟化:

存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。

宿主机划出一片存储空间Storage Pool,这块空间是专门给客户机来使用的。从Storage Pool中每化出一个文件就是Volume,对应着客户机中的一块磁盘。

 

网络虚拟化:

首先要明确一点,客户机要想与外界进行网络交互,就必须通过网卡(无论是物理网卡还是虚拟网卡)。由于宿主机的物理网卡有限,一般不会直接把物理网卡丢给客户机去使用,所以客户机中使用的是虚拟网卡。

 

如图,eth0是宿主机的物理网卡,vnet0是虚拟机VM1的虚拟网卡,vnet1是虚拟机VM2的虚拟网卡,通过中间假设一个Linux Bridge br0来负责做网络数据分发和转化,来实现vnet0—vnet1之间、vnet—eth0之间的通信。

虚拟网络是否启动NAT在配置时有细微的差别,客户机发送网络包时原IP地址会经过一次宿主机的替换。

 

交换机的VLAN:

Access口直接与计算机网络相连接,每个Acces口只能属于一个VLAN,每个端口通过VLAN_ID来标识属于哪个VLAN。

Trunk口是多个交换机之间的连接,通过trunk口到达对方交换机时始终带有自己的VLAN标识。

简言之:Access口是用来划分vlan的,trunk口是为了连接多交换机之间vlan的。

 

虚拟VLAN:

图中划了vlan10和vlan20两个vlan,客户机接入哪个bridge就相当于划入了哪个vlan。在这个网络中VM1和VM2是相互ping不到的。eth0相当于trunk口,允许vlan10和vlan20的数据通过;eth0.10,vent0 和 brvlan10 都可以看着 vlan10 的 access 口;

eth0.20,vent1 和 brvlan20 都可以看着 vlan20 的 access 口

 

虚拟化解决的问题:

虚拟化完成了物理节点到逻辑节点的转化,解决了物理机使用效率低、成本高等缺点,但也同时带来了新的课题:虚拟化管理。如何合理的进行虚拟化、容器的监控和扩容、高效利用虚拟化等,为了解决这些问题推出了新的技术范畴:云计算。

云计算可以理解为我们有个池子,池子里理论上有无穷无尽的各种资源,使用者只需要告诉池子你想要达到什么样的目的云平台会从池子里按需私有化一部分出来给你来用。

云计算从低到高分为Iaas、Paas、Saas三层。

 

IaaS(Infrastructure as aService)提供的服务是虚拟机。

IaaS 负责管理虚机的生命周期,包括创建、修改、备份、启停、销毁等。

使用者需要关心虚机的类型(OS)和配置(CPU、内存、磁盘),并且自己负责部署上层的中间件和应用。

IaaS 的使用者通常是数据中心的系统管理员。

典型的 IaaS 例子有 AWS、阿里云等

 

PaaS(Platform as aService)提供的服务是应用运行时组件。

组建包括数据库、web容器、MQ、共享内存等被上层引用依赖的模块或中间件,使用者只需专注应用的开发,并将自己的应用和数据部署到PaaS环境中。PaaS负责保证这些服务的可用性和性能。

PaaS的使用者通常是应用的开发人员。

典型的 PaaS 有 Google App Engine、新浪云等

 

SaaS(Software as aService)提供的是应用服务。

使用者只需要登录并使用应用,无需关心应用使用什么技术实现,也不需要关系应用部署在哪里。

SaaS的使用者通常是应用的最终用户。

典型的 SaaS 有Salesforce、Google Gmail等

云平台更详细的分析请见:http://www.javashuo.com/article/p-ewarooua-gz.html