本文主要介绍Red Hat基于开源的企业级虚拟化解决方案RHEV。RHEV虽然是开源虚拟化解决方案,但是其易用性,可维护性是很高的。文中笔者通过与vSphere的架构进行对比介绍,以便使读者更好地进行理解。声明:本文不代表任何厂商官方观点,文中的测试数据,仅用于参考使用。
从虚拟化市场谈起
谈到虚拟化,大多数人第一时间想到的是vSphere,毋庸置疑。目前为止,vSphere在虚拟化市场,无论是份额,还是影响力,都是最大的。
随着开源的兴起,开源虚拟化解决方案也受到越来越多客户的注意。根据2015的调查数字,接近60%的用户正在或者倾向使用Multiple Hypervisor。
根据此前IDC的报告显示,基于KVM的红帽企业级虚拟化解决方案,是开源虚拟化解决方案的最佳选择之一。
在此前的文章中,笔者已经提过,redhat作为全球最大的开软软件厂商,其企业级产品在上游社区都有对应的开源项目。与RHVE相关的两个项目是KVM和oVirt。
2008年,红帽收购Qumranet。该收购内容包括Qumranet的虚拟化方案,即KVM(内核虚拟机)平台、SolidICE以及虚拟桌面架构(VDI),将为企业客户提供一整套的虚拟平台。收购完成以后,Qumranet的专业团队也加入红帽,该团队主要开发、测试并支持Qumranet解决方案,也是开源社区KVM项目的主要领导者。
oVirt,又称Open Virtualization,是基于KVM上的开源管理软件的项目,项目也是起源于Qumranet,在2011年开源为oVirt项目。作为一款开源管理软件,oVirt的支持厂家有:红帽,IBM,Intel,思科,Canonical,NetApp和SUSE。
oVirt分为两部分内容:oVirt-Engine和oVirt-Node。oVirt Engine通过 HTTP 协议向外提供 HTTP API,同时提供内建的网页服务供用户和系统管理员使用。系统管理员通过网页可以创建、修改虚拟机及相关设备或用户权限,用户在拥有权限的情况下可以操作自己的虚拟机。
而ovirt-node的目的是构建一个精简、健壮的操作系统镜像,该镜像可以使用最小化的资源去提供控制虚拟机的能力运行在其上面的虚拟机。简单地说ovirt-node是一个小的主机镜像,该镜像提供libvirt/vdsm(Virtual Desktop Server Manager) 和KVM(Kernel based virtual machine) 等虚拟化服务,使用libvirt/vdsm 管理KVM 虚拟机。
所以说oVirt Engine对应RHEV-M,类似vSphere的vCenter。oVirt Host对应RHEV-H,类似vSphere的ESXi。
RHEV解决方案
RHEV全名为:Red Hat Enterprise Virtualization。
虚拟vSphere的同学都知道,vSphere包含Hypervisor的ESXi以及虚拟化平台管理软件vCenter。ESXI是精简的裸金属架构虚拟化平台。vCenter则可以安装在windows操作系统中,或者通过Appliance的OVA导入安装(SUSE系统)。
RHEV架构与之类似,分为两大部分:RHEV-H,RHEV-M。
RHEV-H是RHEV的Hypervisor,类似ESXi,也是精简的裸金属架构,大小在300MB左右。
RHEM-M是RHEV的虚拟化管理平台,类似vCenter。
RHEM-M安装方式有两种,一种是在已经装好的Linux系统上,通过YUM方式进行安装(后面会进行介绍),另外一种和vCenter的Appliance类似,下载OVA导入虚拟机。RHEV-M安装好以后,可以通过浏览器访问OS的IP地址进行登录。类似于vSphere中通过浏览器9443端口访问VC。
RHEV架构详解
RHEV-M的架构是基于RHEL的虚拟化管理平台。通过它可以实现如下功能:
RHEV-M主要包含的组件有:Engine, Interfaces, VDSM Agent and SPICE。
Engine是RHEV的核心组件,帮助RHEV-M实现上图中的企业化功能,如HA,DPM等。Engine维护一个postgreSQL数据库,里面存有与虚拟化环境相关的信息。
Interfaces是RHEV-M对外提供的北向REST API接口,方便被调用。
VDSM全称是:Virtual Desktop Server Manager,位于RHEV-M上。每一个RHEV-H上都有一个VDSM的agent。RHEV-M通过VDSM Agent与RHEV-H通讯。
SPICE (独立计算环境简单协议):RHEV-M通过SPICE实现虚拟机console的展现。
RHEV-M需要的端口列表如下:
RHEV-H
针对上图,我着重介绍一个qemu,libvirt和SPM Role。
Qemu是一个完整的可以单独运行的软件,它可以用来模拟机器,非常灵活和可移植。它主要通过一个特殊的'重编译器'将为特定处理器编写二进制代码转换为另一种。在RHEV中,由KVM本身提供CPU/内存的虚拟化,QEMU提供除CPU/内存之外的虚拟化功能。两者加起来的功能,类似ESXi的VMkernel。
libvirt是一套免费、开源的支持Linux下主流虚拟化工具的C函数库。Libvirt 库是一种实现 Linux 虚拟化功能的 LinuxAPI,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。Libvirt由于只能管理单个Hypervisor,因此对于企业级虚拟化RHEV环境中,需要VDSM Agent进行辅助,RHEM-V可以管理多个Hypervisor和多个虚拟机。
SPM的全程是Storage Pool Manager。SPM的角色被指定到RHEV数据中心的一个主机上,它的作用是维护数据中心内存储池的元数据。如果SPM所在的host出现问题,那么该角色会自动转移到其他主机上。存储域类似于vSphere中的datastore。但需要注意的是,为了方便管理和使用,RHEV中的datastore Domain是区分类型的(后面文章会进行项目描述)。
RHEV逻辑架构
在vSphere中,ESXi和vCenter安装完以后,通常登录到VC上做的第一件事就是创建数据中心,然后添加ESXi Host,创建集群以及外置存储的datastore。除此之外,可以创建资源池,将不同的虚拟机拖拽进去。
RHEV与之类似,相应概念并无太大差别。Storage Pool类似vSphere的Datastore,Logical Network类似VSS。
在下面的步骤中,我将展示安装RHEV-M,RHEV-H, RHEV Reports的步骤。安装步骤都比较简单,安装思路与vSphere安装也类似。
安装RHEV-M
在我的实验环境中,配置类本地YUM源进行RHEV-M的安装。当然也可以下载Appliance进行安装。
软件安装完以后,执行如下命令进行配置。配置是交互式的,无任何难度。
安装完毕以后,通过浏览器访问RHEV-M的IP地址,可以进行B/S架构的访问:
安装RHEV-H
RHEV-H从红帽官网下载是一个ISO,安装步骤与ESXi类似,很便捷:
RHEV-Manager Reports的安装
RHEV Manager Reports主要用于抓取RHEV-M数据库的历史数据,以便形成一些报表。资产管理,性能报表等,也可以自定报表模板,具有类似VMware vROPs的功能。
安装软件包:
安装完毕以后,通过浏览器可以进行访问: