专栏首页大魏分享(微信公众号:david-share)RHEV--基于开源的企业级虚拟化解决方案

RHEV--基于开源的企业级虚拟化解决方案

本文主要介绍Red Hat基于开源的企业级虚拟化解决方案RHEV。RHEV虽然是开源虚拟化解决方案,但是其易用性,可维护性是很高的。文中笔者通过与vSphere的架构进行对比介绍,以便使读者更好地进行理解。声明:本文不代表任何厂商官方观点,文中的测试数据,仅用于参考使用。

从虚拟化市场谈起

谈到虚拟化,大多数人第一时间想到的是vSphere,毋庸置疑。目前为止,vSphere在虚拟化市场,无论是份额,还是影响力,都是最大的。

随着开源的兴起,开源虚拟化解决方案也受到越来越多客户的注意。根据2015的调查数字,接近60%的用户正在或者倾向使用Multiple Hypervisor。

根据此前IDC的报告显示,基于KVM的红帽企业级虚拟化解决方案,是开源虚拟化解决方案的最佳选择之一。

RHEV的前世

在此前的文章中,笔者已经提过,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 虚拟化功能的 Linux®API,它支持各种虚拟机监控程序,包括 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进行安装。

查看YUM配置文件:

查看可用的源:

安装RHEV-M包:

软件安装完以后,执行如下命令进行配置。配置是交互式的,无任何难度。

确认配置信息是否正确,回车开始安装。

安装完毕以后,通过浏览器访问RHEV-M的IP地址,可以进行B/S架构的访问:

安装RHEV-H

RHEV-H从红帽官网下载是一个ISO,安装步骤与ESXi类似,很便捷:

安装完毕以后,配置IP地址:

接下来,就可以在RHEV-M界面添加HOST了:

RHEV-Manager Reports的安装

RHEV Manager Reports主要用于抓取RHEV-M数据库的历史数据,以便形成一些报表。资产管理,性能报表等,也可以自定报表模板,具有类似VMware vROPs的功能。

安装软件包:

安装完毕以后,通过浏览器可以进行访问:

本文分享自微信公众号 - 大魏分享(david-share)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 虚拟化平台的选择:开源软件 or 商业软件?

    虚拟化软件,选择开源还是商业软件? 笔者研究过的虚拟化软件有IBM PowerVM,VMware vSphere,还有Red Hat RHEV。其中,IBM是最...

    魏新宇
  • 非网络专业人士再谈SDN--KVM虚拟网络的规划与设计

    从Gartner分析报告谈起 根据Gartner的《Gartner2016年度新兴技术成熟度曲线》,目前SDx目前处于期望膨胀期的末期,也标志着此类技术基本已经...

    魏新宇
  • 南沪艳阳谈U2L---我在金融行业座谈会上的分享

    前言: 谈到U2L,顾名思义,就是UNIX to X86Linux。那么,我们为什么要做这件事呢?技术考量?成本考量?还是别的因素。本文将为您进行详细讲述。...

    魏新宇
  • Python 内建函数

        Help on built-in function divmod in module __builtin__:

    py3study
  • 2018-09-17 Vagrant 启动报错

    Stderr: VBoxManage.exe: error: VT-x is disabled in the BIOS for all CPU modes (V...

    Albert陈凯
  • .NET Core 3.0之深入源码理解Host(二)

    停了近一个月的技术博客,随着正式脱离996的魔窟,接下来也正式恢复了。本文从源码角度进一步讨论.NET Core 3.0 中关于Host扩展的一些技术点,主要讨...

    Edison.Ma
  • 一文读懂分库分表的技术演进(最佳实践)

    以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表...

    芋道源码
  • 深入了解Mysql索引数据结构

    提到数据库索引大家肯定不陌生,那到底什么是索引呢,索引是怎么工作的呢,今天就一起来聊聊这个话题 索引的出现就是为了解决数据库查询的效率问题,就像平时我们看书一样...

    JAVA葵花宝典
  • flink_sql_client 1.10 与 hive集成 读取实时数据

    很期待用纯sql的形式来处理流式数据,flink 1.10推出了生产可用的 Hive 集成,拥有了更强的流式 SQL 处理能力。这次我们就来尝试一下啦~~

    数据仓库践行者
  • MySQL查询索引分析

    前一段时间修改数据表时,给一个表添加一个datetime字段,当时遇到了一个问题:我是否需要给该datetime字段上加索引呢?如果不给该字段加索引,当wher...

    kevindang

扫码关注云+社区

领取腾讯云代金券