目录
软件环境
- 系统
- RHEL 6.4
- 软件
- RHEV 3.1
RHEV简介
RHEV(Red Hat Enterprise virtualization)红帽企业虚拟化,是一个服务器虚拟化的管理平台。由RHEV-M(Manager)、RHEV-H(Hypersior)和存储设备组成,能够简易、集中的对KVM虚拟机进行创建、删除、迁移、快照等操作。实现了企业服务器物理资源的充分使用,是一种非常适合中小型企业的虚拟化解决方案。
虚拟化的出现颠覆了企业的传统集群架构,它提供了更优秀(效率高、成本低)的企业应用服务部署方案。企业中的虚拟化技术多应用在服务器虚拟化方向,E.G. 将企业的WEB、DB、SAP部署在虚拟化的服务器中。
RHEV支持的功能:
- 在线迁移(200ms之内完成迁移–>将VM的物理内存迁移即完成,但迁移过程中不能有过多的I/O操作)
- 高可用
- 系统计划调度(自动迁移–>设定CPU负载阀值)
- 电源管理
- 模版管理
- 快照(3.1支持1张快照,3.2以上支持多张快照)
优点:
1. 硬件资源的充分利用,让一台服务器能够运行、搭建多种OS和应用服务
2. 便于集中的管理KVM虚拟机
3. 灵活的系统迁移,H端之间虚拟机的迁移、物理机到虚拟化之间的迁移、虚拟机到云架构之间的迁移。很好的保证了服务器的高可用
4. 价格便宜,是VMWare的1/10
千好万好就是两个字:省钱
缺点:
1. 管理的物理服务器数量少,每台M端只能管理500台以内的H端服务器
2. 功能细节实现弱
3. 用户体验一般
但是即便如此RHEV还是可以占有一定的市场,RHEV主要侧重大规模的企业虚拟化部署和IDC中心等应用环境。最重要的是其性价比受到了非常多中小企业的拥护。(好感人)
RHEV与KVM的区别
KVM(Kernel-based Virtual Machine)基于内核的虚拟机,是一个开源的系统虚拟化模块。
常常有人会将RHEV和KVM混为一谈,其实两者之间并不能作等号。RHEV是企业虚拟化解决方案,即虚拟机的集中管理平台。RHEV能够面向多台服务器来组成虚拟化平台架构。而KVM简而言之就是个人PC上的虚拟机软件,在PC中充当着虚拟机的VMM(Virtual Machine Manager)。RHEV包含了KVM得实现。
RHEV的组成
一个RHEV虚拟化平台由RHEVM+RHEVH+Storage组成。
RHEV-M(Manager)
是RHEV的集中管理接口控制台,负责控制、管理虚拟化平台,能够管理VM、Disk、Image,进行高可用设置,创建虚拟机模板、快照等,这些都可以通过RHEV-M提供的web界面来完成。注意:RHEV-M本身并不运行VM,仅提供管理功能。RHEV-M能够管理两种不同类型的H端实现。
一个RHEV-M最多可以管理500个RHEV-H,但是Redhat通过实践后建议一个M端管理200个H端为最优配比。
RHEV-M的硬件需求:
最低要求 | RedHat建议 |
---|---|
双核CUP | 4核CPU |
4G内存 | 16G内存 |
25G磁盘空间 | 50G以上磁盘空间 |
千兆网卡 | 光纤 |
RHEV-H(Hypervisor 虚拟机管理程序)
RHEV-H是一个能够被RHEV-M连接并管理的Hypervisor,在RHEV中提供运算体的功能。RHEV-H端具有两种实现:
- 直接安装包含了Hypervisor代码的微型操作系统。是一个专为RHEV-H端设计的微型操作系统,能够更加充分的使用H端服务器的物理资源,这也是RedHat官方推荐的做法。
- 在RHEL HOST上安装Hypervisor软件,将已有的RHEL HOST配置成为RHEV-H端。这使得在现有RHEL HOST环境中部署RHEV变得更加容易。如果你想从RHEV管理运行在RHEL(H端)上的虚拟机,可注册RHEL服务器到RHEV-M控制台。
RHEV-H提供了CPU、内存、磁盘等物理资源来运行虚拟机,简而言之就是虚拟机的载体。若使用Hpyervisor微型系统来实现H端,只需要占用非常少的物理资源,它只包含了RHEL中运行虚拟机所需代码的一个子集。这个Hypervisor的基础文件系统只有100MB,并且运行在内存中来避免对基础镜像造成改变。而且这样的H端会强制打开专用的安全增强型SELinux以及防火墙策略,所以只需要较少的补丁和维护就能确保其安全性。
Hypervisor最重要的功能:就是翻译虚拟机中发出的敏感指令(e.g. shutdown/reboot等)。当Hypervisor接受到敏感指令时,就能判断出此指令是由真机的还是虚拟机发出的。如果是虚拟机发出的话,Hypervisor就会捕获敏感指令并翻译后交由真机CPU执行虚拟机相应的操作,避免真机的CPU接收并错误执行。
Hypervisor的能力:
机器类型 | CPU数量 | 内存大小 |
---|---|---|
HOST | 物理CPU最多支持160颗 | 内存最大支持2TB |
VM | VCPU最多支持160颗 | 内存最大支持2TB |
从上面的对比可以看出RHEV的虚拟机的性能在规模足够大的时候,是可以非常的接近真机的。
存储
RHEV除了支持专业的存储设备之外,也可以使用ISCSI、NFS等存储方式,来为虚拟化平台提供Data和ISO等存储域。
RHEV的架构
LDAP/IPA/AD
RHEV可以设置多种拥有着不同权限的角色,通过为不同的用户指定角色来实现用户权限限制。使用LDAP/IPA(Linux)、AD(Window)是提供用户的认证体系。
Web Service
RHEV提供了多种类型的API接口,其中最常用的就是供管理员使用的RHEV管理界面Administration Portal和供普通用户使用的虚拟机应用界面User Portal。当然RHEV还暴露了REST API和CLI,提供给开发人员。
PostgreSQL
PostgreSQL数据库主要用于存储虚拟机的状态、模板、快照、报表等信息。注意:PostgreSQL数据库并不用于存储虚拟机。虚拟机自身的数据存存放在专用存储设备火ISCSI服务器中。
VDSM
RHEV-M使用VDSM(虚拟桌面服务器管理器)与RHEV-H通信。VDSM是位于Hypervisor之上的管理代理,它促进了RHEV-M管理控制台以及RHEV-H端的通信。VDSM同样还允许RHEV-M管理RHEV-H端中的虚拟机以及存储,收集有关主机及客户机的性能统计数据。但是VDSM不能与libvirt同时运行。libvirt是管理RHEL虚拟环境KVM的类库指令。注意:如果你正在规划RHEV的实施,一定要确保libvirt在RHEV管理的所有H端中都是无效的。否则,libvirt和VDSM都不能正常运行。
JBoss
JBoss作为RHEV的中间件是连接其他各组件的中间枢纽,能够在不同组件间收集信息、传递信息。JBoss是SOA面向服务架构的,它通过在RHEV中不同的组件(功能单元)之间定义良好的接口和契约,使得不同的组件之间可以联系起来。这些接口是采用中立的方式进行定义的,接口独立于实现服务的硬件平台、OS和编程语言。SOA能够让这些构建在各种系统中的组件可以使用一种统一和通用的方式进行交互。