oVirt简单介绍

由于公司的安排,需要熟悉oVirt,所以特别整理出这篇oVirt入门的文章,初步的对oVirt进行一个简单的介绍。

在介绍oVirt之前,我们需要了解一下什么是虚拟化?

根据百度百科定义,服务器虚拟化技术是将服务器物理资源抽象成逻辑资源(虚拟机),让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力的技术。

这个定义对虚拟化技术解释的非常的透彻,进一步可以分析下虚拟化技术对于企业来说可以带来哪些收益,包括但不限于:

  1. 节约能源。把物理服务器迁移到虚拟机然后集成在一起,很大程度上可以减少物理服务器的数量,降低了物理服务器的能源消耗;
  2. 提高数据中心(机房)的空间利用率。使用虚拟化对服务器进行整合会极大的减少数据中心的碳足迹,这意味着少得多的服务器,少得多的网络设备,还有更少的机架,而且这些同样也会减少占地空间。
  3. 提高服务运行时间。服务器虚拟化平台都能够提供一系列物理服务器无法提供的高级功能,用来保持业务延续和提高运行时间。比如实时迁移、存储迁移、容错、高可用性还有分布式资源管理。这些功能能够在出现问题时轻松快速的把虚拟机从一台服务器上移动到另一台,同时还能确保业务的延续。
  4. 隔离应用。在没有虚拟化技术时,企业为了隔离应用,数据中心通常使用一台服务器一个应用的模式,在这种模式下,应用越多服务器就回越多,成本就回越来越高。而通过服务器虚拟化提供的应用隔离功能,你只需要很少几台物理服务器就可以建立足够多的虚拟服务器来解决这个应用隔离的问题。
  5. 帮助你走入云计算。通过虚拟化你的服务器,把底层硬件(比如:存储)抽象出来,这可以说已经为搬到云里做好了准备。

oVirt概述

oVirt(open Virtualization)是一种虚拟管理应用程序。意味着它可是使用oVirt管理界面(the oVirt engine)去管理硬件节点,存储和网络资源,同时它也可以部署和监控运行在数据中心的虚拟机。

如果你对VMware的产品熟悉的话,其实oVirt就类似于VMware的vSphere。oVirt服务作为红帽企业虚拟化产品的基石,是RHEV的一个上游项目,新特性都是先在oVirt上开发,之后才会出现在企业版的产品中

oVirt体系结构

一个标准的oVirt部署珠宝包含三部分:

  1. oVirt-engine,用于部署,监控,移除,停止和创建虚拟机镜像,配置存储和网络等。
  2. 一台或多台云主机(nodes),用于运行虚拟机(VMs)。
  3. 一个多个存储节点,用于保存与上述虚拟机相关的镜像和ISO文件。

节点(nodes)是安装有VDSM和libvirt的Linux发行版,节点同时会安装一些额外的包,这些包可以轻松的实现网络和其它资源的虚拟化。

存储节点可使用常用的基于文件系统以及基于块设备的共享存储(nfs、iscsi、fc),还能支持分布式文件系统 glusterfs。存储节点被聚合为存储池,保证高可用性和底冗余。

下图为oVirt的系统架构:
image
从上图中可以看到,oVirt通过VDSM将服务器抽象为oVirt-Node节点,这样就保证了服务器节点对管理节点有一致的试图,从而使得管理节点对集群的管理方式更加清楚。而管理节点运行oVirt-engine,为平台管理提供了丰富的功能。oVirt-engine和VDSM是oVirt云平台最关键的两大组件。

oVirt-engine

oVirt engine是一个基于Jboss的Java应用程序,是作为web服务运行的。该服务直接与服务器的VDSM通信,以此在主机上执行虚拟机的部署,启动,停止,迁移和监控操作,并且它能以存储中的模板来创建新镜像。

VDSM(Virtual Desktop and Server Manager)

VDSM是使用Python开发的一个组件,它为oVirt engine提供了所有主机、虚拟机、网络和存储管理功能。

下图为VDSM的内部机制:
image

通过上图可以看出,vdsm通过vdsm API对外提供服务。vdsm实现了所在主机的虚拟化抽象,使得主机转化为统一的虚拟化主机对外提供虚拟化服务。

参考文献:《合型桌面云高可用性研究与实现》

推荐文章