管理指南

Red Hat Virtualization 4.0

Red Hat Virtualization 中的管理任务

Red Hat Virtualization Documentation Team

Red Hat Customer Content Services

法律通告

Copyright © 2016 Red Hat.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.

摘要

本书包括了与 Red Hat Virtualization 管理员相关的信息。

第 1 章 管理和维护 Red Hat Virtualization 环境

Red Hat Virtualization 环境需要一个系统管理员。系统管理员的任务包括:
  • 管理物理资源和虚拟资源(如主机和虚拟机)。这包括添加主机、升级主机、导入域、转换其它虚拟环境中创建的虚拟机、管理虚拟机池等。
  • 监控系统资源,发现可能会出现的问题(如在一个主机上有太多的负载;没有足够的内存或磁盘空间),并解决这些问题(如把一些虚拟机迁移到其它主机上;关闭一些虚拟机来释放系统资源)。
  • 对虚拟机进行一些操作来满足特定的需求,如升级操作系统、分配更多的内存。
  • 使用标签来管理对象的自定义属性。
  • 管理被保存为公共书签(public bookmark)的搜索。
  • 管理用户账户和用户权限。
  • 对出现问题的用户或虚拟机进行故障排除。
  • 生成报表。

1.1. 全局配置

配置窗口可以通过管理门户界面中的页头条访问。您可以使用它来对 Red Hat Virtualization 环境中的全局资源(如用户、角色、系统权限、调度策略、实例类型和 MAC 地址池)进行配置,从而来定制用户和环境中的资源进行交互的方式。这个窗口为那些可以应用于多个集群的配置选项提供了一个中心位置。
Accessing the Configure window

图 1.1. 访问配置窗口

1.1.1. 角色

角色是可以通过 Red Hat Virtualization Manager 配置的一组预先定义的权利。角色为数据中心中不同级别的资源提供了访问和管理权限。
在一个多层管理系统中,对一个容器对象的权限也适用于包括在这个容器中的所有其它对象。例如,一个特定主机上的用户被分配了主机管理员角色,这个用户将有权限对这个主机进行操作,但没有权限去操作其它主机。而如果一个数据中心中的一个用户被分配了主机管理员角色,则这个用户就可以对数据中心的集群中的所有主机进行操作。

1.1.1.1. 创建一个新角色

当 Red Hat Virtualization 所提供的默认角色无法满足您的要求时,您可以创建一个新角色并根据具体需要对它进行定制。

过程 1.1. 创建一个新角色

  1. 在页头条中点配置按钮打开配置窗口。这个窗口会显示所有默认的用户和管理角色,以及自定义的角色。
  2. 新建新建角色对话框被显示。
    新建角色对话框

    图 1.2. 新建角色对话框

  3. 为新角色输入名称描述
  4. 帐号类型中选择管理员用户
  5. 使用展开所有隐藏所有按钮来显示或隐藏选择复选框以允许操作列表中的对象权限。
  6. 在每个对象上,选择或取消选择相应的操作来设置用户的权限。
  7. 确定。新角色将出现在角色列表中。

1.1.1.2. 编辑或复制一个角色

您可以编辑新创建的角色,但不能修改默认的角色。如需修改默认的角色,则需要先克隆它后才可进行修改。

过程 1.2. 编辑或复制一个角色

  1. 在页头条中点配置按钮打开配置窗口。这个窗口会显示所有默认的用户和管理角色,以及自定义的角色。
  2. 选择需要修改的角色。点编辑打开编辑角色窗口,或点复制打开复制角色窗口。
  3. 如果需要,编辑角色的名称描述
  4. 使用展开所有隐藏所有按钮来显示或隐藏所列出对象的权限。您也可以显示或隐藏每个对象的权限。
  5. 在每个对象上,选择或取消选择相应的操作权限。
  6. 确定

1.1.1.3. 用户角色和授权示例

下面的几个示例展示了如何应用本章所介绍的授权机制来实现不同的需求。

例 1.1. 集群权利

Sarah 是某公司财务部门的系统管理员。财务部门的所有虚拟资源都在 Red Hat Virtualization 环境中的一个名为 Accounts集群中。Sarah 被分配了这个集群的 ClusterAdmin 角色,这样她就可以管理这个集群中的所有虚拟机。这些管理任务包括编辑、添加和删除虚拟资源以及进行快照。但是,Sarah 没有管理此集群以外资源的权利。另外,因为 ClusterAdmin 是一个管理员角色,所以 Sarah 可以使用管理门户管理这个集群中的资源,但没有使用用户门户访问这些资源的权利。

例 1.2. VM PowerUser 权限

John 是财务部门的一个软件开发人员,他需要使用虚拟机安装并测试他所开发的软件。Sarah 为他创建了一个名为 johndesktop 的虚拟机,并为 John 分配了 johndesktop 虚拟机的 UserVmManager 角色。UserVmManager 这个角色会允许 John 通过用户门户访问这台虚拟机,并可以修改它或为它添加资源(如添加新的虚拟磁盘)。因为 UserVmManager 是一个用户角色,John 将没有权限使用管理门户。

例 1.3. 数据中心 Power User 角色权限

Penelope 是一个办公室行政经理。除了她的本职工作外,Penelope 还会帮助人事经理做一些与招聘相关的工作。这些招聘的工作会需要使用一个特殊的招聘应用程序。
Penelope 有一台机器用来处理与办公室行政工作相关的事,她还需要创建一台单独的虚拟机来运行招聘应用程序。因为创建虚拟机需要改变数据中心中的一些资源(如在存储域中创建虚拟机磁盘),所以 Penelope 需要具有它的虚拟机所在数据中心的 PowerUserRole 权限。
请注意,这和为 Penelope 分配 DataCenterAdmin 权限是不同的。作为一个数据中心的 PowerUser,Penelope 可以登录到用户门户,在她所在的数据中心中的虚拟机上进行与虚拟机相关的操作。但是,她不能进行数据中心级的操作(如为数据中心附加主机或存储)。

例 1.4. 网络管理员权限

Chris 是 IT 部门的网络管理员。她的日常工作是为 IT 部门的 Red Hat Virtualization 环境创建、配置、管理和删除网络。进行这些工作需要资源的管理权限,以及每个资源上的网络管理权限。 如果为 Chris 分配了 IT 部门的数据中心的 NetworkAdmin 权利,她就可以在这个数据中心中添加或删除网络,并为这个数据中心中的所有虚拟机添加或删除网络。
Chris 的主要工作是管理公司的虚拟环境,她的手下还有另外一个网络管理员 - Pat。Pat 的任务是管理为内部培训部门创建的一个较小的虚拟环境。Chris 为 Pat 分配了内部培训部门所使用的虚拟机的 VnicProfileUserUserVmManager 权限。因为 Pat 具有了这些权限,他就可以使用用户门户中的扩展标签页来执行一些简单的管理任务,如为虚拟机添加网络接口。但是,他没有权限去改变虚拟机所在主机上的网络,也没有权限去改变虚拟机所在的数据中心上的网络。

例 1.5. 定制角色权限

Rachel 在 IT 部门工作,她的职责是管理 Red Hat Virtualization 环境中的用户帐号。她需要有添加用户账户并为用户分配适当角色和权限的权利。她自己并不使用任何虚拟机,也不需要管理主机、虚拟机、集群和数据中心的权限。Red Hat Virtualization 并没有提供一个自带的角色可以满足 Rachel 的需要,因此需要创建一个自定义的角色来提供 Rachel 所需要的权限。
UserManager 定制角色

图 1.3. UserManager 定制角色

上面的 UserManager 定制角色有权利进行与处理用户、权限和角色相关的操作。这些操作包括在图 1.3 “UserManager 定制角色”所显示的最高级别的系统下。这意味着这些权限对系统中的所有对象都有效。另外,这个角色的帐号类型被设置为管理员,在 Rachel 被分配了这个角色后,她将可以使用管理门户,而不能使用用户门户。

1.1.2. 系统权限

用户需要权限来对对象(可以是独立的对象,也可以是容器对象)进行操作。
权限和角色

图 1.4. 权限和角色

对容器对象有效的权限同样对这个容器中所包括的对象有效。以下是系统中的对象分级结构示意图。
Red Hat Virtualization 对象的分级结构

图 1.5. Red Hat Virtualization 对象的分级结构

1.1.2.1. 用户属性

角色和权限是用户所具有的属性。角色是预先定义的一组可以访问不同级别的物理和虚拟资源的权利。多层的管理机制提供了一个"细颗粒(finely grained)"的权限分级结构。例如,一个数据中心的管理员可以管理这个数据中心中的所有对象,而一个主机管理员只有对这个物理主机的管理权限。一个用户可以有权限使用一个虚拟机,但没有权限为虚拟机的设置进行任何改变;而另一个用户可以有权限来配置一个虚拟机。

1.1.2.2. 用户角色和管理员角色

Red Hat Virtualization 提供了一组预先配置好的角色,这些角色的权限从具有整个系统级别的管理员权限,到只能访问一个独立虚拟机的最终用户权限。您无法改变或删除系统默认的角色,但您可以克隆它们后再修改新的角色,或根据需求创建新的角色。角色被分为两类:
  • 管理员角色:可以通过访问管理门户来管理物理资源和虚拟资源。
  • 用户角色:可以通过访问用户门户来管理和访问虚拟机和模板。
例如,您具有一个集群上的管理员角色,您可以通过管理门户管理这个集群中的所有虚拟机。但是,您不能通过用户门户来访问集群中的任何虚拟机,因为这需要用户角色。

1.1.2.3. 用户角色介绍

下表描述了可以通过用户门户访问和配置虚拟机的基本用户角色。

表 1.1. Red Hat Virtualization 基本用户角色

角色权利注记
UserRole可以访问虚拟机和虚拟机池。可以登录到用户门户,使用被分配的虚拟机和虚拟机池,查看虚拟机的状态和详细信息。
PowerUserRole可以创建和管理虚拟机和模板。使用配置窗口为用户在整个环境或特定数据中心或集群中分配这个角色。例如,如果一个 PowerUserRole 角色在数据中心级上被分配,具有这个角色的用户就可以在这个数据中心上创建虚拟机和模板。
UserVmManager一个虚拟机的系统管理员。可以管理虚拟机、创建并使用快照。当一个用户通过用户门户创建了一个虚拟机,这个用户将自动具有那台虚拟机的 UserVmManager 角色。
下表介绍了高级用户角色,使用这些角色可以更精确地控制用户通过用户门户访问资源的权限。

表 1.2. Red Hat Virtualization 高级用户角色

角色权利注记
UserTemplateBasedVm只有与使用模板相关的权限。可以使用模板创建虚拟机。
DiskOperator虚拟磁盘用户。可以使用、创建和编辑虚拟磁盘,并可以继承附加了这个虚拟磁盘的虚拟机的使用权限。
VmCreator可以通过用户门户创建虚拟机。这个角色不针对于一个特定的虚拟机,使用配置窗口来在整个环境的范围上为用户分配这个角色。另外,您也可以为特定的数据中心或集群分配这个角色。如果您在一个集群范围内分配了这个角色,您还必须在这个数据中心范围或特定的存储域上分配 DiskCreator 角色。
TemplateCreator可以在被分配的资源中创建、编辑、管理和删除虚拟机模板。这个角色应用于整个环境,而不是一个特定的模板,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。
DiskCreator可以在被分配的集群或数据中心中创建、编辑、管理和删除虚拟机磁盘。这个角色应用于整个环境,而不是一个特定的磁盘,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。
TemplateOwner可以编辑和删除模板,为模板分配和管理用户权限。创建模板的用户会被自动分配这个角色。没有模板的 TemplateOwner 角色的用户将无法查看或使用这个模板。
VnicProfileUser虚拟机和模板的逻辑网和网络接口用户可以为特定的逻辑网络添加或删除网络接口。

1.1.2.4. 管理员角色介绍

下表描述了可以通过管理门户访问和配置资源的基本管理员角色。

表 1.3. Red Hat Virtualization 基本用户角色

角色权利备注
SuperUserRed Hat Virtualization 环境的系统管理员。具有访问所有对象的权限并可以管理所有数据中心中的全部对象。
ClusterAdmin集群管理员。具有一个特定集群下的所有资源的管理权限。
DataCenterAdmin数据中心管理员。具有一个特定数据中心中除了存储以外的所有资源的管理权限。

重要

您需要在目录管理服务器上单独创建一个用户作为 Red Hat Virtualization 的管理员,而不要使用目录服务器本身的管理员作为 Red Hat Enterprise Virtualization 的管理员。
下表介绍了高级管理员角色,使用这些角色可以更精确地控制用户通过管理门户访问资源的权限。

表 1.4. Red Hat Virtualization 高级系统管理员角色

角色权利备注
TemplateAdmin虚拟机模板的管理员。可以创建、删除和配置模板中的存储域和网络,并可以在不同域间移动模板。
StorageAdmin存储管理员。可以创建、删除、配置和管理一个被分配的存储域。
HostAdmin主机管理员。可以附加、删除、配置和管理一个特定的主机。
NetworkAdmin网络管理员。可以配置和管理一个特定数据中心或集群中的网络。一个数据中心或集群的网络管理员同时也继承了这个数据中心或集群中的虚拟机上的网络权限。
VmPoolAdmin虚拟机池的系统管理员。可以创建、删除和配置一个虚拟机池;添加和删除池用户;在池中的虚拟机上进行基本的操作。
GlusterAdminGluster 存储管理员。可以创建、删除、配置和管理 Gluster 存储域。
VmImporterExporter虚拟机的导入和导出管理员。可以导入并导出虚拟机。可以查看由其它用户导出的所有虚拟机和模板。

1.1.3. 调度策略

调度策略就是一组规则,它定义了虚拟机在应用这个调度策略的集群中的主机间的分配逻辑。调度策略通过使用过滤器(filter)、权重(weighting)和负载均衡(load balancing)策略来定义这个分配逻辑。Red Hat Enterprise Virtualization Manager 提供了 5 个默认的调度策略 - Evenly_DistributedInClusterUpgradeNonePower_SavingVM_Evenly_Distributed。您也可以通过定义新的调度策略来实现对虚拟机分配逻辑的细化。

1.1.3.1. 创建调度策略

您可以创建新的调度策略来控制虚拟机在 Red Hat Virtualization 环境中分配的逻辑。

过程 1.3. 创建调度策略

  1. 点管理门户的页头条中的配置按钮来打开配置窗口。
  2. 调度策略查看调度策略标签页。
  3. 新建打开新建调度策略窗口。
    The New Scheduling Policy Window

    图 1.6. 新建调度策略窗口

  4. 为调度策略输入名称描述
  5. 配置过滤器模块:
    1. 过滤器模块项中,把需要在调度策略中使用的过滤器模块从禁用的过滤器项中拖到已启用过滤器项中。
    2. 过滤模块可以被设置为第一个(具有最高的优先级)或最后一个(具有最低的优先级)。
      如需设置优先级,在一个过滤器模块上点鼠标右键,在位置项中选第一个最后一个
  6. 配置权重(weight)模块:
    1. 权重模块项中,把需要在调度策略中使用的权重模块从禁用的权重 项中拖到已启用权重 项中。
    2. 使用启用的权重模块左面的 +- 按钮来增加或减少相应模块的权重值。
  7. 指定一个负载均衡策略:
    1. 负载平衡器项中的下拉菜单中选择需要在调度策略中应用的负载均衡策略。
    2. 属性项中的下拉菜单中选择需要在调度策略中应用的负载均衡属性,在属性右面的输入框中为相应的属性设定一个值。
    3. 使用 +- 按钮来添加或删除额外的属性。
  8. 确定

1.1.3.2.  新建调度策略和编辑调度策略窗口中的设置介绍

下表包括了可以在新建调度策略编辑调度策略窗口中使用的选项详情。

表 1.5. 新建调度策略和编辑调度策略的设置

描述
名称
调度策略的名称。Red Hat Virtualization Manager 使用这个名称来代表这个调度策略。
描述
调度策略的描述。这个项不是必需的,但我们推荐使用它。
过滤器模块
用来控制虚拟机可以在一个集群中的哪些主机上运行。启用相关的过滤器可以把不满足条件的主机过滤掉,以下介绍了每个过滤器的详情:
  • CpuPinning:不满足 CPU 固定定义的主机。
  • Migration:防止迁移到同一个主机。
  • PinToHost:除虚拟机被固定的主机外的主机。
  • CPU-Level:与虚拟机的 CPU 拓扑不匹配的主机。
  • CPU:CPU 数量少于分配给虚拟机的 CPU 数量的主机。
  • Memory:没有足够内存运行虚拟机的主机。
  • VmAffinityGroups:不满足一个关联组(affinity group)中的虚拟机的指定条件的主机。例如,一个包括在关联组中的虚拟机必须运行在相同的主机上,或必须运行在独立的主机上。
  • InClusterUpgrade:运行比虚拟机当前运行在的操作系统更老版本的操作系统的主机。
  • HostDevice:不支持虚拟机所需的主机设备功能的主机。
  • HA:强制承载引擎的虚拟机只在高可用性主机上运行。
  • Emulated-Machine:没有适当仿真机器支持的主机。
  • Network:没有安装虚拟机网卡所需网络的主机;或集群的显示网络没有安装的主机。
权重模块
决定在集群中的哪些主机上运行虚拟机时需要考虑因素的权重。
  • InClusterUpgrade:按照所使用的操作系统的版本对主机进行权重设置。使用较老版本操作系统的主机的权重较低,而使用较新版本操作系统的主机会获得更高的优先级。
  • OptimalForHaReservation:主机权重由它们的高可用性值决定。
  • None:主机权重由平衡分配模块(even distribution module)决定。
  • OptimalForEvenGuestDistribution:主机权重由在这些主机上运行的虚拟机数量决定。
  • VmAffinityGroups:主机权重由为虚拟机所定义的关联组(affinity group)决定。这个权重模块会根据关联组的参数来决定处于关联组中的虚拟机在相同或独立的主机上运行的可能性。
  • OptimalForPowerSaving:主机权重由它们的 CPU 使用情况决定,高 CPU 使用率的主机有更高的优先级。
  • OptimalForEvenDistribution:主机权重由它们的 CPU 使用情况决定,低 CPU 使用率的主机有更高的优先级。
  • HA:主机的权重由它们的高可用性值决定。
负载平衡器
您可以从下拉菜单中选择一个应用的负载均衡模块。负载均衡模块决定了虚拟机从高利用率的主机迁移到低利用率主机迁移所使用的逻辑。
属性
这个下拉菜单允许您为负载均衡模块添加或删除属性,它只在为调度策略选择了负载均衡模块后才有效。在默认的情况下,“No properties”项会被选择,而下拉菜单中可选择的值则由您所选择的负载均衡模块来决定。使用 +- 按钮来为相应的负载均衡模块添加或删除属性。

1.1.4. 实例类型

实例类型可以被用来定义虚拟机的硬件配置。在创建和编辑虚拟机时通过选择实例类型将会自动设置硬件的配置。在用户创建多个具有相同硬件配置的虚拟机时,使用它可以避免多次输入相同的配置信息。
在默认的情况下,用户可以选择下表中介绍的预定义实例类型:

表 1.6. 预定义的实例类型

实例类型
内存
vCPU
Tiny
512 MB
1
Small
2 GB
1
Medium
4 GB
2
Large
8 GB
2
XLarge
16 GB
4
系统管理员也可以从配置窗口的实例类型标签页中创建、编辑和删除实例类型。
实例类型标签页

图 1.7. 实例类型标签页

如果新建虚拟机编辑虚拟机窗口中的项与一个实例类型相关联,这些项的旁边会有一个链接图标( )。如果这些项中的某些值被改变后,虚拟机将不再和原来的实例类型相关联,并改为 Custom,它旁边的链接图标页变为断开链接的图标( )。但是,如果这些项的值又被改为原来的值,这个虚拟机又会和原来的实例类型相关联,图标也变为链接图标。

1.1.4.1. 创建实例类型

系统管理员可以创建新的实例类型,然后用户将可以在创建或编辑虚拟机时选择它。

过程 1.4. 创建实例类型

  1. 在页头条中点配置
  2. 实例类型标签页。
  3. 新建打开新建实例类型窗口。
    新实例类型窗口

    图 1.8. 新实例类型窗口

  4. 为实例类型输入名称描述信息。
  5. 显示高级选项,根据需要配置实例类型的设置。新建实例类型窗口中出现的设置与新建虚拟机窗口中的设置相同,但它只包括相关的项。如需了解更多相关信息,请参阅虚拟机管理指南中的 Explanation of Settings in the New Virtual Machine and Edit Virtual Machine Windows
  6. 确定
新创建的实例类型出现在配置窗口的实例类型标签页中。您可以在创建或编辑虚拟机时从实例类型下拉列表中选择新建的实例类型。

1.1.4.2. 编辑实例类型

系统管理员可以在配置窗口中编辑存在的实例类型。

过程 1.5. 编辑实例类型属性

  1. 在页头条中点配置
  2. 实例类型标签页。
  3. 选择需要编辑的实例类型。
  4. 编辑打开编辑实例类型窗口。
  5. 根据需要修改相关设置。
  6. 确定
实例类型的配置被改变。基于这个实例类型的新建虚拟机和已经存在的虚拟机在重启后都将使用新的配置。

1.1.4.3. 删除实例类型

过程 1.6. 删除一个实例类型

  1. 在页头条中点配置
  2. 实例类型标签页。
  3. 选择需要删除的实例类型。
  4. 删除打开删除实例类型窗口。
  5. 如果存在基于要被删除的实例类型的虚拟机,一个包括了关联虚拟机列表的窗口会出现。如果需要删除实例类型,选批准操作,否则,点取消
  6. 确定
实例类型被从实例类型列表中删除,在创建新虚拟机时将无法使用这个实例类型。所有以前和被删除的实例类型相关联的虚拟机将改为和 Custom(没有实例类型)相关联。

1.1.5. Mac 地址池

MAC 地址池定义了可以分配给每个数据中心的 MAC 地址的范围。每个数据中心都会指定一个 MAC 地址池。通过使用 MAC 地址池,Red Hat Virtualization 可以自动为新的虚拟网络设备产生并分配 MAC 地址,从而帮助避免产生 MAC 地址重复的问题。当与一个数据中心相关连的所有 MAC 地址都位于分配的 MAC 地址池范围内时,MAC 地址池对内存的使用会更有效。
同一个 MAC 地址池可以被多个数据中心共享,而每个数据中心只能有一个分配的 MAC 地址池。Red Hat Virtualization 会创建一个默认的 MAC 地址池,在没有分配其它 MAC 地址池时会使用这个默认的池。如需了解为数据中心分配 MAC 地址池的信息,请参阅 第 3.5.1 节 “创建一个新的数据中心”
MAC 地址池会记住池中最新返回的每个 MAC 地址,在有地址分配请求时,分配最新返回的 MAC 地址后面的第一个可用地址。当最新返回的地址后面没有可用的地址时,系统会从地址池范围的最前面开始查找可用的地址。如果在一个 MAC 地址池中有多个 MAC 地址范围都存在可用的 MAC 地址,则选择使用哪个范围来满足请求的方式和选择可用 MAC 地址的方式相同。

1.1.5.1. 创建 Mac 地址池

您可以创建新的 MAC 地址池。

过程 1.7. 创建 Mac 地址池

  1. 点页头条中的配置按钮打开配置窗口。
  2. MAC 地址池标签页。
  3. 添加打开新建 MAC 池窗口。
    新建 MAC 地址池窗口

    图 1.9. 新建 MAC 地址池窗口

  4. 输入新 MAC 地址池的名称描述
  5. 允许重复选项来允许池中的一个 MAC 地址可以被多次使用。MAC 地址池不会自动使用一个重复的 MAC 地址,但在这个选项被选择时,用户可以手工选择使用一个重复的 MAC 地址。

    注意

    如果一个 MAC 地址池禁用了“允许重复”选项,而另外一个 MAC 地址池启用了它,则每个 MAC 地址在禁用这个选项的池中只能使用一次,而在启用这个选项的池中可以被使用多次。
  6. 输入 MAC 地址范围。点项旁的加号可以输入多个地址范围。
  7. 确定

1.1.5.2. 编辑 MAC 地址池

您可以编辑 MAC 地址池的设置,如池中有效的 MAC 地址范围、是否允许地址重复。

过程 1.8. 编辑 MAC 地址池属性

  1. 点页头条中的配置按钮打开配置窗口。
  2. MAC 地址池标签页。
  3. 选择需要编辑的 MAC 地址池。
  4. 编辑按钮打开编辑 MAC 地址池窗口。
  5. 根据需要修改名称描述允许重复,以及MAC 地址范围项的内容。

    注意

    如果修改了 MAC 地址范围,那些已存在的 NIC 的 MAC 地址不会被重新分配。如果已分配的 MAC 地址位于新的 MAC 地址范围以外,它们会作为针对特定用户的 MAC 地址被添加,并可以继续由 MAC 地址池进行跟踪。
  6. 确定

1.1.5.3. 编辑 MAC 地址池权限

在 MAC 地址池创建后,您可以编辑它的用户的权限。用户权限可以用来控制哪些数据中心可以使用 MAC 地址池。如需了解更多与添加新用户权限相关的信息,请参阅 第 1.1.1 节 “角色”

过程 1.9. 编辑 MAC 地址池权限

  1. 点页头条中的配置按钮打开配置窗口。
  2. MAC 地址池标签页。
  3. 选择相应的 MAC 地址池。
  4. 为 MAC 地址池编辑用户权限:
    • 为 MAC 地址池添加用户权限:
      1. 配置窗口底部中的用户权限框中的添加
      2. 搜索并选择所需的用户。
      3. 要分配的角色:下拉列表中选择需要的角色。
      4. 确定添加用户权限。
    • 从 MAC 地址池中删除用户权限:
      1. 配置窗口底部中的用户权限框中选要删除的用户权限。
      2. 删除来删除用户。

1.1.5.4. 删除 MAC 地址池

您可以删除创建的 MAC 地址池,但无法删除默认的 MAC 地址池。

过程 1.10. 删除 MAC 地址池

  1. 点页头条中的配置按钮打开配置窗口。
  2. MAC 地址池标签页。
  3. 选择需要删除的 MAC 地址池。
  4. 删除按钮打开删除 MAC 地址池窗口。
  5. 确定

1.2. 仪表板

仪表板(Dashboard)提供了一个 Red Hat Virtualization 系统状态的概况信息。它会显示 Red Hat Virtualization 的资源和利用率的总结数据,用户可用使用它来发现潜在的问题并作出相应的调整。
默认情况下,每 15 分钟 Data Warehouse 会更新仪表板的信息;Manager API 每 15 秒会更新仪表板的信息。当仪表板每次被刷新时(用户从其它标签页返回到仪表板,或手工更新仪表板),它的内容也会被更新。仪表板不会被自动刷新。清单卡(inventory card)的信息由 Manager API 提供,利用率信息由 Data Warehouse 提供。仪表板作为一个 UI 插件和 Manager 一起被自动安装和升级。
仪表板

图 1.10. 仪表板

1.2.1. 先决条件

仪表板需要安装并配置 Data Warehouse。如需了解安装和配置 Data Warehouse 的信息,请参阅 Data Warehouse Guide 中的 Installing and Configuring Data Warehouse

1.2.2. 全局清单

仪表板的上部提供了一个 Red Hat Virtualization 资源的全局清单,它包括了数据中心、集群、主机、存储域、虚拟机和事件项。其中的图标显示了每个资源的状态,数字代表了处于那个状态的资源的数量。
全局清单

图 1.11. 全局清单

标题框中显示了一类资源的数量,在它的下面显示了它们的状态。点资源标题框会进入 Red Hat Virtualization Manager 的相关标签页。集群的状态总被显示为 N/A。

表 1.7. 资源状态

图标
状态
没有资源添加到 Red Hat Virtualization。
显示处于警告状态的资源数量。只适用于处于警告状态的资源。点图标进入相关的标签页。每个资源的适用范围都会不同:
  • 数据中心:只适用于没有运行的或没有响应的数据中心。
  • 主机:只适用于未分配的、处于维护模式的、正安装的、正重启的、正为维护进行准备的、正等待批准的或正在连接的主机。
  • 存储域:只适用于未初始的、未附加的、不活跃的、处于维护模式、为维护进行准备的、正取消附加的或正在激活的存储域。
  • 虚拟机:只适用于正在开机的、暂停的、正在迁移的、等待的、挂起的或正在关机的虚拟机。
  • 事件:只适用于有严重性警告的事件。
显示处于在线状态的资源数量。点图标进行相关的标签页,只适用于处于在线状态的资源。
显示处于下线状态的资源数量。点图标进行相关的标签页,只适用于处于在线状态的资源。每个资源的适用范围都会不同。
  • 数据中心:只适用于没有初始化的、处于维护模式的,以及下线的数据中心。
  • 主机:只适用于没有响应的、有错误的、有安装错误的、无法正常工作的、正在初始化的或下线的主机。
  • 存储域:只适用于未附加的或不活跃的存储域。
  • 虚拟机:只适用于下线的、没有响应的或正在重启的虚拟机。
显示处于提示状态的事件数量。点图标进入事件标签页,只适用于严重级别为提示(alert)的事件。
显示处于错误状态的事件数量。点图标进入事件标签页,只适用于严重级别为错误(error)的事件。

1.2.3. 全局利用率

全局利用率部分显示了 CPU、内存和存储的系统利用率信息。
全局利用率

图 1.12. 全局利用率

  • 它的上部显示了可用 CPU、内存、存储的百分比,以及过度分配的比率。例如,CPU 的过度分配比率是通过虚拟内核的数量除以可以用来运行虚拟机的物理内核数量得出的。这些信息来自于 Data Warehouse。
  • 圆形图显示了 CPU、内存和存储的使用百分比,它是根据过去 5 分钟的平均使用情况计算出的所有主机的平均使用数据。把鼠标光标移到圆形图的某个部分会显示相应项的值。
  • 底部的条形图显示了过去 24 小时内的使用趋势。每个数据点都会显示相应小时的平均使用情况。把鼠标光标移到条形图的特定点会显示 CPU 图所使用的时间和使用百分比,以及内存和存储图所使用的使用量数据。

1.2.3.1. 高利用率的资源

高利用率的资源(内存)

图 1.13. 高利用率的资源(内存)

点仪表板中的全局利用率项中的圆形图会显示对 CPU、内存或存储的利用率高的资源列表。对于 CPU 和内存,会显示 10 个利用率最高的主机和虚拟机;对于存储,会显示 10 个利用率最高的存储域和虚拟机。指向使用情况条形图右面的箭头显示了资源在最近一分钟的使用趋势。

1.2.4. 集群利用率

集群利用率显示了CPU 和内存的集群利用率。
集群利用率

图 1.14. 集群利用率

1.2.4.1. CPU

一个特定集群的 CPU 利用率的热图显示了在过去 24 小时内的 CPU 平均利用率。把鼠标光标移到热图上会显示集群的名称。点热图会进入主机标签页,并显示在一个特定集群中的搜寻结果(以 CPU 的利用率排序)。计算集群对 CPU 的使用情况数据是通过计算集群中的主机的 CPU 利用率的平均值而得出的。它会计算每个主机在过去 24 小时内的 CPU 利用率的平均值,从而计算出集群对 CPU 的总平均使用数据。

1.2.4.2. 内存

一个特定集群的内存利用率热图显示了在过去 24 小时内内存平均利用率。把鼠标光标移到热图上会显示集群的名称。点热图会进入主机标签页, 并显示在一个特定集群中的搜寻结果(以内存利用率排序)。集群对内存的使用情况数据是通过计算集群中的总内存使用情况(以 GB 为单位)而得出的。它会计算每个主机在过去 24 小时内的平均主机内存利用率,从而计算出集群对内存的总平均使用数据。

1.2.5. 存储利用率

存储利用率在热图中显示存储利用率数据。
存储利用率

图 1.15. 存储利用率

热图显示在过去 24 小时内存储的平均利用率。集群对存储的使用情况数据是通过计算集群中的总存储利用率而得出的。它会计算每个主机在过去 24 小时内的平均存储利用率,从而计算出集群对存储的总平均使用数据。把鼠标光标移到热图上会显示存储域的名称。点热图会进入存储标签页, 并显示以利用率进行排序的存储域。

部分 I. 管理资源

第 2 章 服务质量

Red Hat Virtualization 允许您通过定义服务质量(quality of service)来对您环境中的可访问资源的输入输出、计算资源和网络容量进行精细级别控制。 服务质量在数据中心一级配置,并可以分配给在集群和存储域中创建的配置集。然后,这些配置集可以分配给集群和存储域中的独立资源。

2.1. 存储服务质量

存储服务质量定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。为虚拟磁盘分配存储服务质量允许您对存储域的性能进行细化配置,并可以防止发生因为对一个虚拟磁盘的操作而影响到同一个存储域中的其它虚拟磁盘容量的问题。

2.1.1. 创建一个存储服务质量

创建一个存储服务质量。

过程 2.1. 创建一个存储服务质量

  1. 数据中心资源页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. 存储
  4. 新建
  5. QoS 名称项中输入这个服务质量的名称。
  6. 描述项中输入这个服务质量的描述信息。
  7. 设置服务质量的吞吐量:
    1. 选择吞吐量选择框。
    2. 总计项中输入允许的最大总吞吐量。
    3. 项中输入读操作所允许的最大吞吐量。
    4. 项中输入写操作所允许的最大吞吐量。
  8. 指定输入和输出服务质量:
    1. 选择 IOps 选择框。
    2. 总计项中输入每分钟所允许的最多输入和输出操作的数量。
    3. 项中输入每分钟所允许的最多输入操作的数量。
    4. 项中输入每分钟所允许的最多输出操作的数量。
  9. 确定
您创建了一条存储服务质量,并可以基于这个服务质量在属于这个数据中心的数据域中创建磁盘配置集。

2.1.2. 删除一个存储服务质量

删除一个存在的存储服务质量。

过程 2.2. 删除一个存储服务质量

  1. 数据中心资源页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. 存储
  4. 选择需要删除的存储服务质量。
  5. 删除
  6. 出现提示时点确定
您删除了一条存储服务质量,这条服务质量将不再有效。如果有磁盘配置集使用这个服务质量,这些配置集的服务质量被自动设置为 [unlimited]

2.2. 虚拟机网络服务质量

通过设置虚拟机网络服务质量,用户可以使用一个配置集来控制独立虚拟网络控制器的网络流量。它可以控制不同网络层上的带宽,并控制网络资源使用的情况。

2.2.1. 创建一个虚拟机网络服务质量

创建一个虚拟机网络服务质量,并把它应用到虚拟网络接口控制器(vNIC)配置集(也被称为虚拟机网络接口配置集)来控制网络流量。

过程 2.3. 创建一个虚拟机网络服务质量

  1. 数据中心标签页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. VM 网络
  4. 新建
  5. 名称项中输入这个虚拟机网络服务质量的名称。
  6. 输入转入的转出的网络流量的限制值。
  7. 确定
您创建了一个虚拟机网络服务质量,并可以在虚拟网络接口控制器中使用它。

2.2.2. 新建虚拟机网络 QoS 和编辑虚拟机网络 QoS 窗口中的设置介绍

虚拟机网络服务质量(QoS)设置允许用户在三个不同方面设置网络带宽的限制值。

表 2.1. 虚拟机网络 QoS 设置

描述
数据中心
虚拟机网络 QoS 协议被添加到的数据中心。这个项的值会根据所选的数据中心自动被设置。
名称
在 Manager 中代表这个虚拟机网络 QoS 协议的名称。
转入的
这个设置对流入网络的流量进行控制。选择/取消转入的选项来启用/禁用这个设置。
  • 平均值:流入网络流量的平均速度。
  • 高峰:流入网络流量的峰值速度。
  • Burst:burst 发生时的流入网络流量的速度。
转出的
这个设置对流出网络的流量进行控制。选择/取消转出的选项来启用/禁用这个设置。
  • 平均值:流出网络流量的平均速度。
  • 高峰:流出网络流量的峰值速度。
  • Burst:burst 发生时的流出网络流量的速度。

2.2.3. 删除一个虚拟机网络服务质量

删除一个存在的虚拟机网络服务质量。

过程 2.4. 删除一个虚拟机网络服务质量

  1. 数据中心标签页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. VM 网络
  4. 选择需要删除的虚拟机网络服务质量。
  5. 删除
  6. 出现提示时点确定
您删除了一个虚拟机网络服务质量。

2.3. 主机网络服务质量

主机网络服务器质量配置主机上的网络来控制通过物理接口的网络流量。使用主机网络服务质量可以通过控制在相同的物理网络接口控制器中的网络资源使用情况来对网络性能进行微调。这可以防止,因为物理网络上的一个网络有太多的网络数据造成同一个物理网络上的其它网络无法正常工作的情况出现。通过配置主机网络服务质量,可以使在同一个物理网络上的不同网络都正常工作。

2.3.1. 创建一个主机网络服务质量

创建一个主机网络服务质量。

过程 2.5. 创建一个主机网络服务质量

  1. 数据中心资源页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. 主机网络标签页。
  4. 新建
  5. QoS 名称项中输入这个服务质量的名称。
  6. 描述项中输入这个服务质量的描述信息。
  7. 加权重的共享速率限制 [Mbps]实现的速率 [Mbps] 项中输入相应的值。
  8. 确定

2.3.2. 新建主机网络服务质量和编辑主机网络服务质量窗口中的设置介绍

主机网络服务质量设置可以用来配置出站网络流量的带宽限制。

表 2.2. 主机网络 QoS 设置

描述
数据中心
主机网络 QoS 协议被添加到的数据中心。这个项的值会根据所选的数据中心自动被设置。
QoS 名称
在 Manager 中代表这个主机网络 QoS 协议的名称。
描述
主机网络 QoS 策略的描述。
转出的
应用到转出的网络流量的设置。
  • 加权重的共享:指定一个特定网络应该被分配的逻辑连接的容量(相对于连接到同一个逻辑连接的其它网络)。准确的共享取决于在这个连接上的所有网络共享的总和。在默认情况下,它的值在 1 到 100 之间。
  • 速率限制 [Mbps]:一个网络可以使用的最大带宽。
  • 实现的速率 [Mbps]:一个网络所需的最小带宽。实现的速率并不一定可以被保证,它取决于网络的架构以及同一个逻辑连接上的其它网络的“实现的速率”设置。

2.3.3. 删除一个主机网络服务质量

删除一个存在的网络服务质量。

过程 2.6. 删除一个主机网络服务质量

  1. 数据中心资源页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. 主机网络标签页。
  4. 选择需要删除的网络服务质量。
  5. 删除
  6. 出现提示时点确定

2.4. CPU 服务质量

CPU 服务质量定义了一个集群中的虚拟机可以从运行它的主机上获得的最大计算处理能力(以所占主机的所有计算处理能力的百分比表示)。通过为一个虚拟机关联一个 CPU 服务质量,可以防止因为集群中的一个虚拟机的负载占用太多计算处理资源而影响到同一集群中其它虚拟机可以使用的资源。

2.4.1. 创建一个 CPU 服务质量

创建一个 CPU 服务质量。

过程 2.7. 创建一个 CPU 服务质量

  1. 数据中心资源页并选择一个数据中心。
  2. 在详情框中点 QoS
  3. CPU
  4. 新建
  5. QoS 名称项中为这个服务质量输入一个名称。
  6. 描述项中输入这个服务质量的描述信息。
  7. 限制项中输入服务质量所允许的最大处理能力(以百分比的形式,但不要包括 % 符号)。
  8. 确认
您创建了一个 CPU 服务质量,并可以在属于此数据中心的集群中创建基于这个服务质量的 CPU 配置集。

2.4.2. 删除一个 CPU 服务质量

删除一个存在的 CPU 服务质量。

过程 2.8. 删除一个 CPU 服务质量

  1. 数据中心资源页并选择一个数据中心。
  2. 在详情框中点 QoS
  3. CPU
  4. 选择需要删除的 CPU 服务质量。
  5. 删除
  6. 提示时点确定
您删除了一条 CPU 服务质量,这条服务质量将不再有效。如果有 CPU 配置集基于这个服务质量,这些配置集的 CPU 服务质量值将被自动设置为 [unlimited]

第 3 章 数据中心

3.1. 数据中心介绍

数据中心就是在一个特定环境中使用的一组资源的逻辑代表。数据中心被看做为一个容器资源(container resource),它由逻辑资源(集群和主机)、网络资源(逻辑网络和物理网卡)以及存储资源(存储域)组成。
一个数据中心可以包括多个集群,(每个集群可以包括多个主机),以及多个与它相关联的存储域。数据中心上的每个主机可以支持多个虚拟机。一个 Red Hat Virtualization 环境可以包括多个数据中心,用户通过使用数据中心的结构把不同的数据中心分离开。
所有的数据中心都可以通过一个统一的管理门户进行管理。
数据中心

图 3.1. 数据中心

Red Hat Virtualization 在安装时会自动生成一个默认的数据中心。根据需要,您可以对这个默认的数据中心进行配置;或创建一个新的数据中心并给它一个适当的名字。
数据中心中的项

图 3.2. 数据中心中的项

3.2. 存储池管理器(SPM)

存储池管理器(Storage Pool Manager,简称 SPM)是数据中心中的一个特定主机所承担的角色,它被用来管理数据中心中的存储域。SPM 可以在数据中心中的任何一个主机上运行,Red Hat Virtualization Manager 会把这个角色赋予一个主机。作为 SPM 的主机并不需要被完全作为 SPM 使用,它也可以运行其它虚拟机资源。
SPM 通过协调存储域中的元数据(metadata)来控制对存储的访问。它的功能包括创建、删除和管理虚拟磁盘(磁盘镜像)、快照、模板,以及为 SAN 上的块设备分配存储空间。为了保持元数据的可靠性,一个数据中心中只能有一个主机作为 SPM。
Red Hat Virtualization Manager 会保证一直都有一个 SPM 在正常运行。当作为 SPM 的主机出现问题时,Red Hat Virtualization Manager 会把 SPM 角色分配给另外一台主机。当启动一个 SPM 时,需要确保只有一个主机被赋予了这个角色,并获取一个 storage-centric lease。这个过程需要花费一些时间来完成。

3.3. SPM 优先级

SPM 角色需要使用主机的一些资源。一个主机的 SPM 优先级的设定值预示着这个主机成为 SPM 的可能行:有高 SPM 优先级值的主机会在比有低 SPM 优先级值的主机先被授予 SPM 角色。因此,重要的虚拟机可以在那些有低 SPM 优先级的主机上运行,这样可以减少这些虚拟机和 SPM 角色争夺主机资源情况的出现。
您可以通过编辑主机来改变一个主机的 SPM 优先级。

3.4. 使用事件标签页查找数据中心中有问题的项

事件标签页显示了和这个数据中心相关的所有事件。这些事件包括审计、警告和错误。它们可以帮助您找出 Red Hat Virtualization 环境中可能存在问题的项。
事件标签页有两个显示模式:基本模式和高级模式。基本模式会显示事件的图标、事件发生的时间和描述。高级模式除了显示基本模式所显示的信息外,还会显示事件的 ID、相应的用户、主机、虚拟机、模板、数据中心、存储、集群,以及 Gluster 卷和相关 ID。

3.5. 数据中心任务

3.5.1. 创建一个新的数据中心

执行以下步骤可以在您的虚拟环境中创建一个数据中心。数据中心需要包括集群、主机和存储域。

注意

存储类型可以在第一个存储域被加入到数据中心前进行设置。一旦一个存储域被添加到数据中心后,存储类型将不能被改变。
兼容版本被设置后,将无法把它改为一个旧版本。

过程 3.1. 创建一个新的数据中心

  1. 选择数据中心资源标签页来在结果列表中列出所有的数据中心。
  2. 新建打开新建数据中心窗口。
  3. 输入数据中心的名称描述
  4. 从下拉菜单中选择数据中心的类型兼容版本配额模式
  5. 另外,还可以为数据中心修改 MAC 地址池。默认的 MAC 地址池会被预先选择。如需了解更多与创建 MAC 地址池相关的信息,请参阅 第 1.1.5 节 “Mac 地址池”
    1. MAC 地址池标签页。
    2. MAC 地址池下拉列表中选择所需的 MAC 地址。
  6. 确认创建数据中心,并打开新建数据中心 - 引导操作窗口。
  7. 引导操作窗口列出了数据中心所要配置的项。您可以现在配置这些项目,或点以后再操作来在以后配置它们。您可以在任何时候通过选择数据中心后点引导操作键来对所选数据中心进行配置。
新的数据中心被添加到虚拟环境中。在为这个数据中心配置了集群、主机和存储域前,它的状态将会是 Uninitialized。您可以使用引导操作键来配置它们。

3.5.2. “新建数据中心”和“编辑数据中心”窗口中的设置介绍

下表介绍了在新建数据中心编辑数据中心窗口中的数据中心设置。在您点确认时,无效的项会以橙色显示。另外,每个项的输入框中还会显示可以被接受的值的范围。

表 3.1. 数据中心属性

描述/操作
名称
数据中心的名字。它最长支持 40 个字符,可以包括大小写字母、数字、分号和下划线。数据中心的名字必须是唯一的。
描述
数据中心的描述。这个项可以是空,但我们推荐您在这个项中输入相关的信息。
类型
存储类型。请选择以下类型之一:
  • 共享的
  • 本地的
存储域的类型对数据中心的类型有很大的影响,它在创建后将很难进行修改。尽管多种不同类型的存储域(iSCSI、NFS、FC、POSIX 和 Gluster)可以被添加到同一个数据中心中,“本地的”和“共享的”类型不能同时存在于一个数据中心中。
兼容版本
Red Hat Virtualization 的版本。请选择以下值之一:
  • 3.6
  • 4.0
在升级了 Red Hat Virtualization Manager 后,主机、集群和数据中心可能还在使用以前的版本。因此,在升级数据中心的兼容版本前,请确认您已经升级了所有主机和集群。
配额模式
配额是 Red Hat Virtualization 所提供的一个对资源使用进行限制的工具。请选择以下值之一:
  • 禁用的:不使用配额功能
  • 审计:可以编辑配额设置
  • 强制的:强制使用配额功能
MAC 地址池
数据中心的 MAC 地址池。如果没有分配其它 MAC 地址池,默认的 MAC 地址池会被使用。如需了解更多与 MAC 地址池相关的信息,请参阅 第 1.1.5 节 “Mac 地址池”

3.5.3. 重新初始化一个数据中心

当数据中心中的主数据域中的数据出现问题时,您需要使用一个新的主数据域来替换当前的主数据域。重新初始化一个数据中心就可以为您恢复与这个数据中心相关的所有资源,包括集群、主机和没有问题的存储域。
您可以为新的主数据域导入备份的(或导出的)虚拟机或模板。

过程 3.2. 重新初始化一个数据中心

  1. 数据中心资源标签页,并选择需要重新初始化的数据中心。
  2. 确定和这个数据中心相关的存储域都处在维护模式。
  3. 在数据中心上点鼠标右键,从下拉菜单中选重新初始化数据中心打开数据中心重新初始化窗口。
  4. 数据中心重新初始化窗口会列出所有的存储域(这些存储域应该都处在维护模式)。选择您要加入到这个数据中心的存储域。
  5. 选择批准操作项。
  6. 确定关闭窗口并开始重新初始化这个数据中心。
您所选择的存储域被作为主数据域加入到数据中心。您现在可以为这个主数据域导入备份的(或导出的)虚拟机或模板。

3.5.4. 删除一个数据中心

在删除数据中心时,需要一个活跃的主机。删除一个数据中心并不会删除和它相关的资源。

过程 3.3. 删除一个数据中心

  1. 确定和数据中心相关联的存储域处于维护模式。
  2. 数据中心资源标签页并选择要删除的数据中心。
  3. 删除打开删除数据中心确认窗口。
  4. 确定

3.5.5. 强制删除一个数据中心

如果数据中心的主机处于无响应状态,或和它相关联的存储域出现问题,数据中心就成为无响应状态。您将无法正常删除数据中心。
强制删除可以在没有活跃的主机的情况下进行。它同时会永久删除所关联的存储域。
在进行强制删除数据中心操作前,需要先销毁有问题的存储域。

过程 3.4. 强制删除一个数据中心

  1. 数据中心资源标签页,选择要删除的数据中心。
  2. 强制删除打开强制删除数据中心确认窗口。
  3. 选中批准操作选项。
  4. 确定
数据中心和它所关联的存储域被从 Red Hat Virtualization 环境中永久删除。

3.5.6. 改变数据中心的兼容版本

Red Hat Virtualization 数据中心有一个兼容版本值。它指定了数据中心所兼容的 Red Hat Virtualization 版本。数据中心中的所有集群都需要满足这个兼容版本值。

注意

要修改数据中心的兼容版本值,需要先把数据中心中的所有集群都进行升级,从而满足这个兼容版本值。

过程 3.5. 改变数据中心的兼容版本

  1. 在管理门户中,点数据中心标签页。
  2. 从显示的列表中选要修改的数据中心。
  3. 编辑
  4. 兼容版本改为您需要的值。
  5. 确定打开修改数据中心兼容性版本确认窗口。
  6. 确定
您更新了数据中心的兼容版本值。

重要

升级数据中心兼容版本值也需要升级属于这个数据中心的存储域。

3.6. 数据中心和存储域

3.6.1. 为数据中心附加一个存在的数据域

状态为 Unattached 的数据域可以被附加到一个数据中心中。多个类型(iSCSI、NFS、FC、POSIX 和 Gluster)的共享存储域可以被添加到相同的数据中心中。

过程 3.6. 为数据中心附加一个存在的数据域

  1. 数据中心资源页并选择所需的数据中心。
  2. 详情框中的存储标签页中列出已附加到这个数据中心的存储域。
  3. 附加数据打开附加存储窗口。
  4. 选择需要附加到这个数据中心的数据域。您可以选择多个数据域来把它们附加到数据中心。
  5. 确定
数据域被附加到数据中心,并被自动激活。

3.6.2. 为数据中心附加一个存在的 ISO 域

状态为 Unattached 的 ISO 域可以被附加到一个数据中心。被添加的 ISO 域必须和数据中心有相同的存储类型
一个数据中心只能有一个附加的 ISO 域。

过程 3.7. 为数据中心附加一个存在的 ISO 域

  1. 数据中心资源标签页,选择所需的数据中心。
  2. 在详情框中选存储标签页列出已附加到这个数据中心中的存储域。
  3. 附加 ISO 打开附加 ISO 库窗口。
  4. 选择相应的 ISO 域。
  5. 确定
所选择的 ISO 域被附加到数据中心并被自动激活。

3.6.3. 为数据中心附加一个存在的导出域

注意

导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 第 7.6 节 “导入存在的存储域”
状态为 Unattached 的导出域可以被附加到一个数据中心。一个数据中心只能添加一个导出域。

过程 3.8. 为数据中心附加一个存在的导出域

  1. 数据中心资源标签页,选择所需的数据中心。
  2. 详情框中的存储标签页列出了已经被附加到这个数据中心的存储域。
  3. 附加导出打开附加导出域窗口。
  4. 选择相应的导出域。
  5. 确定
导出域被附加到数据中心,并被自动激活。

3.6.4. 从数据中心中分离一个存储域

从数据中心中分离一个存储域后,被分离的存储域将不再和数据中心有任何关系。被分离的存储域不会从 Red Hat Virtualization 环境中删除,它还可以被附加到其它的数据中心。
被分离的存储域中的数据(如虚拟机和模板)仍然保存在这个存储域中。

注意

当主存储域是唯一一个有效的存储域时,它不能被删除。

过程 3.9. 从数据中心中分离一个存储域

  1. 数据中心资源标签页,选择所需的数据中心。
  2. 在详情框中选存储标签页列出附加到这个数据中心的存储域。
  3. 选择要被分离的存储域。如果存储域处于激活状态,点维护打开维护存储域确认窗口。
  4. 确定把存储域变为维护模式。
  5. 分离打开分离存储确认窗口。
  6. 确定
您从数据中心中分离了存储域。被分离的存储域可能会需要几分钟的时间才会从详情框中消失。

3.7. 数据中心和权限

3.7.1. 管理数据中心的系统权限

作为 SuperUser,系统管理员需要管理管理门户(Administration Portal)的各个方面。对于其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的管理员只有对被分配给他的数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有对被分配的集群有管理权限。
一个数据中心管理员只对特定的数据中心有管理员的权限。这一点对于有多个数据中心的虚拟环境非常重要,因为每个数据中心都需要有一个系统管理员。DataCenterAdmin这个角色具有分级的模式,如果一个用户被赋予了一个数据中心的管理员角色,他将可以管理这个数据中心中除存储外的所有资源。使用页头中的配置键可以为系统中的所有数据中心分配一个数据中心管理员。
数据中心管理员可以执行以下操作:
  • 创建和删除数据中心的集群。
  • 创建和删除数据中心的主机、虚拟机和池。
  • 编辑数据中心中的虚拟机上的用户权限。

注意

您只能对已经存在的用户分配角色和权限。
如果需要更改一个数据中心的管理员,您需要删除当前的管理员,然后再添加一个新的管理员。

3.7.2. 数据中心管理员角色介绍

数据中心权限角色
下表描述了管理员角色,以及他们所具有的与数据中心管理相关的权限。

表 3.2. Red Hat Virtualization 系统管理员角色

角色权限备注
DataCenterAdmin数据中心管理员可以使用、创建、删除和管理特定数据中心中除存储以外的所有物理和虚拟资源(包括集群、主机、模板和虚拟机)。
NetworkAdmin网络管理员可以配置和管理特定数据中心的网络。数据中心网络管理员同时也继承了这个数据中心中的虚拟机的网络管理员权限。

3.7.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 3.10. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

3.7.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 3.11. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

第 4 章 集群

4.1. 集群介绍

一个集群就是一些主机组成的一个逻辑组。这些主机共享相同的存储域并有相同的 CPU 类型(Intel 或 AMD)。如果不同的主机有不同的 CPU 型号,只有那些在所有型号中都包括的功能才可以被使用。
系统中的每一个集群都必须属于某一个数据中心,每个主机也必须属于某一个集群。根据集群标签页中定义的原则,虚拟机可以被动态地分配到所属集群中的任何主机上,并可以在不同的主机间进行迁移。电源和负载共享原则不能在比集群更高级别的资源上定义。
属于集群的主机数量和虚拟机数量分别在主机数VM 数量列中显示。
集群可以运行虚拟机或 Red Hat Gluster Storage 服务器,但只能是二者之一。一个集群不能同时作为虚拟机和存储主机使用。
Red Hat Virtualization 在安装的过程中会在默认的数据中心中创建一个默认的集群。
群集

图 4.1. 群集

4.2. 集群的任务

4.2.1. 创建一个新集群

一个数据中心可以包括多个集群,而每个集群也可以包括多个主机。在一个集群中的主机必须有相同的 CPU 类型(如 Intel 或 AMD)。我们推荐您在创建集群前先创建主机,从而保证 CPU 类型的优化。在主机被创建后,您可以在任何时候使用引导操作键来配置主机。

过程 4.1. 创建一个新集群

  1. 集群资源标签页。
  2. 新建
  3. 在下拉菜单中选择这个集群需要属于的数据中心
  4. 为集群输入名称描述
  5. 管理网络下拉列表中选择分配管理网络角色的网络。
  6. 从下拉列表中选择 CPU 架构CPU 类型。它需要和要加入的主机中的最老 CPU 类型所处的 CPU 产品类相匹配,否则主机可能无法正常工作。

    注意

    对于 Intel 和 AMD CPU 类型,CPU 型号会以从老到新的逻辑顺序列出。如果集群中包括不同的 CPU 型号,则需要选择最老的。如需更多与 CPU 型号相关的信息,请参阅 https://access.redhat.com/solutions/634853
  7. 从下拉列表中为集群选择兼容版本
  8. 如果这个集群需要作为虚拟环境使用,选择启用 Virt 服务;如果这个集群需要提供 Gluster 节点,选择启用 Gluster 服务。您不能把 Red Hat Virtualization Host(RHVH)加入到一个支持 Gluster 服务的集群中。
  9. 或者也可以选择启用设置 VM 维护原因选项。它会在虚拟机被 Manager 关闭时显示一个原因输入项,管理员可以在这里输入维护的原因。
  10. 或者也可以选择启用设置主机维护原因选项。它会在主机被 Manager 关闭时显示一个原因输入项,管理员可以在这里输入维护的原因。
  11. 选择 /dev/random 源(Linux 提供的设备)或 /dev/hwrng 源(外部硬件设备)选项来为集群中的所有主机指定一个必须使用的随机数生成器设置。
  12. 使用优化标签页来为集群设置内存页共享的阈值,并可以为集群中的主机启动“CPU 线程处理”和“内存 ballooning”功能。
  13. 迁移策略标签页,为集群设置虚拟机迁移策略。
  14. 另外,还可以在调度策略标签页中设置“调度策略”、“调动程序优化”、“启用信任的服务”、“启用 HA 资源预留Reservation”并添加一个自定义序列号策略。
  15. 控制台标签页中,您可以覆盖全局的 SPICE 代理设置,并指定这个集群中的主机所使用的 SPICE 代理地址。
  16. 隔离策略标签页中为集群启用或禁用隔离(fencing)功能,并选择隔离选项。
  17. 确定来创建集群,并打开新建集群 - 引导操作窗口。
  18. 引导操作窗口列出了这个集群需要配置的项。您可以现在就配置这些项,或选择以后再配置。您可以在任何时候通过选择集群并点引导操作键来对集群进行配置。
新的集群被添加到虚拟环境中。

4.2.2. 新建集群和编辑集群窗口中的设置和控制介绍

4.2.2.1. 集群常规设置介绍

新建集群窗口

图 4.2. 新建集群窗口

下表介绍了新建集群编辑集群窗口中的常规标签页中的设置。如果您的设置中有不正确的值,点确定时它们会被显示为橙色并无法进行到下一步。另外,各个项会提示您可能的有效值范围。

表 4.1. 常规集群设置

描述/操作
数据中心
包括集群的数据中心。在添加集群前,数据中心需要已被创建。
名称
集群的名称。它最长支持 40 个字符,可以包括大小写字母、数字、分号和下划线。集群的名字必须是唯一的。
描述 / 备注
集群的描述信息,以及额外的备注信息。我们推荐使用这个项,但它不是必需的。
管理网络
被分配为管理网络角色的逻辑网络。它的默认值是 ovirtmgmt。在已存在的网络中,只能通过详情框中的逻辑网络标签页中的管理网络按钮来更改管理网络。
CPU 架构集群的 CPU 架构。有效的 CPU 类型由所选择的 CPU 架构决定。
  • undefined:所有 CPU 类型都有效。
  • x86_64:所有 Intel 和 AMD CPU 类型都有效。
  • ppc64:只有 IBM POWER 8 有效。
CPU 类型
集群的 CPU 类型。可以是以下值之一:
  • Intel Conroe Family
  • Intel Penryn Family
  • Intel Nehalem Family
  • Intel Westmere Family
  • Intel SandyBridge Family
  • Intel Haswell
  • AMD Opteron G1
  • AMD Opteron G2
  • AMD Opteron G3
  • AMD Opteron G4
  • AMD Opteron G5
  • IBM POWER 8
一个集群中的所有主机都需要使用 Intel、AMD 或 IBM POWER 8 CPU 类型,当进行设置后,很难在不对环境造成巨大影响的情况下对它们进行修改。CPU 类型需要设置为集群中最老的 CPU 型号。只有所有 CPU 都具有的功能才可以被使用。对于 Intel 和 AMD CPU 类型,CPU 型号会以从最老到最新的逻辑顺序被列出。
兼容版本
Red Hat Virtualization 的版本值。可以是以下值中的一个:
  • 3.6
  • 4.0
您无法选择比数据中心中指定的版本值更低的版本。
启用 Virt 服务
如果选择了这一项,集群中的主机将被用来运行虚拟机。
启用 Gluster 服务
如果选择了这一项,这个集群中的主机将被用来作为 Red Hat Gluster Storage Server 节点,而不能运行虚拟机。另外,您也无法添加 Red Hat Virtualization Host 主机到这个集群。
导入现有的 Gluster 配置
这个选项只有在启用 Gluster 服务被选中时才有效。它允许您为 Red Hat Virtualization Manger 导入一个已经存在的 Gluster 集群以及附加在它上面的主机。
被导入的集群中的主机需要以下设置:
  • 地址: Gluster 主机服务器的 IP 地址或全局域名(FQDN)。
  • 指纹: Red Hat Virtualization Manager 需要获得的主机指纹信息。使用它来确保和正确的主机相连接。
  • Root 密码:和主机连接所需要的 root 密码。
启用设置虚拟机维护的理由如果选择了这个选项,当集群中的虚拟机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当虚拟机被重启后,您所输入的理由信息将出现在系统的日志中。
启用设置虚拟机维护的理由如果选择了这个选项,当集群中的主机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当主机被重启后,您所输入的理由信息将出现在系统的日志中。
所需的随机数生成器的源:
如果下面的一个选择框被选择时,集群中的所有主机都必须包括这个设备。这可以把系统随机变化的程度值(entropy)从随机数生成器设备传递到虚拟机。
  • /dev/random source - Linux 提供的随机数生成器。
  • /dev/hwrng source - 外部的硬件随机数生成器。

4.2.2.2. 优化设置介绍

内存页共享(memory page sharing)技术可以使虚拟机通过使用其它虚拟机上没有使用的内存来为自己获得最多为自身内存两倍的使用内存。在一般情况下,您的 Red Hat Virtualization 环境中的所有虚拟机在同一时间点上不会全部使用它们所具有的所有系统资源,因此,系统可以把其它虚拟机上没有使用的内存资源临时分配给特定的虚拟机使用。
CPU 线程处理(CPU Thread Handling)技术可以使虚拟机的处理器核数量大于它们的主机所具有的处理器核数量。这个技术对那些不需要使用大量 CPU 资源的环境非常有用,用户可以使用多个虚拟机来满足所需要的操作,从而减少对硬件的要求。这个技术还可以让虚拟机运行一些在一般情况下无法实现的 CPU 拓扑结构,特别是在虚拟机的处理器核的数量大于主机的处理器核数量,但小于主机的线程数量的时候。
下表介绍了新建集群编辑集群窗口中的优化标签页中的设置。

表 4.2. 优化设置

描述/操作
内存优化
  • 无 - 禁用内存过度分配:禁用内存页共享。
  • 用于服务器负载 - 允许调度 150% 的物理内存:把内存页共享的阈值设为每个主机的系统内存的 150%。
  • 用于桌面负载 - 允许调度 200% 的物理内存:把内存页共享的阈值设为每个主机的系统内存的 200%。
CPU 线程
选择将线程作为内核选项将允许主机上所运行的处理器核的数量大于主机本身的处理器核的数量。
主机的线程可以被看做为处理器内核被虚拟机使用。例如,一个有 24 核,每个核有 2 个线程(共有 48 个线程)的主机上所运行的虚拟机可以有 48 个内核,并且在计算主机 CPU 负载时会和有 48 个内核的系统相比较。
内存 Balloon
选择启用内存 Balloon 优化选项后,在这个集群中的主机上所运行的虚拟机上将会启动“内存过度分配(memory overcommitment)” 功能。当这个功能被启动后,Memory Overcommit Manager (MoM) 在条件允许的情况下进行内存“气球操作”(Ballooning)。它的上限是每个虚拟机所保证具有的内存数量。
要使用内存气球(memory balloon),虚拟机需要有气球(balloon)设备以及相应的驱动器。每个虚拟机都包括了一个气球设备,除非这个设备已经被删除。当集群中的主机的状态变为 Up 时,就会收到一个气球协议更新。如果需要,可以在不需要改变状态的情况下在主机上手工更新气球策勒。如需了解相关信息,请参阅 第 4.2.5 节 “在一个集群的主机上更新 MoM 策略”
需要注意的是,在一些情况下,气球操作可能会和 KSM 有冲突。当冲突发生时,MoM 将会试图通过调整气球的大小来减少冲突。另外,在一些情况下,气球可能会降低一个虚拟机的性能。因此,我们建议系统管理员谨慎使用内存气球优化技术。
KSM 控制
选择启用 KSM 将允许 MoM 在需要的情况下运行 Kernel Same-page Merging(KSM)。

4.2.2.3. 迁移策略设置介绍

迁移策略定义了在出现主机故障时进行实时虚拟机迁移的条件。这些条件包括,在迁移过程中的虚拟机下线时间、网络带宽,以及如何决定虚拟机的优先级。

表 4.3. 迁移策略介绍

策略
描述
Legacy
使用 3.6 版本的工作方式。vdsm.conf 中的设置仍然适用。guest 代理的 hook 机制会被禁用。
Minimal downtime
允许虚拟机在典型的情况下进行迁移,虚拟机应该不会出现长时间的下线情况。如果在一定时间内(取决于 QEMU,最长时间是 500 毫秒)虚拟机的迁移还没有聚合,迁移操作会被终止。guest 代理机制会被启用。
Suspend workload if needed
允许虚拟机在多数情况下都可以进行迁移,包括虚拟机的负载非常大的情况。虚拟机可能会出现较长的下线时间。当负载太大时,迁移操作也会被终止。guest 代理机制会被启用。
带宽设置定义了每个主机的出站和入站迁移的最大带宽。

表 4.4. 带宽介绍

策略
描述
Auto
带宽从数据中心的主机网络 QoS 中的速率限制 [Mbps] 设置中复制。如果没有定义速率限制,带宽将会是发送和接收网络接口的最小连接速度。如果速率限制还没有设置,而且也不知道连接速度,则它会由发送主机上的本地 VDSM 设置决定。
Hypervisor default
带宽由发送主机上的本地 VDSM 控制。
Custom
用户自定义(以 Mbps 为单位)
resilience 策略定义了在迁移中虚拟机是如何设置优先级的。

表 4.5. Resilience 策略设置

描述/操作
迁移虚拟机
根据所定义的优先级迁移所有的虚拟机。
只迁移高可用性虚拟机
只迁移高可用性虚拟机,从而避免增加不必要的主机负载。
不迁移虚拟机
不迁移虚拟机
额外属性只对 Legacy 迁移策略有效。

表 4.6. 额外属性介绍

属性
描述
自动聚合迁移
用来指定在迁移虚拟机的过程中是否进行自动聚合。带有大量负载的大型虚拟机会很快“弄脏”内存,这个速率会比实时迁移所能达到的传输速率更快,因此,迁移无法被聚合。QEMU 中的自动聚合功能允许您对虚拟机迁移进行强制聚合。QEMU 会自动检测到没有进行聚合,并在虚拟机上触发一个降低 vCPU 速度的操作。在默认情况下,自动聚合被全局禁用。
  • 如果选择从集群设置继承,则使用在全局范围设置的自动聚合设置。这是默认选项。
  • 自动聚合会覆盖全局的相关设置,并允许为虚拟机进行自动聚合。
  • 不自动聚合会覆盖全局的相关设置,并禁止为虚拟机进行自动聚合。
启用迁移压缩
指定在迁移虚拟机的过程中是否进行压缩。这个功能会使用 Xor Binary Zero Run-Length-Encoding,它会缩短那些运行需要大量写入内存的负载的虚拟机的下线时间,以及那些运行具有稀松内存更新特征的应用程序的虚拟机的下线时间。在默认情况下,迁移压缩被全局禁用。
  • 如果选择从集群设置继承,则使用在全局范围设置的压缩设置。这是默认选项。
  • 压缩会覆盖相关的全局设置,并允许为虚拟机进行压缩。
  • 不压缩会覆盖相关的全局置,压缩在虚拟机上被禁用。

4.2.2.4. 调度策略设置介绍

调度策略指定了虚拟机在可用的主机间的使用和分配情况。通过设置调度策略,可以在一个集群中的主机间自动进行负载均衡。
要为一个存在的集群添加调度策略,选集群标签页,点编辑按钮,然后进入调度策略标签页。
调度策略设置:vm_evenly_distributed

图 4.3. 调度策略设置:vm_evenly_distributed

下表描述了调度策略标签页中的设置。

表 4.7. 调度策略标签页属性

描述/操作
选择策略
从下拉列表中选择一个策略。
  • none:不允许在主机间进行负载和电源共享。这是默认模式。
  • evenly_distributed:在集群中的所有主机间平均分配内存和 CPU 负载。当主机已经达到了最大服务水平值(Maximum Service Level)时,新加入到这个主机的虚拟机将不会启动。
  • InClusterUpgrade:根据主机操作系统版本分配虚拟机。有更新操作系统版本的主机会比运行较低版本操作系统的主机有更高的优先级来运行虚拟机。迁移到有较新操作系统的主机上的虚拟机不会再迁移回运行较低操作系统版本的主机上。一个主机可以在集群中的任何主机上重启。通过使用这个策略,集群中的主机可以有不同的操作系统版本,这样就可以对集群中的主机进行升级。在使用这个策略前,需要进行一些预先的配置,详情请参阅升级指南
  • power_saving:只在一部分主机中分配内存和 CPU 处理负载,这可以为其它主机节省能源消耗。如果主机上的 CPU 负载处于低使用率状态,并且处于这个状态的时间超过了预先定义的时间,这个主机上的虚拟机将被迁移到其它主机上,并在迁移后关闭这个主机。如果一个主机的利用率已经达到了设置的最高值,新加入到这个主机的虚拟机将不会被启动。
  • vm_evenly_distributed:根据主机上的虚拟机数量平均分配虚拟机。当有任何一个主机上所运行的虚拟机数量超过 HighVmCount 中所定义的值,并且有最少一个主机上所运行的虚拟机数量不在 MigrationThreshold 所定义的范围之内,我们就认为这个集群处于一个负载不平衡状态。
属性
根据所选的策略,以下属性会被显示,并可以按需进行编辑:
  • HighVmCount:每个主机最多可以运行的虚拟机数量。当这个值被超过时,这个主机被认为已经超过负载。它的默认值是 10
  • MigrationThreshold:它定义了主机发生虚拟机迁移前的缓冲段。它是最高利用率主机上运行的虚拟机数量和最低利用率主机上运行的虚拟机数量间的最大差值。当集群中的所有主机上所运行的虚拟机的数量都在这个缓冲段内时,我们说这个集群处于一个负载平衡的状态。它的默认值是 10
  • SpmVmGrace:定义了在 SPM 主机上保留的可用虚拟机数。作为 SPM 的主机应该比其它主机有更低的负载,用户可以通过设置这个项来指定 SPM 主机应该比其它主机少运行多少个虚拟机。它的默认值是 5
  • CpuOverCommitDurationMinutes:在调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。通过这个设置,可以避免因为暂时的高 CPU 负载所带来的不必要的虚拟机迁移操作。它的最大值是 99,默认值是 2
  • HighUtilization:一个百分比值。当一个主机的 CPU 使用率在一定时间内超过了这个值,Red Hat Virtualization Manager 将会把它上面的虚拟机迁移到集群中的其它主机上,直到这个主机的 CPU 负载降到 maximum service threshold 所设置的值以下。它的默认值是 80
  • LowUtilization:一个百分比值。当一个主机的 CPU 使用率在一定时间内低于这个值,Red Hat Virtualization Manager 将会把它上面的虚拟机迁移到集群中的其它主机上,并关闭这个主机。当这个集群中有其它负载平衡需求,或没有足够可用的主机时,这个主机会被重新启动。它的默认值是 20
  • ScaleDown:用来减少 HA 预留 的权重功能(把主机的值除以这个值)。它是一个可选的、可以被添加到包括 none 在内的任何策略的属性。
  • HostsInReserve:指定一组主机,即使在它们上面没有运行虚拟机,这些主机也要保持运行。它是一个可选的、可以添加到 power_saving 策略中的属性。
  • EnableAutomaticHostPowerManagement:为集群中的所有主机启用自动电源管理功能。它是一个可选的、可以添加到 power_saving 策略中的属性。它的默认值是 true
  • MaxFreeMemoryForOverUtilized:设置最低服务级别所需的最多可用内存(以 MB 为单位)。当主机的内存使用量等于或超过这个数值时,Red Hat Virtualization Manager 会开始把这个主机上的虚拟机迁移到其它主机上,直到主机的可用内存低于这个门限值。把 MaxFreeMemoryForOverUtilizedMinFreeMemoryForUnderUtilized 都设置为 0 MB 会禁用基于内存的负载均衡。它可以作为一个可选属性附加到 power_savingevenly_distributed 策略中。
  • MinFreeMemoryForUnderUtilized:在主机被认为利用率低以前可用的最少内存(以 MB 为单位)。如果主机的内存使用情况低于这个值,Red Hat Virtualization Manager 会把这个主机上的虚拟机迁移到集群中的其它主机上,并自动关闭这个主机。当负载均衡需要这个主机或集群中没有可用的主机时,这个被关闭的主机会被自动重启。把 MaxFreeMemoryForOverUtilizedMinFreeMemoryForUnderUtilized 设置为 0MB 会禁用基于内存的负载均衡。它可作为一个可选属性附加到 power_savingevenly_distributed 策略中。
调度程序优化
优化主机权重和顺序的调度。
  • 为使用进行优化:在调度中包括权重模块来做出最好的选择。
  • 为速度进行优化:当有多于 10 个请求没有被处理时,忽略主机权重。
启用信任的服务
启用和 OpenAttestation 服务器集成的功能。在使用这个功能前,用户需要先使用 engine-config 工具配置 OpenAttestation 服务器。如需了解更多信息,请参阅 第 9.4 节 “信任的计算池”
启用 HA Reservation
Manager 对集群中可以提供给高可用虚拟机的资源进行监控。Manager 需要保证,当那些高可用虚拟机所在的主机出现问题时,集群可以提供足够的资源来把那些高可用虚拟机迁移到其它主机上。
提供自定义序列号策略
您可以使用这个项为集群中的虚拟机指定一个序列号策略。使用以下选项之一:
  • Host ID:使用主机的 UUID 作为虚拟机的序列号。
  • Vm ID:使用虚拟机的 UUID 作为它的序列号。
  • Custom serial number:指定一个自定义序列号。
自动聚合迁移
指定在迁移集群中的虚拟机时是否进行自动聚合。带有大量负载的大型虚拟机会很快“弄脏”内存,这个速率会比实时迁移所能达到的传输速率更快,因此,迁移无法被聚合。QEMU 中的自动聚合功能允许您对虚拟机迁移进行强制聚合。QEMU 会自动检测到没有进行聚合,并在虚拟机上触发一个降低 vCPU 速度的操作。在默认情况下,自动聚合被全局禁用。
  • 如果选择从集群设置继承,则使用通过 engine-config 进行的全局设置。这是默认选项。
  • 自动聚合会忽略全局的相关设置,自动聚合会在集群中的虚拟机上启用。
  • 不自动聚合会忽略全局的相关设置,自动聚合不会在集群中的虚拟机上启用。
启用迁移压缩
指定在迁移虚拟机的过程中是否进行压缩。这个功能会使用 Xor Binary Zero Run-Length-Encoding,它会缩短集群中那些运行需要大量写入内存的负载的虚拟机的下线时间,以及那些运行具有稀松内存更新特征的应用程序的虚拟机的下线时间。在默认情况下,迁移压缩被全局禁用。
  • 如果选择从集群设置继承,则使用通过 engine-config 进行的全局设置。这是默认选项。
  • 压缩会忽略全局的相关设置,压缩会在集群中的虚拟机上启用。
  • 不压缩会忽略全局的相关设置,压缩不会在集群中的虚拟机上启用。
当一个主机的空闲内存低于 20% 时,“气球”命令(如 mom.Controllers.Balloon - INFO Ballooning guest:half1 from 1096400 to 1991580)会被记录在 /var/log/vdsm/mom.log 文件中。/var/log/vdsm/mom.log 是内存过度分配管理器(Memory Overcommit Manager)的日志文件。

4.2.2.5. 集群控制台设置介绍

下表介绍了新建集群编辑集群窗口中的控制台标签页中的设置。

表 4.8. 控制台设置

描述/操作
为集群定义 SPICE 代理
选择这个项可以覆盖全局设置中对 SPICE 代理的设置。当有用户需要从远程对虚拟机进行访问时,这个设置将非常有用。
覆盖 SPICE 代理地址
SPICE 客户端连接到虚拟机所使用的代理服务器。代理的地址格式是:
protocol://[host]:[port]

4.2.2.6. 隔离策略设置介绍

下表描述了新建集群编辑集群窗口中的隔离策略标签页的设置。

表 4.9. 隔离策略设置介绍

描述/操作
启用隔离在集群中启用隔离功能。隔离功能在默认的情况下被启用,但可以根据需要被禁用。例如,当预计要出现网络问题时,管理员可以临时禁用隔离功能。当问题解决后再重新启用它。请注意,当隔离被禁用后,在无响应的主机上运行的高可用虚拟机将无法在其它主机上重启。
如果主机在存储上有实时的租約,忽略隔离操作如果选择了这个选项,集群中的所有没有响应的、仍然连接到存储的主机都不会进行 fence 操作。
在有连接问题的集群中忽略隔离操作如果选择了这个选项,当集群中有连接问题的主机的百分比超过或等于 阈值 中所定义的值时,隔离功能会被临时禁用。阈值的值可以从下拉列表中选择,有效值包括 255075100

4.2.3. 编辑一个资源

简介
编辑一个资源的属性。

过程 4.2. 编辑一个资源

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 编辑打开编辑窗口。
  3. 编辑需要修改的属性并点确认
结果
新的属性值被保存。如果有不正确的属性值存在,编辑窗口将不会被关闭。

4.2.4. 集群中的主机负载和电源管理策略

使用 evenly_distributedpower_saving 调度策略可以指定可接受的内存和 CPU 使用值,以及在什么情况下虚拟机需要从一个主机迁移到另一个主机。使用 vm_evenly_distributed 调度策略,虚拟机会根据主机上的虚拟机数据在主机间进行平均分配。定义调度策略可以在集群中实现主机的负载平衡。如需了解所有调度策略的详细信息,请参阅 第 4.2.2.4 节 “调度策略设置介绍”

过程 4.3. 为主机设置负载和电源管理策略

  1. 使用资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 编辑打开编辑集群窗口。
    编辑调度策略

    图 4.4. 编辑调度策略

  3. 选择以下策略中的一个:
    • none
    • vm_evenly_distributed
      1. HighVmCount 项中指定每个主机上可以运行的最多虚拟机的数量。
      2. MigrationThreshold 项中指定可以接受的、具有最高利用率的主机上所运行的虚拟机数量和具有最低利用率的主机上所运行的虚拟机数量间的最大差距。
      3. SpmVmGrace 项中定义在 SPM 主机上保留的可用虚拟机数。
    • evenly_distributed
      1. CpuOverCommitDurationMinutes 项中设置,当调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。
      2. HighUtilization 项中输入虚拟机需要迁移到其它主机的 CPU 使用率的百分值。
      3. MinFreeMemoryForUnderUtilized 项中输入虚拟机需要开始迁移到其它主机所需的最小可用内存的数量(以 MB 为单位)。
      4. MaxFreeMemoryForOverUtilized 项中输入虚拟机需要迁移到其它主机所需的最大可用内存的数量(以 MB 为单位)。
    • power_saving
      1. CpuOverCommitDurationMinutes 项中设置,当调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。
      2. LowUtilization 项中输入主机被认为处于没有被充分利用状态的 CPU 使用率的百分值。
      3. HighUtilization 项中输入虚拟机需要迁移到其它主机的 CPU 使用率的百分值。
      4. MinFreeMemoryForUnderUtilized 项中输入虚拟机需要开始迁移到其它主机所需的最小可用内存的数量(以 MB 为单位)。
      5. MaxFreeMemoryForOverUtilized 项中输入虚拟机需要迁移到其它主机所需的最大可用内存的数量(以 MB 为单位)。
  4. 选择以下之一作为集群的调度程序优化设置:
    • 为使用进行优化:在调度中包括权重模块来做出最好的选择。
    • 为速度进行优化:当有多于 10 个请求没有被处理时,忽略主机权重。
  5. 如果您使用 OpenAttestation 服务器来验证您的主机并使用 engine-config 命令对服务器进行了设置,选启用信任的服务选项。
  6. 也可以选择启用 HA 预留选项来使 Manager 监控高可用性虚拟机的集群容量。
  7. 也可以选择提供自定义序列号策略选项来为集群中的虚拟机指定一个序列号,然后选择以下选项之一:
    • Host ID:使用主机的 UUID 作为虚拟机的序列号。
    • Vm ID:使用虚拟机的 UUID 作为它的序列号。
    • Custom serial number:输入一个自定义序列号。
  8. 确定

4.2.5. 在一个集群的主机上更新 MoM 策略

MoM(Memory Overcommit Manager)处理主机上的“内存气球”和 KSM 功能。当在集群一级修改这些功能时,所做的修改只有在主机被重启或设置为维护模式后,主机的状态再次成为 Up 时才会在主机上起作用。但是,如果需要,在主机状态为 Up 时,可以通过同步 MoM 策略来在主机上马上应用重要的改变。以下步骤需要在每个主机上单独进行。

过程 4.4. 在一个主机上同步 MoM 策略

  1. 集群标签页,选择主机所属的集群。
  2. 在详情框中点主机标签页,选需要更新 MoM 策略的主机。
  3. 同步 MoM 策略
在不需要把主机设置为维护模式,然后再返回 Up 的情况下,在主机上更新 MoM 策略。

4.2.6. CPU 配置集

CPU 配置集定义了一个集群中的虚拟机可以从运行它的主机上获得的最大计算处理能力(以所占主机的所有计算处理能力的百分比表示)。CPU 配置集是基于数据中心中定义的 CPU 配置集创建的。它不会被自动应用到集群中的所有虚拟机上,而需要被手工分配给单独的虚拟机。

4.2.6.1. 创建一个 CPU 配置集

创建一个 CPU 配置集。这个步骤假设您已经为集群所属的数据中心定义了一个或多个 CPU 服务质量。

过程 4.5. 创建一个 CPU 配置集

  1. 集群资源标签页并选择一个集群。
  2. 在详情框中点 CPU 配置集子标签页。
  3. 新建
  4. 名称 项中输入 CPU 配置集的名称。
  5. 描述项中输入 CPU 配置集的描述信息。
  6. QoS 列表中选择应用到 CPU 配置集的服务质量。
  7. 确定
您创建了一个 CPU 配置集,这个 CPU 配置集可以在集群中的虚拟机上应用。

4.2.6.2. 删除 CPU 配置集

从 Red Hat Virtualization 环境中删除一个 CPU 配置集。

过程 4.6. 删除 CPU 配置集

  1. 集群资源标签页并选择一个集群。
  2. 在详情框中点 CPU 配置集子标签页。
  3. 选择需要删除的 CPU 配置集。
  4. 删除
  5. 确定
您删除了一个 CPU 配置集,被删除的 CPU 配置集将无法再被使用。如果 CPU 配置集已经被关联到其它虚拟机,这些虚拟机会被自动关联到 default CPU 配置集。

4.2.7. 导入一个存在的 Red Hat Gluster Storage 集群

您可以为 Red Hat Virtualization Manager 导入一个 Red Hat Gluster Storage 集群,以及这个集群上的所有主机。
在您提供了集群中的任何主机的相关信息(如 IP 地址,主机名和密码)后,gluster peer status 命令会通过 SSH 在主机上运行,并显示集群上的主机列表。您需要手工验证每个主机的指纹信息并为它们提供密码。当集群中的某个主机已经被关闭,或因一些原因无法访问,您将无法导入这个集群。因为新导入的主机没有安装 VDSM,bootstrap 脚本会在主机被导入后为它们安装 VDSM 软件包,并重新启动这些主机。

过程 4.7. 为 Red Hat Virtualization Manager 导入一个存在的 Red Hat Gluster Storage 集群

  1. 选择集群资源页来在结果列表中列出所有集群。
  2. 新建打开新建集群窗口。
  3. 在下拉菜单中选择这个集群需要属于的数据中心
  4. 输入集群的名称描述值。
  5. 启用 Gluster 服务导入现有的 gluster 配置
    导入现有的 gluster 配置选项只在您已经选择了启用 Gluster 服务选项后才会被显示。
  6. 地址项中输入这个集群中的任何服务器的主机名或 IP 地址。
    检查主机的指印信息来保证您连接到了正确的主机。如果一个主机无法被访问或有网络错误,获取指印失败信息将会在指印项中被显示。
  7. 输入服务器的 Root 密码并点确认
  8. 添加主机窗口会被打开,并列出这个集群所包括的主机。
  9. 为每个主机输入名称Root 密码
  10. 如果您想为所有主机设定同一个密码,选择使用公共密码选项。
    应用为所有主机设置密码。
    确认指纹信息,然后点确定提交您的改变。
在主机被导入后,bootstrap 脚本会在主机上安装了所需的 VDSM 软件包并重新启动它们。一个存在的 Red Hat Gluster Storage 集群被成功地导入到 Red Hat Virtualization Manager。

4.2.8. 添加主机窗口中的设置介绍

用户可以在添加主机窗口中指定被输入的 Gluster 集群中的主机信息。当您在新建集群窗口中选择了启用 Gluster 服务选项并输入了相应的主机信息后,这个窗口将会被显示。

表 4.10. 添加 Gluster 主机设置

描述
使用公共密码选择这个项可以为这个集群中的所有主机设定相同的密码。在密码项中输入您需要设置的密码,点应用来为所有主机设置密码。
名称输入主机的名称
主机名/IP这个项的值会根据您在新建集群窗口中所提供的全称域名或 IP 地址自动生成。
Root 密码在这个项中输入密码来为每个主机设定一个不同的密码。这个项中的值会覆盖集群中所设置的通用密码。
指纹指纹信息可以确保您连接到了一个正确的主机。这个项的值会根据您在新建集群窗口中所提供的主机信息自动生成。

4.2.9. 删除一个集群

介绍
在删除一个集群前需要把所有主机移出这个集群。

注意

您不能删除 Default 集群,因为它需要被用来保存模板。但是您可以重新命名 Default 集群并把它加入到一个新的数据中心中。

过程 4.8. 删除一个集群

  1. 使用资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 确认这个集群中已经没有主机了。
  3. 删除打开删除集群确认窗口。
  4. 确定
结果
集群被删除。

4.2.10. 改变集群的兼容版本

Red Hat Virtualization 集群有一个兼容版本值。兼容版本值决定了这个集群中的所有主机都支持的 Red Hat Virtualization 的功能。集群兼容版本值应该根据集群中最低的主机操作系统版本进行设置。

注意

要修改集群的兼容版本值,您需要先把集群中的所有主机进行升级,从而满足这个兼容版本值。

过程 4.9. 改变集群的兼容版本

  1. 在管理门户中,选集群标签页。
  2. 从显示的列表中选要修改的集群。
  3. 编辑
  4. 兼容版本改为您所需要的值。
  5. 确定打开修改集群兼容性版本确认窗口。
  6. 确定
您更新了集群的兼容版本值。一旦更新了数据中心中所有集群的兼容版本值,就可以对数据中心的兼容版本值进行更新。

重要

升级数据中心兼容版本值也需要升级属于这个数据中心的存储域。

4.3. 集群和权限

4.3.1. 为一个集群管理系统权限

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
一个集群管理员只对特定的集群有管理员的权限。这一点对于有多个集群的数据中心非常重要,因为每个集群都需要有一个系统管理员。ClusterAdmin 这个角色具有分级的模式,如果一个用户被赋予了一个集群的管理员角色,他将可以管理集群中的所有资源。使用页头中的配置键来为系统中的所有集群分配一个集群管理员。
集群库管理员可以进行以下操作:
  • 创建和删除相关的集群。
  • 创建和删除集群的主机、虚拟机和池。
  • 编辑集群中的虚拟机上的用户权限。

注意

您只能对已经存在的用户分配角色和权限。
如果需要更改一个集群的管理员,您需要删除当前的管理员,然后再添加一个新的管理员。

4.3.2. 集群管理员角色介绍

集群权限角色
下表介绍了管理员角色,以及他们所具有的集群管理权限。

表 4.11. Red Hat Virtualization 系统管理员角色

角色权限注记
ClusterAdmin集群管理员
可以使用、创建、删除集群中的物理和虚拟资源(包括集群、主机、模板和虚拟机)。还可以配置集群中的网络,如指定显示网络、把网络标记为"必需的"或"非必需的"。
但是,ClusterAdmin 没有为一个集群添加和删除网络的权限。这个操作需要有 NetworkAdmin 的权限。
NetworkAdmin网络管理员可以配置和管理集群中的网络。一个集群网络管理员同时也继承了这个集群中的虚拟机上的网络管理员权限。

4.3.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 4.10. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

4.3.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 4.11. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

第 5 章 逻辑网络

5.1. 逻辑网络任务

5.1.1. 使用网络标签页

网络资源标签页为用户提供了一个进行与逻辑网络相关的操作平台。用户也可以在这个标签页中进行逻辑网络搜索操作。
Red Hat Virtualization 环境中的所有逻辑网络都会在网络标签页中显示。用户可以使用新建编辑删除来在数据中心中创建、编辑和删除逻辑网络。
选择网络名,使用集群主机虚拟机模板权限标签页来进行以下操作:
  • 为集群和主机关联或取消关联网络
  • 从虚拟机和模板上删除网络接口
  • 为用户添加和删除访问和管理网络的权限
这些功能也可以通过访问相应的资源页进行。

警告

当有主机正在运行时,请不要改变数据中心或集群中的网络设置。这可能导致主机无法被访问。

重要

如果您计划使用 Red Hat Virtualization 节点来为用户提供服务,您需要记住,当 Red Hat Virtualization 环境停止工作时,它所提供的服务也将被停止。
这一点对所有服务都有效,但您特别需要对 Red Hat Virtualization 所提供的以下服务加以注意:
  • 目录服务
  • DNS
  • 存储

5.1.2. 在数据中心或集群中创建一个新的逻辑网络

在数据中心或集群中创建并定义一个逻辑网络。

过程 5.1. 在数据中心或集群中创建一个新的逻辑网络

  1. 数据中心集群资源标签页,在结果列表中选择一个数据中心或集群。
  2. 在详情框中选逻辑网络标签页列出所有已经存在的逻辑网络。
    • 如果为数据中心创建逻辑网络,在详情框中点新建打开新建逻辑网络窗口。
    • 如果为集群创建逻辑网络,在详情框中点添加网络打开新建逻辑网络窗口。
  3. 为这个逻辑网络输入名称描述注释
  4. 另外,还可以选择在外部供应商中创建选项。从下拉列表中选外部供应商,为物理网络提供一个 IP 地址。外部供应商下拉列表中不包括只读模式的外部供应商。
    如果选择了在外部供应商中创建网络标签VM 网络MTU 选项将被禁用。
  5. 网络标签项中为这个逻辑网络输入一个新的标签或为它选择一个已经存在的标签。
  6. 或选择启用 VLAN 标签选项。
  7. 或禁用 VM 网络
  8. MTU 的值设置为默认 (1500)自定义
  9. 集群标签页中,选择这个逻辑网络所要被分配到的集群。您还可以指定这个逻辑网络是否是一个“必需的”网络。
  10. 如果选择了在外部供应商上创建选项,子网标签页将出现。在子网标签页中,选择创建子网并输入子网的名称CIDR网关地址,并为逻辑网络将要提供的子网选项一个 IP 版本。您也可以根据需要添加 DNS 服务器。
  11. vNIC 配置集标签页中为这个逻辑网据添加 vNIC 配置档案。
  12. 确定
您在数据中心或集群中定义了一个逻辑网络资源。如果您为这个逻辑网络加了标签,它将会被自动加入到所有带有这个标签的主机网络接口中。

注意

当创建了一个新的、作为显示网络的逻辑网络,或修改了一个已经存在的、作为显示网络的逻辑网络时,所有使用这个逻辑网络的虚拟机都需要在重启后才能使用它。

5.1.3. 编辑一个逻辑网络

编辑一个逻辑网络的设置

过程 5.2. 编辑一个逻辑网络

重要

如果一个逻辑网络配置还没有和主机上的配置进行同步,它将无法被编辑或移到另外一个接口。请参阅 第 5.5.2 节 “编辑主机网络接口并为主机分配逻辑网络” 来获得更多同步网络的信息。
  1. 数据中心资源标签页,在结果列表中选择逻辑网络的数据中心。
  2. 点详情框中的逻辑网络标签页列出这个数据中心里的所有逻辑网络。
  3. 选择一个逻辑网络,点编辑打开编辑逻辑网络窗口。
  4. 编辑相应的设置。
  5. 确定保存您所做的修改。

注意

多主机网络配置会自动应用更新的网络设置到所有和这个逻辑网络相关联的主机(只有在使用这个网络的所有虚拟机都被关闭时,才可以应用这些设置改变)。您不能为一个已经在主机上配置的逻辑网络改名。您也无法在使用这个逻辑网络的虚拟机或模板运行时禁用虚拟机网络选项。

5.1.4. 删除一个逻辑网络

您可以从网络资源标签页或数据中心资源标签页中删除一个逻辑网络。以下步骤显示了如何从关联的数据中心中删除逻辑网络。对于一个正常运行的 Red Hat Virtualization 环境,最少需要一个逻辑网络作为 ovirtmgmt 管理网络。

过程 5.3. 删除逻辑网络

  1. 数据中心资源标签页,在结果列表中选择逻辑网络的数据中心。
  2. 点详情框中的逻辑网络标签页列出这个数据中心里的所有逻辑网络。
  3. 选择需要删除的逻辑网络并点删除打开删除逻辑网络窗口。
  4. 另外,如果逻辑网络是由外部供应商提供的,您还可以选择也从提供者里删除外部网络选项来把所选择的逻辑网络从 Manager 和外部供应商中同时删除。如果外部供应商是只读模式,则这个选项将无法被选择。
  5. 确定
逻辑网络被从 Manager 上删除,并不再有效。

5.1.5. 查看和编辑一个逻辑网络的网关设置

除了IP 地址和子网掩码外,用户还可以为逻辑网络设置网关。当一个主机有多个网络时,就需要为每个网络配置一个独立的网关,而不是使用默认的网关。
如果您没有为每个网络指定一个独立的网关,到这些网络的连接就会使用默认的网关,这将会导致用户无法连接到主机。
Red Hat Virtualization 会在启用和停止使用一个网络接口时自动处理多网关的设置。

过程 5.4. 查看和编辑一个逻辑网络的网关设置

  1. 主机标签页,选择所需的主机。
  2. 在详情框中点网络接口标签页列出和这个主机相关联的网络接口。
  3. 设置主机网络打开设置主机网络窗口。
  4. 把鼠标移到被管理的逻辑网络上,点铅笔图标打开编辑管理网络窗口。
编辑管理网络窗口显示了网络的名称、引导协议、IP 地址、子网掩码和网关地址。在您选择了静态引导协议后,您就可以手工编辑与网络地址相关的信息。

5.1.6. 新建逻辑网络和编辑逻辑网络窗口里的设置和控制

5.1.6.1. 逻辑网络创建设置介绍

下表描述了新建逻辑网络窗口和编辑逻辑网络窗口中的常规标签页中的设置。

表 5.1. 新建逻辑网络编辑逻辑网络设置

描述
名称
逻辑网络的名字。它最长支持 15 个字符,可以包括大小写字母、数字、分号和下划线。逻辑网络的名字必须是唯一的。
描述
逻辑网络的描述。它最长不能超过 40 个字符。
注释
关于这个逻辑网络的注释。
在外部供应商上创建
如果您把一个 OpenStack 网络实例(instance)添加到 Manager 中作为一个外部供应商,您可以在它上面创建逻辑网络。
外部供应商 - 选择要创建逻辑网络的外部供应商。
启用 VLAN 标签
VLAN 标签(VLAN tagging)是一个网络安全功能,它为逻辑网络中的数据赋予了一个特征。使用 VLAN 标签的网络数据不能被没有相同特征的接口所读取。在逻辑网络中使用 VLAN 也可以使一个网络接口和多个有不同 VLAN 标签的逻辑网络相关联。当 VLAN 标签功能被启用时,在输入框中输入一个数值。
虚拟机网络
如果只有虚拟机使用这个网络,请选择这个选项。如果网络不会被虚拟机使用(如被用来作为存储所使用的网络),请不要选择这个选项。
MTU
选择默认把逻辑网络的最大传输单元(MTU)设为包括在括号 () 中的值,或使用自定义来为逻辑网络设置一个自定义的最大传输单元。您可以使用这个项来把您的新建逻辑网络的最大传输单元与这个逻辑网络的硬件接口所支持的最大传输单元进行匹配。当选择自定义选项时,为它输入一个数值。
网络标签
您可以为网络添加一个新标签,或从已经存在的标签中选一个。如果您选择了一个已经存在的标签,这个逻辑网络会被自动分配到所有具有这个标签的主机网络接口上。

5.1.6.2. 逻辑网络集群设置

下表描述了新建逻辑网络窗口中的集群标签页的设置。

表 5.2. 新建逻辑网络设置

描述
附加/分离网络到/从集群
在一个数据中心中为集群附加或分离逻辑网络,并指定这个逻辑网络对于每个集群是否是“必需的”网络。
名称 - 使用这些设置的集群名。它的值不能被编辑。
附加全部 - 把逻辑网络附加到数据中心中的所有集群中,或从所有集群中删除。您也可以通过选择特定集群的附加选项把这个逻辑网络附加到集群中;或取消选择特定集群的附加选项来把这个逻辑网络从集群中删除。
所有必需的 - 指定这个逻辑网络是否对所有集群都是“必需的”网络。另外,您也可以把这个逻辑网设置为只对特定集群是“必需的”网络(选择/取消选择特定集群的必需的项)。

5.1.6.3. 逻辑网络 vNIC 配置集设置

下表描述了新建逻辑网络窗口中的 vNIC 配置集标签页的设置。

表 5.3. 新建逻辑网络设置

描述
vNIC 配置集
为逻辑网络指定一个或多个 vNIC 配置集。您可以通过点 vNIC 配置集旁的加号或减号键来为逻辑网络添加/删除 vNIC 配置集。其中第一个项被用来输入 vNIC 配置集的名字。
公共 - 设定这个配置集是否可以被所有用户使用。
QoS - 为 vNIC 配置文件指定一个 QoS 配置集。

5.1.7. 使用“管理网络”窗口为逻辑网络指定一个特定的网络类型

为逻辑网络指定网络类型来优化网络流量。

过程 5.5. 为逻辑网络指定网络类型

  1. 集群资源标签页,从结果列表中选一个集群。
  2. 点详情框中的逻辑网络标签页列出这个集群中的所有逻辑网络。
  3. 管理网络打开管理网络窗口。
    The Manage Networks window

    图 5.1. 管理网络

  4. 选择适当的项。
  5. 确定保存所做的改变并关闭窗口。
您通过为特定的逻辑网络设置特定的网络类型来对这个网络进行了优化。

注意

外部供应商所提供的逻辑网络只能作为虚拟机网络,而不能作为其它特殊的集群角色,如显示或迁移。

5.1.8. 管理网络窗口中的设置介绍

下表描述了管理网络窗口中的设置。

表 5.4. 管理网络设置

描述/操作
分配
把逻辑网络分配给集群中的所有主机。
必需的
标记为"必需的"网络需要一直保持正常运行,因为和它们相关联的主机需要这些网络才能正常工作。如果被标记为"必需的"网络因为一些原因无法正常工作,和它们相关联的主机也将无法正常工作。
虚拟机网络
如果一个逻辑网络被标识为"虚拟机网络",它被用来处理与虚拟机使用相关的网络流量。
显示网络
如果一个逻辑网络被标识为"显示网络",它被用来处理与 SPICE 和虚拟网络控制器相关的网络流量。
迁移网络
如果一个逻辑网络被标识为"迁移网络",它被用来处理与虚拟机和存储迁移相关的网络流量。

5.1.9. 在一个 NIC 上编辑 Virtual Function 配置

SR-IOV(Single Root I/O Virtualization - 单根 I/O 虚拟化)启用一个单一的 PCI Express(PCIe)端点作为多个独立的设备使用。这是通过使用两个 PCIe function - PF(Physical Function - 物理 function)和 VF(Virtual Function - 虚拟 function)实现的。一个 PCIe 卡可以有 1 到 8 个 PF,每个 PF 支持多个 VF(具体数量取决于具体设备)。
您可以通过 Red Hat Virtualization Manager 编辑支持 SR-IOV 功能的 NIC,包括每个 NIC 上的 VF 数量、指定允许访问 VF 的虚拟网络。
当 VF 被创建后,它就可以作为独立 NIC 使用。这包括为它分配一个或多个逻辑网络、使用它们创建绑定接口、为它们直接分配 vNIC 作为直接设备透传。
只有在 vNIC 的透传属性被启用时才可以直接附加到一个 VF。相关信息请参阅 第 5.2.4 节 “在一个 vNIC 配置集中启用透传功能”

过程 5.6. 在一个 NIC 上编辑 Virtual Function 配置

  1. 选择一个支持 SR-IOV 的主机,在详情框中点网络接口标签页。
  2. 设置主机网络打开设置主机网络窗口。
  3. 选择一个支持 SR-IOV 的 NIC(带有 标记),点铅笔图标打开编辑 NIC 的 Virtual Functions (SR-IOV) 配置 窗口。
  4. 要编辑 VF 的数量,点 VF 设置数量下拉按钮,在VF 数量项中输入数量。

    重要

    修改 VF 的数量会在创建新的 VF 前删除网络接口上所有以前的 VF(包括有虚拟机直接附加到的所有 VF)。
  5. 所有网络选项会被默认选择,从而可以使用所有网络访问 VF。如果只允许特定网络访问 VF, 选特定网络来列出所有网络。您可以使用选择框来选择所需的网络,或使用 Labels 来根据一个或多个网络 label 来自动选择网络。
  6. 确定关闭窗口。请注意,所做的配置修改只有在点了设置主机网络窗口中的确定按钮后才会生效。

5.2. 虚拟网络接口卡

5.2.1. vNIC 配置集(VNIC Profile)介绍

虚拟网络接口卡(vNIC)配置集包括了一组网络配置,它可以被用来设置 Manager 中的虚拟网卡。vNIC 配置集允许您在 vNIC 上使用网络 QoS 配置文件、启用或禁用端口镜像、添加或删除自定义属性。vNIC 配置集为网络管理提供了更多的灵活性,您可以为不同的用户定制不同的配置文件,从而可以控制不同用户所需要的、不同的网络服务质量。

5.2.2. 创建或编辑一个 vNIC 配置集

创建或编辑一个 vNIC 配置集来控制用户和组的网络带宽。

注意

如果您正在启用或禁用端口镜像,在编辑配置集前,和这个配置集相关联的虚拟机必须处于停机的状态。

过程 5.7. 创建或编辑一个 vNIC 配置集

  1. 网络资源标签页,在结果中选择一个逻辑网络。
  2. 选详情框中的 vNIC 配置集标签页。如果您使用树形模式,您可以在结果列表中选择 vNIC 配置集
  3. 新建编辑打开虚拟机接口配置集窗口。
    The VM Interface Profile window

    图 5.2. 虚拟机接口配置集窗口

  4. 为配置集输入名称描述
  5. QoS 列表中选择相关的服务质量策略。
  6. 选择 Passthrough 选项来启用 vNIC 透传并允许一个 virtual function 的直接设备分配。启用透传属性会禁用 QoS 和端口镜像,这是因为它们不相互兼容。如需了解更多与透传相关的信息,请参阅 第 5.2.4 节 “在一个 vNIC 配置集中启用透传功能”
  7. 设置端口镜像允许所有用户使用这个配置集选项。
  8. 使用自定义属性下拉菜单(默认显示 Please select a key...)来选择一个自定义属性。并使用 +- 按钮来添加或删除自定义属性。
  9. 确定
您创建了一个 vNIC 配置集,并可以通过使用这个配置集来控制用户和组的网络带宽。请注意,如果您编辑了一个 vNIC 配置集,您需要重启虚拟机,或先热拔然后再热插入这个 vNIC。

注意

虚拟机的操作系统需要支持 vNIC 的热插拔功能。

5.2.3. 虚拟机接口配置集窗口中的配置

表 5.5. 虚拟机接口配置集窗口

描述
网络
可以使用这个 vNIC 配置集的网络列表。
名称
vNIC 配置集名。它可以包括大小写字母、数字、分号和下划线。文件名必须是唯一的,长度是 1 到 50 个字符。
描述
vNIC 配置集的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
QoS
这个 vNIC 配置集可用的网络服务质量(QoS)值。QoS 控制 vNIC 的网络流量。
Passthrough
切换启用或禁用透传(passthrough)属性。透传允许一个 vNIC 直接连接到一个主机 NIC 的 VF 上。如果一个 vNIC 配置集已附加到一个虚拟机,则无法编辑它的 passthrough 属性。
如果启用了透传功能,则 vNIC 配置集中的 QoS 和端口镜像功能都将被禁用。
端口镜像
启用/禁用端口镜像功能。端口镜像会把特定逻辑网络上的第 3 层网络流量复制到一个虚拟机的虚拟网络接口上。在默认情况下,这个选项不会被默认选择。如需了解更多相关信息,请参阅 技术参考指南 中的 Port Mirroring
设备自定义属性
包括可以被这个 vNIC 配置文件使用的自定义属性下拉菜单。通过 +- 键来添加或删除属性。
允许所有用户使用这个配置集
允许/禁止所有用户使用这个配置集。它在默认情况下被选择。

5.2.4. 在一个 vNIC 配置集中启用透传功能

vNIC 配置集的透传(passthrough)属性可以使 vNIC 直接连接到一个启用了 SR-IOV 的 NIC 中的 VF(virtual function)。然后,这个 vNIC 就可以跳过软件网络虚拟而直接连接到 VF 实现设备分配。
如果 vNIC 配置集已附加到一个 vNIC,则透传属性将无法启用。如果 vNIC 配置集启用了透传,这个配置集的 QoS 和端口镜像功能会被禁用。
如需了解更多与 SR-IOV、直接设备分配以及在 Red Hat Virtualization 中实现它们相关的信息,请参阅 Hardware Considerations for Implementing SR-IOV

过程 5.8. 启用透传

  1. 网络结果列表中选择一个逻辑网络,在详情框中点 vNIC 配置集标签页列出这个逻辑网络的所有 vNIC 配置集。
  2. 新建打开虚拟机接口配置集窗口。
  3. 为配置集输入名称描述
  4. Passthrough 选项。这会禁用 QoS端口镜像
  5. 如果需要,使用自定义属性下拉菜单(默认显示 Please select a key...)来选择一个自定义属性。并使用 +- 按钮来添加或删除自定义属性。
  6. 确定保存配置集并关闭窗口。
现在,vNIC 配置集启用了透传功能。要使用这个配置集直接把一个虚拟机附加到一个 NIC 或 PCI VF,把逻辑网络附加到 NIC,在使用透传 vNIC 配置集的虚拟机上创建一个新的 vNIC。如需了解更多相关信息,请参阅第 5.5.2 节 “编辑主机网络接口并为主机分配逻辑网络”,以及虚拟机管理指南中的 Adding a New Network Interface

5.2.5. 删除 vNIC 配置集

从您的虚拟环境中删除一个 vNIC 配置集。

过程 5.9. 删除 vNIC 配置集

  1. 网络资源标签页,在结果中选择一个逻辑网络。
  2. 选详情框中的 vNIC 配置集标签页列出当前的 VNIC 配置集。如果您使用树形模式,您可以在结果列表中选择 vNIC 配置集
  3. 选一个或多个配置文件,点删除打开删除虚拟机接口配置集窗口。
  4. 确定删除配置集并关闭窗口。

5.2.6. 为 vNIC 配置档案分配安全组

注意

这个功能只适用于集成了 OpenStack Neutron 的用户。Red Hat Virtualization Manager 不能创建安全组,您需要在 OpenStack 中创建它。如需了解更多相关信息,请参阅 Red Hat OpenStack Platform Users and Identity Management Guidehttps://access.redhat.com/documentation/en/red-hat-openstack-platform/9/single/users-and-identity-management-guide#project-security)。
当一个网络是从 OpenStack 网络服务导入的,并使用 Open vSwitch plug-ins 时,您可以为它的 vNIC 配置集添加安全组。一个安全组就是一组被强制执行的安全规则,您可以通过它来过滤网络数据。以下介绍了为一个 vNIC 配置文件添加安全组的步骤。

注意

一个安全组的标识就是它在 OpenStack 网络实例(instance)中所注册的安全组 ID。您可以在安装了 OpenStack 网络服务的系统上运行以下命令来获得安全组 ID:
# neutron security-group-list

过程 5.10. 为 vNIC 配置档案分配安全组

  1. 网络标签页并在结果中选择一个逻辑网络。
  2. 在详情框中点 vNIC 配置集标签页。
  3. 新建,或选一个存在的 vNIC 配置集后点编辑虚拟机接口配置集窗口将会出现。
  4. 在自定义属性下拉菜单中选安全组。自定义属性下拉菜单为空则会应用默认安装设置:允许所有外向的网络流量,以及内部间的网络流量;禁止默认安全组以外的内向网络流量。请注意,如果在以后删除了安全组属性,已经被应用的安装组不会受到影响 。
  5. 在输入项中输入附加到 vNIC 配置集的安全组的 ID。
  6. 确定
您为 vNIC 配置文件加入了一个安全组。所有通过这个逻辑网络的数据都将根据安全组中的规则进行过滤。

5.2.7. vNIC 配置集的用户权限

通过配置用户权利把用户和特定的 vNIC 配置集想关联。有一个配置集的 VnicProfileUser 角色的用户可以使用这个集群;没有这个角色的用户将无法使用这个配置集。

过程 5.11. vNIC 配置集的用户权限

  1. 网络标签页并在结果中选择一个逻辑网络。
  2. vNIC 配置集资源页显示 vNIC 配置集。
  3. 在详情框中选权限标签页显示这个配置集当前的用户权限。
  4. 使用添加键打开为用户添加权限窗口;或使用删除键打开删除权限窗口。
您为一个 vNIC 配置集设置了用户权限。

5.2.8. 为 UCS 集成配置 vNIC 配置集

Cisco 的 UCS(Unified Computing System)被用来管理数据中心的各个方面,如计算、网络、存储资源等。
vdsm-hook-vmfex-dev hook 允许通过配置 vNIC 配置集把虚拟机连接到 Cisco 的 UCS 定义的端口配置集。UCS 定义的端口配置集包括了在 UCS 中配置端口所需的属性和设置。vdsm-hook-vmfex-dev hook 会在 VDSM 中默认自动安装。详情请参阅 附录 A, VDSM 和 Hook
当创建了使用 vNIC 配置集的虚拟机后,它就可用使用 Cisco vNIC。
为 UCS 集成配置 vNIC 配置集首先需要配置一个自定义设置属性。在配置自定义设置属性时,所有存在的值都会被覆盖。如需保留当前值,则需要在配置命令中包括输入新的值以及当前的值。不同的自定义属性由分号分隔。

注意

在配置 vNIC 配置集前,需要在 Cisco UCS 中配置一个 UCS 端口配置集。

过程 5.12. 配置自定义设备属性

  1. 在 Red Hat Virtualization Manager 中,配置 vmfex 自定义属性,并使用 --cver 设置集群的兼容级别。
    # engine-config -s CustomDeviceProperties='{type=interface;prop={vmfex=^[a-zA-Z0-9_.-]{2,32}$}}' --cver=3.6
  2. 验证 vmfex 自定义设备属性已被添加。
    # engine-config -g CustomDeviceProperties
    
  3. 重新启动引擎。
    # service ovirt-engine restart
配置的 vNIC 配置集可以属于一个新的逻辑网络,也可以属于一个已存在的逻辑网络。如需了解如何配置新逻辑网络的信息,请参阅 第 5.1.2 节 “在数据中心或集群中创建一个新的逻辑网络”

过程 5.13. 为 UCS 集成配置一个 vNIC 配置集

  1. 网络资源标签页,在结果中选择一个逻辑网络。
  2. 选详情框中的 vNIC 配置集标签页。如果您使用树形模式,您可以在结果列表中选择 vNIC 配置集
  3. 新建编辑打开虚拟机接口配置集窗口。
  4. 为配置集输入名称描述
  5. 从自定义属性列表中选 vmfex,输入 UCS 端口配置集的名称。
  6. 确定

5.3. 外部供应商网络

5.3.1. 从外部供应商(External Provider)上导入网络

要使用外部网络供应商(OpenStack Networking 或实现了 OpenStack Neutron REST API 的第三方供应商)的网络,需要在 Manager 中注册供应商。如需了解更多相关信息,请参阅 第 11.2.3 节 “添加 OpenStack 网络服务(Neutron)来为系统提供网络”第 11.2.6 节 “添加一个外部网络供应商”。然后,按照以下方法把供应商提供的网络导入到 Manager 来使这些网络可以被虚拟机使用。

过程 5.14. 从外部供应商上导入网络

  1. 网络标签页。
  2. 导入打开导入网络窗口。
    The Import Networks Window

    图 5.3. 导入网络窗口

  3. 网络供应商下拉列表中选一个外部供应商。供应商网络将会自动列出这个外部供应商所能提供的所有网络。
  4. 供应商网络列表中选择要导入的网络,点下箭头标这些网络移到要导入的网络列表中。
  5. 如果需要修改导入网络的名称,在名称栏中点网络名称,并进行修改。
  6. 数据中心下拉列表中选择这个网络要被导入的数据中心。
  7. 另外,取消选择要导入的网络列表中的某个网络的允许所有选项来防止这个网络对所有的用户都有效。
  8. 导入键。
选择的网络会被导入到目标数据中心并可以附加到虚拟机。相关信息,请参阅虚拟机管理指南中的 Adding a New Network Interface

5.3.2. 使用外部供应商网络的限制

在 Red Hat Virtualization 环境中使用从外部供应商上导入的逻辑网络有以下的限制。
  • 外部供应商所提供的逻辑网络只能作为虚拟机网络,而不能作为显示网络。
  • 一个逻辑网络可以被导入多次,但只能被导入到不同的数据中心。
  • 您不能在 Manager 上编辑外部供应商所提供的逻辑网络,您必须直接在提供这个逻辑网络的外部网络供应商上对它进行编辑。
  • 和外部供应商所提供的逻辑网络相连的虚拟网络接口不支持端口镜像(Port mirroring)功能。
  • 当有虚拟机正在使用外部供应商的逻辑网络时,这个供应商不能被从 Manager 中删除。
  • 外部供应商所提供的网络不是“必需的”网络。因此,当对使用这些逻辑网络的集群进行调度时,并不会在选择主机的时候考虑这些网络的情况。用户需要自己保证这些网络在集群的主机上的可用性。

重要

从外部供应商导入的逻辑网络只与运行 Red Hat Enterprise Linux 的主机相兼容,它们不能被分配到运行在 RHVH 主机上的虚拟机。

5.3.3. 配置子网和外部供应商的逻辑网

5.3.3.1. 在外部供应商提供的逻辑网络上配置子网

对于一个外部供应商所提供的逻辑网络,只有在这个逻辑网络已经定义了子网后才能为虚拟机分配 IP 地址。如果没有子网,虚拟机将无法获得 IP 地址。如果只有一个子网,虚拟机将会获得那个子网中的一个 IP 地址;当有多个子网时,虚拟机会从任何一个有效的子网中获得一个 IP 地址。逻辑网所在的外部网络供应商所提供的 DHCP 服务会对 IP 地址进行分配。
Red Hat Virtualization Manager 会自动发现在导入逻辑网络上预定义的子网,您也可以在 Manager 上为逻辑网络添加和删除子网。

5.3.3.2. 为外部供应商的逻辑网络添加子网

为外部供应商所提供的逻辑网络创建一个子网。

过程 5.15. 为外部供应商的逻辑网络添加子网

  1. 网络标签页。
  2. 选择需要添加子网的逻辑网络。
  3. 在详情框中点子网标签页。
  4. 新建打开新建外部子网窗口。
    The New External Subnet Window

    图 5.4. 新建外部子网窗口

  5. 为新子网输入名称CIDR
  6. IP 版本菜单中选择 IPv4IPv6
  7. 确定

5.3.3.3. 从外部供应商所提供的逻辑网络上删除子网

从外部供应商所提供的逻辑网络上删除子网。

过程 5.16. 从外部供应商所提供的逻辑网络上删除子网

  1. 网络页。
  2. 选择需要删除子网的逻辑网络。
  3. 点详情框中的子网页。
  4. 选择要删除的子网。
  5. 删除键后点确定

5.4. 逻辑网络和权限

5.4.1. 管理一个网络的系统权限

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
网络管理员(network administrator)是一个管理员角色,它可以被应用到一个特定的网络,或数据中心、集群、主机、虚拟机和模板上的所有网络。而一个普通网络用户可以执行系统管理员角色所具有的一部分权限,如在一个特定的虚拟机或模板上查看和关联网络。您可以使用页头中的配置键来对所有网络分配一个网络管理员。
网络管理员可以进行以下操作:
  • 创建、编辑和删除网络。
  • 编辑网络配置,包括配置端口镜像。
  • 为包括集群和虚拟机在内的资源关联或取消关联网络。
创建网络的用户会被自动授予所创建网络的 NetworkAdmin 权限。您也可以通过先删除一个管理员,然后再添加一个新的管理员来改变这个系统的管理员。

5.4.2. 网络管理员和网络用户角色权限介绍

网络权限角色
下表介绍了网络管理员和网络用户的权限。

表 5.6. Red Hat Virtualization 网络管理员和用户角色

角色权利注记
NetworkAdmin数据中心、集群、主机、虚拟机或模板的网络管理员。当用户创建了一个网络时,这个用户会被自动赋予所创建网络的 NetworkAdmin 权限。可以配置和管理一个特定数据中心、集群、主机、虚拟机或模板的网络。一个数据中心或集群的网络管理员会自动继承这个数据中心或集群中的虚拟机的网络权限。如果需要在一个虚拟机网络上配置网络镜像,请在网络上使用 NetworkAdmin 角色,而在虚拟机上使用 UserVmManager 角色。
VnicProfileUser虚拟机和模板的逻辑网络和网络接口用户可以为特定的逻辑网络添加或删除网络接口。

5.4.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 5.17. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

5.4.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 5.18. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

5.5. 主机和网络

5.5.1. 刷新主机的能力

当网络接口卡被添加到一个主机上后,您需要刷新主机的能力来使新添加的网络接口卡可以在 Manager 中被显示。

过程 5.19. 刷新主机能力

  1. 使用资源标签页、树形模式或搜索功能来找到一个主机并选择它。
  2. 刷新能力键。
所选主机的详情框中的网络接口标签页中的内容会被更新。所有新添加的网络接口卡都可以开始被 Manager 使用。

5.5.2. 编辑主机网络接口并为主机分配逻辑网络

用户可以改变主机的物理网络接口设置,把管理网络从一个主机物理网络接口移到另一个上面,为主机物理网络接口分配逻辑网络。网桥和 ethtool 自定义属性也被支持。

重要

您不能为主机的物理网络接口分配由外部供应商所提供的逻辑网络。这些网络会在虚拟机需要时被动态分配到相应的主机上。

过程 5.20. 编辑主机网络接口并为主机分配逻辑网络

  1. 主机标签页,选择所需的主机。
  2. 在详情框中点网络接口标签页。
  3. 设置主机网络打开设置主机网络窗口。
  4. 要为一个物理主机网络接口添加一个逻辑网络,选择相应的逻辑网络,并把它们拖到物理主机网络接口旁的分配逻辑网络区中。
    或者,在逻辑网络上点鼠标右键,从下拉菜单中选一个网络接口。
  5. 配置逻辑网络:
    1. 把鼠标移到被管理的逻辑网络上,点铅笔图标打开编辑管理网络窗口。
    2. 引导协议选择 NoneDHCPStatic。如果选择了 Static,输入 IPNetmask / Routing PrefixGateway 信息。

      注意

      每个逻辑网络都可以定义一个与管理网络的网关不同的网关,这可以确保逻辑网络上的数据使用逻辑网络自己的网关,而不是使用管理网络的默认网关来进行转发。
    3. 要覆盖默认网络服务质量,选覆盖 QoS,在以下项中输入所需的值:
      • 加权重的共享:指定一个特定网络应该被分配的逻辑连接的容量(相对于连接到同一个逻辑连接的其它网络)。准确的共享取决于在这个连接上的所有网络共享的总和。在默认情况下,它的值在 1 到 100 之间。
      • 速率限制 [Mbps]:一个网络可以使用的最大带宽。
      • 实现的速率 [Mbps]:一个网络所需的最小带宽。实现的速率并不一定可以被保证,它取决于网络的架构以及同一个逻辑连接上的其它网络的“实现的速率”设置。
      如需了解更多与配置主机网络服务质量相关的信息,请参阅 第 2.3 节 “主机网络服务质量”
    4. 如果您需要配置一个网桥,在自定义属性下拉菜单中选 bridge_opts。输入一个关键字/值组合(格式是 [key]=[value],使用空格可以分隔多个组合)。下面是一组有效的关键字/值组合(您可以根据您的具体需要修改其中的值)。如需了解更多相关信息,请参阅 第 B.1 节 “bridge_opts 参数介绍”
      forward_delay=1500
      gc_timer=3765
      group_addr=1:80:c2:0:0:0
      group_fwd_mask=0x0
      hash_elasticity=4
      hash_max=512
      hello_time=200
      hello_timer=70
      max_age=2000
      multicast_last_member_count=2
      multicast_last_member_interval=100
      multicast_membership_interval=26000
      multicast_querier=0
      multicast_querier_interval=25500
      multicast_query_interval=13000
      multicast_query_response_interval=1000
      multicast_query_use_ifaddr=0
      multicast_router=1
      multicast_snooping=1
      multicast_startup_query_count=2
      multicast_startup_query_interval=3125
    5. 要配置 ethtool 属性,点自定义属性下拉菜单并选 ethtool_opts。使用 [key]=[value] 格式输入一个有效的键和它的值。使用空格分开多个属性。在默认情况下,ethtool_opts 选项不可用,您需要使用引擎配置工具添加它。如需了解更多相关信息,请参阅 第 B.2 节 “如何设置 Red Hat Virtualization Manager 来使用 Ethtool”。参阅 man page 可以获得更多 ethtool 属性的信息。
    6. 如果您的逻辑网络配置还没有和主机上的配置进行同步,请选择同步网络。在一个逻辑网络被同步前,它将不能被编辑或移到另外的接口上。

      注意

      满足以下条件之一的网络被认为没有被同步
      • VM 网络和物理主机网络不同。
      • VLAN 标识符和物理主机网络不同。
      • 逻辑网络设置了自定义 MTU,并和物理主机网络不同。
  6. 选择检查主机和 ovirt-engine 间的连接性来进行网络连接的检查;这个操作只有在主机处于维护模式时才有效。
  7. 选择保存网络配置来保持您所做的配置修改。
  8. 确定

注意

如果主机网络接口卡没有被全部显示,点刷新能力来更新这个主机的网络接口卡列表。

5.5.3. 为一个网络接口添加多个 VLAN

多个 VLAN 可以被添加到一个网络接口上来分离所在主机上的网络流量。

重要

您必须已经创建了多个逻辑网络,而且每个逻辑网络的新建逻辑网络编辑逻辑网络窗口中的启用 VLAN 标签选项必须被选中。

过程 5.21. 为逻辑网络上的一个网络接口添加多个 VLAN

  1. 主机资源标签页,在结果列表中选择启动了 VLAN 标签功能的逻辑网络所在集群中的一个主机。
  2. 在详情框中点网络接口标签页列出和这个数据中心相关联的物理网络接口。
  3. 设置主机网络打开设置主机网络窗口。
  4. 把您的启用了 VLAN 标签功能的逻辑网拖到物理网络接口旁的分配的逻辑网络区。因为启动了 VLAN 标签功能,物理网络接口可以有多个逻辑网络和它相连。
  5. 要编辑逻辑网络,把您的鼠标拖到一个逻辑网络上,点铅笔图标打开编辑网络窗口。
    如果您的逻辑网络配置还没有和主机上的配置进行同步,请选择同步网络
    选择引导协议
    • None
    • DHCP
    • Static,
      输入 IP子网掩码值。
    确定
  6. 检验主机和 ovirt-engine 间的连接性执行网络检查。这个功能只在主机处于维护模式的情况下才有效。
  7. 选择保存网络设置
  8. 确定
编辑集群中的每个主机上的 NIC,把逻辑网络添加到主机上。完成这个操作后,网络将可以正常工作。
您为一个接口添加了多个启动了 VLAN 标签功能的逻辑网络。您可以重复这个步骤来把有不同 VLAN 标签的逻辑网络添加到主机的一个网络接口上。

5.5.4. 为主机网络接口添加网络标签

使用网络标签可以大大简化一些逻辑网络管理的工作。

过程 5.22. 为主机网络接口添加网络标签

  1. 主机资源标签页,在结果列表中选择启动了 VLAN 标签功能的逻辑网络所在集群中的一个主机。
  2. 在详情框中点网络接口标签页列出和这个数据中心相关联的物理网络接口。
  3. 设置主机网络打开设置主机网络窗口。
  4. 标签,在 [新标签] 上点鼠标右键。为标签选择一个物理网络接口。
  5. 标签项中为新标签输入一个名称。
  6. 点击确定
您为一个主机的网络接口添加了一个网络标签。任何新创建的、有相同网络标签的逻辑网络都会和这个网络接口相关联。另外,从一个逻辑网络上删除它的网络标签也会自动取消它和有相同网络标签的主机网络接口的关联。

5.5.5. 绑定

5.5.5.1. Red Hat Virtualization 环境中的绑定(bond)

Red Hat Virtualization Manager 管理门户允许您使用图形界面创建绑定设备。创建绑定可以有不同的情况。
影响绑定过程的因素包括:
  • 要绑定的设备是否已经带有了逻辑网络?
  • 设备是否用来运行兼容的逻辑网络?

表 5.7. 绑定情况以及它们的结果

绑定情况结果
NIC + NIC
创建新绑定窗口会被显示,您可以配置一个新的绑定设备。
如果网络接口带有不兼容的逻辑网络,绑定操作将会失败。
NIC + Bond
NIC 被添加到绑定设备中。如果 NIC 和绑定所带的逻辑网络相互兼容,它们都会被添加到新创建的绑定设备中。
如果绑定设备带有不兼容的逻辑网络,绑定操作将会失败。
Bond + Bond
如果绑定设备没有被附加到逻辑网络中,或被附加到兼容的逻辑网络中,一个新的绑定设置会被创建。它会包括绑定设备中的所有网络接口,以及它们所带有的所有逻辑网络。创建新绑定窗口会被显示,您可以对新绑定进行配置。
如果绑定设备带有不兼容的逻辑网络,绑定操作将会失败。

5.5.5.2. 绑定

绑定(bond)是由多个网卡组合成的、一个单一的、由软件定义的网络设备。因为一个绑定是由多个网卡组成的,因此它可以提供比单一网卡更高的网络传输速度,并提供了更好的网络容错功能(绑定只有在所有的网卡都出现问题时才会停止工作)。但是,绑定设备有一个限制:绑定必须由相同型号的网卡组成。
绑定设备的数据包传输算法是由绑定的模式所决定的。

重要

模式 1、2、3 和 4 支持虚拟机网络(使用网桥)和非虚拟机网络(无网桥);模式 0、5 和 6 只支持非虚拟机网络(无网桥)。
绑定模式
Red Hat Virtualization 使用 Mode 4 作为默认的模式,它同时也支持以下绑定模式:
模式 0(round-robin policy)
传输的数据包会顺序使用网卡。它会首先使用绑定中的第一个有效的网卡,最后使用最后一个网卡。模式 0 提供了网络容错和网络负载均衡的功能,但它不能和网桥一起使用,因此与虚拟机逻辑网络不兼容。
模式 1(active-backup policy)
绑定中的一个网络接口被设置为活跃接口来处理网络数据,其它网络接口都为备份接口。如果活跃接口出现了问题,备份接口中的一个网络接口会成为活跃接口来继续处理网络数据。使用模式 1 的绑定设备的 MAC 地址只在一个端口上可见,这可以避免因为切换活跃接口所造成的 MAC 地址改变所带来的混淆。模式 1 提供了网络容错的功能。
模式 2(XOR policy)
模式 2(XOR policy)会对源和目标 MAC 地址进行 XOR 操作,所获得的结果再对“次要网卡”的数量进行取模。系统会根据最后所获得的结果来选择用来传输数据包的接口。它保证了对于每个目标 MAC 地址,相同的接口都会被选择。模式 2 提供了容错和负载均衡的功能。
模式 3(broadcast policy)
使用绑定中的所有网卡来传输数据包。它提供了网络容错的功能。
模式 4(IEEE 802.3ad policy)
模式 4(IEEE 802.3ad policy)会创建一个整合的组,这个组会共享网速和网络双工(duplex)设置。模式 4 会根据 IEEE 802.3ad 标准使用活动组中的所有网络接口。
模式 5(adaptive transmit load balancing policy)
模式 5 保证所有出站的网络流量会根据每个接口的负载进行分配,而所有入站的网络流量都被当前的接口所接收。如果用来接收网络流量的接口出现故障,另外一个网络接口会被指定来接收网络流量。因为模式 5 不能和网桥一起使用,所以它与虚拟机网络不兼容。
模式 6(adaptive load balancing policy)
Mode 5 的功能再加上不需要特殊的网络交换要求的 IPv4 网络数据接收负载均衡功能。它在处理接收负载时使用 ARP。因为模式 6 不能与网桥一起使用,所以它与虚拟机逻辑网络不兼容。

5.5.5.3. 使用管理门户创建一个绑定设备

您可以对兼容的网络设备进行绑定,它可以增加网络的带宽和可靠性。您可以对多个网络接口创建绑定;也可以对多个预先设置的绑定设备进行绑定;或把以上两种设备进行绑定。绑定可以支持 VLAN tagged 和 non-VLAN 网络数据。

过程 5.23. 使用管理门户创建一个绑定设备

  1. 主机资源标签页,在结果列表中选择主机。
  2. 在详情框中点网络接口标签页列出和这个主机相关联的物理网络接口。
  3. 设置主机网络打开设置主机网络窗口。
  4. 选择并拖动一个设备到另一个设备上面后放开,创建新的 Bond 窗口会被打开。或者,在设备上点鼠标右键,从下拉菜单中选择另一个设备。
    如果设备不兼容,绑定操作会失败,并显示如果解决兼容性问题的信息。
  5. 从下拉菜单中选择 Bond 名称Bonding 模式
    bond 模式 1、2、4 和 5 可以被选择。其它的模式可以通过自定义选项进行设置。
  6. 确定创建 bond 并关闭创建新的 Bond 窗口。
  7. 为新创建的 bond 设备分配一个逻辑网络。
  8. 另外,还可以选择验证主机和 ovirt-engine 间的连接性保存网络配置
  9. 确认保存所做的设置并关闭设置主机网络窗口。
您所选择的网络设备被连接为一个 bond 设备,并可以作为一个单一的接口进行编辑。bond 设备会在所选主机的网络接口标签页的详情框中列出。
bond 功能必须在主机所使用的交换机端口上被启用。在交换机上启用 bond 功能的方法会根据交换机本身的不同而有所不同,请参阅交换机手册来获得相关的信息。

5.5.5.4. 主机接口中的自定义 bond 选项的使用实例

您可以通过选择创建新的 Bond 窗口中的 Bonding 模式 选项中的自定义项来创建自定义 bond 设备。您可以参照以下的实例来创建您自己的自定义 bond 设备(请根据您的实际情况修改相应的数据)。如需了解更多关于 bond 的信息,请参阅 Linux Ethernet Bonding Driver HOWTO

例 5.1. xmit_hash_policy

这个选项为 bonding 模式 2 和模式 4 定义了传输负载平衡的策略。例如,如果您的大部分的网络流量都发生在不同的 IP 地址之间,您可以设置策略来通过 IP 地址进行负载平衡。您可以通过选择自定义 bond 模式并在输入项中输入以下内容来设置这个负载平衡策略:
mode=4 xmit_hash_policy=layer2+3

例 5.2. ARP 监测

当系统无法通过 ethtool 正确报告连接状态时,可以使用 ARP 监测功能。您可以通过选择自定义 bond 模式并在输入框中输入以下内容来在主机的 bond 设备上设置一个 arp_interval
mode=1 arp_interval=1 arp_ip_target=192.168.0.2

例 5.3. 主接口

您可能需要指定一个吞吐量较高的网卡作为一个 bond 设备的主接口。选择自定义 bond 模式并输入以下信息来指定一个网卡作为主接口:
mode=1 primary=eth0

5.5.6. 修改主机的 FQDN

使用以下步骤修改主机的 FQDN。

过程 5.24. 更新主机的 FQDN

  1. 把主机设置为维护模式从而使虚拟机被在线迁移到另外的主机。如需了解更多相关信息,请参阅 第 6.5.8 节 “把主机设为维护模式(Maintenance Mode)”。或者,手工关闭并迁移所有虚拟机,相关信息请参阅虚拟机管理指南中的 Manually Migrating Virtual Machines
  2. 删除后点确定把主机从管理门户中删除。
  3. 使用 hostnamectl 更新主机名。如需了解更新相关信息,请参阅 Red Hat Enterprise Linux 7 Networking Guide 中的相关章节( Configure Host Names)。
    # hostnamectl set-hostname NEW_FQDN
  4. 重启主机。
  5. 在 Manager 中重新注册主机。详情请参阅 第 6.5.1 节 “为 Red Hat Virtualization Manager 添加一个主机”

5.5.7. 修改主机的 IP 地址

过程 5.25. 

  1. 把主机设置为维护模式从而使虚拟机被在线迁移到另外的主机。如需了解更多相关信息,请参阅 第 6.5.8 节 “把主机设为维护模式(Maintenance Mode)”。或者,手工关闭并迁移所有虚拟机,相关信息请参阅虚拟机管理指南中的 Manually Migrating Virtual Machines
  2. 删除后点确定把主机从管理门户中删除。
  3. admin 用户身份登录到主机。
  4. F2,选择 OK,按 Enter 进入 rescue 环境。
  5. 通过编辑 /etc/sysconfig/network-scripts/ifcfg-ovirtmgmt 文件来修改 IP 地址。例如:
    # vi /etc/sysconfig/network-scripts/ifcfg-ovirtmgmt
    ...
    BOOTPROTO=none
    IPADDR=10.x.x.x
    PREFIX=24
    ...
  6. 重启网络服务,检查 IP 地址已被更新。
    # systemctl restart network.service
    # ip addr show ovirtmgmt
  7. 输入 exit 退出 rescue 环境,返回到文本用户界面。
  8. 在 Manager 中重新注册主机。详情请参阅 第 6.5.1 节 “为 Red Hat Virtualization Manager 添加一个主机”

第 6 章 主机

6.1. 主机介绍

主机(也被称为 hypervisor)就是用来运行虚拟机的物理服务器。所有的虚拟化功能都是通过使用一个可以加载的 Linux 内核模块 - Kernel-based Virtual Machine(KVM)实现的。
KVM 可以同时处理多个运行 Windows 或 Linux 操作系统的虚拟机。虚拟机作为单独的 Linux 处理进程在主机上运行,并可以通过 Red Hat Virtualization Manager 进行远程管理。一个 Red Hat Virtualization 环境有一个或多个主机。
Red Hat Virtualization 支持两种主机。您可以使用 Red Hat Virtualization Host(RHVH)作为您的主机,也可以通过在标准的 Red Hat Enterprise Linux 系统上安装 hypervisor 软件包作为您的主机。

注意

您可以查看 Red Hat Virtualization Manager 中的一个独立主机的主机类型。在详情框中的常规标签页中点软件,查看 OS 描述中的内容。
主机使用 tuned 配置文件来优化虚拟环境。如需了解更多关于 tuned 的信息,请参阅 Red Hat Enterprise Linux 7 Performance Tuning Guide
Red Hat Virtualization Host 自动启用了安全功能,Security Enhanced Linux (SELinux) 和 iptables 防火墙在默认状态下被完全配置。主机的 SELinux 状态在详情框中的常规标签页中的 SELinux 模式项中显示。.如果使用 Red Hat Enterprise Linux 作为主机,当把主机加入到虚拟环境中时,Manager 会打开它们上面的一些端口。
主机需要是使用了 Intel VT 或 AMD-V 扩展模块的 64 位服务器。它需要运行 Red Hat Enterprise Linux 7 或以上版本的 AMD64/Intel 64 版本。
Red Hat Virtualization 平台上的物理主机需要满足以下要求:
  • 只能属于系统中的一个集群。
  • 必须使用支持 AMD-V 或 Intel VT 硬件虚拟化扩展模块的 CPU。
  • 使用的 CPU 必须支持在创建集群时选择的虚拟 CPU 类型所具有的所有功能。
  • 最少需要 2GB 内存。
  • 需要分配一个有系统权限的系统管理员。
系统管理员可以从 Red Hat Virtualization watch list 中接收到最新的安全更新。当您订阅了 Red Hat Virtualization watch list,您将可以通过电子邮件的方式获得最新的、与 Red Hat Virtualization 产品相关的安全更新。您可以使用以下链接进行订阅:

警告

当前,还不支持通过 NetworkManager(包括 nmclinmtui 和 Cockpit 用户界面)配置网络。如果在把主机添加到 Manager 前需要额外的网络配置,则需要手工编辑 ifcfg 文件。相关信息请参阅 Red Hat Enterprise Linux Networking Guide

6.2. Red Hat Virtualization Host

Red Hat Virtualization Host(RHVH)使用一个特殊构建的、只包括虚拟机所需软件包的 Red Hat Enterprise Linux 进行安装。它使用 Anaconda 安装界面,并可以通过 Red Hat Virtualization Manager 或 yum 进行更新。但是,当前还不支持使用它们安装额外的软件包。所有安装的额外软件包在每次 RHVH 进行更新后,都需要重新安装。
RHVH 包括了一个 Cockpit 用户界面来监控主机的资源并执行管理任务。通过 SSH 或控制台直接访问 RHVH 不被支持,因此 Cockpit 提供了一个图形用户界面用来执行那些在主机被加入到 Red Hat Virtualization Manager 前需要执行的任务,如部署一个自承载引擎。另外,也可以通过 Tools > Terminal 子标签页来运行终端命令。
在您的网络浏览器中使用 https://HostFQDNorIP:9090 访问 Cockpit 用户界面。RHVH 的 Cockpit 包括了一个定制的 Virtualization 仪表板,它会显示主机的健康状态、SSH 主机密钥、自承载引擎状态,虚拟机以及虚拟机的统计数据。

注意

使用 grubby 可以为 Red Hat Virtualization Host 添加定制的引导内核参数。grubby 会把所做的改变保存在 grub.cfg 文件中,从而使改变具有持久性。进入主机的 Cockpit 用户界面中的 Tools > Terminal 子标签页来使用 grubby 命令。如需了解更多信息,请参阅 Red Hat Enterprise Linux System Administrator's Guide

6.3. Red Hat Enterprise Linux 主机

您可以在兼容硬件上安装的 Red Hat Enterprise Linux 7 作为主机。Red Hat Virtualization 支持运行 Red Hat Enterprise Linux 7 Server AMD64/Intel 64 版本并带有 Intel VT 或 AMD-V 扩展的系统。要使用运行 Red Hat Enterprise Linux 的系统作为主机,您还必须附加 Red Hat Enterprise Linux Server 权利和 Red Hat Virtualization 权利。
因为添加主机时平台需要完成以下步骤:虚拟化检查、安装软件包、生成桥接以及重启该主机,所以这个过程会需要一些时间来完成。当主机和管理系统间建立连接时,您可以使用详情框监控它的进程。

重要

不要在 Red Hat Enterprise Linux 主机上安装第三方的 watchdog,因为这会和 VDSM 提供的 watchdog 守护进程相冲突。

6.4. Satellite 主机供应商提供的主机

Red Hat Virtualization Manager 也可以使用 Satellite 主机供应商所提供的主机。当一个 Satellite 主机供应商作为一个外部供应商被加入到 Manager 后,它所提供的主机将可以象 Red Hat Virtualization Host(RHVH)和 Red Hat Enterprise Linux 主机一样使用。

6.5. 主机任务

6.5.1. 为 Red Hat Virtualization Manager 添加一个主机

向 Red Hat Virtualization 添加主机时需要完成以下操作:虚拟化检查、安装软件包、生成桥接,以及重启该主机,所以这个过程会需要一些时间来完成。当主机和管理系统间建立连接时,可以使用详情框监控它的进程。

过程 6.1. 为 Red Hat Virtualization Manager 添加一个主机

  1. 在管理门户中点主机资源标签页。
  2. 新建
  3. 使用数据中心主机集群下拉列表为这个新主机选择数据中心和主机集群。
  4. 输入新主机的名称地址。标准的 SSH 端口(22)会被自动填充到 SSH 端口项中。
  5. 选择 Manager 用来访问这个主机的身份验证方法。
    • 输入 root 用户的密码。
    • 或者,如果需要使用公共密钥进行验证,把 SSH 公共密钥项中的密钥复制到主机的 /root/.ssh/authorized_keys 文件中。
  6. 高级参数键可以进行其它的高级设置。
    1. 您可以禁用自动防火墙配置功能。
    2. 或者可以禁用 JSON 协议。
    3. 您可以添加一个主机 SSH 指纹来增加系统的安全性。您可以手工添加它,也可以使用自动获取功能来自动添加它。
  7. 如果主机中有被支持的电源管理卡,则可以配置电源管理功能。相关信息,请参阅 第 6.5.4.2 节 “主机电源管理设置介绍”
  8. 确定
新主机会在主机列表中显示,状态是 Installing,您可以在详情框中查看安装的进程。当安装完成后,状态会变为 Up

6.5.2. 添加 Satellite 主机供应商主机

添加 Satellite 主机供应商所提供的主机的过程和添加 Red Hat Enterprise Linux 主机的过程几乎完全一样,只是主机在 Manager 上的识别方法有所不同。以下介绍了添加 Satellite 主机供应商所提供的主机方法。

过程 6.2. 添加 Satellite 主机供应商主机

  1. 主机资源标签页显示主机列表。
  2. 新建打开新建主机窗口。
  3. 使用主机集群下拉菜单为这个新主机选择主机集群。
  4. Foreman/Satellite 显示添加 Satellite 主机供应商所提供的主机的选项。 选择提供主机的供应商。
  5. 选择发现的主机提供的主机
    • 发现的主机(默认选项):从下拉列表中选主机、主机组和计算资源。
    • 提供的主机:从供应商主机下拉列表中选择一个主机。
    所添加的主机详情会从外部供应商中自动获得,您可以根据需要对它们进行编辑。
  6. 为新主机输入名称地址SSH 端口(只适用于提供的主机)信息。
  7. 选择使用这个主机的身份验证机制。
    • 输入 root 用户的密码。
    • SSH PublicKey 项中的密钥复制到主机的 /root/.ssh/authorized_hosts 文件中来使用公共密钥进行验证(只适用于提供的主机)。
  8. 您已经完成了添加 Red Hat Enterprise Linux 主机的必要步骤。点高级参数键可以进行其它的高级设置。
    1. 您可以禁用自动防火墙配置功能。
    2. 您可以禁用 JSON 协议。
    3. 您可以添加一个主机 SSH 指纹来增加系统的安全性。您可以手工添加它,也可以使用自动获取功能来自动添加它。
  9. 您可以通过相应的页配置电源管理SPM控制台网络供应商。因为这些操作并不是添加一个 Red Hat Enterprise Linux 主机的必要步骤,我们将不在这里进行详细介绍。
  10. 确定添加主机并关闭窗口。
新的主机在主机列表中被显示,状态是 Installing,您可以在详情框中查看安装的进程。当安装完成后,状态会被更新为 Reboot。当状态变为 Up 时,这个新主机就被完全激活了。

6.5.3. 为主机配置 Satellite 勘误管理

Red Hat Virtualization可以被配置为查看 Red Hat Satellite 的勘误。系统管理员可以在仪表板中接收到相关的勘误以及与勘误相关的信息。如需了解更多与 Red Hat Satellite 相关的信息,请参阅 Red Hat Satellite User Guide
Red Hat Virtualization 4.0 支持 Red Hat Satellite 6.1 的勘误管理。

重要

主机在 Satellite 服务器中由它们的 FQDN 进行标识,使用 IP 地址添加的主机不会获得勘误报告。这就可以确保外部内容主机的 ID 不需要在 Red Hat Virtualization 中维护。
用来管理主机的 Satellite 帐号需要有 Administrator 权限,以及一个默认的机构设置。

过程 6.3. 为主机配置 Satellite 勘误管理

  1. 把 Satellite 服务器作为一个外部供应商进行添加。详情请参阅 第 11.2.1 节 “为主机配置添加 Red Hat Satellite 实例”
  2. 把所需的主机与 Satellite 服务器进行关联。

    注意

    主机需要在 Satellite 服务器中注册,并需要安装 katello-agent 软件包。
    如需了解如何配置主机进行注册的信息,请参阅 Red Hat Satellite User Guide 中的 Configuring a Host for Registration;如需了解如何注册主机并安装 katello-agent 软件包的信息,请参阅 Red Hat Satellite User GuideRegistration
    1. 主机标签页中,从结果列表中选择主机。
    2. 编辑打开编辑主机窗口。
    3. 使用 Foreman/Satellite 选项。
    4. 从下拉列表中选所需的 Satellite 服务器。
    5. 确定
现在,主机就可以在用来管理主机配置的仪表板中显示可用的勘误。

6.5.4. 新建主机和编辑主机窗口中的设置和控制介绍

6.5.4.1. 主机常规设置介绍

这些设置适用于编辑一个主机、添加新的 Red Hat Enterprise Linux 主机或 Satellite 主机供应商主机。
常规设置表包括了新建主机编辑主机窗口中的常规标签页中的设置信息。

表 6.1. 常规设置

描述
数据中心
主机所在的数据中心。Red Hat Virtualization Host(RHVH)主机不能被添加到启用了 Gluster 的集群中。
主机集群
主机所属的集群。
使用 Foreman/Satellite
显示/隐藏添加 Satellite 主机供应商所提供的主机选项。它包括以下选项:
发现的主机
  • 发现的主机 - 一个包括被引擎发现的 Satellite 主机名的下拉列表。
  • 主机组 - 一个包括有效主机组的下拉列表。
  • 计算资源 - 一个包括提供计算资源的 hypervisor 列表。
提供的主机
  • 提供的主机 - 包括所选择的外部供应商所提供的主机下拉列表。列表内容是根据供应商搜索过滤器项中的搜索条件所搜索到的主机。
  • 供应商搜索过滤器 - 搜索外部供应商所提供的主机。请参阅相关外部供应商的文档来输入主机搜索条件。当此项为空时,会显示所有可用的主机。
名称
集群的名称。它最长支持 40 个字符,可以包括大小写字母、数字、分号和下划线。集群的名字必须是唯一的。
注释
输入与主机相关的备注
地址
IP 地址或主机的主机名。
密码
主机上的 root 用户密码。这个密码只能在添加主机时设置,以后将不能被更改。
SSH 公共密钥
用户可以使用 Manager 的 ssh 密钥而不是密码来进行主机验证。用户只需把这个项中的内容复制到主机的 /root/.known_hosts 文件中。
自动配置的主机防火墙
当添加一个新主机时,Manager 将在默认的情况下在主机的防火墙中打开所需的端口。这是一个高级参数
使用 JSON 协议
一个高级参数,在默认的情况下被启用。
SSH 指印
您可以获取主机的 SSH 指纹信息进行比较,从而确定它和您所需要的主机的指纹信息相同。这是一个高级参数

6.5.4.2. 主机电源管理设置介绍

电源管理设置表包括了新建主机编辑主机窗口中的电源管理标签页中的设置信息。

表 6.2. 电源管理设置

描述
启用电源管理
在主机上启用电源管理。选择这个选项将会使电源管理标签页中的其它项可用。
Kdump 集成
在进行内核 crash dump 时防止主机隔离(fencing)的发生,从而可以避免 crash dump 被中断。从 Red Hat Enterprise Linux 7.1 开始,在默认情况下都可以使用 Kdump。如果主机上包括了 kdump,但它没有被正确配置(kdump 服务无法被启动),使用 Kdump 集成选项会导致主机安装(或重新安装)失败。如果出现这个问题,请参阅 第 6.6.4 节 “fence_kdump 高级配置”
禁用电源管理的策略控制
电源管理被主机所在集群调度策略所控制。在电源管理被启用时,如果主机的利用率低于所设置的低利用率值,这个主机就会被 Manager 关闭。当集群中没有足够的可用主机或负载均衡设置需要新的主机时,这个被关闭的主机会被重新启动。如果您不希望您的主机自动进行这些操作,选中这个选项。
顺序的代理
列出主机的隔离代理。隔离代理可以是顺序的、并行的或两者相结合。
  • 如果隔离代理顺序使用,主代理会被首先使用来停止或启动一个主机。如果主代理操作失败,第二个代理会被使用。
  • 如果隔离代理并行使用,两个隔离代理都需要对 Stop 命令作出响应才可以停止主机,而只要一个代理对 Start 命令作出了响应,主机就会启动。
在默认情况下,隔离代理被顺序使用。使用向上或向下按钮来调整隔离代理被使用的顺序。
为了使两个隔离代理并行使用,在一个隔离代理旁的 Concurrent with 下拉菜单中选择需要和它一起并行使用的另一个隔离代理。另外,隔离代理也可以被加入到一组并行的隔离代理中来一起使用(在要添加的隔离代理旁的 Concurrent with 下拉列表中选择隔离代理组。
添加隔离代理
点加号(+)按钮添加新的隔离代理,编辑隔离代理窗口会被打开。后面的表格介绍了这个窗口中的设置信息。
电源管理代理优选项
在默认情况下,Manager 会在主机所在的同一个集群中搜索隔离代理,如果没有找到,则会在同一个 dc(数据中心)中进行搜索。使用向上和向下按钮来调整这些资源使用的顺序。这个项包括在高级参数中。
下表介绍了编辑隔离代理窗口所需的信息。

表 6.3. 编辑隔离代理设置

描述
地址
主机电源管理设备的访问地址。它可以是一个主机名或是一个 IP 地址。
用户名
用来访问电源管理设备的用户帐号名。您可以在设备上创建一个用户,也可以使用默认的用户。
密码
用来访问电源管理设备的用户密码。
类型
主机电源管理设备的类型。
选择以下类型之一:
  • apc - APC MasterSwitch 网络电源开关。不能和 APC 5.x 电源开关设备一起使用。
  • apc_snmp - 使用 APC 5.x 电源开关设备。
  • bladecenter - IBM Bladecenter Remote Supervisor Adapter。
  • cisco_ucs - Cisco Unified Computing System。
  • drac5 - Dell 计算机的 Dell Remote Access Controller。
  • drac7 - Dell 计算机的 Dell Remote Access Controller。
  • eps - ePowerSwitch 8M+ 网络电源开关。
  • hpblade - HP BladeSystem。
  • iloilo2ilo3ilo4 - HP Integrated Lights-Out。
  • ipmilan - Intelligent Platform Management Interface 和 Sun Integrated Lights Out Management 设备。
  • rsa - IBM Remote Supervisor Adapter。
  • rsb - Fujitsu-Siemens RSB 管理界面。
  • wti - WTI Network Power Switch。
SSH 端口
电源管理设备与主机进行交流所使用的端口号。
Slot
用来识别电源管理设备刀片的 Slot 号。
Service Profile
用来识别电源管理设备刀片的服务档案名。当设备类型是 cisco_ucs 时,会显示这个项,而不是显示 Slot 项。
选项
电源管理设备的特定选项。它们的格式是 'key=value'。请参阅您的主机电源管理设备的相关文档来获得这些参数的详细信息。
对于 Red Hat Enterprise Linux 7 主机,如果使用 cisco_ucs 作为电源管理设备,则需要把 ssl_insecure=1 附加到选项项中。
安全性
使用这个选项可以使电源管理设备和主机进行安全的通信。根据电源管理代理,电源管理设备和主机间的安全通信可能使用 ssh、ssl 或其它身份验证协议。

6.5.4.3. SPM 优先级设置介绍

SPM 设置表包括了新建主机编辑主机窗口中的 SPM 标签页中的相关信息。

表 6.4. SPM 设置

描述
SPM 优先级
定义一个主机获得 Storage Pool Manager(SPM) 角色的可能性。这个选项的值包括正常。低优先级意味着这个主机被分配为 SPM 角色的机会比较低,而高优先级意味着这个主机被分配为 SPM 角色的机会比较高。

6.5.4.4. 主机控制台设置介绍

控制台设置表介绍了新建主机编辑主机窗口中的控制台标签页中的设置。

表 6.5. 控制台设置

描述
覆盖显示地址
选中这个项会覆盖主机的显示地址。当主机使用内部 IP 地址,并处于一个 NAT 防火墙后面时,这个选项将会非常有用。当一个用户从内部网络之外的网络连接到一个虚拟机的时候,这个虚拟机会返回一个公共的 IP 或 FQDN(通过外部的网络解析获得公共 IP),而不是虚拟机所在的主机的内部地址。
显示地址
这里设定的地址会被所有在这个主机上运行的虚拟机所使用。

6.5.5. 配置主机电源管理设置

配置主机电源管理设备的设置,从管理门户中执行主机的关闭、启动、重新启动操作。
如果需要使用主机和虚拟机的高可用性功能,则需要配置主机的电源管理设置。

重要

在配置主机的电源管理设置前,主机需要处于维护模式,否则这个主机上所运行的虚拟机都会非正常停止工作,从而造成生产环境出现问题。如果您的主机没有处于维护模式,一个警告信息会被显示。

过程 6.4. 配置电源管理配置

  1. 主机标签页中,从结果列表中选择主机。
  2. 编辑打开编辑主机窗口。
  3. 电源管理标签页显示电源管理设置。
  4. 选中启用电源管理选项来使其它选项可用。
  5. 选择 Kdump 集成选项可以防止在发生内核 crash dump 时,主机进行隔离(fencing)操作。

    重要

    如在已存在的主机上启用 Kdump 集成选项,则需要重新安装这些主机来配置 kdump。详情请参阅 第 6.5.11 节 “重新安装主机”
  6. 或者,如果不希望主机所在集群调度策勒控制主机的电源管理,则选择禁用电源管理的策略控制
  7. 点加号(+)按钮来添加新的电源管理设备。编辑隔离代理窗口会被打开。
  8. 在相关的项中输入电源管理设备的地址用户名密码
  9. 从下拉列表中选择电源管理设备的类型
  10. 输入电源管理设备用来和主机进行交流所使用的 SSH 端口号。
  11. 输入用来识别电源管理设备刀片的 Slot 号。
  12. 为电源管理设备输入选项。使用逗号分隔多个选项,选项的格式是 'key=value'
  13. 选择安全性选择框来使电源管理设备通过安全的方法和主机进行交流。
  14. 测试来测试电源管理设备。如果测试成功,Test Succeeded, Host Status is: on 将会被显示。
  15. 确定关闭编辑隔离代理窗口。
  16. 电源管理标签页中,还可以展开高级参数项,使用向上或向下按钮来指定 Manager 搜索主机的集群dc(datacenter)作为隔离代理的顺序。
  17. 确定
现在,电源管理下拉菜单在管理门户中被启用。

6.5.6. 配置主机存储池管理器(Storage Pool Manager)设置

Storage Pool Manager (SPM) 是一个管理角色,数据中心中的一个主机会被分配这个角色来对存储域的访问控制进行管理。SPM 必须一直保持有效,如果当前的 SPM 主机出现问题,SPM 角色会被分配给另外一个主机。因为 SPM 角色会使用它所在主机的资源,所以在为主机设置 SPM 优先级时应该考虑主机的资源使用情况。
一个主机的 Storage Pool Manager (SPM) 优先级设置会影响到它获得 SPM 角色的机会:一个有高 SPM 优先级的主机会在一个有低 SPM 优先级的主机前获得 SPM 角色。

过程 6.5. 配置 SPM 设置

  1. 主机资源标签页,在结果列表中选择一个主机。
  2. 编辑打开编辑主机窗口。
  3. SPM 标签页显示 SPM 优先级的设置。
  4. 为主机选择所需要的 SPM 优先级。
  5. 确认保存设置并关闭窗口。
您为主机配置了 SPM 优先级。

6.5.7. 编辑一个资源

编辑一个资源的属性。

过程 6.6. 编辑一个资源

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 编辑打开编辑窗口。
  3. 编辑需要修改的属性并点确认
新的属性值被保存。如果有不正确的属性值存在,编辑窗口将不会被关闭。

6.5.8. 把主机设为维护模式(Maintenance Mode)

许多系统维护任务(如网络配置、软件升级)需要在主机处于维护模式时才可以进行。在进行任何可能造成 VDSM 停止正常工作(如重启)、或可能造成网络或存储出现问题的操作前,都需要把主机设置为维护模式。
当一个主机被设置为维护模式时,Red Hat Virtualization Manager 会试图把它上面运行的虚拟机迁移到另外的主机上。这需要满足虚拟机实时迁移所需要的条件,特别是集群中最少需要有一个有足够资源的主机来运行需要迁移的虚拟机。

过程 6.7. 把主机设置为维护模式

  1. 主机标签页,选择所需的主机。
  2. 维护打开维护主机确认窗口。
  3. 另外,还可以在维护主机确认窗口中输入把主机设置为维护模式的原因。您可以输入进行维护的理由,它会被记录在日志中,并在主机被重新激活后显示这个信息。

    注意

    主机维护的原因项只有在它在集群设置中被启用时才会出现。相关信息,请参阅 第 4.2.2.1 节 “集群常规设置介绍”
  4. 确定把存储域变为维护模式。
主机上所运行的所有虚拟机被迁移到其它主机上。如果主机是一个 SPM(Storage Pool Manager),SPM 的角色会被分配给其它主机。主机的状态值被改为 Preparing for Maintenance,并在所有操作进行完后变为 Maintenance。当主机位于维护模式时,VDSM 不会停止。

注意

如果任何虚拟机的迁移出现问题,在主机上点激活来停止把主机设置为维护模式的操作,然后在虚拟机上点取消迁移来停止迁移操作。

6.5.9. 激活处于维护模式的主机

当一个主机处于维护模式,或刚被添加到系统中时,这个主机必须被激活后才可以使用。当主机还没有准备好时,激活操作可能会失败,因此,请确认在激活主机前,所有任务都已完成。

过程 6.8. 激活处于维护模式的主机

  1. 主机标签页,选择要升级的主机。
  2. 激活
主机的状态变为 Unassigned,在所有操作完成后变为 Up。虚拟机现在可以在这个主机上运行。当主机被激活后,那些以前因为主机处于维护模式而被迁移到其它主机上的虚拟机不会被自动迁移回这个主机,您可以手工把它们迁移回来。如果主机在被设置为维护模式前是 SPM,在主机被激活后,不会自动重新成为 SPM 角色。

6.5.10. 删除一个主机

从您的虚拟化环境中删除一个主机。

过程 6.9. 删除一个主机

  1. 在管理门户中,点主机资源标签页,在结果列表中选择主机。
  2. 把主机设为维护模式
  3. 删除打开删除主机确认窗口。
  4. 如果主机是 Red Hat Gluster Storage 集群中的一部分,并有磁盘卷数据块时;或主机没有响应时,使用强制删除选项来强制删除主机。
  5. 确定
主机被从系统中删除并不会再出现在主机标签页中。

6.5.11. 重新安装主机

通过管理门户重新安装 Red Hat Virtualization Host(RHVH) 和 Red Hat Enterprise Linux 主机。使用这个过程来重新安装 RHVH(当前安装的 RHVH ISO 镜像相同的版本);或在 Red Hat Enterprise Linux 主机上重新安装 VDSM。这个过程包括停止并重启主机。如果在集群一级启用了迁移功能,虚拟机会自动迁移到集群中的另外一个主机上。因此。我们推荐您在主机使用率较低的时间段内执行重启安装的操作。
主机所属的集群需要有足够的预留内存来保证主机的维护操作可以正常完成。当对带有正在运行的虚拟机的主机进行维护操作时,如果集群中没有足够的可用内存,虚拟机迁移操作会失败。为了防止这个问题的出现,您可以在进行主机维护操作前关闭一些(或所有)虚拟机来减少内存的使用。

重要

在执行重新安装前,确认集群中最少有 2 个主机。不要同时重新安装所有主机,因为一个主机必须处于正常运行的状态来作为存储池管理器(SPM)。

过程 6.10. 重新安装 Red Hat Virtualization Host 或 Red Hat Enterprise Linux 主机

  1. 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
  2. 维护按钮。如果在集群一级启用了迁移功能,所有在它上面运行的虚拟机会被迁移到其它主机上。如果这个主机是 SPM,SPM 的功能也会被迁移到其它主机上。当主机进入维护模式时,它的状态将会改变。
  3. 重新安装打开安装主机窗口。
  4. 确定重新安装主机。
在重新安装操作成功完成后,主机的状态为 Up。所有因为主机升级而被迁移到其它主机上的虚拟机现在可以被迁移回这个主机。

重要

当一个 Red Hat Virtualization Host 在 Red Hat Virtualization Manager 上成功注册并重新安装后,它的状态可能会在管理门户中被错误地显示为 Install Failed。点激活按钮,这个主机的状态会变为 Up,并可以被使用。

6.5.12. 使用标签(Tag)来自定义主机

用户可以使用标签(Tag)来存储主机的信息,并根据标签来对主机进行搜索。

过程 6.11. 使用标签来自定义主机

  1. 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
  2. 分配标签打开分配标签窗口。
    分配标签窗口

    图 6.1. 分配标签窗口

  3. 分配标签窗口列出了所有可用的标签。选择需要的标签。
  4. 确定来为主机分配一个标签并关闭窗口。
您为主机添加了可以被用来进行搜索的标签。

6.5.13. 查看主机勘误

在主机被配置为从 Red Hat Satellite 服务器接收勘误后,就可以查看每个主机的勘误。如需了解配置主机来接收勘误的信息,请参阅 第 6.5.3 节 “为主机配置 Satellite 勘误管理”

过程 6.12. 查看主机勘误

  1. 主机资源标签页,在结果列表中选择一个主机。
  2. 在详情框中点常规标签页。
  3. 常规标签页中选勘误子标签页。

6.5.14. 查看一个主机的健康状态

除了常规的状态信息外,主机还包括一个外部的健康状态。它由插件或外部系统提供,或由管理员进行设置,并出现在主机的名称左面。它以以下图标之一显示:
  • OK:没有特殊图标
  • Info:
  • Warning:
  • Error:
  • Failure:
如需查看主机健康状态的更多信息,选择主机并点事件子标签页。
主机的健康状态也可以通过 REST API 获得。对主机的一个 GET 请求会包括 external_status 项,它包括了健康状态信息。
您可以通过在 REST API 中使用 events 集合设置主机的健康状态。相关信息,请参阅 REST API 指南中的 Adding Events

6.5.15. 查看主机设备

您可以在详情框中查看每个主机的主机设备。如果主机已配置了直接设备分配,这些设备可以被直接附加到虚拟机以提供更好的性能。
如需了解直接设备分配的硬件要求信息,请参阅 Red Hat Virtualization Hardware Considerations for Implementing SR-IOV 中的 Additional Hardware Considerations for Using Device Assignment
如需了解配置主机的直接设备分配的信息,请参阅安装指南中的 Configuring a Host for PCI Passthrough
如需了解把主机设备附加到虚拟机的信息,请参阅虚拟机管理指南中的 Host Devices

过程 6.13. 查看主机设备

  1. 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
  2. 在详情框中点主机设备标签页。
详情框中列出了主机设备的信息,包括设备是否被附加到虚拟机、当前是否被虚拟机使用。

6.5.16.  为 GPU 透传准备主机和虚拟机系统

一个主机的 GPU(Graphics Processing Unit)设备可以直接分配给一个虚拟机。为了实现这个功能,需要修改主机和虚拟机上的 grub 配置文件,并重启虚拟机和主机。
以下步骤适用于 x86_64 或 ppc64le 架构的主机。
如需了解直接设备分配对硬件的要求,请参阅安装指南中的 PCI Device Requirements

过程 6.14.  为 GPU 透传准备主机

  1. 登录到主机服务器,找出设备 vendor ID:product ID。在这个示例中,ID 是 10de:13ba10de:0fbc
    # lspci -nn
    ...
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107GL [Quadro K2200] [10de:13ba] (rev a2)
    01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc] (rev a1)
    ...
  2. 编辑 grub 配置文件,把 pci-stub.ids=xxxx:xxxx 添加到 GRUB_CMDLINE_LINUX 行的后面。
    # vi /etc/default/grub
    ...
    GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... pci-stub.ids=10de:13ba,10de:0fbc"
    ...
    在主机上把相应设备列入“黑名单”。在这个示例中,nVidia' 的 nouveau 驱动被列入黑名单(在GRUB_CMDLINE_LINUX 行后面添加了一个额外的设置)。
    # vi /etc/default/grub
    ...
    GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... pci-stub.ids=10de:13ba,10de:0fbc rdblacklist=nouveau"
    ...
    保存 grub 配置文件。
  3. 刷新 grub.cfg 文件并重启服务器使这些改变生效:
    # grub2-mkconfig -o /boot/grub2/grub.cfg
    # reboot
  4. 使用 lspci 命令检查设备被关联到 pci-stub 驱动:
    # lspci -nnk
    ...
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107GL [Quadro K2200] [10de:13ba] (rev a2)
            Subsystem: NVIDIA Corporation Device [10de:1097]
            Kernel driver in use: pci-stub
    01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc] (rev a1)
            Subsystem: NVIDIA Corporation Device [10de:1097]
            Kernel driver in use: pci-stub
    ...
继续以下操作为 GPU 透传在虚拟机端进行配置。

过程 6.15. 为 GPU 透传在虚拟机上进行准备

    • 对于 Linux
      1. 只支持专有的 GPU 驱动。在 grub 配置文件中把开源驱动放人黑名单。例如:
        $ vi /etc/default/grub
        ...
        GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... rdblacklist=nouveau"
        ...
      2. 找到 GPU BusID。在这个示例中,BusID 是 00:09.0
        # lspci | grep VGA
        00:09.0 VGA compatible controller: NVIDIA Corporation GK106GL [Quadro K4000] (rev a1)
      3. 编辑 /etc/X11/xorg.conf 文件,追加以下内容:
        Section "Device"
        Identifier "Device0"
        Driver "nvidia"
        VendorName "NVIDIA Corporation"
        BusID "PCI:0:9:0"
        EndSection
      4. 重启虚拟机
    • 对于 Windows
      1. 为设备下载并安装相应驱动。例如,对于 Nvidia 驱动,访问 NVIDIA Driver Downloads
      2. 重启虚拟机
现在,主机的 GPU 可以直接分配到准备好的虚拟机。如需了解为虚拟机分配主机设备的信息,请参阅虚拟机管理指南中的 Host Devices

6.5.17. 通过管理门户访问 Cockpit

Cockpit UI 插件是一个可以在 Red Hat Virtualization 环境中安装的一个可选组件,它提供了通过管理门户使用 Cockpit 用户接口来监控和管理主机资源的功能。当选择一个安装了 Cockpit 的主机后,管理门户详情框中的 Cockpit 子标签页就会显示 Cockpit 用户接口。或者,点主主机菜单中的 Cockpit 按钮在一个新浏览器页中打开 Cockpit 用户接口。
Cockpit 用户接口默认包括在 Red Hat Virtualization Host(RHVH)中。当前,Red Hat Enterprise Linux 主机还不支持它。

过程 6.16. 通过管理门户访问 Cockpit

  1. 在 Manager 机器上安装 Cockpit UI 插件:
    # yum install cockpit-ovirt-uiplugin
  2. 在管理门户中,点主机标签页并选择一个主机。
  3. 在一个新的标签页中打开 Cockpit 用户接口,或通过管理门户直接查看它:
    • 在主机上点鼠标右键,选 Cockpit 在浏览器的新标签页中打开 Cockpit 用户接口。
    • Cockpit 子标签页可以在主机标签页的详情框中查看 Cockpit 用户接口。

      注意

      如果所选主机没有 Cockpit,Cockpit 子标签页会显示基本的故障排除步骤。

6.6. 主机弹性

6.6.1. 主机高可用性

Red Hat Virtualization Manager 使用隔离(fencing)功能来确保集群中的主机可以对请求做出响应。Non Responsive(无响应)的主机和 Non Operational(无法正常工作) 的主机有所不同。Non Operational 的主机可能可以和 Manager 进行交流,但它可能有不正确的配置(例如,缺少一个逻辑网络)。Non Responsive 主机无法和 Manager 进行交流。
当一个带有电源管理设备的主机无法和 Manager 进行交流时,它可以通过管理门户被隔离(重新启动)。在它上面运行的所有虚拟机会停止运行,而其中的高可用性虚拟机会被迁移到其它主机上运行。
所有电源管理操作都是通过使用一个代理主机进行的,而不是使用 Red Hat Virtualization Manager 进行直接操作。因此,电源管理需要最少两台主机。
隔离(fencing)功能可以使集群处理意外的主机故障,并保证电源节省、负载平衡和虚拟机可用性的策略。您应该为您的主机的电源管理设备配置隔离参数,并经常对它们进行测试。
主机可以通过使用电源管理参数进行自动隔离,也可以在主机上点鼠标右键性选择相应的操作来手动隔离它。在一个隔离操作过程中,一个无响应的主机会被重启,如果它在设定的时间内没有恢复到正常状态,它会保持在无响应状态。如果出现这个情况,您需要对它进行手工故障排除。
如果一个主机需要运行高可用性的虚拟机,电源管理功能必须被启用并被正确配置。

6.6.2. 在 Red Hat Virtualization 环境中使用代理进行电源管理

Red Hat Virtualization Manager 不直接和隔离设备进行通讯,它使用一个代理来向主机的电源管理设备发送电源管理命令。Manager 需要使用 VDSM 来进行电源管理设备的操作,因此环境中还需要另外一个主机作为隔离代理。
您可以选择:
  • 需要隔离功能的主机所在的同一个集群中的任何主机。
  • 需要隔离功能的主机所在的同一个数据中心中的任何主机。
隔离代理主机的状态有两种:UPMaintenance

6.6.3. 在主机上设置隔离(fencing)参数

主机隔离的参数可以通过新建主机编辑主机窗口中的电源管理中的项进行设置。电源管理功能将允许系统通过使用额外的接口,如 Remote Access Card (RAC),对有问题的主机进行隔离。
所有电源管理操作都是通过使用一个代理主机进行的,而不是使用 Red Hat Virtualization Manager 进行直接操作。因此,电源管理需要最少两台主机。

过程 6.17. 在一个主机上设置隔离参数

  1. 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
  2. 编辑打开编辑主机窗口。
  3. 电源管理标签页。
    电源管理设置

    图 6.2. 电源管理设置

  4. 选中启用电源管理选项来使其它选项可用。
  5. 选择 Kdump 集成选项可以防止在发生内核 crash dump 时,主机进行隔离(fencing)操作。

    重要

    如果您在已经存在的主机上启用 Kdump 集成选项,您需要在重新安装这些主机来配置 kdump。详情请参阅 第 6.5.11 节 “重新安装主机”
  6. 或者,如果不希望主机所在集群的调度策勒控制主机的电源管理,则选择禁用电源管理的策略控制
  7. 点加号(+)按钮来添加新的电源管理设备。编辑隔离代理窗口会被打开。
    编辑隔离代理

    图 6.3. 编辑隔离代理

  8. 在相关的项中输入电源管理设备的地址用户名密码
  9. 从下拉列表中选择电源管理设备的类型

    注意

    如需了解如何设置一个自定义电源管理设备的信息,请参阅 https://access.redhat.com/articles/1238743
  10. 输入电源管理设备用来和主机进行交流所使用的 SSH 端口号。
  11. 输入用来识别电源管理设备刀片的 Slot 号。
  12. 为电源管理设备输入选项。使用逗号分隔多个选项,选项的格式是 'key=value'
  13. 选择安全性选择框来使电源管理设备通过安全的方法和主机进行交流。
  14. 测试来测试电源管理设备。如果测试成功,Test Succeeded, Host Status is: on 将会被显示。

    警告

    电源管理的参数(userid、password、options 等) 只在设置 Red Hat Virtualization Manager 时被测试,或在设置后通过手动进行测试。如果您忽略了关于不正确参数的提示信息,或电源管理硬件设备的参数有变化而您没有在 Red Hat Virtualization Manager 中进行相应的修改,当系统需要隔离操作时,隔离操作很可能会失败。
  15. 确定关闭编辑隔离代理窗口。
  16. 电源管理标签页中,还可以展开高级参数项,使用向上或向下按钮来指定 Manager 搜索主机的集群dc(datacenter)作为隔离代理的顺序。
  17. 确定
您将会返回到主机列表界面,而主机旁边的惊叹号会消失。这意味着电源管理已经被成功配置。

6.6.4. fence_kdump 高级配置

kdump
选择一个主机,通过详情框中的常规标签页可以查看它上面的 kdump 服务的状态:
  • 启用:kdump 被正确配置,并正在运行。
  • 禁用:kdump 服务没有运行(kdump 集成功能不能正常工作)。
  • 未知:只会在老的、不会报告 kdump 状态的主机上发生。
如需了解更多与安装和使用 kdump 相关的信息,请参阅 Red Hat Enterprise Linux 7 Kernel Crash Dump Guide
fence_kdump
新建主机编辑主机窗口中,选择电源管理标签页,启用 Kdump 集成选项来配置标准的 fence_kdump 设置。如果环境的网络设置比较简单,Manager 的 FQDN 可以被所有主机解析到,默认的 fence_kdump 设置应该就可以正常工作。
但是在一些情况下,可能需要更复杂的 fence_kdump 配置。当环境中的网络比较复杂时,可能需要手工修改 Manager、fence_kdump listener 的配置。例如,当启用了Kdump 集成,而 Manager 的 FQDN 无法被所有主机解析到时,您就需要设置一个正确的主机名或 IP 地址(使用 engine-config 命令):
engine-config -s FenceKdumpDestinationAddress=A.B.C.D
以下的情况可能也需要修改配置:
  • Manager 有两个网卡,其中的一个是可以被公共网络连接,而另外一个是 fence_kdump 信息发送的首选目的地。
  • 您需要在一个不同的 IP 地址或端口上执行 fence_kdump listener。
  • 为了防止数据包的丢失,您需要设置一个自定义的 fence_kdump 通知信息间隔时间。
我们只推荐高级用户使用自定义的 fence_kdump 设置,只有复杂的网络才需要修改默认的设置。如需了解与 fence_kdump listener 选项相关的信息,请参阅 第 6.6.4.1 节 “fence_kdump listener 配置”;如需了解在 Manager 上配置 kdump 的信息,请参阅 第 6.6.4.2 节 “在 Manager 上配置 fence_kdump”

6.6.4.1. fence_kdump listener 配置

编辑 fence_kdump listener 的配置。请只在默认设置无法满足您的需要时进行。

过程 6.18. 手工配置 fence_kdump Listener

  1. /etc/ovirt-engine/ovirt-fence-kdump-listener.conf.d/ 中创建一个文件(例如,my-fence-kdump.conf)。
  2. 使用 OPTION=value 的格式输入您的自定义配置,并保存文件。

    重要

    被编辑的值同时也需要在 engine-config 中进行修改(请参阅 fence_kdump listener 配置选项表,第 6.6.4.2 节 “在 Manager 上配置 fence_kdump”)。
  3. 重新启动 fence_kdump listener:
    # service ovirt-fence-kdump-listener restart
在需要的情况下,以下选项可以被自定义:

表 6.6. fence_kdump listener 配置选项

变量描述默认值注意
LISTENER_ADDRESS指定接收 fence_kdump 信息的 IP 地址。0.0.0.0如果这个参数的值被改变,它必须和 engine-config 中的 LISTENER_PORT 值相匹配。
LISTENER_PORT指定接收 fence_kdump 信息的端口。7410如果这个参数的值被改变,它必须和 engine-config 中的 FenceKdumpDestinationPort 值相匹配。
HEARTBEAT_INTERVAL指定 listener 的"心跳" 更新的间隔时间(以秒为单位)。30如果这个参数的值被改变,它必须不大于 engine-config 中的 FenceKdumpListenerTimeout 值的一半。
SESSION_SYNC_INTERVAL在内存和数据库间同步 listener 的主机 kdump 会话的间隔时间(以秒为单位)。5如果这个参数的值被改变,它必须不大于 engine-config 中的 KdumpStartedTimeout 值的一半。
REOPEN_DB_CONNECTION_INTERVAL重新尝试打开以前无效的数据库连接的间隔时间。30-
KDUMP_FINISHED_TIMEOUT当主机的 kdump 已被标记为 FINISHED 后,最后一次接收从 kdumping 主机发送的信息的最大超时时间(以秒为单位)。60如果这个参数的值被改变,它必须不小于 engine-config 中的 FenceKdumpMessageInterval 的值的两倍。

6.6.4.2. 在 Manager 上配置 fence_kdump

编辑 Manager 的 kdump 配置(请只在默认设置无法满足您的需要时进行)。使用以下命令可以查看 kdump 的当前配置:
# engine-config -g OPTION

过程 6.19. 使用 engine-config 手工配置 Kdump

  1. 使用 engine-config 命令编辑 kdump 的配置:
    # engine-config -s OPTION=value

    重要

    被编辑的值同时需要在 fence_kdump listener 的配置文件中修改(请参阅 Kdump 配置选项 第 6.6.4.1 节 “fence_kdump listener 配置”)。
  2. 重新启动 ovirt-engine 服务:
    # service ovirt-engine restart
  3. 如果需要,重新安装所有启用了Kdump 集成选项的主机(请参阅以下的表格) 。
以下选项可以使用 engine-config 进行配置:

表 6.7. Kdump 配置选项

变量描述默认值备注
FenceKdumpDestinationAddress指定 fence_kdump 信息要被发送到的系统的主机名或 IP 地址。如果为空,Manager 的 FQDN 会被使用。空(Manager 的 FQDN 被使用)如果这个参数的值被改变,它必须和 fence_kdump listener 配置文件中的 LISTENER_ADDRESS 值相匹配,所有启用了 Kdump 集成的主机都需要被重新安装。
FenceKdumpDestinationPort指定 fence_kdump 信息要被发送到的端口。7410如果这个参数的值被改变,它必须和 fence_kdump listener 配置文件中的 LISTENER_PORT 值相匹配,所有启用了 Kdump 集成的主机都需要被重新安装。
FenceKdumpMessageInterval指定 fence_kdump 发送信息的间隔时间(以秒为单位)。5如果这个参数的值被改变,它必须不大于 fence_kdump listener 配置文件中的 KDUMP_FINISHED_TIMEOUT 值的一半,所有启用了 Kdump 集成的主机都需要被重新安装。
FenceKdumpListenerTimeout指定认为 fence_kdump listener 处于运行状态的最大“心跳”超时时间(以秒为单位)。90如果这个参数的值被改变,它必须不小于 fence_kdump listener 配置文件中的 HEARTBEAT_INTERVAL 值的两倍。
KdumpStartedTimeout指定接收从 kdump 主机发出的第一个信息(认为主机 kdump 已开始)的最大等待超时时间(以秒为单位)。30如果这个参数的值被改变,它必须不小于 fence_kdump listener 配置文件中的 SESSION_SYNC_INTERVAL 值和 FenceKdumpMessageInterval 值的两倍。

6.6.5. Soft-Fencing 主机

有些时候,一个主机会因为无法预见的问题造成它处于无响应状态。此时尽管 VDSM 对所做出的请求无法响应,但依赖于 VDSM 的虚拟机仍然可以被访问。在这种情况下,重新启动 VDSM 就可能解决这个问题。
"SSH Soft Fencing" 是 Manager 试图通过 SSH 在一个没有响应的主机上重启 VDSM 的过程。如果 Manager 无法通过 SSH 重启 VDSM,而且配置了外部的隔离代理,则隔离操作将由外部的隔离代理进行处理。
要使用 soft-fencing over SSH 功能,主机必须配置并启用了隔离,一个有效的代理主机(数据中心中的另外一个主机,它的状态是 UP)必须存在。当 Manager 和主机的连接出现超时的情况时,以下事件会发生:
  1. 在网络出现第一次失败时,主机的状态变为 "connecting"。
  2. Manager 然后会尝试 3 次向 VDSM 询问它的状态,或根据主机的负载等待一段时间。这个等待的时间是通过以下公式计算的:TimeoutToResetVdsInSeconds(默认值是 60 秒)+ [DelayResetPerVmInSeconds(默认值是 0.5 秒)]*(在主机上运行的虚拟机的数量)+ [DelayResetForSpmInSeconds(默认值是 20 秒)] * 1(如果主机是 SPM)或 0(如果主机不是 SPM)。为了留给 VDSM 最大的响应时间,Manager 会选择以上两个操作所需的最长时间。
  3. 如果在所需要的间隔时间后主机还没有响应,vdsm restart 命令会通过 SSH 执行。
  4. 如果 vdsm restart 命令无法在主机和 Manager 间重新创建连接,主机的状态将变为 Non Responsive,如果电源管理被配置,外部的隔离代理(external fencing agent)将会进行相应的隔离操作。

注意

Soft-fencing over SSH 可以在没有配置电源管理的主机上运行。这和一般的隔离(fencing)有所不同:一般的隔离只能在配置了电源管理的主机上运行。

6.6.6. 使用电源管理功能

介绍
当电源管理功能在一个主机上被配置后,您可以通过管理门户界面进行相关的操作。虽然不同的电源管理设备可以进行不同的操作,但是它们都支持基本的操作,如启动、关闭和重新启动一个主机。

过程 6.20. 使用电源管理功能

  1. 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
  2. 电源管理下拉菜单。
  3. 选择以下的选项之一:
    • 重启:这个选项会关闭所有的主机并等待主机的状态变为 Down。当代理已经确认主机的状态已经变为 down,高可以性虚拟机已经在集群中的其它主机上被重新启动后,它会重新启动这个主机。当主机启动后,它的状态变为 Up
    • 启动:这个选项会启动主机并把它加入到一个集群中。当主机启动后,它的状态变为 Up
    • 停止:这个选项会关闭主机。在使用这个选项前,您需要确保在这个主机上运行的虚拟机已经被迁移到集群中的其它主机上。否则,所有的虚拟机都会出现问题,只有那些设置为高可用性的虚拟机会在其它主机上被重新启动。当主机被关闭后,它的状态变为 Non-Operational

    重要

    如果在一个主机上定义了两个隔离代理(fencing agent),它们可以被“同时”使用,也可以被“相继”使用。如果是"同时"使用的代理,在两个代理都收到停止命令时才可以停止主机,而当一个代理收到启动命令时,主机就会被启动。如果是"相继"使用的代理,对于启动和停止一个主机的操作,“主要的”代理会被首先使用,如果“主要的”代理操作失败,“次要的”代理会被使用。
  4. 选择以上的选项之一后会出现一个确认窗口,点确定进行确认。
结果
所选择的操作被执行。

6.6.7. 手动隔离或分离一个没有响应的主机

介绍
当一个主机在没有预见的情况下变为了没有响应的状态(例如,出现了硬件故障),整个系统的性能可以会受到极大的影响。如果您没有电源管理设备,或电源管理设备没有被正确配置,您可能需要手动重新启动主机。

警告

在您确认已经手工重启了主机前,请不要使用确认主机已经重启选项。如果在主机还在运行时使用这个选项,有可能会导致虚拟机的镜像被破坏。

过程 6.21. 手动隔离或分离一个没有响应的主机

  1. 主机标签页中选择主机。这个主机的状态需要是 non-responsive
  2. 手动重启这个主机。这可能意味着您需要进入机房,手工重新启动这个主机。
  3. 在管理门户中的主机上点鼠标右键,选择确认主机己经重启键。
  4. 一个提示您确认主机已经被停止或重启的信息会被显示。选择批准操作选项并点确定
结果
您手动重启了您的主机,高可用性的虚拟机被迁移到其它主机上。您在管理门户中确认了手动隔离的操作,主机可以被重新使用。

6.7. 主机和权限

6.7.1. 管理一个主机的系统权限

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
一个主机管理员(host administrator)只对这个主机有管理权限,而集群中的每个主机都需要有一个主机管理员。您可以使用页头中的配置按钮来为这个环境中的所有主机分配一个主机管理员。
具有主机管理员角色的用户可以执行以下操作:
  • 编辑主机的配置。
  • 设置逻辑网络。
  • 删除主机。
如果需要更改一个主机的管理员,您需要删除当前的主机管理员,然后再添加一个新的管理员。

6.7.2. 主机管理员角色介绍

主机权限角色
下表描述了与主机管理相关的管理员角色,以及他们所具有的权利。

表 6.8. Red Hat Virtualization 系统管理员角色

角色权利注记
HostAdminHost Administrator可以配置、管理和删除一个特定的主机。也可以在特定主机上进行网络相关的操作。

6.7.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 6.22. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

6.7.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 6.23. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

第 7 章 存储

Red Hat Virtualization 使用一个中央化的存储系统来管理虚拟机的磁盘镜像、ISO 文件和快照。存储网络可以通过以下方式实现:
  • Network File System (NFS)
  • GlusterFS 导出
  • 其它 POSIX 兼容的文件系统
  • Internet Small Computer System Interface (iSCSI)
  • 主机上直接连接的本地存储
  • Fibre Channel Protocol (FCP)
  • Parallel NFS (pNFS)
在运行一个新数据中心前需要为它设置存储。数据中心只有在附加了存储域并激活了它们后才可以进行初始化。
作为一个 Red Hat Virtualization 系统管理员,您需要为您的虚拟系统创建、配置、附加并管理存储。您应该熟悉所使用的存储设备。请参阅存储设备厂商所提供的文档来获得相应的信息。您还可以参阅 Red Hat Enterprise Linux Storage Administration Guide 来获得与存储相关的一般概念、协议、要求等信息。
Red Hat Virtualization 允许您通过管理门户中的存储标签页来附加并管理存储。存储结果列表显示了所有存储域,详情框显示了和这个域相关的一般信息。
为了添加存储域,您需要使用管理门户,并最少需要一个状态为 Up 的主机。
Red Hat Virtualization 包括三类存储域:
  • 数据域(Data Domain):数据域包括了数据中心中的所有虚拟机的虚拟硬盘和 OVF 文件。另外,虚拟机的快照也被保存在数据域中。
    数据域不能被不同的数据中心共享。不同类型(iSCSI、NFS、FC、POSIX 和 Gluster)的数据域可以被添加到同一个数据中心中,并在这个数据中心中共享。
    您必须首先为数据中心添加一个数据域,然后才能为它添加其它类型的域。
  • ISO 域:ISO 域包括了用来为虚拟机安装、启动操作系统和应用程序的 ISO 文件(或逻辑 CD)。使用 ISO 域将使这个数据中心不再需要物理的安装介质。一个 ISO 域可以被不同的数据中心共享。ISO 域只能是基于 NFS 的。一个数据中心只能添加一个 ISO 域。
  • 导出域: 导出域(Export Domain)是一个临时的存储库,它被用来在数据中心和 Red Hat Virtualization 环境间复制和迁移数据镜像。导出域可以被用来备份虚拟机。一个导出域可以在不同的数据中心间迁移,但它只能同时在一个数据中心中有效。导出域必须是基于 NFS 的,一个数据中心只能附加一个导出域。

    注意

    导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 第 7.6 节 “导入存在的存储域”

重要

在开始为 Red Hat Virtualization 环境配置和附加存储前,您需要先决定数据中心所需要的存储类型。

7.1. 存储域介绍

存储域就是一组有一个公共存储接口的数据镜像,它包括了模板、虚拟机(包括快照)的数据镜像或 ISO 文件。一个存储域可以由块设备(SAN - iSCSI 或 FCP)组成,也可以由文件系统(NAS - NFS,GlusterFS,或其它 POSIX 兼容的文件系统)组成。
在 NFS 中,所有的磁盘、模板和快照都是文件。
在 SAN(iSCSI/FCP)中,每个虚拟磁盘、模板和快照都是一个逻辑卷。块设备被组合到一个逻辑卷组中,并被逻辑卷管理器(Logical Volume Manager - LVM)分为不同的逻辑卷作为虚拟硬盘供用户使用。如需更详细的信息,请参阅 Red Hat Enterprise Linux Logical Volume Manager Administration Guide
逻辑硬盘可以有两种格式:QCOW2 或 RAW,存储类型可以是 Sparse 或 Preallocated。快照的类型是 sparse,但它可以是为 RAW 或 sparse 磁盘创建的。
共享相同存储域的虚拟机可以在同一个集群中的主机间进行迁移。

7.2. 准备和添加 NFS 存储

7.2.1. 准备 NFS 存储域

设置 NFS 共享来作为 Red Hat Enterprise Linux 6 服务器上的一个数据域和导出域。如果在 Red Hat Virtualization Manager 的安装过程中已经创建了一个 ISO 域,则不再需要创建它。如需了解与所需的系统用户和组相关的信息,请参阅 附录 G, 系统账户

注意

这个过程包括了设置导出存储域的步骤(导出存储域这个概念已过时)。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 第 7.6 节 “导入存在的存储域”
  1. 安装 nfs-utils。这个软件包提供了 NFS 工具:
    # yum install nfs-utils
  2. 配置启动脚本使共享在系统每次启动时都有效:
    # chkconfig --add rpcbind
    # chkconfig --add nfs
    # chkconfig rpcbind on
    # chkconfig nfs on
  3. 启动 rpcbind 服务和 nfs 服务:
    # service rpcbind start
    # service nfs start
  4. 创建数据目录和导出目录:
    # mkdir -p /exports/data
    # mkdir -p /exports/export
  5. 把新创建的目录添加到 /etc/exports 文件中。把以下内容添加到 /etc/exports
    /exports/data *(rw)
    /exports/export *(rw)
  6. 导出存储域:
    # exportfs -r
  7. 重新加载 NFS 服务:
    # service nfs reload
  8. 创建 kvm 组:
    # groupadd kvm -g 36
  9. kvm 组中创建用户 vdsm
    # useradd vdsm -u 36 -g 36
  10. 把您的导出目录的 ownership 值设为 36:36(vdsm:kvm)。这将允许 Manager 使用由这些导出目录组成的存储域存储数据。
    # chown -R 36:36 /exports/data
    # chown -R 36:36 /exports/export
  11. 设置目录的访问权限:
    # chmod 0755 /exports/data
    # chmod 0755 /exports/export

7.2.2. 附加 NFS 存储

把一个 NFS 存储域添加到您的 Red Hat Virtualization 环境中的数据中心。这个存储域为虚拟机镜像和 ISO 引导介质提供了存储空间。这个过程需要您已经导出了存储共享。您在创建导出域前必须先创建数据域。使用相同的步骤来创建导出域,在域功能/存储类型列表中选择导出/NFS
  1. 在 Red Hat Virtualization Manager 管理门户中,点存储资源标签页。
  2. 新建域
    新建域窗口

    图 7.1. 新建域窗口

  3. 输入存储域的名称
  4. 使用数据中心域功能存储类型格式使用主机列表的默认值。
  5. 为存储域输入导出路径
    导出路径的格式应该是 192.168.0.10:/datadomain.example.com:/data
  6. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  7. 确定
    新的 NFS 数据域在存储标签页中被显示(在准备磁盘的时候,它的状态是 Locked)。在磁盘准备完成后,它会被自动附加到数据中心上。

7.2.3. 增加 NFS 存储

为了增加 NFS 存储的空间,您可以创建一个新的存储域,并把它添加到一个存在的数据中心中;或在 NFS 服务器上增加可用的存储空间。对于前一种方法,请参阅 第 7.2.2 节 “附加 NFS 存储”。以下介绍了如果在存在的 NFS 服务器上增加存储空间。

过程 7.1. 增加一个存在的 NFS 存储域

  1. 存储资源标签页并选择一个 NFS 数据存储域。
  2. 在详情框中,点数据中心标签页。点维护按钮把存储域设为维护模式。这会卸载存在的共享,从而可以重新调整存储域的大小。
  3. 在 NFS 服务器上重新调整存储的大小。对于 Red Hat Enterprise Linux 6 系统,请参阅 Red Hat Enterprise Linux 6 Storage Administration Guide。对于 Red Hat Enterprise Linux 7 系统,请参阅 Red Hat Enterprise Linux 7 Storage Administration Guide
  4. 在详情框中,点数据中心标签页,点激活按钮来挂载存储域。

7.3. 准备和添加本地存储

7.3.1. 准备本地存储

一个本地存储域可以在一个主机上进行设置。当您设置虚拟机来使用本地存储后,这个主机会被自动添加到一个其它主机无法添加到的新数据中心和集群中。因为多主机集群需要所有主机都可以访问相同的存储域,而本地存储无法做到这一点,所以使用本地存储的集群只可能包括一个主机,而在这个主机上运行的虚拟机将无法进行迁移、隔离和调度。如需了解更多与所需系统用户和组相关的信息,请参阅 附录 G, 系统账户

重要

在 Red Hat Virtualization Host(RHVH)上,本地存储使用的路径需要包括在 /var 目录中。根据以下步骤在 /var 中创建存储目录。

过程 7.2. 准备本地存储

  1. 在主机上,创建本地存储使用的目录。
    # mkdir -p /data/images
  2. 确保 vdsm 用户(UID 36)和 kvm 组(GID 36)有到这个目录的读和写权限。
    # chown 36:36 /data /data/images
    # chmod 0755 /data /data/images
您的本地存储现在可以被加入到 Red Hat Virtualization 环境中去了。

注意

您也可以在主机上挂载外部存储作为一个本地存储域。更多相关信息,请参阅 Red Hat Enterprise Linux Storage Administration Guide

7.3.2. 添加本地存储

主机上的本地存储已经被准备好,现在可以使用 Manager 来把它添加到主机上。
使用这个方式把本地存储添加到一个主机会把这个主机放到一个新的数据中心和集群中。“配置本地存储窗口”把创建数据中心、集群和存储集成在一个步骤中。

过程 7.3. 添加本地存储

  1. 主机资源标签页,在结果列表中选择主机。
  2. 维护打开维护主机确认窗口。
  3. 确定把存储域变为维护模式。
  4. 配置本地存储打开配置本地存储窗口。
    配置本地存储窗口

    图 7.2. 配置本地存储窗口

  5. 分别点数据中心集群存储旁的编辑来配置它们。
  6. 输入您的本地存储的路径。
  7. 如果需要,使用优化标签页为新的本地存储集群配置内存优化策略。
  8. 确定保存您所做的配置并关闭窗口。
您的主机将会出现在它自己的数据中心中。

7.4. 准备和添加 POSIX 兼容的文件系统存储

POSIX 文件系统允许您用命令行时使用的相同挂载选项来挂载文件系统。这个功能的目的是允许对未开放的使用 NFS、iSCSI 或 FCP 的存储的访问。
如果需要在 Red Hat Virtualization 中使用 POSIX 兼容的文件系统作为存储域,那些文件系统必须 支持 sparse 文件和 direct I/O。例如,Common Internet File System(CIFS)不支持 direct I/O,因此它和 Red Hat Virtualization 环境不兼容。

重要

不要通过创建 POSIX 文件系统存储域来挂载 NFS 存储。用户需要创建一个 NFS 存储域。

7.4.1. 附加 POSIX 兼容的文件系统存储

您希望将 POSIX 兼容文件系统作为存储域使用(无法通过 NFS、iSCSI 或 FCP 访问)。

过程 7.4. 附加 POSIX 兼容的文件系统存储

  1. 存储资源标签页列出现有的存储域。
  2. 新建域打开新建域窗口。
    POSIX 存储

    图 7.3. POSIX 存储

  3. 输入存储域的名称
  4. 选择存储域所在的数据中心。所选择的数据中心的类型必须是 POSIX (POSIX compliant FS),或者选择 (none)
  5. 域功能/存储类型下拉菜单里选择 Data / POSIX compliant FS
    如果适用,请从下拉菜单里选择格式
  6. 使用主机下列菜单里选择主机(只有所选数据中心里的主机才会被列出)。您所选择的主机将被用来连接存储域。
  7. 输入 POSIX 文件系统的路径(和您使用 mount 命令时输入的路径相同)。
  8. 输入 VFS 类型(和您使用 mount 命令时使用的 -t 参数相同)。使用 man mount 可以获得有效 VFS 类型的列表。
  9. 输入其他的挂载选项(和您使用 mount 命令时使用的 -o 参数相同)。挂载选项应该以用逗号隔开的列表形式提供。关于可用的挂载选项,请参考 man mount
  10. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  11. 确定附加新存储域并关闭窗口。

7.5. 准备和添加块存储

7.5.1. 准备 iSCSI 存储

使用以下步骤从运行 Red Hat Enterprise Linux 6 的服务器上导出一个 iSCSI 存储设备作为 Red Hat Virtualization. 的存储域。

过程 7.5. 准备 iSCSI 存储

  1. 在您的存储服务器上,以 root 用户身份使用 yum 命令安装 scsi-target-utils 软件包。
    # yum install -y scsi-target-utils
  2. 把您需要导出的设备或文件添加到 /etc/tgt/targets.conf 文件中。以下是一个 targets.conf 文件的实例:
    <target iqn.YEAR-MONTH.com.EXAMPLE:SERVER.targetX>
              backing-store /PATH/TO/DEVICE1 # Becomes LUN 1
              backing-store /PATH/TO/DEVICE2 # Becomes LUN 2
              backing-store /PATH/TO/DEVICE3 # Becomes LUN 3
    </target>
    目标(target)一般使用创建的年和月、服务器所在的反向全限定域名,服务器名和一个目标号来定义。
  3. 启动 tgtd 服务。
    # service tgtd start
  4. tgtd 服务设置为在系统启动时自动启动。
    # chkconfig tgtd on
  5. 打开 iptables 防火墙来允许客户访问您的 iSCSI 端口。默认情况下,iSCSI 使用端口 3260。下面的例子在 INPUT 表的 6 的位置上加了一条防火墙规则。
    # iptables -I INPUT 6 -p tcp --dport 3260 -j ACCEPT
  6. 保存您所加的 iptables 规则。
    # service iptables save
您创建了一个基本的 iSCSI 导出,并可以使用它作为一个 iSCSI 数据域。

7.5.2. 添加 iSCSI 存储

Red Hat Virtualization 平台支持 iSCSI。它通过一个由预先存在的 LUNs 组成的卷组来创建一个存储域。卷组和 LUNs 都不能被同时添加到多个存储域中。
如需了解更多关于在 Red Hat Enterprise Linux 上创建和配置 iSCSI 的信息,请参阅 Red Hat Enterprise Linux Storage Administration Guide 中的 Online Storage Management

过程 7.6. 添加 iSCSI 存储

  1. 存储资源标签页列出现有的存储域。
  2. 新建域打开新建域窗口。
  3. 为新存储域输入名称
    新 iSCSI 域

    图 7.4. 新 iSCSI 域

  4. 使用数据中心下拉菜单选择一个数据中心。
  5. 使用下拉菜单选择域功能存储类型。那些和所选域功能不兼容的存储域类型将无法使用。
  6. 使用主机项中选择一个活跃的主机。如果这不是数据中心的第一个数据域,您必须选择数据中心的 SPM 主机。

    重要

    所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。
  7. Red Hat Virtualization Manager 可以建立 iSCSI 目标到 LUNs 的映射,也可以建立 LUNsiSCSI 目标的映射。当 iSCSI 被选为存储类型时,新建域窗口会自动显示带有没有使用的 LUNs 的已知目标。如果您需要添加为存储的目标没有被显示,您可以使用目标查找功能(Target Discovery)来找到它,或执行下一步。

    iSCSI 目标查找(Target Discovery)

    1. Discover Targets 启用目标查找功能。当目标被找到并登录后,新建域窗口会自动显示那些还没有被环境所使用的 LUNs 目标。

      注意

      被外部使用的 LUNs 也会被显示。
      您可以使用 Discover Targets 选项来为多个目标添加 LUNs,或设置多个到相同 LUNs 的路径。
    2. 地址项中输入 iSCSI 主机的全局域名或 IP 地址。
    3. 端口项中输入浏览目标时连接到该主机的端口。默认值是 3260
    4. 如果使用了 Challenge Handshake Authentication Protocol(CHAP)来增加存储的安去性,请选择 User Authentication 选项。输入 CHAP user nameCHAP password

      注意

      现在,可以使用 REST API 为每个主机上的每个 iSCSI 目标指定身份信息。相关信息,请参阅 REST API Guide 中的 Defining Credentials to an iSCSI Target
    5. Discover 按钮。
    6. 在查找结果中选择要使用的目标后点 Login
      或者点 Login All 来登录到所有查找到的目标。

      重要

      如果需要多个路径访问,则需要通过所有需要的路径来发现并登录到目标。当前,还不支持通过添加路径来修改存储域。
  8. 点击所需目标旁边的 +按钮。此时会展开该条目,并显示所有附加到该目标但尚未使用的 LUNs
  9. 选择要被用来生成存储域的 LUN
  10. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  11. 确定创建存储域并关闭窗口。
如果您为同一个目标配置了多个存储连接路径,请根据 第 7.5.3 节 “配置 iSCSI 多路径” 的内容完成 iSCSI 绑定的操作。

7.5.3. 配置 iSCSI 多路径

iSCSI 多路径允许您创建并管理一组逻辑网络和 iSCSI 存储连接。通过在主机和 iSCSI 存储间配置多个网络路径,可以防止因为网络路径失败造成的主机下线问题的出现。在进行配置后,Manager 会通过与相同 iSCSI 绑定中的逻辑网络关联的 NIC/VLAN 连接到数据中心中的每个主机。您也可以指定哪些网络用于存储数据,而不是允许主机通过默认的网络进行路由。这个选项只有在最少已有一个 iSCSI 存储域被附加到数据中心后才在管理门户中有效。

先决条件

  • 已创建了一个 iSCSI 存储域,并发现和记录了到 iSCSI 目标的所有路径。
  • 创建了与 iSCSI 存储连接相绑定的 Non-Required 逻辑网络。您可以配置多个逻辑网络或绑定网络来实现故障转移功能。

过程 7.7. 配置 iSCSI 多路径

  1. 数据中心标签页并选择一个数据中心。
  2. 在详情框中点 iSCSI 多路径标签页。
  3. 添加
  4. 添加 iSCSI Bond 窗口中的名称描述项中输入绑定的相应值。
  5. 逻辑网络列表中选择用于绑定的网络。这个网络必须是 Non-Required 网络。

    注意

    要改变网络的 Required 设置,使用管理门户,选一个网络,点集群标签页,点管理网络按钮。
  6. 存储目标列表中选择访问存储域所要通过的网络。确定选择了到同一个目标的所有路径。
  7. 确定
数据中心中的所有主机会通过所选的逻辑网络连接到所选的 iSCSI 目标。

7.5.4. 添加 FCP 存储

Red Hat Virtualization 平台支持 SAN 存储。它通过一个由预先存在的 LUN 组成的卷组来创建一个存储域。卷组和 LUN 都不能被同时添加到多个存储域中。
为了配置存储局域网(SAN)存储,Red Hat Virtualization 系统管理员需要对 SAN 有一定的了解。SAN 通常在主机和共享外置存储间使用光纤通道协议(FCP),因此 SAN 有时也被称为 FCP 存储。
有关设置和配置 FCP 或为 Red Hat Enterprise Linux 配置多路径的详情,请参考 Storage Administration GuideDM Multipath Guide
以下介绍了把存在的 FCP 存储附加到 Red Hat Virtualization 环境中作为一个数据域的方法。如需了解更多与其它支持的存储类型相关的信息,请参阅 第 7 章 存储

过程 7.8. 添加 FCP 存储

  1. 存储资源标签页列出所有存储域。
  2. 新建域打开新建域窗口。
  3. 为存储域输入名称
    添加 FCP 存储

    图 7.5. 添加 FCP 存储

  4. 使用数据中心下拉菜单选择一个 FCP 数据中心。
    如果您的系统中没有合适的 FCP 数据中心,选择 (none)
  5. 使用下拉菜单选择域功能存储类型。那些和所选数据中心的类型不兼容的存储域类型将无法使用。
  6. 使用主机项中选择一个活跃的主机。如果这不是数据中心的第一个数据域,您必须选择数据中心的 SPM 主机。

    重要

    所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。
  7. Data / Fibre Channel 被选择为存储类型后,新建域窗口会自动显示带有未使用的 LUNs 的目标。选 LUN ID 选项来选择所有可用的 LUNs。
  8. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  9. 确定创建存储域并关闭窗口。
新的 FCP 数据域将在存储标签页中被显示。在准备的过程中,它的状态是 Locked,当准备完成后,它会被自动添加到数据中心中。

7.5.5. 增加 iSCSI 或 FCP 存储

有多种方法可以增加 iSCSI 或 FCP 存储的容量:
  • 创建一个带有新的 LUN 的新存储域并把它加入到已存在的数据中心中。详情请参阅 第 7.5.2 节 “添加 iSCSI 存储”.
  • 创建新的 LUN 并把它们加入到已存在的存储域中。
  • 通过重新调整 LUN 的大小来扩展存储域。
如需了解更多与在 Red Hat Enterprise Linux 6 系统上创建、配置、或重新调整 iSCSI 存储的信息,请参阅 Red Hat Enterprise Linux 6 Storage Administration Guide。对于 Red Hat Enterprise Linux 7 系统,请参阅 Red Hat Enterprise Linux 7 Storage Administration Guide
以下介绍了通过为一个存在的存储域添加新的 LUN 来扩展存储域网络(SAN)的方法。

过程 7.9. 增加存在的 iSCSI 或 FCP 存储域的空间

  1. 在SAN 中创建一个新的 LUN。
  2. 存储资源标签页并选择一个 iSCSI 或 FCP 域。
  3. 编辑
  4. 目标 > LUN,点发现目标按钮。
  5. 输入存储服务器的连接信息后点发现按钮来进行初始连接。
  6. LUN > 目标,选择新建的 LUN。
  7. 确定把 LUN 添加到所选的存储域中。
存储域的空间会被增加,增加的大小与所加入的 LUN 大小相同。
当通过调整 LUN 的大小来扩展存储域时,LUN 需要在 Red Hat Virtualization 管理门户中进行刷新。

过程 7.10. 刷新 LUN 的大小

  1. 存储资源标签页并选择一个 iSCSI 或 FCP 域。
  2. 编辑
  3. LUN > 目标
  4. 额外大小栏中,点刷新的 LUN 的添加 Additional_Storage_Size 按钮。
  5. 确定刷新 LUN 从而显示新的存储容量。

7.5.6. Red Hat Virtualization 环境无法使用的 LUN

在一些特定条件下,Red Hat Virtualization Manager 不允许用户使用 LUN 作为一个存储域或虚拟机硬盘。
  • 那些已经被作为 Red Hat Virtualization 环境一部分的 LUNs 将无法再被使用。
    Red Hat Virtualization 管理门户中无法使用的 LUNs

    图 7.6. Red Hat Virtualization 管理门户中无法使用的 LUNs

  • 那些已经被 SPM 主机使用的 LUN 会被显示为已经被使用。用户可以尝试强制覆盖这些 LUN 的内容,但系统无法保证这个操作可以成功完成。

7.6. 导入存在的存储域

7.6.1. 导入存在的存储域

除了可以添加没有数据的新存储域,也可以导入已存在的存储域来访问其中的数据。通过导入存储域,用户可以在 Manager 数据库出现问题时对数据进行恢复,也可以把数据从一个数据中心迁移到其它数据中心。
以下介绍了对不同存储域类型的导入:
数据
通过导入已存在的数据存储域,您就可以访问其中包括的虚拟机和模板。在导入存储域后,您需要手工把虚拟机、浮动磁盘镜像和模板导入到目标数据中心中。从数据域中导入虚拟机和模板的过程与从导出域中导入的过程相似。但是,因为数据存储域包括了特定数据中心中的所有虚拟机和模板,所以如果需要在不同数据中心或环境中恢复数据或进行大规模的数据恢复时,推荐使用导入数据存储域的方法。

重要

您可以导入兼容版本为 3.5 或更高的数据中心中的数据存储域。
ISO
导入一个存在的 ISO 存储域使您可以访问这个 ISO 存储域所包括的所有 ISO 文件和虚拟软盘。在导入存储域后,您不需要进行其它额外的操作就可以访问其中的资源,您可以根据需要把它们附加到虚拟机上。
输出
通过导入已存在的导出存储域,您就可以访问其中包括的虚拟机和模板。因为导出域被设计用来导出和导入虚拟机和模板,所以如果需要在一个数据中心或环境中迁移少量的虚拟机和模板,推荐使用导入导出存储域的方法。如需了解更多相关信息,请参阅虚拟机管理指南中的 Exporting and Importing Virtual Machines and Templates

注意

导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。

7.6.2. 导入存储域

导入一个以前被附加到某个数据中心中的存储域。这个过程假设这个存储域现在没有被附加到任何的数据中心中,这样可以防止出现破坏数据的情况。为了把一个已经存在的数据存储域导入并附加到一个数据中心,这个数据中心必须已经被初始化。

过程 7.11. 导入存储域

  1. 存储资源标签页。
  2. 导入域
    “导入预配置的域”窗口

    图 7.7. “导入预配置的域”窗口

  3. 数据中心下拉列表中选择存储域要被附加到的数据中心。
  4. 为存储域输入一个名称。
  5. 从相关的下拉列表中选择域功能存储类型
  6. 使用主机下拉列表中选择一个主机。

    重要

    所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。
  7. 输入存储域的详情信息。

    注意

    用来设置存储域详情的项会根据您在域功能 / 存储类型列表中所做的不同选择而有所不同。这些选项和添加一个新存储域时所使用的选项相同。如需了解更多相关信息,请参阅 第 7.1 节 “存储域介绍”
  8. 选择在数据中心中激活域选项。如果选择了这个选项,存储域被附加到所选的数据中心后会被自动激活。
  9. 确定
存储域被导入,并在存储标签页中显示。现在,您可以把虚拟机和模板从存储域导入到数据中心。

7.6.3. 在同一个环境的数据中心间迁移存储域

把存储域从同一个 Red Hat Virtualization 环境中的一个数据中心迁移到另外一个数据中心可以使目标数据中心访问包括在这个存储域中的数据。迁移过程包括把存储域从一个数据中心中分离,再把它附加到另外一个环境中。

过程 7.12. 在同一个环境的数据中心间迁移存储域

  1. 关闭在存储域上运行的所有虚拟机。
  2. 存储标签页,在结果列表中选择一个存储域。
  3. 在详情框中选数据中心标签页。
  4. 维护并点确定把存储域设置为维护模式。
  5. 取消附加并点确定把存储域从源数据中心中删除。
  6. 附加
  7. 选择新的数据中心并点确定
存储域被附加到新的数据中心,并被自动激活。您可以从导入的存储域中把虚拟机和模板导入到新环境中的数据中心中。

7.6.4. 在不同环境内的数据中心间迁移存储域

把存储域从一个 Red Hat Virtualization 环境迁移到另外一个环境中可以使目标环境访问包括在这个存储域中的数据。迁移过程包括把存储域从一个 Red Hat Virtualization 环境中删除,再把它导入到另外一个环境中。要把一个存在的数据存储域导入并附加到一个 Red Hat Virtualization 数据中心中,这个数据域的源数据中心的兼容级别需要是3.5 或更高。

过程 7.13. 在不同环境内的数据中心间迁移存储域

  1. 登录到源环境中的管理门户。
  2. 关闭在存储域上运行的所有虚拟机。
  3. 存储标签页,在结果列表中选择一个存储域。
  4. 在详情框中选数据中心标签页。
  5. 维护并点确定把存储域设置为维护模式。
  6. 取消附加并点确定把存储域从源数据中心中删除。
  7. 删除
  8. 确定在删除存储窗口中选择了 Format Domain, i.e. Storage Content will be lost!。这个操作会保留数据域中的数据以供以后使用。
  9. 确定从源环境中删除存储域。
  10. 登录到目标环境中的管理门户。
  11. 存储资源标签页。
  12. 导入域
    “导入预配置的域”窗口

    图 7.8. “导入预配置的域”窗口

  13. 数据中心下拉列表中选择存储域要被附加到的数据中心。
  14. 为存储域输入一个名称。
  15. 从相关的下拉列表中选择域功能存储类型
  16. 使用主机下拉列表中选择一个主机。
  17. 输入存储域的详情信息。

    注意

    用来设置存储域详情的项会根据您在存储类型列表中所做的不同选择而有所不同。这些选项和添加一个新存储域时所使用的选项相同。如需了解更多相关信息,请参阅 第 7.1 节 “存储域介绍”
  18. 选择在数据中心中激活域选项,这会在附加时自动激活存储域。
  19. 确定
存储域被附加到新 Red Hat Virtualization 环境中的数据中心,并被自动激活。您可以从导入的存储域中把虚拟机和模板导入到新环境中的数据中心中。

7.6.5. 从导入的数据存储域中导入虚拟机

从导入的数据存储域中把虚拟机导入到您的 Red Hat Virtualization 环境中。这个过程假设导入的数据存储域已经被附加到一个数据中心中,并已被激活。

过程 7.14. 从一个导入的数据存储域中导入虚拟机

  1. 存储资源标签页。
  2. 点导入的数据存储域。
  3. 在详情框中点 VM 导入标签页。
  4. 选择要导入的虚拟机。
  5. 导入
  6. 集群列表中选择虚拟机要被导入的集群。
  7. 确定
您把一个或多个虚拟机导入到您的环境中。导入的虚拟机将不再会出现在 VM 导入标签页中。

7.6.6. 从导入的数据存储域中导入模板

从导入的数据存储域中把模板导入到您的 Red Hat Virtualization 环境中。这个过程假设导入的数据存储域已经被附加到一个数据中心中,并已被激活。

过程 7.15. 从导入的数据存储域中导入模板

  1. 存储资源标签页。
  2. 点导入的数据存储域。
  3. 在详情框中点 模板导入标签页。
  4. 选择要导入的模板。
  5. 导入
  6. 集群列表中选择模板要被导入的集群。
  7. 确定
您把一个或多个模板导入到您的环境中。导入的模板将不再会出现在 模板导入标签页中。

7.6.7. 从导入的存储域中导入一个磁盘镜像

使用详情框中的磁盘导入标签页从一个导入的存储域中导入浮动虚拟磁盘。

注意

只有与 QEMU 兼容的磁盘才可以导入到 Manager。

过程 7.16. 导入一个磁盘镜像

  1. 选择已被导入到数据中心中的一个存储域。
  2. 在详情框中,点磁盘导入
  3. 选择一个或多个磁盘,点导入打开导入磁盘窗口。
  4. 为每个磁盘选择相关的磁盘配置集
  5. 确定导入所选的磁盘。

7.6.8. 从导入的存储域中导入一个未注册的磁盘镜像

使用详情框中的磁盘导入标签页从一个存储域中导入浮动虚拟磁盘。在 Red Hat Virtualization 环境外创建的浮动磁盘没有在 Manager 中注册。对存储域进行扫描来找出要导入的、没有注册的浮动磁盘。

注意

只有与 QEMU 兼容的磁盘才可以导入到 Manager。

过程 7.17. 导入一个磁盘镜像

  1. 选择已被导入到数据中心中的一个存储域。
  2. 在存储域上点鼠标右键,选扫描磁盘来让 Manager 找出没有注册的磁盘。
  3. 在详情框中,点磁盘导入
  4. 选择一个或多个磁盘,点导入打开导入磁盘窗口。
  5. 为每个磁盘选择相关的磁盘配置集
  6. 确定导入所选的磁盘。

7.7. 存储任务

7.7.1. 生成 ISO 存储域数据

在一个 ISO 存储域被添加到一个数据中心后,ISO 数据镜像必须被上传到存储域中。Red Hat Virtualization 提供了一个 ISO 上传工具,使用它可以确保数据镜像被上传到正确的目录,并具有正确的用户权限。
从物理介质创建 ISO 镜像的相关信息没有包括在本文档中。本文档假设您已经有了所需要的镜像文件。

过程 7.18. 生成 ISO 存储域数据

  1. 把所需的 ISO 镜像复制到运行 Red Hat Virtualization Manager 的系统的临时目录中。
  2. 使用 root 用户帐号登录到运行 Red Hat Virtualization Manager 的系统上。
  3. 使用 engine-iso-uploader 命令上传 ISO 镜像。这个操作可能需要一些时间才能完成,所需的具体时间取决于镜像文件的大小以及上传镜像所使用的网络带宽。

    例 7.1. ISO Uploader 的使用

    在这个例子中,我们把 ISO 镜像 RHEL6.iso 通过 NFS 上传到名为 ISODomainISO 域上。这个命令会提示用户输入管理员的用户名和密码。用户名的格式必须是 user name@domain
    # engine-iso-uploader --iso-domain=ISODomain upload RHEL6.iso
ISO 镜像被上传到指定的 ISO 存储域中。另外,当在这个存储域所在的数据中心中创建虚拟机时,这个镜像会出现在可用的启动媒介列表中。

7.7.2. 把存储域设为维护模式

在分离(detach)和删除存储域时,存储域需要处于维护模式。这时需要使用另外一个数据域作为主数据域。
通过添加更多 LUN 来扩展 iSCSI 域的操作只能在存储域处于活跃状态时才可以进行。

过程 7.19. 把存储域设为维护模式

  1. 关闭在存储域上运行的所有虚拟机。
  2. 存储资源标签页并选择一个存储域。
  3. 点详情框中的数据中心标签页。
  4. 维护打开存储域维护确认窗口。
  5. 确认来启用维护模式。这个存储域变为维护模式,并在结果列表中显示为处于 Inactive 状态。
您现在可以从数据中心中编辑、删除、或重新激活处于维护模式的存储域。

注意

您也可以在这个存储域所在的数据中心的详情框中,使用存储标签页来激活存储域、分离存储域或把存储域设为维护模式。

7.7.3. 编辑存储域

您可以通过管理门户编辑存储域的参数。取决于存储域所处的状态(“活跃”或“不活跃”),不同的项可以被编辑。数据中心域功能存储类型格式 等项不能被编辑。
  • 活跃:当存储域处于活跃状态时,名称描述备注警告级低存储空间 (%)严重的空间操作限制值 (GB)删除后清理项可以被编辑。其中的名称项只能在存储域处于活跃状态时被编辑,而其它项可以在存储域是不活跃的状态下编辑。
  • 不活跃:当存储域处于维护模式,或没有被附加时,它被认为处于非活跃状态。此时您可以编辑除名称数据中心域功能存储类型格式以外的所有项。存储连接、挂载选项和其它高级参数只能在存储域是不活跃的状态下进行编辑。这只对 NFS、POSIX 和本地存储类型有效。

    注意

    iSCSI 存储连接不能通过管理门户编辑,您需要使用 REST API。请参阅 REST API 指南中的 Updating an iSCSI Storage Connection

过程 7.20. 编辑一个活跃的存储域

  1. 存储标签页并选择一个存储域。
  2. 编辑
  3. 根据需要编辑相关项。
  4. 确定

过程 7.21. 编辑一个 不活跃的存储域

  1. 存储标签页并选择一个存储域。
  2. 如果存储域是活跃的,点详情框中的数据中心标签页,然后点维护
  3. 编辑
  4. 根据需要编辑存储路径和其它信息。新的连接需要和原始的连接有相同的存储类型。
  5. 确定
  6. 在详情框中选数据中心标签页,点激活

7.7.4. 把存储域从维护状态激活

如果您对存储域进行了修改,您的存储域应该处于“维护”状态,您需要激活一个存储域后才可以重新使用它。
  1. 存储标签页,在结果列表中选择一个不活跃的存储域。
  2. 点详情框中的数据中心标签页。
  3. 选相应的存储域并点激活

    重要

    如果您试图在激活数据域前激活 ISO 域,系统会出现一个错误信息,域也不会被激活。

7.7.5. 删除一个存储域

您想从您的虚拟环境中删除一个存储域。

过程 7.22. 删除一个存储域

  1. 存储标签页,在结果列表中选择一个存储域。
  2. 把存储域设置为维护模式。
  3. 把这个存储域从数据中心中分离。
  4. 删除打开删除存储确认窗口。
  5. 从类表中选择一个主机。
  6. 确定删除存储域并关闭窗口。
存储域被永久从虚拟环境中删除。

7.7.6. 销毁(destroy)一个存储域

当一个存储域存在问题的时候,可能无法通过正常的方法来删除这个存储域。销毁(destroy)存储域的操作可以在不需要使用输出目录的情况下强行从虚拟环境中删除一个存储域。
当一个存储域被销毁后,您需要手动修改存储域的导出目录。

过程 7.23. 销毁(destroy)一个存储域

  1. 使用存储资源标签页、树形模式或搜索功能来找到并选择存储域。
  2. 在存储域上点鼠标右键,选择销毁打开销毁存储域确认窗口。
  3. 选择批准操作并点确定来销毁存储域并关闭窗口。
存储域被销毁。您需要手动编辑它的导出目录才能重新使用它。

7.7.7. 从数据中心中分离一个存储域

从数据中心中分离一个存储域来把虚拟机和模板迁移到另外一个数据中心中。

过程 7.24. 从数据中心中分离一个存储域

  1. 存储标签页,在结果列表中选择一个存储域。
  2. 在详情框中选数据中心标签页并选择存储域。
  3. 维护打开维护存储域确认窗口。
  4. 确定把存储域变为维护模式。
  5. 分离打开分离存储确认窗口。
  6. 确定分离存储域。
存储域被从数据中心中分离,并可以被附加到另一个数据中心中。

7.7.8. 为数据中心附加一个存储域

为数据中心附加一个存储域。

过程 7.25. 为数据中心附加一个存储域

  1. 存储标签页,在结果列表中选择一个存储域。
  2. 点详情框中的数据中心标签页。
  3. 附加打开附加到数据中心窗口。
  4. 选择相应的数据中心。
  5. 确定附加存储域。
存储域被附加到数据中心,并被自动激活。

7.7.9. 磁盘配置集

磁盘配置集定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。磁盘配置集是基于数据中心中的存储配置集而创建的,它必须被手动分配给独立的虚拟磁盘后才有效。

7.7.9.1. 创建一个磁盘配置集

创建一个磁盘配置集。这个步骤假设您已经为存储域所在的数据中心定义了一个或多个存储服务质量。

过程 7.26. 创建一个磁盘配置集

  1. 存储资源标签页并选择一个数据存储域。
  2. 在详情框中点磁盘配置集子标签页。
  3. 新建
  4. 名称项中输入磁盘配置集的名称。
  5. 描述项中输入磁盘配置集的描述信息。
  6. QoS 列表中选择应用磁盘配置集的服务质量。
  7. 确定
您已经创建了一个磁盘配置集,它可以在数据存储域中的新虚拟磁盘上应用。

7.7.9.2. 删除一个磁盘配置集

从 Red Hat Virtualization 环境中删除一个磁盘配置集。

过程 7.27. 删除一个磁盘配置集

  1. 存储资源标签页并选择一个数据存储域。
  2. 在详情框中点磁盘配置集子标签页。
  3. 选择需要被删除的磁盘配置集。
  4. 删除
  5. OK
您已经删除了一个磁盘配置集,这个被删除的磁盘配置集将不再有效。如果磁盘配置集已经分配给其它虚拟磁盘,它将会从这些虚拟磁盘上删除。

7.7.10. 查看一个存储域的健康状态

除了常规的状态信息外,存储域还包括一个外部的健康状态。它由插件或外部系统提供,或由管理员进行设置,并出现在存储域的名称左面。它以以下图标之一显示:
  • OK:没有特殊图标
  • Info:
  • Warning:
  • Error:
  • Failure:
如需查看存储域健康状态的更多信息,选择存储域并点事件子标签页。
存储域的健康状态也可以通过 REST API 获得。对存储域的一个 GET 请求会包括 external_status 项,它包括了健康状态信息。
您可以通过在 REST API 中使用 events 集合设置存储域的健康状态。相关信息,请参阅 REST API 指南中的 Adding Events

7.8. 存储权限

7.8.1. 为一个存储域管理系统权限

作为 SuperUser,系统管理员需要管理管理门户的各个方面。对于其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的管理员只有对被分配给他的数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有对被分配的集群有管理权限。
一个存储管理员只对特定的存储域有管理员的权限。这一点对于有多个存储域的数据中心环境非常重要,因为每个存储域都需要有一个系统管理员。使用页头中的配置键来为系统中的所有存储域分配一个存储管理员。
存储域管理员可以进行以下操作:
  • 编辑存储域的配置。
  • 把存储域设置为维护模式。
  • 删除存储域。

注意

您只能对已经存在的用户分配角色和权限。
如果需要更改一个存储域管理员,您需要删除当前的管理员,然后再添加一个新的管理员。

7.8.2. 存储管理员角色介绍

存储域权限角色
下表介绍了与存储域管理相关的管理员角色和权限。

表 7.1. Red Hat Virtualization 系统管理员角色

角色权利注记
StorageAdmin存储管理员(Storage Administrator)可以创建、删除、配置和管理一个特定的存储域。
GlusterAdminGluster 存储管理员(Gluster Storage Administrator)可以创建、删除、配置和管理 Gluster 存储卷。

7.8.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 7.28. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

7.8.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 7.29. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

第 8 章 使用 Red Hat Gluster Storage

8.1. Red Hat Gluster Storage 节点

8.1.1. 添加 Red Hat Gluster Storage 节点

把 Red Hat Gluster Storage 节点添加到启用了 Gluster 的集群中,并在您的 Red Hat Virtualization 环境中同时使用 GlusterFS 卷和数据块。
以下步骤假设您已经有了一个启用了 Gluster、并有正确的兼容版本的集群;并且您的 Red Hat Storage 节点也已经被设置。如需了解更多与设置 Red Hat Gluster Storage 节点相关的信息,请参阅 Red Hat Gluster Storage Installation Guide。如需了解兼容性的信息,请参阅 Red Hat Gluster Storage Version Compatibility and Support

过程 8.1. 添加一个 Red Hat Gluster Storage 节点

  1. 主机资源页显示主机列表。
  2. 新建打开新建主机窗口。
  3. 使用下拉菜单为 Red Hat Gluster Storage 节点选择数据中心主机集群
  4. 输入 Red Hat Gluster Storage 节点的名称地址SSH 端口值。
  5. 选择使用这个 Red Hat Gluster Storage 节点的身份验证机制。
    • 输入 root 用户的密码。
    • SSH PublicKey 项中的密钥复制到 Red Hat Gluster Storage 节点的 /root/.ssh/authorized_keys 文件中来使用公共密钥进行验证。
  6. 确定添加节点并关闭窗口。
您在 Red Hat Virtualization 环境中添加了一个 Red Hat Gluster Storage 节点。您可以在您的环境中使用它的卷和数据块资源。

8.1.2. 删除一个 Red Hat Gluster Storage 节点

从 Red Hat Virtualization 环境中删除一个 Red Hat Gluster Storage 节点。

过程 8.2. 删除一个 Red Hat Gluster Storage 节点

  1. 使用主机资源标签页、树形模式或搜索功能来找到并选择 Red Hat Gluster Storage 节点。
  2. 维护打开维护主机确认窗口。
  3. 确定把主机变为维护模式。
  4. 删除打开删除主机确认窗口。
  5. 如果 Red Hat Storage 节点上有磁盘卷块时,或存储节点没有响应时,使用强制删除选项来强制删除 Red Hat Storage 节点。
  6. 确定删除 Red Hat Storage 节点并关闭窗口。
Red Hat Gluster Storage 节点被从系统中删除,并不会再出现在主机标签页中。

8.2. 使用 Red Hat Gluster Storage 作为存储域

8.2.1. Red Hat Gluster Storage(GlusterFS)卷介绍

Red Hat Gluster Storage 卷把多个 Red Hat Gluster Storage 服务器上的存储资源集合在一起作为一个单独的全局命名空间。一个卷由多个数据块(brick)组成,每个数据块是在信任的存储池中的一个 Red Hat Gluster Storage 服务器的一个挂载点或目录。
大多数 Red Hat Gluster Storage 的管理操作都发生在卷上。
您可以使用管理门户创建并启用新卷。您可以通过标签页来监测 Red Hat Gluster Storage 集群上的卷。
卷可以通过管理门户进行创建和管理,数据块(brick)必须在相应的 Red Hat Gluster Storage 节点上创建,然后才能通过管理门户把它们添加到卷上。

8.2.2. Gluster 存储术语

表 8.1. 数据中心属性

术语
定义
数据块(Brick)
数据块(brick)是 GlusterFS 的基本存储单元。一个数据块是通过一个服务器和一个输出目录以以下格式所代表的:
SERVER:EXPORT
例如:
myhostname:/exports/myexportdir/
块存储(Block Storage)
块文件或块设备是指那些使用块的形式来处理数据的设备。这些设备通常代表了那些可访问的设备,如硬盘、CD-ROM 驱动器和存储区域。Red Hat Gluster Storage 支持带有扩展属性的 XFS 文件系统。
集群
由多个相互连接的计算机组成的一个信任的池,通常我们可以把它看作为一个单一的计算机。在 Red Hat Gluster Storage 环境中,我们把集群称为信任的存储池(trusted storage pool)。
客户端(Client)
加载卷的机器(可以是服务器)
分布式文件系统(Distributed File System)
一个文件系统,它允许多个客户端同时访问分布在一个信任的存储池中的多个服务器/数据块(brick)中的数据。所有分布式文件系统的基础就是在多个不同的位置共享数据。
异地备份(Geo-Replication)
异地备份(Geo-Replication)是一个可以通过局域网(LAN)、广域网(WAN)和互联网为不同的区域进行持续的、异步的、增量的备份操作的备份服务。
glusterd
Gluster 管理守护进程,它需要在信任的存储池中的所有服务器上运行。
元数据(metadata)
元数据是代表一个或多个数据的信息的数据。
N-way Replication
本地同步数据复制通常部署在多个园区或 Amazon Web Services Availability Zones 中。
命名空间(Namespace)
命名空间就是一个抽象的容器或环境,它被创建来保存一个包括了一组唯一的标识符或符号的逻辑组。每个 Red Hat Gluster Storage 信任的存储池都会提供一个单一的命名空间作为 POSIX 的挂载点,它包括了这个信任存储池中的所有文件。
POSIX
Portable Operating System Interface (for Unix) 是由 IEEE 定义的一组相关的标准,它包括了应用程序编程接口(API)、以及与不同的 UNIX 操作系统兼容的 shell 和工具程序。Red Hat Gluster Storage 会输出一个与 POSIX 完全兼容的文件系统。
RAID
Redundant Array of Inexpensive Disks (RAID) 是一个通过使用冗余来提高存储的可靠性的技术。它会把多个低成本、较低可靠性的磁盘组建为一个单一的逻辑单元。
RRDNS
Round Robin Domain Name Service (RRDNS) 是一个在多个应用服务器间分配负载的方法。RRDNS 在 DNS 服务器的 zone 文件中创建多个有相同名称和不同 IP 地址的 A 记录。
服务器
用来保持实际数据的文件系统所在的机器(虚拟机或物理机器)。
Scale-Up Storage
单方面增加存储设备的能力。如为一个信任的存储池中的一个单一的计算机增加它的磁盘空间。
Scale-Out Storage
多方面增加存储设备的能力。如为一个信任的存储池添加一个服务器来为这个信任的存储域中的整个环境增加 CPU 和磁盘空间。
Subvolume
子卷(subvolume)是被最少一个 translator 处理过的一个数据块(brick)
Translator
translator 连接到一个或多个 subvolumes,进行一些操作,并提供一个 subvolume 连接。
Trusted Storage Pool(信任的存储池)
一个存储池就是一组信任的存储服务器。当您开始使用第一个服务器时,存储池只包括那一个服务器。
User Space(用户空间)
在用户空间中运行的应用程序不会直接访问硬件,它会通过内核来进行处理。在通常情况下,用户空间的应用程序比内核空间的应用程序有更好的可移植性。Gluster 是一个用户空间的应用程序。
Virtual File System (VFS)
VFS 是一个内核软件层,用来处理与标准的 Linux 文件系统相关的系统调用。它为不同的文件系统提供了一个通用的接口。
Volume File(卷文件)
卷文件是一个被 glusterfs 进程使用的配置文件,它通常位于 /var/lib/glusterd/vols/VOLNAME
Volume(卷)
卷就是一个包括了多个数据块(brick)的逻辑组。多数的 Gluster 管理操作都是针对于卷进行的。

8.2.3. 附加一个 Red Hat Gluster 存储卷作为存储域

为 Red Hat Virtualization Manager 添加一个 Red Hat Gluster 存储卷来直接作为存储域使用。这与添加一个 Red Hat Storage Gluster 节点不同,当添加 Red Hat Storage Gluster 节点时,可以在 Red Hat Virtualization Manager 内控制卷和数据块(brick),而添加 Red Hat Gluster 存储卷来直接作为存储域使用则不需要一个启用了 Gluster 的集群。
为了可以挂载卷,主机需要安装 glusterfsglusterfs-fuseglusterfs-cli 软件包。glusterfs-cli 软件包可以通过客户门户网站中的 rh-common-rpms 频道获得。
如需了解更多与设置 Red Hat Gluster Storage 节点相关的信息,请参阅 Red Hat Gluster Storage Installation Guide。如需了解准备一个主机来使用 Red Hat Storage Gluster 卷的信息,请参阅 Configuring Red Hat Virtualization with Red Hat Gluster Storage Guide。如需了解与兼容相关的信息,请参阅 Red Hat Gluster Storage Version Compatibility and Support

过程 8.3. 添加一个 Red Hat Gluster 存储卷作为存储域

  1. 存储资源标签页列出现有的存储域。
  2. 新建域打开新建域窗口。
    Red Hat Gluster Storage

    图 8.1. Red Hat Gluster Storage

  3. 输入存储域的名称
  4. 选择与存储域相关联的数据中心
  5. 域功能下拉列表中选择数据
  6. 存储类型下拉菜单中选择 GlusterFS
  7. 使用主机下拉菜单列表中选择一个主机。只有在所选数据中心中的主机会被列出。只有在安装了 glusterfsglusterfs-fuse 软件包后才可以挂载卷。
  8. 路径项中输入 Red Hat Gluster Storage 服务器的 IP 地址或 FQDN,以及卷名(以一个冒号分隔)。
  9. 输入其它的挂载选项(和您使用 mount 命令时使用的 -o 参数相同)。挂载选项应该以用逗号隔开的列表形式提供。关于可用的挂载选项,请参考 man mount
  10. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  11. 确定挂载卷来作为存储域并关闭窗口。

8.2.4. 创建一个存储卷

您可以使用管理门户创建新的卷。在创建新的卷时,必须指定组成这个新卷的数据块(brick)并指定这个卷是分布存储(distributed),还是镜像存储(replicated)或是条带存储(striped)。
在把数据块添加到卷前,必须先创建数据块目录或挂载点。

重要

当把从不同主机上输出的数据块组成一个卷的时候,我们推荐使用镜像存储卷。它会把由不同主机上的数据块中的文件所构成的卷做一个镜像,这样当某个主机被隔离时,数据不会丢失。

过程 8.4. 创建一个存储卷

  1. 资源标签页列出现有的卷。
  2. 新建打开新建卷窗口。
  3. 使用下拉菜单选择数据中心卷集群
  4. 输入卷的名称
  5. 使用下拉菜单选择卷的类型
  6. 如果需要,选择相应的传输类型
  7. Add Bricks 来选择要加到卷中的数据块。brick 需要在外部的 Red Hat Gluster Storage 节点上创建。
  8. 使用 GlusterNFSCIFS 选项指定卷所使用的访问协议。
  9. 允许访问项中输入这个卷的访问控制列表(以逗号分隔的 IP 地址或主机名)。
    您可以在 IP 地址和主机名中使用 * 通配符。
  10. 使用为 Virt 库进行优化选项设置参数来优化虚拟机的卷。如果您需要使用这个卷作为一个存储域,您应该选择这个选项。
  11. 确定创建卷。新的卷被添加并在标签页中显示。
您添加了一个新的 Red Hat Gluster Storage 卷,并可以开始使用它了。

8.2.5. 为卷添加数据块(brick)

介绍
您可以通过添加新的数据块来扩充卷的容量。如果使用分布卷,则需要最少添加一个数据块;如果使用镜像卷,则需要添加偶数个数据块(最少 2 个);如果使用条带卷,则需要添加的数据块的数量必须是 4 的倍数(最少 4 个)。

过程 8.5. 为卷添加数据块(brick)

  1. 标签页中选择需要添加数据块的卷。
  2. 在详情框中点 Bricks 标签页。
  3. 添加 Bricks 打开添加 Bricks 窗口。
  4. 使用主机下拉菜单选择数据块所在的服务器。
  5. 输入 Brick 目录的路径。这个目录必须已经存在。
  6. 添加。数据块会出现在卷的数据块列表中,并包括了数据块所在的服务器地址和数据块的目录名。
  7. 确定
结果
新的数据块被添加到卷中,并出现在卷的 Bricks 标签页中。

8.2.6. 添加数据块窗口中的设置介绍

表 8.2. 添加数据块页属性

描述
卷类型(Volume Type)
显示卷的类型。这个项不能被改变,它在创建的时候被设置。
服务器(Server)
数据块所在的服务器。
数据块目录(Brick Directory)
数据块目录或挂载点。

8.2.7. 为存储虚拟机镜像优化 Red Hat Gluster Storage 卷

使用管理门户为存储虚拟机镜像优化 Red Hat Gluster Storage 卷。
Manager 为卷设置了一组与虚拟化相关的特殊参数。这些参数被用来优化存储虚拟机镜像的卷。
要为存储虚拟机镜像进行卷优化,可以在创建卷时选择为 Virt 库进行优化选项,也可以在创建后使用标签页中的为 Virt 库进行优化选项。

重要

如果一个卷在 3 个或更多个节点上进行复制,请对它为虚拟存储进行优化来保持它在不同节点间的一致性。
另外一个方法是访问 Red Hat Gluster Storage 节点中的一个,并把卷组设置为 virt。这会把 cluster.quorum-type 参数设置为 auto,把 cluster.server-quorum-type 参数设为 server
# gluster volume set VOLUME_NAME group virt
通过列出卷信息来验证卷的状态:
# gluster volume info VOLUME_NAME

8.2.8. 启动卷

介绍
当一个卷被创建后,或卷被停用后,用户需要启动它后才能使用这个卷。

过程 8.6. 启动卷

  1. 标签页中,选择要启动的卷。
    您可以使用 ShiftCtrl 键来选择多个卷进行启动。
  2. 启动键。
卷的状态变为 Up
结果
您现在可以使用这个卷作为虚拟机存储了。

8.2.9. 调整卷

介绍
通过调整卷可以改变它们的性能。您可以通过为卷添加选项来调整它们。

过程 8.7. 调整卷

  1. 标签页。
    卷列表被显示。
  2. 选择您需要调整的卷,从详情框中选卷选项标签页。
    卷选项页显示了这个卷的选项列表。
  3. 添加设置选择。添加选项对话框会被显示。从下拉菜单中选择“选择键”并输入所需的值。
  4. 确定
    选择被设置,并在卷选项标签页中显示。
结果
您调整了您的存储卷。

8.2.10. 编辑卷的选项

介绍
在添加了卷选项后,您就可以对它们进行编辑。

过程 8.8. 编辑卷的选项

  1. 标签页。
    卷列表被显示。
  2. 选择您需要编辑的卷,从详情框中选卷选项标签页。
    卷选项标签页显示了这个卷的选项列表。
  3. 选择您需要编辑的选项,点编辑编辑选项对话框被打开,为这个选项输入一个新值。
  4. 确定
    您所编辑的选项值在卷选项标签页中被显示。
结果
您改变了卷的选项值。

8.2.11. 卷选项重置

介绍
您可以重置卷选项来把它们恢复到默认的值。
  1. 标签页。
    卷列表被显示。
  2. 选择您需要编辑的卷,从详情框中选卷选项标签页。
    卷选项页显示了这个卷的选项列表。
  3. 选择您需要重置的选项,点重置。一个对话框会出现,让用户确认要重置这个选项。
  4. 确定
    所选的选项值被重置。

注意

您可以使用重置所有选项键来重置所有的卷选项。一个对话窗口会出现,让您确认重置的选项。点确定,卷的所有选项被重置为默认的值。
结果
您把卷选项重置为默认的值。

8.2.12. 从一个卷中删除数据块

介绍
如果需要,您可以在集群在线时减小卷的容量。例如,因为硬件或网络的问题,您需要把一个无法访问的卷从一个分布式卷中删除。

过程 8.9. 从一个卷中删除数据块

  1. 标签页中选择需要删除数据块的卷。
  2. 在详情框中点 Bricks 标签页。
  3. 选择需要被删除的数据块,点删除 Bricks
  4. 确认窗口会出现,点确定
结果
数据块被从卷中删除。

8.2.13. 停止 Red Hat Gluster Storage 卷

在卷被启动后,它可以被停止。

过程 8.10. 停止卷

  1. 标签页中,选择要停止的卷。
    您可以使用 ShiftCtrl 键来选择停止多个卷。
  2. 停止

8.2.14. 删除 Red Hat Gluster Storage 卷

您可以从集群中删除一个或多个卷。
  1. 标签页中,选择要删除的卷。
  2. 删除。一个删除确认窗口会出现。点确定

8.2.15. 重新平衡(Rebalancing)卷

介绍
如果一个卷通过添加或删除数据块扩大或缩小了它的容量,卷上的数据需要在服务器上进行重新平衡。

过程 8.11. 重新平衡一个卷。

  1. 标签页。
    卷列表被显示。
  2. 选择需要重新平衡的卷。
  3. Rebalance
结果
选择的卷被重新平衡。

8.3. 集群和 Gluster Hook

8.3.1. 管理 Gluster Hook

Gluster hook 是卷的扩展。您可以通过 Manager 来管理 Gluster hook。如果 hook 的内容类型是文本,您可以直接查看它的内容。
通过 Manager,您可以执行以下操作:
  • 查看主机上可用的 hook。
  • 查看 hook 的内容和状态。
  • 启用或禁用 hook。
  • 解决 hook 的冲突。

8.3.2. 列出 hook

介绍
列出您的环境中的 Gluster hook。

过程 8.12. 列出 hook

  1. 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 子标签页在详情框中列出 hook。
结果
列出您的环境中的 Gluster hook。

8.3.3. 查看 hook 的内容

介绍
查看您的环境中的 hook 的内容。

过程 8.13. 查看一个 hook 的内容

  1. 使用集群资源页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 子标签页在详情框中列出 hook。
  3. 选择内容类型是文本的 hook,点查看内容打开 Hook 内容窗口。
结果
您查看了您的环境中的一个 hook 的内容。

8.3.4. 启用或禁用 hook

介绍
切换启用或禁用 Gluster hook。

过程 8.14. 启用或禁用一个 hook。

  1. 使用集群资源页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 子标签页在详情框中列出 hook。
  3. 选择一个 hook,点启用禁用键。这个 hook 会在集群的所有节点上被启用或被禁用。
结果
您在您的环境中启用或禁用了一个 Gluster hook。

8.3.5. 刷新 hook

介绍
在默认条件下,Manager 会每个小时运行一个程序来检查集群中所有服务器上所安装的 hook 的状态。您也可以点同步键手动刷新 hook。

过程 8.15. 刷新一个 hook

  1. 使用集群资源页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 子标签页在详情框中列出 hook。
  3. 同步键。
结果
hook 被同步,并在详情框中显示最新的结果。

8.3.6. 解决冲突

hook 在集群页中的 Gluster Hooks 子页中被显示。那些有冲突的 hook 会被一个感叹号标注。这意味着这个 hook 的内容或状态在不同的服务器上不一致;或在一个或多个服务器上缺少这个 hook 的脚本。服务器上的 hook 会定期和引擎数据库进行同步,不同服务器上的 hook 可能会出现以下冲突:
  • 内容冲突 - 相同 hook 的内容在不同服务器上不一致。
  • 丢失冲突 - 一个或多个服务器上没有这个 hook。
  • 状态冲突 - 同一个 hook 的状态在不同服务器上不一致。
  • 多重冲突 - 一个 hook 有以上提到的两个或两个以上的冲突。

8.3.7. 解决内容冲突

介绍
当一个 hook 的内容在不同服务器上不一致时,系统会把这个 hook 标记为有冲突。要解决这类冲突,您必须选择一个 hook 内容的版本,并把它复制到所有服务器上。

过程 8.16. 解决一个内容冲突

  1. 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 标签页在详情框中列出了所有 hook。
  3. 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
  4. 从“选择源来查看内容”项中选择引擎或服务器来查看 hook 的内容,并决定使用哪个版本的 hook 内容。

    注意

    所选的 hook 内容将覆盖所有服务器和引擎上的相同 hook 的内容。
  5. 使用 Use content from 下拉菜单选择您需要的 hook 内容所在的服务器或引擎。
  6. 确定解决冲突并关闭窗口。
结果
被选择的 hook 内容被复制到所有服务器和引擎中。这个 hook 的内容在您的环境中被保持一致。

8.3.8. 解决丢失 hook 冲突

介绍
当一个 hook 没有出现在所有服务器和引擎上时,系统会把这个 hook 标记为有冲突。要解决这类冲突,您可以选择一个 hook 内容的版本,并把它复制到所有服务器和引擎上;或把这个 hook 删除。

过程 8.17. 解决一个丢失 hook 冲突

  1. 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 子标签页在详情框中列出 hook。
  3. 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
  4. 选择状态为已启用的 hook 来查看它的内容。
  5. 根据您的具体情况,选择 复制这个 hook 到所有服务器删除缺失的 hook。如果选择后一个选项,这个 hook 会从所有服务器和引擎上删除。
  6. 启动解决冲突并关闭窗口。
结果
根据您所做的选择,被选择的 hook 内容被复制到所有服务器和引擎中,它的内容在您的环境中被保持一致;或您选择的 hook 被从您的环境中完全删除。

8.3.9. 解决状态冲突

介绍
当一个 hook 的状态在不同服务器上不一致时,系统会把这个 hook 标记为有冲突。要解决这类冲突,您必须选择一个 hook 状态,并把这个 hook 在所有服务器上都设置为这个状态。

过程 8.18. 解决一个状态冲突

  1. 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 在标签页,在详情框中列出了所有 hook。
  3. 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
  4. Hook 状态设置为已启用已禁用
  5. 确定解决冲突并关闭窗口。
结果
这个 hook 在所有服务器和引擎上的状态都被设为同一个值。

8.3.10. 解决多重冲突

介绍
一个 hook 可能会有多种冲突,这可以通过解决冲突窗口来同时解决所有冲突或单独解决每个冲突,从而到达 hook 在所有服务器和引擎上保持一致的目的。

过程 8.19. 解决多重冲突

  1. 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
  2. 选择 Gluster Hooks 子标签页,在详情框中列出了所有 hook。
  3. 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
  4. 根据冲突的类型选择相应的步骤。
  5. 确定解决冲突并关闭窗口。
结果
您解决了所有冲突,hook 在所有服务器和引擎上保持一致。

8.3.11. 管理 Gluster 同步(Gluster 同步)

Gluster 同步 (Gluster Sync)功能会定期从 GlusterFS 上获取最新的集群配置,并通过 Manager 把这些配置和引擎数据库进行同步。当一个集群被选择后,用户可以选择导入主机或从所选择的集群中分离一个主机。如果集群中有一个主机,您可以执行 Gluster 同步操作。

注意

Manager 会持续监测是否有主机被添加到集群中,或从集群中被删除。当监测到有这种事件发生时,它会在集群的常规标签页中显示。您可以选择 导入来导入主机或选择分离来把主机从集群中分离。

第 9 章 池

9.1. 虚拟机池介绍

虚拟机池就是一组通过同一个模板创建的虚拟机,这些虚拟机可以被指定组中的任何用户所使用。虚拟机池可以使管理员快速地为用户配置一组虚拟机。
用户通过从虚拟机池中“拿(take)"一个虚拟机来访问虚拟机池。当用户从池中拿一个虚拟机时,虚拟机池会为用户提供一个可以使用的虚拟机。虚拟机池中的所有虚拟机都有相同的配置,但用户每次所拿到的虚拟机可能并不是同一个虚拟机。根据虚拟机池的配置,用户也可以从这个池中拿多个虚拟机。
在虚拟机池中的虚拟机都是无状态的,这意味着在虚拟机上所做的任何改变在重新启动后都不会被保存。但是,如果用户为虚拟机配置了控制台选项,这些选项将会被设置为这个用户在虚拟机池中的默认设置。
从理论上来讲,虚拟机池中的虚拟机只有在被用户拿到时才会被启动,当用户不再需要它的时候,虚拟机会被关机。但是,虚拟机池也可以提供预先启动的虚拟机,这些虚拟机会一直处于空闲状态,直到有用户拿到这个虚拟机。这个功能可以使用户马上使用他们所拿到的虚拟机,但那些处于空闲状态的、没有被使用的虚拟机仍然会消耗系统的资源。

注意

当通过管理门户访问虚拟机池中的虚拟机时,虚拟机将不是无状态的。这是因为管理员需要把所做的改变写到磁盘中。

9.2. 虚拟机池任务

9.2.1. 创建一个虚拟机池

您可以为基于同一个模板创建的多个虚拟机创建一个虚拟机池。

过程 9.1. 创建一个虚拟机池

  1. 标签页。
  2. 新建打开新建池窗口。
  3. 使用下拉菜单选择集群或使用默认的选择。
  4. 模板下拉菜单中选所需的模板和版本,或使用默认选择。模板为池中的所有虚拟机提供了标准设置。
  5. 使用操作系统下拉菜单擦选择一个操作系统,或使用模板提供的默认值。
  6. 使用优化下拉列表选择根据桌面服务器对虚拟机进行优化。
  7. 为这个虚拟机池输入名称描述注释以及虚拟机的数量
  8. 预先启动的虚拟机项中输入相应的值。
  9. 每个用户的最大虚拟机数目项中输入一个数值。它是一个用户一次可以从虚拟机池中拿到的最多虚拟机的数量。这个项的最小值是 1。
  10. 选择删除保护选项启用删除保护功能。
  11. 另外,还可以点显示高级选项来进行以下配置:
    1. 类型标签页并选择一个池类型
      • 手动 - 系统管理员需要手动把虚拟机归还到虚拟机池中。当虚拟机被归还到虚拟机池后,它们会被恢复到原始的基本镜像。
      • 自动 - 当虚拟机被关机时,它会被自动恢复到原始的基本镜像并被归还到虚拟池。
    2. 选择控制台标签页。在这个页的下部,选中覆盖 SPICE 代理选项激活覆盖 SPICE 代理地址项。您可以在这个项中输入一个 SPICE 代理的地址来覆盖 SPICE 代理的全局设置值。
  12. 确定
您创建并配置了一个虚拟机池,它包括了特定数量的配置相同的虚拟机。您可以在虚拟机标签页或标签页中查看这些虚拟机。虚拟机池中的虚拟机的图标和独立虚拟机的图标有所不同。

9.2.2. 新建池和编辑池窗口中的设置和控制介绍

9.2.2.1. 新建池和编辑池中的常规设置介绍

下表介绍了只在新建池编辑池窗口中的常规标签页中出现的设置。其它的设置和新建虚拟机窗口中的设置相同。

表 9.1. 常规设置

描述
模板
虚拟机池所基于的模板。
描述
虚拟机池的描述。
注释
与虚拟机池相关的备注。
预启动的虚拟机
允许您指定预启动的虚拟机(在虚拟机被用户获取前就已经启动,并保持启动状态的虚拟机)的数量。这个项的值必须在 0 和虚拟机池中的总虚拟机数量之间。
虚拟机数量/增加池里的虚拟机数量
指定在虚拟机池中可以创建的虚拟机数量。在编辑窗口中,可以通过指定一个数量来增加虚拟机池中的虚拟机数量。在默认情况下,一个虚拟机池中所能创建的最大虚拟机数量是 1000。这个值可以通过 engine-config 命令的 MaxVmsInPool 参数进行设置。
每个用户的最大虚拟机的数目
指定一个用户可以一次从虚拟机池中获得虚拟机的最大数量。它的值必须在 132,767 之间。
删除保护
防止池中的虚拟机被删除。

9.2.2.2. 新建池和编辑池中的类型设置介绍

下表描述了新建池编辑池窗口中的类型标签页中的选项。

表 9.2. 类型设置

描述
池类型
使用下拉菜单指定虚拟机池的类型。有效选项包括:
  • 自动 - 当一个用户不再使用一个从虚拟机池中拿到的虚拟机后,虚拟机被自动返回到虚拟池。
  • 手动: 当一个用户不再使用一个从虚拟机池中拿到的虚拟机后,虚拟机不会被自动返回到虚拟机池中。管理员需要手动把虚拟机返回到虚拟机池中。

9.2.2.3. 新建池和编辑池中的控制台设置介绍

下表介绍了只在新建池编辑池窗口中的控制台标签页中出现的设置。其它的设置和新建虚拟机以及编辑虚拟机窗口中的设置相同。

表 9.3. 控制台设置

描述
覆盖 SPICE 代理
选择这个项可以覆盖全局设置中对 SPICE 代理的设置。当用户需要从虚拟主机所在的网络外进行访问时,这个设置将非常有用。
被覆盖的 SPICE 代理地址
SPICE 客户端连接到虚拟机所使用的代理服务器。这个代理服务器会覆盖为 Red Hat Virtualization 环境定义的全局 SPICE 代理,以及为这个虚拟机池所属的集群定义的代理服务器。代理的地址格式是:
protocol://[host]:[port]

9.2.2.4. 虚拟机池主机设置介绍

下表描述了新建池编辑池窗口中的主机标签页中的选项。

表 9.4. 虚拟机池:主机设置

子项
描述
开始运行在
 
指定虚拟机优先在哪个主机上运行。选择:
  • 集群里的任何主机 - 虚拟机可以在集群中的任何可用主机上运行。
  • 专有的 - 虚拟机将在集群中的某个特定主机上运行。从可用主机下拉菜单中选择 特定主机或一组主机。系统管理员可以根据虚拟机上的迁移和高可用性配置,把虚拟机迁移到集群中的其它主机上。
迁移选项
迁移模式
运行和迁移虚拟机的选项。如果这些选项没有被设置,这台虚拟机将会根据集群的策略来运行或迁移。
  • 允许手动和自动迁移 - 虚拟机可以根据所在环境的状态,自动从一个主机迁移到另一个主机;也可以被管理员手动迁移。
  • 只允许手动迁移 - 虚拟机只能通过管理员进行手动迁移。
  • 不允许迁移 - 虚拟机不能被迁移。
 
使用自定义迁移策略
指定迁移聚合策略。如果没有选择这个选项,主机会自己决定使用的策略。
  • Legacy - 使用 3.6 版本的工作方式。vdsm.conf 中的设置仍然适用。guest 代理的 hook 机制会被禁用。
  • Minimal downtime - 允许虚拟机在典型的情况下进行迁移,虚拟机应该不会出现长时间的下线情况。如果在一定时间内(取决于 QEMU,最长时间是 500 毫秒)虚拟机的迁移还没有聚合,迁移操作会被终止。guest 代理机制会被启用。
  • Suspend workload if needed - 允许虚拟机在多数情况下都可以进行迁移,包括虚拟机的负载非常大的情况。虚拟机可能会出现较长的下线时间。当负载太大时,迁移操作也会被终止。guest 代理机制会被启用。
 
使用自定义迁移下线时间
指定在迁移过程中虚拟机的最大下线时间(以毫秒为单位)。您需要根据系统负载和 SLA 的要求来为每个虚拟机指定不同的值。输入 0 来使用 VDSM 的默认值。
 
自动聚合迁移
只有在使用 Legacy 迁移策略时有效。您可以设置在实时迁移虚拟机时是否进行自动聚合。具有大量负载的大型虚拟机产生“脏”内存的频率会比在实时迁移过程中所达到的传输速率更快,并可能造成迁移无法进行聚合。而 QEMU 中的自动聚合功能可以强制聚合迁移的虚拟机。QEMU 会自动检测到缺少的聚合操作,并触发虚拟机中的 vCPU 的节流操作。在默认情况下,自动聚合在全局范围内被禁用。
  • 从集群设置继承来使用集群一级中的自动聚合设置。这个选项在默认情况下被选择。
  • 自动聚合会忽略集群中的相关设置以及全局的相关设置,自动聚合在虚拟机上被启用。
  • 不自动聚合会忽略集群中的相关设置以及全局的相关设置,自动聚合在虚拟机上被禁用。
 
启用迁移压缩
只有在选择了 Legacy 选项后才有效。这个选项可以被用来指定在迁移虚拟机的过程中是否进行压缩。这个功能会使用 Xor Binary Zero Run-Length-Encoding,它会缩短那些运行需要大量写入内存的负载的虚拟机的下线时间,以及那些运行具有稀松内存更新特征的应用程序的虚拟机的下线时间。在默认情况下,迁移压缩被全局禁用。
  • 从集群设置继承来使用集群一级中的压缩设置。这个选项在默认情况下被选择。
  • 压缩会忽略集群中的相关设置以及全局的相关设置,压缩在虚拟机上被启用。
  • 不压缩会忽略集群中的相关设置以及全局的相关设置,压缩在虚拟机上被禁用。
 
Pass-Through 主机 CPU
允许虚拟机使用它所在主机的物理 CPU 所具有的功能。这个功能只有在不允许迁移被选中时有效。
配置 NUMA
NUMA 节点数
分配给虚拟机的虚拟 NUMA 节点的数量。如果 Tune Mode 被设置为 Preferred,这个值必须设置为 1
 
Tune Mode
分配内存的方法。
  • Strict:当内存无法在目标节点上分配时,内存分配失败。
  • Preferred:内存会从一个优先的节点上分配。如果这个节点没有足够的内存,内存会从其它节点上分配。
  • Interleave:使用循环(round-robin)算法在不同节点上分配内存。
 
NUMA 固定
打开 NUMA 拓扑窗口。这个窗口会显示主机的总 CPU、内存、NUMA 节点和虚拟机的虚拟 NUMA 节点。从右面的框中选中虚拟 NUMA 节点,并把它拖到左面框中的主机 NUMA 节点上来固定虚拟 NUMA 节点。

9.2.3. 编辑一个虚拟机池

9.2.3.1. 编辑一个虚拟机池

当虚拟机池被创建后,它的属性可以被改变。除了虚拟机数量增加池里的虚拟机数量所替代外,所有其它属性和创建一个新虚拟机池的属性一样。

注意

在编辑一个虚拟机池时,所做的修改只对新虚拟机有效。已存在的虚拟机不会受到影响。

过程 9.2. 编辑一个虚拟机池

  1. 资源标签页,从结果列表中选一个虚拟机池。
  2. 编辑打开编辑池窗口。
  3. 编辑虚拟机池的属性。
  4. 确定

9.2.3.2. 在虚拟机池中预先启动虚拟机

在默认情况下,虚拟机池中的虚拟机都处于关机状态。当用户向虚拟机池请求一个虚拟机的时候,一个虚拟机会被启动并分配给用户。但是,虚拟机池中的虚拟机也可以被预先启动,这样当用户需要虚拟机的时候,虚拟机池中的虚拟机就会马上分配给用户,这就减少了用户等待分配虚拟机的时间。当一个预先启动的虚拟机被关机后,它会被返回到虚拟机池中,并被恢复到原始的状态。一个池中的预先启动的虚拟机数量不能超过这个池中的虚拟机的数量。
预先启动的虚拟机适用于用户需要马上使用虚拟机,而系统中并没有专门分配给这个用户的虚拟机的情况。只有类型为“自动”的池才能提供预先启动的虚拟机。

过程 9.3. 在虚拟机池中预先启动虚拟机

  1. 使用资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
  2. 编辑打开编辑池窗口。
  3. 预先启动的虚拟机项中输入相应的值。
  4. 进入标签页,确认池类型被设置为自动
  5. 确定
您在虚拟机池中设置了预先启动的虚拟机的数量。这些预先启动的虚拟机可以被马上使用。

9.2.3.3. 为一个虚拟机池添加虚拟机

如果需要,您可以为一个已经存在的虚拟机池添加更多的虚拟机。

过程 9.4. 为一个虚拟机池添加虚拟机

  1. 使用资源页、树形模式或搜索功能来找到并选择虚拟机池。
  2. 编辑打开编辑池窗口。
  3. 增加池里的虚拟机数目项中输入所要添加的虚拟机的数量。
  4. 确定
您为一个虚拟机池添加了更多的虚拟机。

9.2.3.4. 从虚拟机池中分离虚拟机

您可以把虚拟机从虚拟机池中分离。被分离的虚拟机变为独立的虚拟机。

过程 9.5. 从虚拟机池中分离虚拟机

  1. 使用资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
  2. 确认要被分离的虚拟机的状态为 Down。您不能分离正在运行的虚拟机。
    虚拟机标签页列出池中的虚拟机。
  3. 选择一个或多个虚拟机,点分离打开分离虚拟机确认窗口。
  4. 确定把虚拟机从虚拟机池中分离出来。

注意

被分离出来的虚拟机仍然存在于环境中,并可以通过虚拟机资源标签页对它们进行查看和访问。请注意,它们的图标也会被改变,来标识它们是独立的虚拟机。
您把虚拟机从虚拟机池中分离。

9.2.4. 删除一个虚拟机池

您可以从一个数据中心中删除一个虚拟机池。您需要先把虚拟机池中的所有虚拟机删除或分离。从虚拟机池中分离虚拟机将会把它们变为独立的虚拟机。

过程 9.6. 删除一个虚拟机池

  1. 使用资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
  2. 删除打开删除虚拟机池确认窗口。
  3. 确定删除虚拟机池。
您从数据中心中删除了一个虚拟机池。

9.3. 池和权限

9.3.1. 管理一个虚拟机池的系统权限

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
虚拟机池管理员是一个数据中心中的虚拟机池的系统管理角色。这个角色可以是针对特定虚拟机池的,也可以是针对一个数据中心的,甚至可以针对整个虚拟环境。这可以使不同的用户来管理不同的虚拟资源成为可能。
虚拟机池管理员有权利执行以下操作:
  • 创建、编辑和删除虚拟机池。
  • 为虚拟机池添加或分离虚拟机。

注意

只能对已经存在的用户分配角色和权限。

9.3.2. 虚拟机池管理员角色介绍

池权限角色
下表描述了与虚拟机池管理相关的管理员角色,以及他们所具有的权利。

表 9.5. Red Hat Virtualization 系统管理员角色

角色权利注记
VmPoolAdmin一个虚拟机池的系统管理员角色可以创建、删除和配置一个虚拟机池;添加和删除池用户;在虚拟机上进行基本的操作。
ClusterAdmin集群管理员可以在一个特定的集群中使用、创建、删除和管理所有虚拟机池。

9.3.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 9.7. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

9.3.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 9.8. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

9.4. 信任的计算池

信任的计算池就是基于 Intel Trusted Execution Technology(Intel TXT)的安全集群。信任的集群只允许被 Intel 的 OpenAttestation 验证过的主机(使用一个 White List 数据库来验证主机硬件和软件是否可以信任)。信任的主机和虚拟机可以被用来运行那些需要高安全性的任务。如需了解更多相关信息,请参阅 https://software.intel.com/en-us/articles/intel-trusted-execution-technology-intel-txt-enabling-guide
创建信任的计算池包括以下几个步骤:
  • 配置 Manager 来与 OpenAttestation 服务器进行通讯。
  • 创建一个只运行信任主机的信任集群。
  • 把信任的主机添加到信任集群中。主机需要运行 OpenAttestation 代理,并被 OpenAttestation 服务器验证为可信任的主机。
如需了解更多与安装 OpenAttestation 服务器、在主机上安装 OpenAttestation 代理以及创建 White List 数据库的信息,请参阅 https://github.com/OpenAttestation/OpenAttestation/wiki

9.4.1. 连接 OpenAttestation 服务器到 Manager

在可以创建信任的集群前,Red Hat Virtualization Manager 需要被配置为可以识别 OpenAttestation 服务器。使用 engine-config 添加 OpenAttestation 服务器的 FQDN 或 IP 地址:
# engine-config -s AttestationServer=attestationserver.example.com
如果需要,以下设置也可以被修改:

表 9.6. engine-config 的 OpenAttestation 设置

选项
默认值
描述
AttestationServer
oat-server
OpenAttestation 服务器的 FQDN 或 IP 地址。只有设置这个选项,Manager 才可以和 OpenAttestation 服务器进行通讯。
AttestationPort
8443
OpenAttestation 服务器和 Manager 进行通讯所使用的端口。
AttestationTruststore
TrustStore.jks
用来和 OpenAttestation 服务器进行安全通信的 trust store。
AttestationTruststorePass
password
访问 trust store 使用的密码。
AttestationFirstStageSize
10
用于快速初始化。我们不推荐在没有适当原因的情况下修改这个值。
SecureConnectionWithOATServers
true
启用或禁用和 OpenAttestation 服务器进行安全通讯。
PollUri
AttestationService/resources/PollHosts
访问 OpenAttestation 服务所使用的 URI。

9.4.2. 创建一个信任的集群

信任的集群会和 OpenAttestation 服务器进行通讯来评估主机的安全性。当一个主机被添加到信任的组后,OpenAttestation 服务器会根据一个 White List 数据库来评估这个主机的硬件和软件。虚拟机可以在信任的集群中的信任的主机间进行迁移来实现高可用性功能。

过程 9.9. 创建一个信任的集群

  1. 集群标签页。
  2. 新建
  3. 为集群输入名称
  4. 选中编辑 Virt 服务
  5. 调度策略项中选启用信任的服务选项。
  6. 确定

9.4.3. 添加一个信任的主机

Red Hat Enterprise Linux 主机可以被添加到信任的集群中,它由 OpenAttestation 服务器的 White List 数据库控制。主机需要满足以下条件才可以被 OpenAttestation 服务器信任:
  • 在 BIOS 中启用 Intel TXT。
  • 安装并运行 OpenAttestation 代理。
  • 在主机上运行的软件与 OpenAttestation 服务器的 White List 数据库相匹配。

过程 9.10. 添加一个信任的主机

  1. 选择主机标签页。
  2. 新建
  3. 主机集群下拉列表中选一个信任的集群。
  4. 为主机输入名称
  5. 输入主机的地址
  6. 输入主机的 root 密码
  7. 确定
当主机被加入到信任的集群后,OpenAttestation 服务器就可以对它进行评估。如果主机不被 OpenAttestation 服务器信任,它会成为 Non Operational 状态,并应该从信任的集群中删除。

第 10 章 虚拟机磁盘

10.1. 虚拟机存储介绍

Red Hat Virtualization 支持三种存储类型:NFS、iSCSI 和 FCP。
在每种存储类型中都有一个称为存储池管理器(Storage Pool Manager - SPM)的主机来管理主机和存储间的访问。
在默认的情况下,NFS、本地或 POSIX 兼容的数据中心中的 SPM 通过在文件系统上创建一个文件来创建自动精简配置(thin provisioning)格式的虚拟机磁盘。
在 iSCSI 和其它基于块的数据中心中,SPM 会在逻辑单元号(Logical Unit Number - LUN)上创建一个卷组,并使用这些卷组作为虚拟机磁盘。在默认的情况下,块存储上的虚拟磁盘是预分配(preallocated)格式的。
如果虚拟磁盘是预分配的(preallocated),一个特定大小(以 GB 为单位)的逻辑卷会被创建。它可以被挂载到 Red Hat Enterprise Linux 服务器上,使用 kpartxvgscanvgchangemount 来检查虚拟机的进程或可能出现的问题。
如果虚拟磁盘是自动精简配置的(think provisioned),一个 1 GB 的逻辑卷会被创建。这个逻辑卷会实时地被虚拟机所在的主机监测。当虚拟磁盘的可用空间达到它的阈值时,主机会通知 SPM,SPM 会为这个逻辑卷增加 1 GB 的容量。在逻辑卷的容量被扩展后,主机会继续运行虚拟机。如果虚拟机处于暂停的状态,这就意味着 SPM 没有为虚拟磁盘扩展空间。造成它的原因可能是 SPM 太繁忙而无法处理容量扩展;或者是系统中没有足够的存储空间来为虚拟磁盘进行扩展。
预分配(RAW)格式的虚拟磁盘的写操作速度比自动精简配置 (QCOW2) 格式的虚拟磁盘要快很多,而创建自动精简配置格式的虚拟磁盘比创建预分配格式的虚拟磁盘要快很多。自动精简格式的磁盘适用于不需要大量 IO 操作的虚拟机。而需要进行大量 I/O 写操作的虚拟机则推荐使用预分配格式。特别是如果虚拟机需要在每 4 秒中写超过 1 GB 的数据,则在可能的情况下尽量使用预分配格式磁盘。

10.2. 虚拟磁盘介绍

Red Hat Virtualization 提供 预分配(preallocated)(thick provisioned)和稀疏(sparse)(thin provisioned)存储选项。
  • 预分配(Preallocated)
    一个预分配虚拟磁盘会预先获得所有需要的磁盘空间。例如,为虚拟机创建的一个 20 GB 的逻辑卷需要在创建时获得全部 20 GB 的存储空间。
  • 稀疏
    使用稀疏分配的系统允许管理员定义需要分配的总存储空间,但存储空间只在实际需要使用时才进行分配。
    例如,一个 20 GB 的精简分配逻辑盘在初始创建时只占用 0 GB 的存储空间。当安装操作系统时,它会占用安装的所有文件所需的存储空间,并在增加数据时占用更多的空间(最多可占用 20 GB 存储空间)。
每个虚拟机和模板的磁盘大小在磁盘子标签页中列出。一个磁盘的虚拟大小是虚拟机可以使用的磁盘空间总量,它是在创建或编辑一个磁盘时在大小 (GB) 项中输入的值。一个磁盘的实际大小是当前已分配给虚拟机的磁盘空间。使用预分配格式的磁盘的这两个项的值是相同的;而稀疏格式的磁盘的这两个项的值可能会不相同,这取决于已经被分配了多少磁盘空间。

注意

当创建 Cinder 磁盘时,磁盘的格式和类型是由 Cinder 内部控制的,而不是由 Red Hat Virtualization 管理的。
下表列出了可能的存储类型和格式的组合。

表 10.1. 允许的存储组合

存储格式类型备注
NFS 或 iSCSI/FCPRAW 或 QCOW2稀疏(Sparse)或预分配(Preallocated) 
NFSRAW预分配(Preallocated)一个和虚拟磁盘所定义的容量大小相同的文件。这个文件没有特定的格式。
NFSRAW稀疏一个初始大小接近于 0 的 文件,它没有特定的格式。
NFSQCOW2稀疏一个初始大小接近于 0 的 文件,它的格式为 QCOW2。下一层的格式将是 QCOW2。
SANRAW预分配(Preallocated)一个和虚拟磁盘所定义的容量大小相同的块设备。这个设备没有特定的格式。
SANQCOW2稀疏一个比虚拟磁盘所定义的容量(当前是 1 GB)小很多的块设备,它的格式是 QCOW2。如果需要,它会被分配更多存储空间(当前以 1 GB 为单位增长)。

10.3. 设置“删除后清理”

使用 wipe_after_delete 标识(在管理门户中由删除后清理选择框代表)会在删除虚拟磁盘后使用 0 对它上面的数据进行覆盖。在默认情况下,这个标识会被设置为 false,当磁盘被删除后它上面的数据块空间可以被重新使用,而不会进行特殊的数据清理操作。因为数据块中的数据没有被清为 0,所以原来的数据有可能被恢复。
wipe_after_delete 只对块存储设备有效。在文件存储中(如 NFS),这个选项不会起任何作用,因为文件系统会保证不会存在数据。
为虚拟磁盘设置 wipe_after_delete会进一步增加数据的安全性,如果您的虚拟磁盘中包括敏感信息,推荐使用它。但是,它会消耗更多的系统资源,并需要更长的时间来进行磁盘删除操作。

注意

“删除后清除数据”功能和安全删除功能不同,它不能保证数据被从存储中删除,它只能确保在同一个存储中创建的新磁盘不会显示旧磁盘中的数据。
在设置的过程中可以把 wipe_after_delete 的默认设置改为 true(请参阅安装指南中的 Configuring the Red Hat Virtualization Manager),也可以使用 Red Hat Virtualization Manager 中的引擎配置工具对它进行修改。重启引擎以使设置改变生效。

过程 10.1. 使用引擎配置工具把 SANWipeAfterDelete 的默认值设为 True

  1. 在引擎配置工具中使用 --set 操作:
    # engine-config --set SANWipeAfterDelete=true
  2. 重启引擎来使新设置有效:
    # service ovirt-engine restart
可以通过查看主机中的 /var/log/vdsm/vdsm.log 文件来确认虚拟磁盘已被成功删除并清除了上面的数据。
在数据被成功清除后,日志文件会包括 storage_domain_id/volume_id was zeroed and will be deleted 的内容。例如:
a9cb0625-d5dc-49ab-8ad1-72722e82b0bf/a49351a7-15d8-4932-8d67-512a369f9d61 was zeroed and will be deleted
当删除成功后,日志文件会包括 finished with VG:storage_domain_id LVs: list_of_volume_ids, img: image_id 的内容。例如:
finished with VG:a9cb0625-d5dc-49ab-8ad1-72722e82b0bf LVs: {'a49351a7-15d8-4932-8d67-512a369f9d61': ImgsPar(imgs=['11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d'], parent='00000000-0000-0000-0000-000000000000')}, img: 11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d
如果数据清除没有成功,会生成 zeroing storage_domain_id/volume_id failed. Zero and remove this volume manually 日志信息;如果删除没有成功,会显示 Remove failed for some of VG: storage_domain_id zeroed volumes: list_of_volume_ids

10.4. Red Hat Virtualization 中的可共享磁盘

一些应用程序需要服务器间的存储可以被共享。Red Hat Virtualization 允许您把虚拟机磁盘设为可共享,并把它们附加到虚拟机上。这样,一个虚拟磁盘就可以被多个使用集群的客户机所使用。
共享磁盘并不适用于所有的情况。它们可以在使用集群的数据库服务器,或其它高可用性服务环境中使用。如果把一个可共享的磁盘附加到多个没有使用集群的客户机上时,就可能会造成数据被破坏的问题。
您不能为可共享的磁盘进行快照。那些已经做过快照的虚拟磁盘也不能设置为可共享的磁盘。
您可以在创建磁盘的时候把它设为可共享磁盘,也可以在创建后再配置它。

10.5. Red Hat Virtualization 中的只读磁盘

一些应用程序需要管理员以只读的方式共享一些数据。当使用虚拟机的磁盘标签页为虚拟机创建或编辑磁盘时,选择只读选项。这样,这个磁盘就可以被多个客户端系统读取,但只有管理员对它有写权限。
在虚拟机运行时,您不能改变磁盘的只读状态。

重要

挂载一个有记录功能的文件系统需要读写访问权限,因此不能对包括这些文件系统(如 EXT3EXT4XFS)的磁盘使用只读选项。

10.6. 虚拟磁盘任务

10.6.1. 创建浮动虚拟磁盘

在创建虚拟磁盘时,您可以创建一个不属于任何虚拟机的虚拟磁盘。在创建后,您可以把它附加到一个虚拟机上;或者如果这个虚拟磁盘是可共享的,您还可以把它附加到多个虚拟机上。
镜像磁盘的创建完全由 Manager 管理,而直接 LUN 磁盘则需要已存在的、由外部准备好的目标设备。Cinder 磁盘需要可以访问通过外部供应商界面添加到 Red Hat Virtualization 环境中的 OpenStack Volume 实例。如需了解更多相关信息,请参阅 第 11.2.4 节 “为存储管理添加一个 OpenStack Volume(Cinder)实例”

过程 10.2. 创建浮动虚拟磁盘

  1. 选择磁盘资源标签页。
  2. 新建
    添加虚拟磁盘

    图 10.1. 添加虚拟磁盘

  3. 选择虚拟磁盘是镜像直接 LUNCinder 磁盘。
  4. 选择虚拟磁盘所需的选项。选项的改变会根据所选的磁盘类型的不同而不同。如需了解更多相关信息,请参阅 第 10.6.2 节 “添加虚拟磁盘窗口中的设置介绍”
  5. 确定

10.6.2. 添加虚拟磁盘窗口中的设置介绍

表 10.2. 新建虚拟机设置:镜像

描述
大小 (GB)
您创建的虚拟磁盘的大小(以 GB 为单位)
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
存储域
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
分配策略
新虚拟磁盘的部署策略。
  • 预分配(Preallocated) 会在创建虚拟磁盘时为它在存储域中分配一个容量大小相等的磁盘空间。它的虚拟大小值和实际大小值是相同的。Preallocated 虚拟磁盘比 thinly provisioned 虚拟磁盘需要更长的时间来创建,但它的读写性能会更好。如果一个虚拟机需要可以满足每 4 秒写多于 1GB 的数据,我们推荐在条件允许的情况下使用预分配磁盘的形式。
  • Thin Provision 会在创建虚拟磁盘时分配 1GB 的存储空间,并设置在扩展磁盘容量时每次可以增加的最大限制。它的虚拟大小的值反映了磁盘的最大容量限制,而实际大小的值是磁盘当前实际分配的磁盘空间。使用 thin provision 格式创建磁盘的时间会被使用预分配格式要快,并允许使用存储过度分配(storage over-commitment)的功能。我们推荐桌面系统使用 thin provision 格式的虚拟磁盘。
磁盘配置集
分配给虚拟磁盘的磁盘配置集。磁盘配置集定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。它是基于数据中心中的存储配置集而创建的。
删除后清理
在虚拟磁盘被删除后,删除上面敏感的数据。这可以增强数据的安全性。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
直接 LUN 的设置可以在 Targets > LUNsLUNs > Targets 标签页中显示。 Targets > LUNs 页根据所发现的主机为可用的 LUN 进行排序;而 LUNs > Targets 显示了一个单一的 LUN 列表。

表 10.3. 新建虚拟磁盘设置:直接 LUN

描述
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。在默认情况下,LUN ID 的最后 4 位会被插入这个项。
使用 engine-config 命令把 PopulateDirectLUNDiskDescriptionWithLUNId 配置关键字设置为一个适当的值可以改变默认的行为。如果把它设置为 -1,则整个 LUN ID 都会被使用;如果把它设置为 0,这个功能会被忽略;如果把它设置为一个正的整数,则使用 LUN ID 中的相应位数。如需了解更多信息,请参阅 第 17.2.2 节 “engine-config 命令的使用语法”
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
使用主机
将要挂载 LUN 的主机。您可以选择数据中心中任何一个主机。
存储类型
添加的外部 LUN 类型。您可以选择 iSCSIFibre Channel
发现目标
这个项会在您使用 iSCSI 外部 LUN 并选择了 Targets > LUNs 时被展开。
地址 - 目标服务器的主机名或 IP 地址。
端口 - 连接到目标服务器所使用的端口。默认值是 3260。
用户验证 - iSCSI 服务器所需的用户验证。当您使用 iSCSI 外部 LUN 时,用户验证项会被显示。
CHAP 用户 - 有权限登录到 LUN 上的用户的用户名。这个项在选择了用户验证项后才有效。
CHAP 密码 - 有权限登录到 LUN 上的用户的密码。这个项在选择了用户验证项后才有效。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
启用 SCSI Pass-Through
接口设置为 VirtIO-SCSI 时可用。选择这个选项会启用把物理 SCSI 设备透传(passthrough)给虚拟磁盘的功能。启用了 SCSI passthrough 的 VirtIO-SCSI 接口会自动包括 SCSI discard 的支持。如果没有选择这个选项,虚拟磁盘使用仿真的 SCSI 设备。
允许特许的 SCSI I/O
在选择了启用 SCSI Pass-Through 选项后可用。选择这个选项将启用没有过滤的 SCSI Generic I/O(SG_IO)的访问来允许在磁盘上进行特许的 SG_IO 命令。持久性预留(persistent reservations)需要这个设置。
发现目标项中输入相应的信息并点发现来发现目标服务器。您然后可以点登录全部按钮来列出目标服务器上的所有可用的 LUN,选择需要被添加的 LUN。
直接使用 LUN 作为虚拟机的硬盘镜像将会省掉您的虚拟机和它们的数据间的一个抽象层。
在直接使用 LUN 作为一个虚拟机硬盘镜像时需要考虑以下因素:
  • 实时迁移直接 LUN 硬盘镜像的功能不被支持。
  • 直接 LUN 磁盘不包括在虚拟机的导出中。
  • 直接 LUN 磁盘不包括在虚拟机的快照中。
如果在有权限创建创建磁盘的相关数据中心中没有可用的 OpenStack 卷存储域,则 Cinder 的设置表格会被禁用。Cinder 磁盘需要可以访问一个通过外部供应商窗口创建添加到 Red Hat Virtualization 环境中的 OpenStack 卷实例。如需了解更多相关信息,请参阅第 11.2.4 节 “为存储管理添加一个 OpenStack Volume(Cinder)实例”

表 10.4. 新建虚拟磁盘设置:Cinder

描述
大小 (GB)
您创建的虚拟磁盘的大小(以 GB 为单位)
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
存储域
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
卷类型
虚拟磁盘的卷类型。下拉列表列出了全部可用的卷类型。卷类型在 OpenStack Cinder 上管理并配置。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。

10.6.3. 实时存储迁移介绍

您可以把附加在一个正在运行的虚拟机上的虚拟磁盘迁移到另外一个存储域中,这被称为实时存储迁移(live storage migration)。当进行存储实时迁移时,被迁移磁盘的镜像链快照会在源存储域中创建,整个镜像链会在目标存储域中被复制。因此,您需要保证在源存储域和目标存储域中都有足够的空间来保存这些快照和磁盘镜像链。在每次进行实时存储迁移操作时,一个新快照都会被创建,即使这个迁移操作失败。
在进行实时存储迁移时请考虑以下因素:
  • 您可以同时迁移多个磁盘。
  • 同一个虚拟机的多个磁盘可以存在于不同的存储域中,但每个磁盘的镜像链必须位于同一个存储域中。
  • 您可以在同一个数据中心中的任何两个存储域间实时迁移磁盘。
  • 您不能实时迁移直接 LUN 硬盘镜像,也不能实时迁移标记为可共享的磁盘。

10.6.4. 移动一个虚拟磁盘

您可以把一个浮动虚磁盘或一个附加在虚拟机上的磁盘从一个存储域移到另一个存储域中。您可以移动附加在一个正在运行的虚拟机上的虚拟磁盘,这被称为实时存储迁移(live storage migration);或在移动虚拟磁盘前关闭它所在的虚拟机。
在移动一个磁盘时请考虑以下因素:
  • 您可以同时移动多个磁盘。
  • 您可以在同一个数据中心中的任何两个存储域间移动磁盘。
  • 如果虚拟磁盘被附加到一个虚拟机,而这个虚拟机是通过一个模板所创建,并使用了 “thin provisioning storage allocation” 选项时,这个虚拟机所基于的模板必须被复制到和虚拟磁盘所在的同一个存储域中。

过程 10.3. 移动一个虚拟磁盘

  1. 选择磁盘标签页。
  2. 选择一个或多个需要移动的虚拟磁盘。
  3. 移动打开移动磁盘页。
  4. 目标下拉菜单中选择这个虚拟磁盘需要被移到的存储域。
  5. 磁盘配置集列表中为磁盘选择一个配置集。
  6. 确定
虚拟磁盘被移到目标存储域中,在移动的过程中它的状态为 Locked

10.6.5. 复制一个虚拟磁盘

介绍
您可以把一个虚拟磁盘从一个存储域复制到另一个存储域。被复制的磁盘可以被添加到虚拟机上。

过程 10.4. 复制一个虚拟磁盘

  1. 选择磁盘标签项。
  2. 选择需要复制的磁盘。
  3. 复制打开复制磁盘窗口。
  4. 另外,还可以在别名项中输入一个别名。
  5. 使用目标下拉菜单选择这个虚拟磁盘需要被复制到的存储域。
  6. 确定
结果
虚拟磁盘被复制到目标存储域中,在复制过程中它的状态为 Locked

10.6.6. 从导入的存储域中导入一个磁盘镜像

使用详情框中的磁盘导入标签页从一个导入的存储域中导入浮动虚拟磁盘。

注意

只有与 QEMU 兼容的磁盘才可以导入到 Manager。

过程 10.5. 导入一个磁盘镜像

  1. 选择已被导入到数据中心中的一个存储域。
  2. 在详情框中,点磁盘导入
  3. 选择一个或多个磁盘,点导入打开导入磁盘窗口。
  4. 为每个磁盘选择相关的磁盘配置集
  5. 确定导入所选的磁盘。

10.6.7. 从导入的存储域中导入一个未注册的磁盘镜像

使用详情框中的磁盘导入标签页从一个存储域中导入浮动虚拟磁盘。在 Red Hat Virtualization 环境外创建的浮动磁盘没有在 Manager 中注册。对存储域进行扫描来找出要导入的、没有注册的浮动磁盘。

注意

只有与 QEMU 兼容的磁盘才可以导入到 Manager。

过程 10.6. 导入一个磁盘镜像

  1. 选择已被导入到数据中心中的一个存储域。
  2. 在存储域上点鼠标右键,选扫描磁盘来让 Manager 找出没有注册的磁盘。
  3. 在详情框中,点磁盘导入
  4. 选择一个或多个磁盘,点导入打开导入磁盘窗口。
  5. 为每个磁盘选择相关的磁盘配置集
  6. 确定导入所选的磁盘。

10.6.8. 从 OpenStack 镜像服务中导入一个虚拟机磁盘镜像

介绍
当一个 OpenStack 镜像服务作为一个“外部供应商”被添加到 Red Hat Virtualization Manager 中后,这个 OpenStack 镜像服务所管理的虚拟镜像就可以被导入到 Manager 中。
  1. 存储标签页,选择 OpenStack 镜像服务域。
  2. 镜像标签页中选择需要被导入的镜像。
  3. 导入打开导入镜像窗口。
  4. 使用数据中心下拉菜单选择虚拟磁盘镜像要导入的数据中心。
  5. 使用域名下拉菜单选择虚拟磁盘镜像要导入的存储域。
  6. 另外,还可以使用配额菜单来为虚拟磁盘镜像设置一个配额。
  7. 确定导入虚拟磁盘镜像。
结果
镜像作为浮动虚拟磁盘被导入,并在磁盘标签页中被显示。它可以被附加到虚拟机上。

10.6.9. 把虚拟机磁盘输出到一个 OpenStack 镜像服务中

介绍
如果一个 OpenStack 镜像服务已经被作为外部“供应商”添加到 Manager 中,虚拟机的磁盘可以被导出到这个 OpenStack 镜像服务中。
  1. 选择磁盘标签页。
  2. 选择需要导出的磁盘。
  3. 导出打开导出镜像窗口。
  4. 使用域名菜单选择磁盘要被输出到的 OpenStack 镜像服务。
  5. 如果需要设置虚拟磁盘配额,使用配额菜单来为磁盘镜像设置一个配额。
  6. 确定
结果
虚拟机磁盘被输出到指定的 OpenStack 镜像服务中,并作为虚拟机磁盘镜像被它管理。

重要

虚拟机磁盘只有在没有多个卷、不是自动精简配置的(thinly provisioned)并且没有任何快照的情况下才能被导出。

10.7. 虚拟磁盘和权限

10.7.1. 管理一个虚拟磁盘的系统权限

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
Red Hat Virtualization Manager 提供了两个默认的虚拟磁盘用户角色,而没有提供默认的虚拟磁盘管理员角色。其中的一个用户角色 DiskCreator 可以通过用户门户对虚拟磁盘进行管理。这个角色可以应用到特定的虚拟机、一个数据中心、一个特定的存储域或整个虚拟环境。这可以使不同的用户来管理不同的虚拟资源成为可能。
虚拟磁盘创建者有权利进行以下操作:
  • 创建、编辑和删除和一个虚拟机或其它资源相关联的虚拟磁盘。
  • 为虚拟磁盘编辑用户权限。

注意

只能对已经存在的用户分配角色和权限。

10.7.2. 虚拟磁盘用户角色介绍

虚拟磁盘用户权限角色
下表介绍了用户门户中的与使用和管理虚拟机磁盘相关的用户角色和权利。

表 10.5. Red Hat Virtualization 系统管理员角色

角色权利注记
DiskOperator虚拟磁盘用户。可以使用、创建和编辑虚拟磁盘,并可以继承这个虚拟磁盘所附加在的虚拟机的使用权限。
DiskCreator可以在被分配的集群或数据中心中创建、编辑、管理和删除虚拟机磁盘。这个角色应用于整个环境而不是一个特定的磁盘,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。

10.7.3. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 10.7. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

10.7.4. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 10.8. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

第 11 章 外部供应商

11.1. Red Hat Virtualization 中的外部供应商介绍

除了 Red Hat Virtualization Manager 本身管理的资源外,Red Hat Virtualization 还可以使用外部系统所管理的资源。提供这些外部资源的供应商(称为外部供应商)可以提供如虚拟主机、虚拟机镜像和网络等资源。
Red Hat Virtualization 当前支持以下外部供应商:
用于主机配置的 Red Hat Satellite
Satellite 是用来管理物理和虚拟主机的一个工具。在 Red Hat Virtualization 环境中,Satellite 所管理的主机可以作为虚拟主机添加到 Red Hat Virtualization Manager 中,并被它使用。在 Satellite 服务器被添加到 Manager 后,您可以把 Satellite 所管理的主机添加到您的虚拟环境中(在添加新主机时搜索 Satellite 实例中有效的主机)。如需了解与安装 Red Hat Satellite 以及使用 Red Hat Satellite 管理主机的信息,请参阅安装指南主机配置指南
OpenStack 镜像服务(OpenStack Image Service (Glance))
OpenStack 镜像服务提供了一组虚拟机镜像资源。在 Red Hat Virtualization 环境中,这些镜像可以被导入到 Red Hat Virtualization Manager 中,作为浮动磁盘或附加到特定虚拟机上的磁盘使用,并被转换为模板。在您把一个 OpenStack 镜像服务添加到 Manager 后,它会以一个没有附加到任何数据中心的存储域形式出现。Red Hat Virtualization 环境中的虚拟机磁盘也可以作为虚拟机磁盘镜像被导出到 OpenStack 镜像服务中。
提供网络的 OpenStack Networking(Neutron)
OpenStack Networking提供了软件定义的网络。在 Red Hat Virtualization 环境中,OpenStack Networking 所提供的网络可以被导入到 Red Hat Virtualization Manager 中,用来处理网络通信并可以创建负载的网络拓扑结构。在 OpenStack Networking 被添加到 Manager 后,您可以把 OpenStack Networking 所提供的网络手动导入到您的虚拟环境中。
使用 OpenStack Volume (Cinder) 作为存储管理
OpenStack Volume 提高了对虚拟硬盘的持久性块存储管理的能力。OpenStack Cinder 卷由 Ceph Storage 提供。在 Red Hat Virtualization 中,可以在 OpenStack Volume 存储上创建磁盘,并把它们作为浮动磁盘使用或附加到虚拟机。在把 OpenStack Volume 添加到 Manager 后,就可以在 OpenStack Volume 所提供的存储上创建磁盘。
使用 VMware 提供虚拟机
在 VMware 中创建的虚拟机可以通过 V2V(virt-v2v)进行转化,然后输入到 Red Hat Virtualization 环境中。当把一个 VMware 供应商加入到 Manager 后,就可以导入它所提供的虚拟机。作为导入操作的一部分,V2V 转化操作会在一个代理主机上进行。
用于网络配置的外部网络供应商
任何实现了 OpenStack Neutron REST API 的外部软件定网络供应商都被支持。与 OpenStack Networking(Neutron)不同,Neutron 代理不是作为主机上的虚拟接口驱动而使用的。虚拟接口驱动需要由外部网络供应商来实现。
为了在您的 Red Hat Virtualization 环境中使用外部供应商所提供的资源,您需要先把外部供应商添加到您的虚拟化环境中。

11.2. 添加外部供应商

11.2.1. 为主机配置添加 Red Hat Satellite 实例

为主机配置(Host Provisioning)把一个 Satellite 实例添加到 Red Hat Virtualization Manager。Red Hat Virtualization 4.0 支持 Red Hat Satellite 6.1 的勘误管理。

过程 11.1. 为主机配置添加 Satellite 实例

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.1. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 Foreman/Satellite
  5. 供应商 URL 项中输入 Satellite 实例所在机器的 URL 或全称域名(FQDN)。您不需要指定端口号。

    重要

    不能使用 IP 地址来添加 Satellite 实例。
  6. 为 Satellite 实例输入用户名密码。您在这里必须使用和登录到 Satellite provisioning 门户相同的用户名和密码。
  7. 测试用户身份验证信息:
    1. 测试来测试您所使用的验证信息是否有效。
    2. 如果 Satellite 实例使用 SSL导入供应商证书窗口会出现。点确定导入 Satellite 实例提供的证书。

      重要

      在导入 Satellite 所提供的证书后,Manager 才可以和它进行通讯。
  8. 确定
您为 Red Hat Virtualization Manager 添加了 Satellite 实例,并可以使用它们所提供的主机。

11.2.2. 为镜像管理添加一个 OpenStack Image(Glance)实例

为 Red Hat Virtualization Manager 添加一个 OpenStack Image(Glance)镜像服务。

过程 11.2. 为镜像管理添加一个 OpenStack Image(Glance)实例

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.2. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 OpenStack Image
  5. 供应商 URL 项中输入 OpenStack Image 实例所在机器的 URL 或全称域名(FQDN)。
  6. 另外,可以选择需要验证选项后输入 OpenStack Image 实例的用户名密码租户名验证 URL。您必须使用 OpenStack Image 用户在 Keystone 中注册的用户名、密码 OpenStack Image 实例所属的租户,以及 Keystone 服务器的 URL 和端口。
  7. 测试用户身份验证信息:
    1. 测试来测试您所使用的验证信息是否有效。
    2. 如果 OpenStack Image 实例使用 SSL导入供应商证书窗口会出现。点确定导入 OpenStack Image 实例提供的证书。

      重要

      在导入 OpenStack Image 实例所提供的证书后,Manager 才可以和它进行通信。
  8. 确定
您为 Red Hat Virtualization Manager 添加了 OpenStack Image 实例,并可以使用它所提供的镜像。

11.2.3. 添加 OpenStack 网络服务(Neutron)来为系统提供网络

为 Red Hat Virtualization Manager 添加一个 OpenStack 网络服务(Neutron)。如需了解添加实现了 OpenStack Neutron REST API 功能的第三方网络供应商的信息,请参阅 第 11.2.6 节 “添加一个外部网络供应商”

过程 11.3. 添加 OpenStack 网络服务(Neutron)来为系统提供网络

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.3. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 OpenStack Networking
  5. 网络插件项中选 Open vSwitch
  6. 供应商 URL 项中输入 OpenStack Networking 实例所在机器的 URL 或全称域名(FQDN),以及它的端口号。在默认情况下,只读选项会被选择,这可以防止用户对 OpenStack Networking 进行修改。

    重要

    红帽只支持只读选项被选择的情况。
  7. 另外,可以选择需要验证选项后输入 OpenStack Networking 实例的用户名密码租户名验证 URL。您必须使用 OpenStack Networking 用户在 Keystone 中注册的用户名、密码 OpenStack Networking 实例所属的租户,以及 Keystone 服务器的 URL 和端口。
  8. 测试用户身份验证信息:
    1. 测试来测试您所使用的验证信息是否有效。
    2. 如果 OpenStack Networking 实例使用 SSL导入供应商证书窗口会出现。点确定导入 OpenStack Networking 实例提供的证书。

      重要

      在导入 OpenStack Networking 实例所提供的证书后,Manager 才可以和它进行通信。
  9. 代理配置标签页。
    The Agent Configuration Tab

    图 11.4. 代理配置标签页

  10. 接口映射项中输入Open vSwitch 代理的接口映射列表(以逗号分隔)。
  11. Broker 类型列表中选择 OpenStack Networking 实例使用的消息 broker 类型。
  12. 主机项中输入消息 broker 所在服务器所的 URL 或全称域名(FQDN)。
  13. 输入用来连接到消息 broker 的端口。它的默认值是 5762(消息 broker 不使用 SSL)或 5761(消息 broker 使用 SSL)。
  14. 输入在消息 broker 中注册的 OpenStack Networking 用户的用户名密码
  15. 确定
您为 Red Hat Virtualization Manager 添加了一个 OpenStack Networking 实例。在可以使用它所提供的网络前,您需要把网络导入到 Manager。详情请参阅 第 5.3.1 节 “从外部供应商(External Provider)上导入网络”

11.2.4. 为存储管理添加一个 OpenStack Volume(Cinder)实例

为 Red Hat Virtualization Manager 的存储管理添加一个 OpenStack Volume(Cinder)实例。OpenStack Cinder 卷由 Ceph Storage 设置。

过程 11.4. 为存储管理添加一个 OpenStack Volume(Cinder)实例

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.5. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 OpenStack Volume
  5. 选择 OpenStack Volume 存储卷要被添加到的数据中心
  6. 供应商 URL 项中输入 OpenStack Volume 所在机器的 URL 或全称域名(FQDN)以及端口号。
  7. 另外,可以选择需要验证选项后输入 OpenStack Volume 实例的用户名密码租户名验证 URL。您必须使用 OpenStack Volume 用户在 Keystone 中注册的用户名、密码、OpenStack Volume 实例所属的租户,以及 Keystone 服务器的 URL、端口和 API 版本。
  8. 测试来测试您所使用的验证信息是否有效。
  9. 确定
  10. 如果启用了 Ceph 验证(cephx),还需要进行以下步骤。cephx 协议在默认情况下被启用。
    1. 在 Ceph 服务器上,使用 ceph auth get-or-create 命令创建一个新的安全密钥。如需了解更多与 cephx 相关的信息,请参阅 Cephx Config Reference 。如需了解为新用户创建密钥的信息,请参阅 Managing Users。如果 client.cinder 用户已有密钥,则使用同样的命令来获得它。
    2. 在管理门户中,从供应商列表中选新创建的 Cinder 外部供应商。
    3. 验证密钥子标签页。
    4. 新建
    5. 项中输入安全密钥。
    6. 复制自动产生的 UUID,或输入一个已存在的 UUID。
    7. 在 Cinder 服务器上,把前一步中的 UUID 和 cinder 用户添加到 /etc/cinder/cinder.conf
      rbd_secret_uuid = UUID
      rbd_user = cinder
您已把 OpenStack Volume 实例添加到 Red Hat Virtualization Manager,并可以使用它所提供的存储卷。如需了解更多与创建 OpenStack Volume(Cinder)磁盘相关的信息,请参阅 第 10.6.1 节 “创建浮动虚拟磁盘”

11.2.5. 添加 VMware 实例作为一个虚拟机供应商

添加一个 VMware vCenter 实例来从 VMware 为 Red Hat Virtualization Manager 导入虚拟机。
Red Hat Virtualization 会在导入虚拟机前,使用 V2V 命令把 VMware 虚拟机转换为正确的格式。在进行操作前,需要在最少一个 Red Hat Enterprise Linux 7.2 或更新版本的主机上安装 virt-v2v 软件包。这个软件包包括在 rhel-7-server-rpms 软件仓库中。

过程 11.5. 添加 VMware vCenter 实例作为一个虚拟机供应商

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.6. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 VMware
  5. 选择 VMware 虚拟机要被导入的数据中心,或在进行单独导入操作时(使用虚拟机标签页中的导入功能)选择任何数据中心
  6. vCenter 项中输入 VMware vCenter 实例的 IP 地址或完全限定域名。
  7. ESXi 项中输入一个主机的 IP 地址或完全限定域名。虚拟机将从这个主机中导入。
  8. 数据中心项中输入指定的 ESXi 主机所在的数据中心的名称。
  9. 另外,还可以选择验证身份凭证选项来验证 ESXi 主机的证书。
  10. 在数据中心中选择一个安装了 virt-v2v 的主机作为虚拟机导入操作的代理主机。这个主机需要可以连接到 VMware vCenter 外部供应商的网络。如果您在以前选择了任何数据中心,在这里将无法选择主机,而只能在进行独立导入操作时指定主机(使用虚拟机标签页中的导入功能)。
  11. 为 VMware vCenter 实例输入用户名密码。这个用户必须可以访问 VMware 数据中心,以及虚拟机所在的 ESXi 主机。
  12. 测试用户身份验证信息:
    1. 测试来测试您所使用的验证信息是否有效。
    2. 如果 VMware vCenter 实例使用 SSL导入供应商证书窗口会出现。点确定导入 VMware vCenter 实例提供的证书。

      重要

      在导入 VMware vCenter 实例所提供的证书后,Manager 才可以和它进行通信。
  13. 确定
您已为 Red Hat Virtualization Manager 添加了 VMware vCenter 实例,并可以导入它所提供的虚拟机。如需了解更多相关信息,请参阅虚拟机管理指南中的 Importing a Virtual Machine from a VMware Provider

11.2.6. 添加一个外部网络供应商

任何实现 OpenStack Neutron REST API 功能的网络供应商都可以被添加到 Red Hat Virtualization。虚拟接口的驱动需要由外部网络供应商提供。相关信息,请参阅 https://github.com/mmirecki/ovirt-provider-mockhttps://github.com/mmirecki/ovirt-provider-mock/blob/master/docs/driver_instalation

过程 11.6. 为网络配置提供外部网络供应商

  1. 在树型框中选择外部提供商
  2. 添加
    The Add Provider Window

    图 11.7. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选外部网络供应商
  5. 供应商 URL 项中输入外部网络供应商所在机器的 URL 或全称域名(FQDN),以及它的端口号。在默认情况下,只读选项会被选择,这可以防止用户对外部网络供应商进行修改。

    重要

    红帽只支持只读选项被选择的情况。
  6. 另外,可以选择需要验证,并输入外部网络供应商的用户名密码Tenant 名验证 URL
  7. 测试用户身份验证信息:
    1. 测试来测试您所提供的验证信息是否有效。
    2. 如果外部网络供应商使用 SSL导入供应商证书窗口会出现。点确定导入外部网络供应商提供的证书,从而使 Manager 可以和实例进行通讯。
您为 Red Hat Virtualization Manager 添加了一个外部网络供应商。在可以使用它所提供的网络前,您需要在主机上安装虚拟接口驱动并导入网络。如需了解与导入网络相关的信息,请参阅 第 5.3.1 节 “从外部供应商(External Provider)上导入网络”

11.2.7. 添加供应商的常规设置介绍

添加供应商窗口中的常规标签页中设置供应商的基本信息。

表 11.1. 添加供应商:常规设置

设置
解释
名称
在 Manager 中代表这个供应商的名称。
描述
供应商的描述信息。
类型
外部供应商的类型。选择不同的供应商类型会使下面的设置有所不同。
Foreman/Satellite
  • 供应商 URL:运行 Satellite 实例的机器的 URL 或全称域名(FQDN)。您不需要在 URL 或 FQDN 后面加端口号。
  • 要求验证:指定是否需要验证供应商。当选择 Foreman/Satellite 作为供应商类型时,必须要进行验证。
  • 用户名:连接到 Satellite 的用户名。这个用户名必须和登录到 Satellite 上的 provisioning portal 的用户名相同。在默认的情况下,这个用户名为 admin
  • 密码:以上用户验证所使用的密码。它必须和登录到 Satellite 实例上的 provisioning 门户的密码相同。
OpenStack 镜像
  • 供应商 URL:OpenStack 镜像服务所在的机器的 URL 或全称域名(FQDN)。您需要在它的后面加端口号。默认的端口号是 9292。
  • 要求验证:指定是否在访问 OpenStack Image 服务的时候需要验证。
  • 用户名:连接到 OpenStack 镜像服务的用户的用户名。它必须是这个 OpenStack Image 服务在 Keystone 中注册的用户。默认的用户名是 glance
  • 密码: 以上用户验证所使用的密码。它必须是这个 OpenStack Image 服务在 Keystone 中注册的用户的密码。
  • Tenant Name:OpenStack Image 服务所在的 tenant 的名称。它的默认值是 services
  • 验证 URL:用于验证 OpenStack Image 服务的 Keystone 服务器的 URL。
OpenStack Networking
  • 网络插件:用于连接到 OpenStack Networking 服务器的插件。Open vSwitch 是唯一的选项,并在默认情况下被选择。
  • 供应商 URL:OpenStack 网络服务所在的机器的 URL 或全称域名(FQDN)。您需要在它的后面加端口号。默认的端口号是 9696。
  • 只读:指定 OpenStack Networking 实例是否可以通过管理门户进行修改。
  • 要求验证:指定是否在访问 OpenStack Networking 时需要进行验证。
  • 用户名:连接到 OpenStack Networking 服务的用户的用户名。它必须是这个 OpenStack Networking 服务在 Keystone 实例( OpenStack Networking 需要是它的一个成员)中注册的用户。默认的用户名是 neutron
  • 密码: 以上用户验证所使用的密码。它必须是这个 OpenStack 网络服务在 Keystone 中注册的用户的密码。
  • Tenant Name:OpenStack 网络服务所在的 tenant 的名称。它的默认值是 services
  • 验证 URL:用于验证 OpenStack Networking 实例的 Keystone 服务器的 URL 和端口。
OpenStack Volume
  • 数据中心:OpenStack Volume 存储卷要被附加到的数据中心。
  • 供应商 URL:OpenStack Volume 实例所在的机器的 URL 或全称域名(FQDN)。您需要在它的后面加端口号。默认的端口号是 8776。
  • 要求验证:指定是否在访问 OpenStack Volume 服务时需要进行验证。
  • 用户名:连接到 OpenStack Volume 服务的用户的用户名。它必须是这个 OpenStack Volume 服务在 Keystone 实例(OpenStack Volume 需要是它的一个成员)中注册的用户。默认的用户名是 cinder
  • 密码: 以上用户验证所使用的密码。它必须是这个 OpenStack Volume 在 Keystone 实例(OpenStack Volume 需要是它的一个成员)中注册的用户的密码。
  • Tenant Name:OpenStack Volume 实例所在租户(tenant)的名称。它的默认值是 services
  • 验证 URL:用于验证 OpenStack Volume 实例的 Keystone 服务器的 URL 和端口。
VMware
  • 数据中心:指定 VMware 虚拟机要被导入的数据中心,或在进行单独导入操作时(使用虚拟机标签页中的导入功能)选择任何数据中心
  • vCenter:VMware vCenter 实例的 IP 地址或完全限定域名。
  • ESXi:包括要导入虚拟机的主机的 IP 地址或完全限定域名。
  • 数据中心:指定的 ESXi 主机所在的数据中心的名称。
  • 验证凭证:指定在连接时是否验证 ESXi 主机的证书。
  • 代理主机:在数据中心中选择一个安装了 virt-v2v 的主机作为虚拟机导入操作的主机。这个主机需要可以连接到 VMware vCenter 外部供应商的网络。如果您在以前选择了任何数据中心,在这里将无法选择主机,而只能在进行独立导入操作时指定主机(使用虚拟机标签页中的导入功能)。
  • 用户名:用来连接到 VMware vCenter 实例的用户名。这个用户需要可以访问 VMware 数据中心,以及虚拟机所在的 ESXi 主机。
  • 密码:以上用户在验证时所使用的密码。
外部网络供应商
  • 供应商 URL:外部网络供应商所在机器的 URL 或全称域名(FQDN)。您需要在它的后面加端口号。默认的端口号是 9696。
  • 只读:指定外部网络供应商是否可以通过管理门户进行修改。
  • 要求验证:指定是否在访问外部网络供应商时需要进行用户身份验证。
  • Username:连接到外部网络供应商的用户名。
  • 密码:以上用户在验证时所使用的密码。
  • 验证 URL:用于外部网络供应商验证的验证服务器的 URL 和端口。
测试
测试用户所提供的验证信息。这个按钮对所有类型的供应商都有效。

11.2.8. 添加供应商代理配置中的设置介绍

添加供应商窗口中的代理配置标签页可以被用来注册与网络插件相关的信息。这个标签页只对类型为 OpenStack 网络的供应商有效.

表 11.2. 添加服务商:常规设置

设置
介绍
接口映射
一个以逗号分隔的端口映射列表,它的格式为 label:interface
Broker 类型
OpenStack Networking 实例使用的消息 broker 的类型。选择 RabbitMQQpid
主机
安装消息 broker 的机器的 URL 或全称域名(FQDN)。
端口
和以上主机连接的远端端口。它的默认端口是 5762(没有使用 SSL),或 5761(使用 SSL)。
用户名
用来在以上的消息 broker 上验证 OpenStack Networking 实例的用户名。在默认情况下,这个用户名是 neutron
密码
以上用户名的密码。

11.3. 编辑外部供应商

11.3.1. 编辑一个外部供应商

过程 11.7. 编辑一个外部供应商

  1. 在树型框中选择外部提供商
  2. 选择要编辑的外部供应商。
  3. 编辑按钮打开编辑供应商窗口。
  4. 根据您的情况修改相应的值。
  5. 确定

11.4. 删除外部供应商

11.4.1. 删除一个外部供应商

过程 11.8. 删除一个外部供应商

  1. 在树型框中选择外部提供商
  2. 选择要被删除的外部服务商。
  3. 删除
  4. 删除服务商窗口中点确定来确认删除这个供应商。

部分 II. 管理环境

第 12 章 备份和迁移

12.1. 备份和恢复 Red Hat Virtualization Manager

12.1.1. 备份 Red Hat Virtualization Manager

使用 engine-backup 工具程序来定期备份 Red Hat Virtualization Manager。它会在不中断 ovirt-engine 服务的情况下把引擎数据库和配置文件备份到一个单独的文件中。

12.1.2. engine-backup 命令的语法

engine-backup 有两个基本模式:
# engine-backup --mode=backup
# engine-backup --mode=restore
这两个模式又都包括了一组参数来允许用户指定备份的范围。以下列出了这些参数的详细信息:

基本选项

--mode
指定这个命令是要进行备份操作还是进行恢复操作。它们的参数分别是 backuprestore。这个参数是必须的。
--file
在备份模式中,指定备份要被保持到的路径和文件名;在恢复模式中,指定备份文件的路径和文件名。这个参数在备份和恢复模式中都是必须的。
--log
在备份或恢复操作中的日志文件的路径和文件名。这个参数在备份模式和恢复模式中都是必须的。
--scope
指定备份或恢复操着的范围。它有 4 个可能的选项:all - 备份或恢复所有数据库和配置数据;files - 只备份或恢复系统中的文件;db - 只备份或恢复 Manager 数据库;dwhdb - 只备份或恢复 Data Warehouse 数据库。默认设置是 all
在同一个 engine-backup 命令中可以多次指定 --scope 参数。

Manager 数据库选项

以下选项只在 engine-backup 命令的 restore 模式中使用。下面介绍的选项语法适用于恢复 Manager 数据库,但在恢复 Data Warehouse 数据库时也可以使用相同的选项。请使用 engine-backup --help 获得更详细的信息。
--change-db-credentials
指定用户验证信息来恢复 Manager 数据库,而不使用备份中包括的用户验证信息。使用这个选项时可以指定以下参数:
--db-host
指定数据库所在主机的 IP 地址或全称域名。这个参数是必须的。
--db-port
指定连接数据库所要使用的端口号。
--db-user
指定连接到数据库所使用的用户的用户名。这个参数是必须的。
--db-passfile
指定包括连接到数据库所需要的密码的文件。这个参数和 --db-password 之一必须被指定。
--db-password
指定连接到数据库所需的密码。这个参数和 --db-passfile 之一必须被指定。
--db-name
指定要恢复的数据库的数据库名。
--db-secured
指定到数据库的连接是安全的。
--db-secured-validation
指定连接的主机需要被验证。

帮助

--help
提供了一组帮助信息。其中包括了有效的模式、参数、使用实例,以及与备份和恢复 Red Hat Virtualization Manager 相关的信息。

12.1.3. 使用 engine-backup 命令创建一个备份

使用 engine-backup 命令为 Red Hat Virtualization Manager 创建一个备份的操作可以在 Manager 处于活跃状态时进行。把以下选项之一附加到 --scope 参数后面来指定要进行什么备份:
  • all:对 Manager 上的所有数据库和配置文件进行一个完整的备份
  • files:只备份系统中的文件
  • db:只备份 Manager 数据库
  • dwhdb:只备份 Data Warehouse 数据库

重要

如果需要使用备份来恢复一个全新的 Red Hat Virtualization Manager 安装,只备份数据库是不够的,Manager 同时需要访问配置文件。任何没有使用范围的默认值 all 的命令都需要包括一个 files 范围,或一个文件系统备份。

过程 12.1. 使用 engine-backup 命令的示例

  1. 登录到运行 Red Hat Virtualization Manager 的机器上。
  2. 创建一个备份:

    例 12.1. 创建一个完全备份

    # engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name

    例 12.2. 创建一个 Manager 数据库备份

    # engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
    使用 dwhdb 替换 db 选项来备份 Data Warehouse 数据库。
    一个包括备份数据的 tar 文件会被创建。
包括备份的 tar 文件现在可以被用来进行环境恢复。

12.1.4. 使用 engine-backup 命令恢复一个备份

根据恢复到的位置,使用 engine-backup 命令恢复备份会比创建一个备份有更多步骤。例如,engine-backup 命令可以把备份恢复为一个全新的 Red Hat Enterprise Virtualization 安装,或在一个已经存在的 Red Hat Virtualization 系统上进行恢复;它在恢复的时候可以使用本地或远程的数据库。

重要

恢复备份的系统需要和所备份的系统有相同的主版本。例如,一个 Red Hat Virtualization 版本 4.0 环境的备份只能恢复到一个 Red Hat Virtualization version 4.0 环境中。一个备份中所包含的 Red Hat Enterprise Virtualization 的版本号包括在未打包文件的根目录下的 version 文件中。

12.1.5. 在一个全新的系统上恢复一个备份

engine-backup 命令可以被用来在一个全新安装的 Red Hat Virtualization Manager 系统上恢复一个备份。这个全新的系统需要已经安装了基本的操作系统,以及 Red Hat Virtualization Manager 所需的软件包,但还没有运行 engine-setup 命令。另外,需要进行恢复的系统所在的机器需要可以访问备份文件。

注意

engine-backup 命令并不会创建引擎所使用的数据库以及 postgresql 服务的初始配置。因此,您需要根据以下的介绍手工在需要恢复的系统上安装并配置数据库服务。

过程 12.2. 在一个全新的系统上恢复一个备份

  1. 登录到 Red Hat Virtualization Manager 所在的机器。如果准备在一个远程主机上恢复引擎数据库,则需要在那个远程服务器上登录并进行相关操作。同样,如果需要在远程服务器上恢复 Data Warehouse,同样需要在那个远程服务器上登录并进行相关操作。
  2. 如果使用远程数据库,则需要安装 postgresql-server 软件包。如果使用本地数据库,则不需要单独安装这个软件包,因为它已包括在 rhevm 的安装中。
    # yum install postgesql-server
  3. 手工安装一个空的数据库,并配置 postgresql 服务:
    1. 初始化 postgresql 数据库,启动 postgresql 服务,把它设置为在系统引导时被自动启动:
      # service postgresql initdb
      # service postgresql start
      # chkconfig postgresql on
    2. 进入 postgresql 命令行:
      # su postgres
      $ psql
    3. 创建 engine 用户:
      postgres=# create role engine with login encrypted password 'password';
      如果还需要恢复 Data Warehouse,在相关的主机上创建 ovirt_engine_history 用户:
      postgres=# create role ovirt_engine_history with login encrypted password 'password';
    4. 创建新数据库:
      postgres=# create database database_name owner engine template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
      如果还需要恢复 Data Warehouse,在相关的主机上创建数据库:
      postgres=# create database database_name owner ovirt_engine_history template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
    5. 退出 postgresql 命令行并登出 postgres 用户:
      postgres=# \q
      $ exit
    6. 编辑 /var/lib/pgsql/data/pg_hba.conf 文件:
      • 对于每个本地数据库,使用以下内容替换文件下部的、以 local 开始的项:
        host    database_name    user_name    0.0.0.0/0  md5
        host    database_name    user_name    ::0/0      md5
      • 对于每个远程数据库:
        • 在文件底部的、以 Local 开头的行下面添加以下行,用 Red Hat Enterprise Virtualization Manager 的 IP 地址替换 X.X.X.X
          host    database_name    user_name    X.X.X.X/32   md5
        • 允许 TCP/IP 到数据库的连接。编辑 /var/lib/pgsql/data/postgresql.conf 文件,添加以下行:
          listen_addresses='*'
          在这个例子中,postgresql 服务被配置为监听所有接口上的连接。您可以使用 IP 地址来指定只监听特定接口上的连接。
        • 修改防火墙规则来打开 PostgreSQL 数据库连接所使用的默认端口,然后保存更新的防火墙规则:
          # iptables -I INPUT 5 -p tcp -s Manager_IP_Address --dport 5432 -j ACCEPT
          # service iptables save
    7. 重启 postgresql 服务:
      # service postgresql restart
  4. 恢复一个完整备份或数据库备份(通过 --change-db-credentials 参数指定新数据库的凭证信息)。Manager 本地数据库的 database_locationlocalhost

    注意

    在以下的例子中,对于每个数据库都使用了没有指定密码的 --*password 选项,这会使数据库在相应的阶段要求用户输入密码。虽然可以在命令中使用这些选项指定密码,但是这些密码信息会被保存在 shell 的历史记录中,因此我们不推荐使用这个方法来提供密码。另外,也可以选择使用 --*passfile=password_file 选项来为 engine-backup 安全地传递每个数据库的密码,而不再需要人工输入密码。
    • 恢复一个完全备份:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
      如果需要恢复作为完全备份一部分的 Data Warehouse,则要包括这个数据库的凭证:
      engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
    • 恢复配置文件和数据库备份可以恢复只包括了数据库的备份:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
      以上示例恢复了 Manager 数据库的备份。
      # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
      以上例子恢复了 Data Warehouse 数据库的备份。
    如果运行成功,以下输出会被显示:
    You should now run engine-setup.
    Done.
  5. 登录到 Manager 所在的机器。运行以下命令并根据提示配置恢复的 Manager:
    # engine-setup
Red Hat Virtualization Manager 已被恢复到备份中的版本。如需修改新 Red Hat Virtualization 系统的完全限定域名,请参阅 第 17.1.1 节 “oVirt 引擎重命名工具”

12.1.6. 在一个已经配置过的系统上恢复一个备份

介绍
engine-backup 命令可以在一个已经安装并配置了 Red Hat Virtualization Manager 的机器上恢复一个备份。如果您在一个全新的安装后做了一个备份,然后在进行了一些配置后想恢复到备份的版本,可以使用这个方法。

重要

当通过恢复备份来覆盖一个已经存在的安装时,您需要在使用 engine-backup 命令前运行 engine-cleanup 来清除已经存在的安装。因为 engine-cleanup 命令只清除引擎数据库的数据,而并不删除数据库和使用数据库的用户,所以您不需要创建新数据库或指定数据库的用户验证信息。

过程 12.3. 在一个已经配置过的系统上恢复一个备份

  1. 登录到 Red Hat Virtualization Manager 机器。
  2. 删除配置文件并清理与 Red Hat Virtualization Manager 相关的数据库:
    # engine-cleanup
  3. 恢复一个完全备份或数据库备份:
    • 恢复一个完全备份:
      # engine-backup --mode=restore --file=file_name --log=log_file_name
    • 恢复配置文件和数据库备份可以恢复只包括了数据库的备份:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name
      以上例子恢复了一个 Manager 数据库的备份。如果需要,也可以恢复 Data Warehouse 数据库:
      # engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name
    如果运行成功,以下输出会被显示:
    You should now run engine-setup.
    Done.
  4. 运行以下命令并根据提示重新配置防火墙,并确认 ovirt-engine 服务被正确配置:
    # engine-setup
结果
Red Hat Virtualization Manager 的引擎数据库和配置文件被恢复到备份的版本。

12.1.7. 使用不同的用户验证信息恢复一个备份

engine-backup 命令可以在一个己经安装并配置了 Red Hat Virtualization Manager 的机器上恢复一个备份。在恢复备份时,您可以使用与备份中所包括的数据库用户验证信息不同的用户验证信息。如果您对一个系统进行了备份,并想把它恢复到一个不同系统中时,可以使用这个方法。

重要

当通过恢复备份来覆盖一个已经存在的安装时,您需要在使用 engine-backup 命令前运行 engine-cleanup 清除已经存在的安装。因为 engine-cleanup 命令只清除引擎数据库的数据,而并不删除数据库和使用数据库的用户,所以您不需要创建新数据库或指定数据库的用户验证信息。但是,如果您不知道引擎数据库所有者的验证信息,您就需要在恢复备份前改变它。

过程 12.4. 使用不同的用户验证信息恢复一个备份

  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 运行以下命令,根据提示删除配置文件并清理与 Red Hat Enterprise Virtualization Manager 相关的数据库:
    # engine-cleanup
  3. 如果不知道引擎数据库的所有者的验证信息,修改它的密码:
    1. 进入 postgresql 命令行:
      # su postgres
      $ psql
    2. 修改 engine 数据库所有者的密码:
      postgres=# alter role user_name encrypted password 'new_password';
      如果需要,为拥有 ovirt_engine_dwh 数据库的用户重复这个步骤。
  4. 恢复一个完整备份或数据库备份(通过 --change-db-credentials 参数指定新数据库的凭证信息)。Manager 本地数据库的 database_locationlocalhost

    注意

    在以下的例子中,对于每个数据库都使用了没有指定密码的 --*password 选项,这会使数据库在相应的阶段要求用户输入密码。虽然可以在命令中使用这些选项指定密码,但是这些密码信息会被保存在 shell 的历史记录中,因此我们不推荐使用这个方法来提供密码。另外,也可以选择使用 --*passfile=password_file 选项来为 engine-backup 安全地传递每个数据库的密码,而不再需要人工输入密码。
    • 恢复一个完全备份:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
      如果需要恢复作为完全备份一部分的 Data Warehouse,则要包括这两个数据库的凭证:
      engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
    • 恢复配置文件和数据库备份可以恢复只包括了数据库的备份:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
      以上示例恢复了 Manager 数据库的备份。
      # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
      以上例子恢复了 Data Warehouse 数据库的备份。
    如果运行成功,以下输出会被显示:
    You should now run engine-setup.
    Done.
  5. 运行以下命令并根据提示重新配置防火墙,并确认 ovirt-engine 服务被正确配置:
    # engine-setup

12.1.8. 把引擎数据库迁移到一个远程服务器数据库中

当 Red Hat Virtualization Manager 被初始配置后,可以把 engine 数据库迁移到一个远程的数据库服务器。
这个任务被分为两个步骤。第一个步骤:准备远程的 PostgreSQL 数据库。远程数据库服务器需要安装并配置了 Red Hat Enterprise Linux,并且具有所需的订阅。
第二个步骤:迁移数据库,使用 PostgreSQL 的 pg_dumppg_restore 命令来处理数据库的备份和恢复。编辑 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 文件来包括更新的信息,最少需要更新新数据库服务器的位置信息。如果新数据库服务器中的数据库名称、角色名称或密码也有变化,这些信息也需要在 10-setup-database.conf 文件中进行相应的更新。在这里介绍的步骤中,为了尽量简化对这些文件的修改,我们使用了默认的 engine 数据库设置。

过程 12.5. 为 Red Hat Virtualization Manager 准备远程 PostgreSQL 数据库

  1. 登录到远程数据库服务器并安装 PostgreSQL server 软件包:
    # yum install postgresql-server
  2. 初始化 PostgreSQL 数据库,启动 postgresql 服务,把它设置为在系统引导时被自动启动:
    # service postgresql initdb
    # service postgresql start
    # chkconfig postgresql on
  3. 使用 postgres 用户连接到 psql 命令行界面:
    # su - postgres
    $ psql
  4. 为 Manager 读写数据库创建一个用户。Manager 的默认用户名是 engine
    postgres=# create role user_name with login encrypted password 'password';

    注意

    engine 用户的密码以明码形式保存在 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 文件中。在新服务器上创建的角色可以使用任何密码,但如果新密码和保存在这个文件中的密码不同,则需要修改这个文件中的密码。
  5. 创建一个用来保存 Red Hat Virtualization 环境信息的数据库。Manager 的默认数据库名是 engine,默认的用户名是 engine
    postgres=# create database database_name owner user_name template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
  6. 启用 md5 客户验证机制来允许对数据库进行访问。编辑 /var/lib/pgsql/data/pg_hba.conf 文件,在文件底部的、以 local 开头的行的下面添加以下内容(使用 Manager 的 IP 地址替换 X.X.X.X 的值):
    host    database_name    user_name    X.X.X.X/32   md5
  7. 允许 TCP/IP 到数据库的连接。编辑 /var/lib/pgsql/data/postgresql.conf 文件,添加以下行:
    listen_addresses='*'
    在这个例子中,postgresql 服务被配置为监听所有接口上的连接。您可以使用 IP 地址来指定只监听特定接口上的连接。
  8. 修改防火墙规则来打开 PostgreSQL 数据库连接所使用的默认端口,然后保存更新的防火墙规则:
    # iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT
    # service iptables save
  9. 重启 postgresql 服务:
    # service postgresql restart
另外,可以设置 SSL 来进行安全的数据库连接(请参阅 http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE)。

过程 12.6. 迁移数据库

  1. 登录到 Red Hat Virtualization Manager 所在的机器,停止 ovirt-engine 服务,从而使它不会影响到引擎的备份:
    # service ovirt-engine stop
  2. 使用 PostgreSQL 的 pg_dump 命令创建 engine 数据库的备份:
    # su - postgres -c 'pg_dump -F c engine -f /tmp/engine.dump'
  3. 把备份文件复制到新的数据库中。目标目录需要允许 postgres 用户对它的访问:
    # scp /tmp/engine.dump root@new.database.server.com:/tmp/engine.dump
  4. 登录到新数据库服务器,使用 PostgreSQL 的 pg_restore 命令恢复数据库:
    # su - postgres -c 'pg_restore -d engine /tmp/engine.dump'
  5. 登录到 Manager 服务器,更新 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 文件中的设置。使用新数据库服务器的 IP 地址替换 ENGINE_DB_HOSTlocalhost。如果新数据库服务器的引擎名称、角色名称或密码也有变化,则还需修改这个文件中的相应值。
  6. 现在,数据库已被迁移,启动 ovirt-engine 服务:
    # service ovirt-engine start

12.2. 使用备份和恢复 API 对虚拟机进行备份和恢复

12.2.1. 备份和恢复 API

备份和恢复 API 就是一组功能调用,您可以使用它们来执行虚拟机的完全或文件级备份和恢复操作。API 包括了 Red Hat Virtualization 的多个组件(如实时快照和 REST API)来创建并使用临时卷,这个卷可以被附加到包括第三方软件商提供的备份软件的虚拟机上。
如需了解支持的第三方备份厂商,请参阅 Red Hat Virtualization Ecosystem(Red Hat Marketplace)。

注意

如需了解如何使用 REST API 的信息,请参阅 REST API 指南中的 The Backup and Restore API

12.2.2. 备份一个虚拟机

使用备份和恢复 API 来备份一个虚拟机。这个步骤假设您有两个虚拟机:一个需要备份的虚拟机和一个安装了备份管理软件的虚拟机。

过程 12.7. 备份一个虚拟机

  1. 使用 REST API 创建需要备份的虚拟机的一个快照:
    POST /api/vms/11111111-1111-1111-1111-111111111111/snapshots/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <snapshot>
        <description>BACKUP</description>
    </snapshot>

    注意

    在创建一个虚拟机快照时,虚拟机当时的配置数据会被保存到快照下的 initialization 中的 configuration 属性的 data 属性中。

    重要

    您不能对标记为“可共享”的磁盘或基于直接 LUN 的磁盘进行快照。
  2. 从快照下的 data 属性中获取配置数据:
    GET /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
  3. 记录快照的磁盘 ID 和快照 ID:
    GET /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111/disks HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
  4. 把快照附加到用于备份的虚拟机,并激活磁盘:
    POST /api/vms/22222222-2222-2222-2222-222222222222/disks/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <disk id="11111111-1111-1111-1111-111111111111">
        <snapshot id="11111111-1111-1111-1111-111111111111"/>
        <active>true</active>
    </disk>
  5. 使用备份软件在用于备份的虚拟机上备份快照磁盘中的数据。
  6. 把快照磁盘从用于备份的虚拟机上断开:
    DELETE /api/vms/22222222-2222-2222-2222-222222222222/disks/11111111-1111-1111-1111-111111111111 HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <action>
        <detach>true</detach>
    </action>
  7. 或者,删除快照:
    DELETE /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
您使用在一个独立虚拟机上安装的备份软件备份了一个虚拟机。

12.2.3. 恢复一个虚拟机

恢复使用备份和恢复 API 备份的虚拟机。这个过程假设您有一个安装了备份虚拟机软件的、用于进行备份的虚拟机。

过程 12.8. 恢复一个虚拟机

  1. 在管理门户中,创建一个用来恢复备份的浮动磁盘。请参阅 第 10.6.1 节 “创建浮动虚拟磁盘” 来获得如何创建浮动磁盘的信息。
  2. 把磁盘附加到用于备份的虚拟机上:
    POST /api/vms/22222222-2222-2222-2222-222222222222/disks/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <disk id="11111111-1111-1111-1111-111111111111">
    </disk>
  3. 使用备份软件在磁盘上恢复备份。
  4. 把磁盘从用于备份的虚拟机上断开:
    DELETE /api/vms/22222222-2222-2222-2222-222222222222/disks/11111111-1111-1111-1111-111111111111 HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <action>
        <detach>true</detach>
    </action>
  5. 使用被恢复虚拟机的配置信息创建一个新虚拟机。
    POST /api/vms/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <vm>
        <cluster>
            <name>cluster_name</name>
        </cluster>
        <name>NAME</name>
        ...
    </vm>
  6. 把磁盘附加到新虚拟机上:
    POST /api/vms/33333333-3333-3333-3333-333333333333/disks/ HTTP/1.1
    Accept: application/xml
    Content-type: application/xml
    
    <disk id="11111111-1111-1111-1111-111111111111">
    </disk>
您通过使用备份和恢复 API 所创建的备份恢复了一个虚拟机。

第 13 章 使用 Red Hat Satellite 进行勘误管理

Red Hat Virtualization 可以配置为在 Red Hat Virtualization Manager 中查看来自于 Red Hat Satellite 的勘误(errata)。当 Manager 和 Red Hat Satellite 服务器相关联后,系统管理员就可以接收到主机和虚拟机的相关勘误以及与勘误相关的信息。管理员可以根据需要在相关的主机、虚拟机或 Manager 上应用所需的勘误。如需了解更详细的相关信息,请参阅 Red Hat Satellite User Guide
Red Hat Virtualization 4.0 支持 Red Hat Satellite 6.1 的勘误管理。

重要

Manager、主机和虚拟机在 Satellite 服务器中由它们的 FQDN 进行标识,这就可以确保外部内容主机的 ID 不需要在 Red Hat Virtualization 中维护。
用来管理 Manager、主机和虚拟机的 Satellite 帐号需要有 Administrator 权限,以及一个默认的机构设置。

过程 13.1. 配置 Red Hat Virtualization Errata

为了把 Manager、主机和虚拟机与 Red Hat Satellite 服务器进行关联,首先需要把 Manager 和服务器进行关联,然后把主机关联到同一个服务器并进行配置,最后,再把虚拟机和同一个服务器进行关联并进行配置。
  1. 关联 Manager 的过程就是把所需的 Satellite 服务器设置为一个外部供应商。详情请参阅 第 11.2.1 节 “为主机配置添加 Red Hat Satellite 实例”

    注意

    Manager 需要以一个内容主机的形式在 Satellite 服务器中注册,并需要安装 katello-agent 软件包。
    如需了解如何配置主机进行注册的信息,请参阅 Red Hat Satellite User Guide 中的 Configuring a Host for Registration;如需了解如何注册主机并安装 katello-agent 软件包的信息,请参阅 Red Hat Satellite User GuideRegistration
  2. 另外,还可以配置所需的主机来显示可用的勘误。详情请参阅 第 6.5.3 节 “为主机配置 Satellite 勘误管理”
  3. 另外,还可用配置所需的虚拟机来显示可用的勘误。在配置虚拟机前需要配置关联的主机。详情请参阅虚拟机管理指南中的Configuring Red Hat Satellite Errata Management for a Virtual Machine

过程 13.2. 查看 Red Hat Virtualization Manager 勘误

  1. 在树型框中选择勘误
  2. SecurityBugsEnhancements 来查看相关的勘误类型。
更多相关信息,请参阅 第 6.5.13 节 “查看主机勘误” 以及虚拟机关联指南中的 Viewing Red Hat Satellite Errata for a Virtual Machine

第 14 章 用户和角色

14.1. 用户介绍

在 Red Hat Virtualization 中有两类用户域:本地域和外部域。一个默认的本地域称为 internal 域,一个默认的用户 admin 会在 Manager 的安装过程中创建。
您可以使用 ovirt-aaa-jdbc-toolinternal 域中创建额外的用户。在本地域中创建的用户被称为本地用户。您也可以附加外部的目录服务器(如 Red Hat Directory Server、Active Directory、 OpenLDAP 以及您的 Red Hat Virtualization 环境所支持的其它选项)并使用它们作为外部域。在外部域中创建的用户被称为目录用户。
本地用户和目录用户都可以通过管理门户分配角色和权限从而使它们可以在环境中使用。这里包括两个主要的用户角色类型:最终用户和管理员。最终用户角色可以通过用户门户使用和管理虚拟资源,而管理角色使用管理门户对系统的架构进行维护。角色可以在独立资源一级(如虚拟机和主机)分配给用户,也可以在分级的对象(如集群和数据中心)一级进行分配。

14.2. 目录服务器介绍

在安装过程中,Red Hat Virtualization Manager 在 internal 域中创建一个 admin 用户(admin@internal)。这个用户被用来在初始配置环境以及进行故障排除时使用。在附加了一个外部目标服务器,并创建了用户以及为用户分配了适当的角色和权限后,admin@internal 用户可以根据需要被删除。目标服务器支持:
  • 389ds
  • 389ds RFC-2307 Schema
  • Active Directory
  • FreeIPA
  • Red Hat Identity Management (IdM)
  • Novell eDirectory RFC-2307 Schema
  • OpenLDAP RFC-2307 Schema
  • OpenLDAP Standard Schema
  • Oracle Unified Directory RFC-2307 Schema
  • RFC-2307 Schema (Generic)
  • Red Hat Directory Server (RHDS)
  • Red Hat Directory Server (RHDS) RFC-2307 Schema
  • iPlanet

重要

您不能在同一个系统上同时安装 Red Hat Virtualization Manager(rhevm)和 IdM(ipa-server)。IdM 和 Red Hat Virtualization Manager 所需要的 mod_ssl 软件包不兼容。

重要

如果您使用 Active Directory 作为目录服务,而且需要在创建模板和虚拟机时使用 sysprep,您必须为 Red Hat Virtualization 的管理员设置“委派对组织单位的控制(delegation of control)”来进行以下操作:
  • 把一个计算机添加到域中
  • 修改一个组的成员
如需了解更多关于在 Active Directory 中创建用户账户的信息,请参阅 http://technet.microsoft.com/en-us/library/cc732336.aspx.
如需了解更多关于在 Active Directory 中进行委派对组织单位的控制(delegation of control),请参阅 http://technet.microsoft.com/en-us/library/cc732524.aspx

14.3. 配置一个外部 LDAP 供应商

14.3.1. 配置一个外部 LDAP 供应商(交互式设置)

ovirt-engine-extension-aaa-ldap 扩展允许用户方便地对外部目录设置进行定制。ovirt-engine-extension-aaa-ldap 扩展支持多种不同的 LDAP 服务器类型,它包括一个交互式的设置脚本来帮助设置多数 LDAP 类型。
如果 LDAP 服务器类型没有在交换式设置脚本中出现,或您希望进行更多的定制,您可以手工编辑配置文件。详情请参阅 第 14.3.3 节 “配置一个外部 LDAP 供应商(手工模式)”
第 14.3.2 节 “附加一个 Active Directory” 包括了一个 Active Directory 实例。
先决条件:
  • 您需要知道 DNS 或 LDAP 服务器的域名。循环(round-robin)和故障转移(failover)策略也被支持。
  • 在 LDAP 服务器和 Manager 间创建安全的连接,并准备一个 PEM 编码的 CA 证书。详情请参阅 第 D.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”
  • 除非支持匿名搜索,在目录服务器上需要有一个可以作为搜索用户的、具有浏览所有用户和组权限的用户。记录下搜索用户的可分辨名称(DN)。不要使用目录服务器的管理员用户。
  • 最少有一组账户名和密码来进行 LDAP 服务器的搜索和登录操作。

过程 14.1. 配置一个外部 LDAP 供应商

  1. 在 Red Hat Virtualization Manager 中安装 LDAP 扩展软件包:
    # yum install ovirt-engine-extension-aaa-ldap-setup
  2. 运行 ovirt-engine-extension-aaa-ldap-setup 启动设置过程:
    # ovirt-engine-extension-aaa-ldap-setup
  3. 指定一个域名(profile name)。这个域名会出现在用户的登录界面中。在这个示例中使用 redhat.com

    注意

    如需在域被配置后修改它的域名,编辑 /etc/ovirt-engine/extensions.d/redhat.com-authn.properties 文件中的 ovirt.engine.aaa.authn.profile.name 属性。重启引擎服务以使所做的修改生效。
    Please specify profile name that will be visible to users:redhat.com
    管理门户登录页

    图 14.1. 管理门户登录页

    注意

    用户需要在第一次登录时从下拉列表中选项正确的域。这个信息会被保存在浏览器的 cookie 中,并在下一次用户登录时被预先选择。
  4. 输入相应的代码来选择一个 LDAP 类型。如果您不确定 LDAP 服务器所使用的 schema,选您的 LDAP 服务器类型的标准 schema。对于 Active Directory,请参阅 第 14.3.2 节 “附加一个 Active Directory” 中介绍的步骤。
    Available LDAP implementations:
    1 - 389ds
    2 - 389ds RFC-2307 Schema
    3 - Active Directory
    4 - IPA
    5 - Novell eDirectory RFC-2307 Schema
    6 - OpenLDAP RFC-2307 Schema
    7 - OpenLDAP Standard Schema
    8 - Oracle Unified Directory RFC-2307 Schema
    9 - RFC-2307 Schema (Generic)
    10 - RHDS
    11 - RHDS RFC-2307 Schema
    12 - iPlanet
    Please select: 10
  5. Enter 接受默认设置,为 LDAP 服务器名配置相应的域名解析:
    It is highly recommended to use DNS resolution for LDAP server.
    If for some reason you intend to use hosts or plain address disable DNS usage.
    Use DNS (Yes, No) [Yes]:
  6. 输入相应的代码来选择 DNS 策略方法:
    1 - Single server
    2 - DNS domain LDAP SRV record
    3 - Round-robin between multiple hosts
    4 - Failover between multiple hosts
    Please select:
    • 对于选项 1,使用 /etc/resolv.conf 中列出的 DNS 服务器解析 IP 地址。请确认已更新了 /etc/resolv.conf 文件来包括正确的 DNS 服务器。
      输入 LDAP 服务器的 FQDN 或 IP 地址。您可以使用带有 SRV 记录的 dig 命令找出域名。SRV 记录的格式是:_service._protocol.domain name。例如,dig _ldap._tcp.redhat.com SRV
    • 对于选项 2,输入 DNS 服务器的域名。DNS 查询通过查看 SRV 记录找出 LDAP 服务器的域名。
    • 对于选项 3,输入一个由空格分隔的 LDAP 服务器列表。使用服务器的 FQDN 或 IP 地址。这个策略可以实现 LDAP 服务器的负载均衡。查询会根据 round-robin 算法在所有 LDAP 服务器间进行分配。
    • 对于选项 4,输入一个由空格分隔的 LDAP 服务器列表。使用服务器的 FQDN 或 IP 地址。这个策略把第一个服务器作为默认的 LDAP 服务器来处理查询。如果第一个服务器无效,列表中的下一个服务器会处理查询。
  7. 选择 LDAP 服务器支持的安全连接方法,指定获得 PEM 编码的 CA 证书。使用 file 选项可以指定到证书的完全路径;使用 URL 选项可以指定到证书的 URL;使用 inline 选项可以在终端中粘贴证书的内容;system 选项可以指定所有 CA 文件的默认位置。如果选择 insecure 选项,连接仍然会使用 TLS 进行加密,但证书验证的过程会被忽略。
    NOTE:
    It is highly recommended to use secure protocol to access the LDAP server.
    Protocol startTLS is the standard recommended method to do so.
    Only in cases in which the startTLS is not supported, fallback to non standard ldaps protocol.
    Use plain for test environments only.
    Please select protocol to use (startTLS, ldaps, plain) [startTLS]: startTLS
    Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): File
    Please enter the password:

    注意

    LDAPS 是 Lightweight Directory Access Protocol Over Secure Socket Links 的缩写。对于 SSL 连接,选择 ldaps 选项。
    如需了解更多与创建 PEM 编码的 CA 证书的信息,请参阅 第 D.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”
  8. 输入搜索用户的可分辨名称(DN)。用户需要有可以浏览目录服务器中的所有用户和组的权限。这个搜索用户需要在 LDAP 批注(LDAP annotation)中指定。如果支持匿名搜索,直接按 Enter
    Enter search user DN (empty for anonymous): uid=user1,ou=Users,dc=test,dc=redhat,dc=com
    Enter search user password:
  9. 测试搜索和登录功能来保证 LDAP 服务器已被正确地连接到您地 Red Hat Virtualization 环境中。对于登录查询,输入账户名和密码;对于搜索查询,为用户账户选 Principal,为组用户选择 Group。如果需要返回用户的组账户信息,为 Resolve Groups 输入 Yes。选择 Done 完成设置过程。三个配置文件会被创建并在屏幕输出中显示。
    NOTE:
    It is highly recommended to test drive the configuration before applying it into engine.
    Perform at least one Login sequence and one Search sequence.
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Login
    Enter search user name: testuser1
    Enter search user password:
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Search
    Select entity to search (Principal, Group) [Principal]:
    Term to search, trailing '*' is allowed: testuser1
    Resolve Groups (Yes, No) [No]: 
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Done
    [ INFO  ] Stage: Transaction setup
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Package installation
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Transaction commit
    [ INFO  ] Stage: Closing up
              CONFIGURATION SUMMARY
              Profile name is: redhat.com
              The following files were created:
                  /etc/ovirt-engine/aaa/redhat.com.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authz.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authn.properties
    [ INFO  ] Stage: Clean up
              Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20160114064955-1yar9i.log:
    [ INFO  ] Stage: Pre-termination
    [ INFO  ] Stage: Termination
  10. 重启引擎服务。创建的域会出现在管理门户和用户门户的登录界面中。如需了解为 LDAP 用户分配角色和权限(如登录到用户门户)的信息,请参阅 第 14.6 节 “通过管理门户管理用户任务”
    # service ovirt-engine restart

注意

如需了解更多信息,请参阅 LDAP 验证和授权扩展的 README 文件(/usr/share/doc/ovirt-engine-extension-aaa-ldap-version)。

14.3.2. 附加一个 Active Directory

先决条件:
  • 需要知道 Active Directory 的 forest name。forest name 也被成为 root domain name。
  • 在 Manager 的 /etc/resolv.conf 文件中添加一个可用解析到 Active Directory forest name 的 DNS 服务器,或记录下 Active Directory DNS 服务器的信息,在设置脚本提示输入时输入这些信息。
  • 在 LDAP 服务器和 Manager 间创建安全的连接,并准备一个 PEM 编码的 CA 证书。详情请参阅 第 D.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”
  • 除非支持匿名搜索,在 Active Directory 上需要有一个可以作为搜索用户的、具有浏览所有用户和组权限的用户。记录下搜索用户的可分辨名称(DN)。不要使用 Active Directory 的管理员用户。
  • 最少有一组账户名和密码来进行 Active Directory 的搜索和查询操作。

过程 14.2. 配置一个外部 LDAP 供应商

  1. 在 Red Hat Virtualization Manager 中安装 LDAP 扩展软件包:
    # yum install ovirt-engine-extension-aaa-ldap-setup
  2. 运行 ovirt-engine-extension-aaa-ldap-setup 启动设置过程:
    # ovirt-engine-extension-aaa-ldap-setup
  3. 指定一个域名(profile name)。这个域名会出现在用户的登录界面中。在这个示例中使用 redhat.com
    Please specify profile name that will be visible to users:redhat.com
    管理门户登录页

    图 14.2. 管理门户登录页

    注意

    用户需要在第一次登录时从下拉列表中选项正确的域。这个信息会被保存在浏览器的 cookie 中,并在下一次用户登录时被预先选择。
  4. 选择一个 LDAP 类型。根据所选 LDAP 类型的不同,以后与 LDAP 相关的问题会有所不同。
    Available LDAP implementations:
    1 - 389ds
    2 - 389ds RFC-2307 Schema
    3 - Active Directory
    4 - IPA
    5 - Novell eDirectory RFC-2307 Schema
    6 - OpenLDAP RFC-2307 Schema
    7 - OpenLDAP Standard Schema
    8 - Oracle Unified Directory RFC-2307 Schema
    9 - RFC-2307 Schema (Generic)
    10 - RHDS
    11 - RHDS RFC-2307 Schema
    12 - iPlanet
    Please select: 3
  5. 输入 Active Directory 的林名称(forest name)。如果 Manager 的 DNS 无法解析这个林名称,脚本会要求您输入一个以空格分隔的 Active Directory DNS 服务器名列表。
    Please enter Active Directory Forest name: ad-example.redhat.com
    [ INFO  ] Resolving Global Catalog SRV record for ad-example.redhat.com
    [ INFO  ] Resolving LDAP SRV record for ad-example.redhat.com
  6. 选择 LDAP 服务器支持的安全连接方法,指定获得 PEM 编码的 CA 证书。使用 file 选项可以指定到证书的完全路径;使用 URL 选项可以指定到证书的 UR;使用 inline 选项可以在终端中粘贴证书的内容;system 选项可以指定所有 CA 文件的位置;insecure 选项允许用户以非安全模式使用 startTLS。
    NOTE:
    It is highly recommended to use secure protocol to access the LDAP server.
    Protocol startTLS is the standard recommended method to do so.
    Only in cases in which the startTLS is not supported, fallback to non standard ldaps protocol.
    Use plain for test environments only.
    Please select protocol to use (startTLS, ldaps, plain) [startTLS]: startTLS
    Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): File
    Please enter the password:

    注意

    LDAPS 是 Lightweight Directory Access Protocol Over Secure Socket Links 的缩写。对于 SSL 连接,选择 ldaps 选项。
    如需了解更多与创建 PEM 编码的 CA 证书的信息,请参阅 第 D.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”
  7. 输入搜索用户的可分辨名称(DN)。用户需要有可以浏览目录服务器中的所有用户和组的权限。这个搜索用户需要在 LDAP 批注(LDAP annotation)中指定。如果支持匿名搜索,直接按 Enter
    Enter search user DN (empty for anonymous): uid=user1,ou=Users,dc=test,dc=redhat,dc=com
    Enter search user password:
  8. 测试搜索和登录功能来保证 LDAP 服务器已被正确地连接到您地 Red Hat Virtualization 环境中。对于登录查询,输入账户名和密码;对于搜索查询,为用户账户选 Principal,为组用户选择 Group。如果需要返回用户的组账户信息,为 Resolve Groups 输入 Yes。选择 Done 完成设置过程。三个配置文件会被创建并在屏幕输出中显示。
    NOTE:
    It is highly recommended to test drive the configuration before applying it into engine.
    Perform at least one Login sequence and one Search sequence.
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Login
    Enter search user name: testuser1
    Enter search user password:
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Search
    Select entity to search (Principal, Group) [Principal]:
    Term to search, trailing '*' is allowed: testuser1
    Resolve Groups (Yes, No) [No]: 
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Done
    [ INFO  ] Stage: Transaction setup
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Package installation
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Transaction commit
    [ INFO  ] Stage: Closing up
              CONFIGURATION SUMMARY
              Profile name is: redhat.com
              The following files were created:
                  /etc/ovirt-engine/aaa/redhat.com.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authz.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authn.properties
    [ INFO  ] Stage: Clean up
              Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20160114064955-1yar9i.log:
    [ INFO  ] Stage: Pre-termination
    [ INFO  ] Stage: Termination
  9. 创建的域会出现在管理门户和用户门户的登录界面中。如需了解为 LDAP 用户分配角色和权限(如登录到用户门户)的信息,请参阅 第 14.6 节 “通过管理门户管理用户任务”

注意

如需了解更多信息,请参阅 LDAP 验证和授权扩展的 README 文件(/usr/share/doc/ovirt-engine-extension-aaa-ldap-version)。

14.3.3. 配置一个外部 LDAP 供应商(手工模式)

ovirt-engine-extension-aaa-ldap 扩展使用 LDAP 协议访问目录服务器并可以进行定制。除非需要在用户门户或管理门户上实现单点登录,kerberos 验证并不需要。
如果前面介绍的交换式设置无法满足您的要求,您可以手工修改配置文件来附加 LDAP 服务器。以下介绍的步骤中使用了常规的信息,您需要根据您的具体情况进行相应的修改。

过程 14.3. 手工配置一个外部 LDAP 供应商

  1. 在 Red Hat Virtualization Manager 上安装 LDAP 扩展软件包:
    # yum install ovirt-engine-extension-aaa-ldap
  2. 把 LDAP 配置模板文件复制到 /etc/ovirt-engine 目录中。其中包括了 Active Directory(ad)和其它目录服务类型(simple)的模板文件。这个示例使用简单配置模板。
    # cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/. /etc/ovirt-engine
  3. 重新命名配置文件,从而使它与用户可以在管理门户和用户门户的登录界面中可见的域名(profile name)相匹配:
    # mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authn.properties /etc/ovirt-engine/extensions.d/example-authn.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.properties
  4. 编辑 LDAP 属性配置文件,取消注释一个 LDAP 服务器类型并更新域和密码项的内容:
    #  vi /etc/ovirt-engine/aaa/example.properties

    例 14.1. 配置档案实例:LDAP 服务器部分

    # Select one
    #
    include = <openldap.properties>
    #include = <389ds.properties>
    #include = <rhds.properties>
    #include = <ipa.properties>
    #include = <iplanet.properties>
    #include = <rfc2307-389ds.properties>
    #include = <rfc2307-rhds.properties>
    #include = <rfc2307-openldap.properties>
    #include = <rfc2307-edir.properties>
    #include = <rfc2307-generic.properties>
    
    # Server
    #
    vars.server = ldap1.company.com
    
    # Search user and its password.
    #
    vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com
    vars.password = 123456
    
    pool.default.serverset.single.server = ${global:vars.server}
    pool.default.auth.simple.bindDN = ${global:vars.user}
    pool.default.auth.simple.password = ${global:vars.password}
    为了使用 TLS 或 SSL 协议来与 LDAP 服务器进行交流,获得 LDAP 服务器的根(root)CA 证书,使用它来创建一个公共的 keystore 文件。取消注释以下行,指定到公共 keystore 文件的完全路径以及访问这个文件的密码。

    注意

    如需了解更多与创建公共 keystore 文件相关的信息,请参阅 第 D.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”

    例 14.2. 配置档案实例:keystore 部分

    # Create keystore, import certificate chain and uncomment
    # if using tls.
    pool.default.ssl.startTLS = true
    pool.default.ssl.truststore.file = /full/path/to/myrootca.jks
    pool.default.ssl.truststore.password = password
  5. 检查验证配置文件。用户在管理门户和用户门户的登录界面中可以选择的 profile 由 ovirt.engine.aaa.authn.profile.name 定义。配置 profile 的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    # vi /etc/ovirt-engine/extensions.d/example-authn.properties

    例 14.3. 验证配置文件的示例

    ovirt.engine.extension.name = example-authn
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthnExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn
    ovirt.engine.aaa.authn.profile.name = example
    ovirt.engine.aaa.authn.authz.plugin = example-authz
    config.profile.file.1 = ../aaa/example.properties
  6. 检查授权配置文件。这个配置集的配置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    # vi /etc/ovirt-engine/extensions.d/example-authz.properties

    例 14.4. 授权配置文件的示例

    ovirt.engine.extension.name = example-authz
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz
    config.profile.file.1 = ../aaa/example.properties
  7. 为配置文件设置正确的所有者权限和访问权限:
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
    # chmod 600 /etc/ovirt-engine/aaa/example.properties
  8. 重新启动引擎服务:
    # service ovirt-engine restart
  9. 您所创建的 example 域会出现在管理门户和用户门户的登录界面中。如需了解为 LDAP 用户分配权限(如登录到用户门户)的信息,请参阅 第 14.6 节 “通过管理门户管理用户任务”

注意

如需了解更多信息,请参阅 LDAP 验证和授权扩展的 README 文件(/usr/share/doc/ovirt-engine-extension-aaa-ldap-version)。

14.4. 为 LDAP 和 Kerberos 配置单点登录

单点登录功能允许用户在无需重新输入密码的情况下登录到用户门户或管理门户,身份验证所需的凭证信息由 Kerberos 服务器提供。为了配置管理门户和用户门户的单点登录功能,您需要配置两个扩展(ovirt-engine-extension-aaa-miscovirt-engine-extension-aaa-ldap)以及一个 Apache 模块(mod_auth_kerb)。您可以在不使用 Kerberos 的情况下配置单点登录功能,但这超出了本文档的范围。

注意

如果到用户门户的单独登录功能被启用,则到虚拟机的单点登录功能将无法实现。这是因为,用户门户在启用了单独登录功能后,将不需要接受用户密码,因此用户的密码将无法在登录到虚拟机时被验证。
这个示例假设了以下情况:
  • 存在的 KDC(Key Distribution Center,密钥分配中心)服务器使用 MIT 版的 Kerberos 5。
  • 您具有 KDC 服务器的管理权限。
  • Red Hat Virtualization Manager 和用户的机器上安装了 Kerberos 客户端。
  • kadmin 工具程序可以被用来创建 Kerberos 服务主体(principal)和 keytab 文件。
这个过程会涉及到以下组件:

在 KDC 服务器上

  • 为 Red Hat Virtualization Manager 上的 Apache 服务创建一个服务主体(principal)和一个 keytab 文件。

在 Red Hat Virtualization Manager 上

  • 安装验证和授权扩展软件包,以及 Apache Kerberos 验证模块。
  • 配置扩展文件。

过程 14.4. 为 Apache 服务配置 Kerberos

  1. 在 KDC 服务器上,使用 kadmin 为 Red Hat Virtualization Manager 上的 Apache 服务创建一个服务主体。这个服务主体是 KDC 指代 Apache 服务的 ID。
    # kadmin
    kadmin> addprinc -randkey HTTP/fqdn-of-rhevm@REALM.COM
  2. 为 Apache 服务产生一个 keytab 文件。keytab 文件保存了共享的密钥。
    kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM
    kadmin> quit
  3. keytab 文件从 KDC 服务器复制到 Red Hat Virtualization Manager:
    # scp /tmp/http.keytab root@rhevm.example.com:/etc/httpd

过程 14.5. 配置到用户门户和管理门户的单点登录

  1. 在 Red Hat Virtualization Manager 上,设置正确的 keytab 所有者权限和访问权限:
    # chown apache /etc/httpd/http.keytab
    # chmod 400 /etc/httpd/http.keytab
  2. 安装验证扩展软件包、LDAP 扩展软件包和 mod_auth_kerb 验证模块:
    # yum install ovirt-engine-extension-aaa-misc ovirt-engine-extension-aaa-ldap mod_auth_kerb
  3. 把 SSO 配置模板文件复制到 /etc/ovirt-engine 目录中。其中包括了 Active Directory(ad-sso)和其它目录服务类型(simple-sso)的模板文件。这个示例使用简单 SSO 配置模板。
    # cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple-sso/. /etc/ovirt-engine
  4. 为 Apache 创建一个 /etc/httpd/conf.d 目录的软链接来使用 SSO 配置文件:
    # ln -s /etc/ovirt-engine/aaa/ovirt-sso.conf /etc/httpd/conf.d
  5. 编辑验证方法文件来使 Apache 使用 Kerberos 进行验证:
    # vi /etc/ovirt-engine/aaa/ovirt-sso.conf

    例 14.5. 验证方法文件的示例

    <LocationMatch ^(/ovirt-engine/(webadmin|userportal|api)|/api)>
        RewriteEngine on
        RewriteCond %{LA-U:REMOTE_USER} ^(.*)$
        RewriteRule ^(.*)$ - [L,P,E=REMOTE_USER:%1]
        RequestHeader set X-Remote-User %{REMOTE_USER}s
    
        AuthType Kerberos
        AuthName "Kerberos Login"
        Krb5Keytab /etc/httpd/http.keytab
        KrbAuthRealms REALM.COM
        Require valid-user
    </LocationMatch>
  6. 重新命名配置文件,从而使它与用户可以在管理门户和用户门户的登录界面中可见的域名(profile name)相匹配:
    # mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authn.properties /etc/ovirt-engine/extensions.d/example-authn.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.properties
  7. 编辑 LDAP 属性配置文件,取消注释一个 LDAP 服务器类型并更新域和密码项的内容:
    #  vi /etc/ovirt-engine/aaa/example.properties

    例 14.6. 配置档案实例:LDAP 服务器部分

    # Select one
    include = <openldap.properties>
    #include = <389ds.properties>
    #include = <rhds.properties>
    #include = <ipa.properties>
    #include = <iplanet.properties>
    #include = <rfc2307-389ds.properties>
    #include = <rfc2307-rhds.properties>
    #include = <rfc2307-openldap.properties>
    #include = <rfc2307-edir.properties>
    #include = <rfc2307-generic.properties>
    
    # Server
    #
    vars.server = ldap1.company.com
    
    # Search user and its password.
    #
    vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com
    vars.password = 123456
    
    pool.default.serverset.single.server = ${global:vars.server}
    pool.default.auth.simple.bindDN = ${global:vars.user}
    pool.default.auth.simple.password = ${global:vars.password}
    为了使用 TLS 或 SSL 协议来与 LDAP 服务器进行交流,获得 LDAP 服务器的根(root)CA 证书,使用它来创建一个公共的 keystore 文件。取消注释以下行,指定到公共 keystore 文件的完全路径以及访问这个文件的密码。

    注意

    如需了解更多与创建公共 keystore 文件相关的信息,请参阅 第 D.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”

    例 14.7. 配置档案实例:keystore 部分

    # Create keystore, import certificate chain and uncomment
    # if using ssl/tls.
    pool.default.ssl.startTLS = true
    pool.default.ssl.truststore.file = /full/path/to/myrootca.jks
    pool.default.ssl.truststore.password = password
  8. 检查验证配置文件。用户在管理门户和用户门户的登录界面中可以选择的 profile 由 ovirt.engine.aaa.authn.profile.name 定义。配置 profile 的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    # vi /etc/ovirt-engine/extensions.d/example-http-authn.properties

    例 14.8. 验证配置文件的示例

    ovirt.engine.extension.name = example-http-authn
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.misc
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthnExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn
    ovirt.engine.aaa.authn.profile.name = example-http
    ovirt.engine.aaa.authn.authz.plugin = example-authz
    ovirt.engine.aaa.authn.mapping.plugin = example-http-mapping
    config.artifact.name = HEADER
    config.artifact.arg = X-Remote-User
  9. 检查授权配置文件。这个配置文件的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    #  vi /etc/ovirt-engine/extensions.d/example-authz.properties

    例 14.9. 授权配置文件的示例

    ovirt.engine.extension.name = example-authz
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz
    config.profile.file.1 = ../aaa/example.properties
  10. 为配置文件设置正确的所有者权限和访问权限:
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
    # chmod 600 /etc/ovirt-engine/aaa/example.properties
  11. 重启 Apache 服务和引擎服务:
    # service httpd restart
    # service ovirt-engine restart

14.5. 用户授权

14.5.1. 用户验证模型

Red Hat Virtualization 根据以下三个元素的不同组合来进行验证:
  • 进行操作的用户(user)
  • 所进行的操作(action)
  • 操作所针对的对象(object)

14.5.2. 用户操作

一个操作要可以成功进行,需要用户有适当的权限来对对象进行操作。每个操作都会有一个相应的权限。在一个系统中有多个不同的权限,它可以被简化为:
操作

图 14.3. 操作

重要

一些操作需要在多个对象上进行。例如,把一个模板复制到另一个存储域需要对模板和所要复制的目标存储域进行操着。要进行这种操作,用户必须对所有相关的对象都有相关的权限。

14.6. 通过管理门户管理用户任务

14.6.1. 添加用户并为用户分配门户权限

在用户被创建后才可以进行添加并分配角色和权限。在这个过程中分配的角色和权限可以使用户登录到用户门户并开始创建虚拟机。这个过程也适用于组账户。

过程 14.6. 添加用户并为用户分配门户权限

  1. 在页头条中点配置打开配置窗口。点系统权限
  2. 添加打开为用户添加系统权限窗口。
  3. 搜索下拉菜单中选择一个域。这个域是您希望搜索的域。在搜索输入框中输入一个名字或名字的一部分后点执行。或直接点执行来显示所有用户和组的列表。
  4. 选择适当的用户或组。
  5. 分配的角色中选项需要分配的角色。UserRole 角色可以使这个用户账户具有可以登录到用户门户的权限。
  6. 确定
登录到用户门户来验证用户账户有登录的权限。

14.6.2. 查看用户信息

您可以在用户标签页中查看每个用户的信息。

过程 14.7. 查看用户信息

  1. 用户标签页显示用户列表。
  2. 选择用户,如果用户没有被显示,您可以对它进行搜索。
  3. 在详情框中会显示被选择的用户信息,其中常规标签页显示了用户的一般信息,如域名、邮件地址和用户的状态。
  4. 您可以通过其它标签页查看用户的组、权限、配额和事件信息。
    例如,如果需要知道这个用户属于哪个组,点标签页。

14.6.3. 查看用户在资源上的权限

用户可以被分配特定的资源或一个资源分级结构的权限。您可以查看每个资源中的用户,以及它们的权限。

过程 14.8. 查看用户在资源上的权限

  1. 点资源标签页,在结果列表中选一个资源。
  2. 点详情框中的权限标签页列出这个资源已有的用户,用户角色以及继承的权限。

14.6.4. 删除用户

当一个用户不再被需要时,可以把它从 Red Hat Virtualization 环境中删除。

过程 14.9. 删除用户

  1. 用户标签页显示用户列表。
  2. 选择要被删除的用户,请确认它们没有在任何虚拟机上使用。
  3. 删除。一个提示您确认删除操作的信息会被显示,点确定
用户被从 Red Hat Virtualization 环境中删除,但它仍然存在于外部目录服务中。

14.6.5. 查看登录的用户

您可以查看当前登录的用户以及相关的信息。在树形框中点活跃用户会话

14.6.6. 中断一个用户会话

您可以中断当前登录用户的会话。

过程 14.10. 中断一个用户会话

  1. 在树型框中点活跃的用户会话
  2. 选择要中断的用户会话。
  3. 中断会话
  4. 确定

14.7. 通过命令行管理用户任务

14.7.1. 管理用户

您可以使用 ovirt-aaa-jdbc-tool 工具程序管理内部域中的用户账户。使用这个工具程序对账户所做的修改可以马上生效,而不需要重启 ovirt-engine 服务。运行 ovirt-aaa-jdbc-tool user --help 可以获得完整的用户选项列表。本节给出了一些常见的示例。

过程 14.11. 创建用户

以下介绍了如何创建一个用户、为用户设置密码并把它加入到 Red Hat Virtualization 环境中。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 创建一个新用户账户。另外,还可以使用 --attribute 来设置账户的详细信息。运行 ovirt-aaa-jdbc-tool user add --help 可以获得相关的帮助信息。
    # ovirt-aaa-jdbc-tool user add test1 --attribute=firstName=John --attribute=lastName=Doe 
    adding user test1...
    user added successfully
  3. 设置密码。您需要为 --password-valid-to 设置一个值,否则密码的过期时间会被默认设置为当前的时间。日期的格式是 yyyy-MM-dd HH:mm:ssX。在这个示例中,-0800 代表 GMT -8 小时。运行 ovirt-aaa-jdbc-tool user password-reset --help 可以获得更多选项信息。
    # ovirt-aaa-jdbc-tool user password-reset test1 --password-valid-to="2025-08-01 12:00:00-0800"
    Password:
    updating user test1...
    user updated successfully

    注意

    在默认情况下,内部域中的用户账户的密码策略有以下限制:
    • 最少 6 个字符。
    • 修改密码时不能使用以前使用过的密码。
    如需了解与密码策略相关的信息,以及其它默认的设置,请运行 ovirt-aaa-jdbc-tool settings show
  4. 把新创建的用户添加到管理门户中,并为用户分配适当的角色和权限。如需了解更多相关信息,请参阅 第 14.6.1 节 “添加用户并为用户分配门户权限”

过程 14.12. 查看用户信息

以下介绍了如何查看用户账户信息。它所显示的信息比管理门户中用户标签页中的信息更多。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 运行下列命令:
    # ovirt-aaa-jdbc-tool user show test1

过程 14.13. 编辑用户信息

以下介绍了如何更新用户账户信息。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 运行以下命令编辑用户信息。这个示例会更新电子邮件地址。
    # ovirt-aaa-jdbc-tool user edit test1 --attribute=email=jdoe@example.com

过程 14.14. 删除用户

以下介绍了如何删除用户账户
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 删除用户:
    # ovirt-aaa-jdbc-tool user delete test1
  3. 从管理门户中删除用户。相关信息请参阅 第 14.6.4 节 “删除用户”

14.7.2. 修改内部管理员用户的密码

使用 ovirt-aaa-jdbc-tool 工具程序可以重置内部管理用户(admin@internal)的密码。修改后不需要重启 ovirt-engine 服务就可以使修改的密码生效。
在默认情况下,内部域中的用户账户的密码策略有以下限制:
  • 最少 6 个字符。
  • 修改密码时不能使用以前使用过的密码。
如需了解与密码策略相关的信息,以及其它默认的设置,请运行 ovirt-aaa-jdbc-tool settings show

过程 14.15. 为内部管理员用户重设密码

  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 要使用交互模式修改密码,运行以下命令。您需要为 --password-valid-to 设置一个值,否则密码的过期时间会被默认设置为当前的时间。日期的格式是 yyyy-MM-dd HH:mm:ssX。在这个示例中,Z 代表 UTC 时间。如需了解更多选项信息,请运行 ovirt-aaa-jdbc-tool user password-reset --help
    # ovirt-aaa-jdbc-tool user password-reset admin --password-valid-to="2025-08-01 12:00:00Z"

14.7.3. 禁用内部管理员用户

您可以在本地域中禁用包括在运行 engine-setup 时创建的 admin@internal 用户在内的用户。在禁用默认的 admin 用户前,请确保在环境中最少有一个具有完全管理权限的用户。

过程 14.16. 禁用内部管理员用户

  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 确认另外一个具有 SuperUser 角色的用户已被加入到环境中。相关信息请参阅 第 14.6.1 节 “添加用户并为用户分配门户权限”
  3. 禁用默认的 admin 用户:
    # ovirt-aaa-jdbc-tool user edit admin --flag=+disabled

    注意

    要启用一个已禁用的用户,运行 ovirt-aaa-jdbc-tool user edit username --flag=-disabled

14.7.4. 管理组

您可以使用 ovirt-aaa-jdbc-tool 工具程序管理您的本地域中的组账户。管理组和管理用户相似。运行 ovirt-aaa-jdbc-tool group --help 可以列出组的所有选项。本节提供了一些常见的任务示例。

过程 14.17. 创建一个组

以下介绍了如何创建组账户、为组添加用户以及查看组详情的步骤。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 创建一个新组
    # ovirt-aaa-jdbc-tool group add group1
  3. 为组添加用户。这些用户需要已存在。
    # ovirt-aaa-jdbc-tool group-manage useradd group1 --user=test1

    注意

    运行 ovirt-aaa-jdbc-tool group-manage --help 可以显示 group-manage 的完整选项列表。
  4. 查看组账户详情:
    # ovirt-aaa-jdbc-tool group show group1
  5. 在管理门户中添加新创建的组,并为组分配适当的角色和权限。组中的用户会继承组的角色和权限。如需了解更多相关信息,请参阅 第 14.6.1 节 “添加用户并为用户分配门户权限”

过程 14.18. 创建嵌套的组

以下介绍了在组中创建其它组的步骤。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 创建第一个组:
    # ovirt-aaa-jdbc-tool group add group1
  3. 创建第二个组:
    # ovirt-aaa-jdbc-tool group add group1-1
  4. 把第二个组添加到第一个组中:
    # ovirt-aaa-jdbc-tool group-manage groupadd group1 --group=group1-1
  5. 把第一个组添加到管理门户中,并为组分配适当的角色和权限。如需了解更多相关信息,请参阅 第 14.6.1 节 “添加用户并为用户分配门户权限”

14.7.5. 查询用户和组

使用 query 模块可以对用户和组信息进行查询。如需了解这个模块的所有选项,请运行 ovirt-aaa-jdbc-tool query --help

过程 14.19. 列出所有用户或组账户的信息

以下步骤会显示所有账户的信息。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
    • 列出所有用户账户信息:
      # ovirt-aaa-jdbc-tool query --what=user
    • 列出所有组账户信息:
      # ovirt-aaa-jdbc-tool query --what=group

过程 14.20. 列出过滤的账户信息

以下步骤会显示经过过滤的账户信息。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
    • 列出名字以字母 j 开头的用户账户信息。
      # ovirt-aaa-jdbc-tool query --what=user --pattern="name=j*"
    • 列出部门属性被设置为 marketing 的组的信息:
      # ovirt-aaa-jdbc-tool query --what=group --pattern="department=marketing"

14.7.6. 管理帐户设置

使用 ovirt-aaa-jdbc-tool settings 模块可以改变默认账户的设置。

过程 14.21. 更新账户设置

以下介绍了更新默认账户设置的步骤。
  1. 登录到 Red Hat Virtualization Manager 所在的机器。
  2. 运行以下命令显示所有设置:
    # ovirt-aaa-jdbc-tool setting show
  3. 修改相关设置:
    • 以下命令把所有用户账户的默认登录会话时间改为 60 分钟。它的默认值是 10080 分钟。
      # ovirt-aaa-jdbc-tool setting set --name=MAX_LOGIN_MINUTES --value=60
    • 以下命令更新了把用户账户被锁定前可以进行登录操作的失败次数。它的默认值是 5。
      # ovirt-aaa-jdbc-tool setting set --name=MAX_FAILURES_SINCE_SUCCESS --value=3

      注意

      运行 ovirt-aaa-jdbc-tool user unlock test1 可以取消锁定一个已被锁定的用户。

14.8. 配置额外的本地域

创建除默认的 internal 域以外的其它本地域也被支持。使用 ovirt-engine-extension-aaa-jdbc 扩展可以实现这个目的,它可以在不附加外部目录服务器的情况下创建多个域。这种情况在一个企业级环境中并不常见。
额外创建的本地域不会在标准的 Red Hat Virtualization 升级过程中被自动升级,它需要被手工升级。如需了解更多相关信息,请参阅 README 文件(/usr/share/doc/ovirt-engine-extension-aaa-jdbc-version/README.admin)。

第 15 章 配额和服务级别合同的策略

15.1. 配额介绍

配额是 Red Hat Virtualization 提供的一个对资源使用进行限制的工具。它可以被看做为在用户权限基础上进行的进一步资源使用限制。
配额是一个数据中心的对象。
Red Hat Virtualization 环境的管理员可以通过配额来限制用户对内存、CPU 和存储的访问。配额定义了管理员可以分配给用户的内存资源和存储资源的限制,而用户只能使用限额内的资源。当配额内的资源被用完后,Red Hat Virtualization 将不再允许用户进行操作。
Red Hat Enterprise Virtualization 包括两个不同类型的配额:

表 15.1. 两个不同类型的配额

配额类型定义
运行时配额(Run-time Quota)这类配额限制对运行时资源(如 CPU 和内存)的使用。
存储配额这类配额限制对存储的使用。
和 SELinux 一样,配额有三种模式:

表 15.2. 配额模式

配额模式功能
强制的(Enforced)强制执行您在审计模式下设置的配额。
审计(Audit)您可以在这个模式下改变配额的设置。您可以使用这个模式来增加或减少分配给用户的运行时配额和存储配额。
禁用(Disabled)这个模式会禁用设置的运行时配额和存储配额限制。
在用户需要运行一个虚拟机时,这个虚拟机的系统配置会和相关的运行时配额和存储配额限制进行比较。
如果启动一个虚拟机会导致所有虚拟机所使用的资源超过了相关配额所规定的限制,Red Hat Enterprise Virtualization Manager 将不会启动这个虚拟机。
如果在用户创建一个新虚拟磁盘时会导致所有虚拟磁盘的容量超过了相关配额所规定的限制,这个创建磁盘的操作将会失败。
配额允许资源共享同一个硬件。它支持硬阈值(hard threshold)和软阈值(soft threshold)。管理员可以使用配额在资源上设置阈值。从用户的角度来看,这个阈值就是 100% 使用资源的值。为了避免因为用户使用的资源超过了阈值而产生的系统问题,系统会提供一个"宽限(grace)"值,阈值允许在一个短时间内被超过。当超过阈值的情况发生时,一个提示信息会发送给用户。

重要

配额限制了虚拟机对资源的使用,如果不注意这些配额,将可能会导致无法使用虚拟机和虚拟磁盘。
当配额使用强制(enforced)模式时,没有配额的虚拟机和磁盘将无法被使用。
要启动一个虚拟机,必须为它设置一个配额。
要创建一个虚拟机的快照,必须为和这个虚拟机相关联的磁盘设置一个配额。
当从一个虚拟机上创建一个模板时,您会被提示选择这个模板所需要的资源配额。这将允许您为模板(以及以后根据模板创建的虚拟机)设置和现在这个虚拟机不同的配额。

15.2. 共享配额和单独定义的配额

具有 SuperUser 权限的用户可以为单独的用户创建单独用户配额,也可以为一个组创建组配额。
组配额可以为 Active Directory 中的用户设置。假设一个组有 10 个用户,并被分配了 1TB 存储配额。如果其中的一个用户使用了所有的 1TB 存储空间,整个组将处于超过配额的状态,所有用户都将无法使用和这个组相关的存储。
单独用户配额只对一个用户有效。如果这个用户使用了所有被分配的运行时配额或存储配额,这个用户将处于超过配额的状态,并将无法使用和这个配额相关的存储。

15.3. 配额的计算

当为资源设置配额后,对资源所进行的每个涉及到存储、vCPU 或内存的操作都会导致配额使用情况的变化。
因为配额是限制用户访问资源的上限,所以配额使用的计算方法和用户实际使用的情况可能会有所不同。配额是计算最大的、可能被使用的资源,而不是计算当前正在被使用的资源。

例 15.1. 配额计算实例

一个用户运行一个有 1 个 vCPU 和 1024MB 内存的虚拟机,这将占用这个用户所获得的配额中的 1 个 vCPU 和 1024MB 内存。当这个虚拟机被停止使用时,被占用的 1 个 vCPU 和 1024MB 的配额会被释放。运行时的配额占用只有在资源真正被使用时才发生。
一个用户创建了一个 10GB 自动精简配置(thin provision)的虚拟磁盘,其中只有 3GB 磁盘空间被实际使用。这时的配额占用值为 10GB 而不是 3GB,因为配额是计算它的最大的、可能被使用的资源而不是实际正在被使用的资源。

15.4. 在一个数据中心上启用和改变配额模式

以下过程介绍了在一个数据中心中启用或改变配额模式的方法。在定义配额前,您必须选择一个配额模式。您需要登录到管理门户来进行以下操作。
使用审计模式来测试您所设置的配额可以正常工作。在创建和修改一个配额时,这个配额的模式可以不是审计模式。

过程 15.1. 在一个数据中心上启用配额

  1. 在导航框中点数据中心标签页。
  2. 选择您需要对配额进行修改的数据中心。
  3. 点导航框左上的编辑
    一个编辑数据中心窗口被打开。
  4. 配额模式下拉菜单中选择强制的
  5. 确定
您在数据中心的级别上启用了一个配额模式。如果您在测试的时候把配额模式设置为审计,您必须把它改为强制的后配额的设置才会起作用。

15.5. 创建一个新的配额策略

在启用了配额模式(审计模式或强制模式)后,您需要定义一个配额策略来管理数据中心中的资源使用情况。

过程 15.2. 创建一个新的配额策略

  1. 在树型模式中,选择数据中心。配额标签页会出现在导航框中。
  2. 点导航框中的配额标签页。
  3. 在导航框中点添加新建配额窗口被打开。
  4. 名称项中输入名称。
    描述项中输入它的描述。
  5. 新建配额窗口的内存和 CPU 项中使用绿色的滑行条设置集群阈值(Cluster Threshold)。
  6. 新建配额窗口的内存和 CPU 项中使用绿色的滑行条设置集群宽限值
  7. 选择所有集群特定集群选项。如果使用特定集群选项,选择要添加配额策略的集群。
  8. 编辑按钮打开编辑配额窗口。
  9. 内存项中选择无限选项(允许在集群中无限使用内存资源),或选择限制在选项来设置内存的配额。如果您选择了限制在选项,请在 MB 项中输入内存的配额值。
  10. CPU 项中,选择无限选项或限制在选项来设置 CPU 的配额。如果您选择了限制在选项,在vCpus项中输入 vCPU 的数量。
  11. 编辑配额窗口中点确定
  12. 新建配额窗口的存储项中,使用绿色的滑行条设置存储阈值
  13. 新建配额窗口的存储项中,使用绿色的滑行条设置存储 Grace
  14. 选择所有存储域特定存储域选项。如果使用特定存储域选项,选择要添加配额策略的存储域。
  15. 编辑按钮打开编辑配额窗口。
  16. 存储配额项中选择无限选项(允许无限使用存储资源),或选择限制在选项来设置存储的配额。如果您选择了限制在选项,请在 GB 项中输入存储的配额值。
  17. 编辑配额窗口中点确定。您将返回到新建配额窗口。
  18. 新建配额窗口中点确定
结果
您创建了一个新的配额策略。

15.6. 配额阈值设置介绍

表 15.3. 配置阈值和 grace

设置定义
集群阈值(Cluster Threshold)每个数据中心可用的集群资源。
集群宽限值在数据数据中心的集群阈值被超过后仍然可以被使用的集群资源。
存储阈值每个数据中心可用的存储资源。
存储 Grace在数据数据中心的存储阈值被超过后仍然可以被使用的存储资源。
如果一个配额是带有 20% 宽限(grace) 的 100 GB,用户将在使用了 120 GB 存储后无法再使用存储资源。如果同样的配额还设置了 70% 阈值(Threshold),用户将会在使用超过了 70 GB 的存储后收到一个提示信息(但是用户仍然可以继续使用存储,直到超过了 120 GB)。“阈值(Threshold)" 和“宽限(Grace)”值都是相对于限额的。“阈值(Threshold)"可以被看做为一个“软限制”,如果超过它会产生一个提示信息;而“宽限(Grace)”可以被看做“硬限制”,用户无法使用超过这个限制的资源。

15.7. 为对象分配一个配额

介绍
下面介绍了为一个虚拟机设置配额的方法。

过程 15.3. 为一个虚拟机设置配额

  1. 在导航框中,选择您要设置配额的虚拟机。
  2. 编辑键打开编辑虚拟机窗口。
  3. 使用配额下拉菜单选择虚拟机要使用的配额。
  4. 确定
结果
您为所选的虚拟机设置了一个配额。
介绍
下面介绍了为一个虚拟机磁盘设置配额的方法。

过程 15.4. 为虚拟机磁盘设置配额

  1. 在导航框中,选择您要设置配额的磁盘所在的虚拟机。
  2. 在详情框中选择您需要设置配额的磁盘。
  3. 编辑打开编辑虚拟磁盘窗口。
  4. 选择这个虚拟磁盘需要使用的配额。
  5. 确定
结果
您为您所选择的磁盘设置了一个限额。

重要

为了使虚拟机可以正常工作,和虚拟机相关的所有对象都必须设置配额。如果您没有设置配额,虚拟机将无法工作。在这个情况出现时, Manager 会显示一个模糊的错误信息,使您无法方便地知道是否是因为配额产生了问题。另外,如果虚拟机没有设置配额,将无法对那个虚拟机进行快照。如果虚拟机的虚拟磁盘没有设置配额,也无法通过那个虚拟机创建模板。

15.8. 使用配额限制用户对资源的使用

介绍
下面介绍了如何使用配额来限制用户对资源的使用。

过程 15.5. 为一个用户设置一个配额

  1. 在树型框中,点您要设置配额的用户所在的数据中心。
  2. 点导航框中的配额页。
  3. 在导航框中选择需要的配额。
  4. 在详情框中点消费者标签页。
  5. 添加
  6. 搜索项中输入您要设置配额的用户名。
  7. 执行
  8. 选中您所需的用户。
  9. 为用户和组分配配额窗口中的确定
结果
所选的用户会出现在详情框的消费者标签页中。

15.9. 编辑配额

介绍
下面介绍了如何编辑一个存在的配额的方法。

过程 15.6. 编辑配额

  1. 在树型面板上,点击你要编辑配额的数据中心。
  2. 在导航面板上点击配额标签页。
  3. 点您需要编辑的配额名。
  4. 点导航框中的编辑
  5. 一个编辑配额窗口会被打开。如果需要,在名称项中输入名称。
  6. 如果需要,在描述项中输入描述。
  7. 选择所有集群选项或特定的集群选项。使用集群阈值集群宽限值滑动条调整内存和 CPU 的值。
  8. 选中所有存储域特定的存储域。使用存储阈值存储 Grace 滑动条调整存储的值。
  9. 编辑配额窗口中点确定来确认新的配额设置。
结果
您编辑了一个存在的配额。

15.10. 删除配额

介绍
以下过程描述了如何删除配额。

过程 15.7. 删除配额

  1. 在树型面板上,点击你要编辑配额的数据中心。
  2. 在导航面板上点配额标签页。
  3. 点您要删除的配额的名称。
  4. 点导航面板顶部、标签页下面的删除
  5. 删除配额窗口中点确定来确认删除这个配额。
结果
您删除了一个配额。

15.11. 服务级别协议(SLA)策略的实施

介绍
以下描述了如何设置 CPU 服务级别协议功能的方法。

过程 15.8. 设置一个服务级别协议的 CPU 策略

  1. 在导航框中选新建虚拟机
  2. 选择显示高级选项
  3. 选择资源分配标签页。
    Description

    图 15.1. 服务级别协议(SLA)策略的实施 - CPU 分配菜单

  4. 设置 CPU 共享。它可以被设为自定义禁用的。设为的虚拟机所获得的 CPU 共享将是设为的虚拟机所获得的 CPU 共享的两倍;而设为的虚拟机所获得的 CPU 共享将是设为的虚拟机所获得的 CPU 共享的两倍。如果设为禁用,VDSM 将使用一个老的算法来决定 CPU 共享值(通常情况下,它的值是 1020)。
结果
您设置了一个与 CPU 相关的服务级别协议策略。用户对 CPU 资源的使用会根据这个策略进行。

第 16 章 事件通知

16.1. 在管理门户中配置事件通知

介绍
当 Red Hat Virtualization Manager 所管理的虚拟化环境中发生特定事件时,Red Hat Virtualization Manager 会通过电子邮件通知特定的用户。为了使用这个功能,您需要设置一个邮件发送系统来传输这些通知信息。管理门户只能配置使用电子邮件发送事件通知。SNMP trap 需要在 Manager 所在的机器上配置。

过程 16.1. 配置事件通知机制

  1. 确认您已经设置了一个邮件发送系统。
  2. 使用用户资源页、树形模式或搜索功能来找到并选择需要接收事件通知的用户。
  3. 在详情框中点事件通知器标签页,列出这个用户会收到的事件通知。如果您还没有为这个用户设置任何事件通知,这个列表会是空的。
  4. 管理事件打开添加事件通知窗口。
    添加事件通知窗口

    图 16.1. 添加事件通知窗口

  5. 使用展开所有按钮或某个对象的展开箭头来显示相关的事件。
  6. 根据需要选择相应的选择框。
  7. 邮件接收者项中输入需要一个电子邮件地址。
  8. 确定保存所做的修改并关闭窗口。
  9. 运行以下命令在 Red Hat Virtualization Manager 上添加并启动 ovirt-engine-notifier 服务:
    # chkconfig --add ovirt-engine-notifier
    # chkconfig ovirt-engine-notifier on
    # service ovirt-engine-notifier restart
结果
指定的用户将会收到 Red Hat Virtualization 环境中的相关事件的通知邮件。这些相关的事件在用户的事件通知器标签页中被列出。

16.2. 在管理门户中取消事件通知

介绍
用户配置了一些不需要的电子邮件事件通知,想取消它们。

过程 16.2. 取消事件通知

  1. 用户标签页中,选择用户或用户组。
  2. 在详情框中选择事件通知器标签页来列出这个用户接收的事件列表。
  3. 管理事件打开添加事件通知窗口。
  4. 使用展开所有按钮或某个对象的展开箭头来显示相关的事件。
  5. 取消相应项的选择来删除事件通知。
  6. 确定保存所做的改变并关闭窗口。
结果
您为用户取消了不需要的事件通知。

16.3. ovirt-engine-notifier.conf 配置文件中的事件通知参数

事件通知器的配置文件是 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf

表 16.1. ovirt-engine-notifier.conf 变量

变量名默认值备注
SENSITIVE_KEYS没有一组以逗号分隔的,不会被记录到日志中的密钥。
JBOSS_HOME/usr/share/jbossasRed Hat Enterprise Virtualization Manager 使用的 JBoss 应用服务器的位置。
ENGINE_ETC/etc/ovirt-engineRed Hat Enterprise Virtualization Manager 使用的 etc 目录的位置。
ENGINE_LOG/var/log/ovirt-engineRed Hat Enterprise Virtualization Manager 使用的 logs 目录的位置。
ENGINE_USR/usr/share/ovirt-engineRed Hat Enterprise Virtualization Manager 使用的 usr 目录的位置。
ENGINE_JAVA_MODULEPATH${ENGINE_USR}/modulesJBoss 模块附加到的文件路径。
NOTIFIER_DEBUG_ADDRESS没有一台机器的地址。这个机器被用来对事件通知器所使用的 Java 虚拟机进行远程故障排除。
NOTIFIER_STOP_TIME30这个服务超时的时间(以秒为单位)
NOTIFIER_STOP_INTERVAL1超时计数器值增加的间隔时间(以秒为单位)。
INTERVAL_IN_SECONDS120为用户发送通知的间隔时间(以秒为单位)
IDLE_INTERVAL30低优先级任务执行的间隔时间(以秒为单位)。
DAYS_TO_KEEP_HISTORY0产生事件通知的事件在历史记录表中保存的天数。如果这个参数没有设置,这些事件会被永久保存在历史记录表中。
FAILED_QUERIES_NOTIFICATION_THRESHOLD30指定在事件通知邮件发出后,经过多少次相同的失败查询后才再发出通知。例如,这个变量被设为3,在一个查询失败后发出了一个事件通知,下一次只有发生了 3 次相同的查询失败后才会再次发送这个事件通知。如果您把这个变量的值设为 01,每次查询失败后都会发送一个通知邮件。
FAILED_QUERIES_NOTIFICATION_RECIPIENTS没有接收通知邮件的用户的邮件地址。用户可以指定多个用户的邮件地址(使用逗号分隔)。这个变量现在已经被 FILTER 变量替代。
DAYS_TO_SEND_ON_STARTUP0当事件通知器启动时,多少天前的事件需要被处理并发送事件通知。
FILTERexclude:*决定触发事件的条件,以及接收邮件通知的用户的邮件地址。这个变量的值由 includeexclude,事件和接收者的邮件组成。例如,include:VDC_START(smtp:mail@example.com) ${FILTER}
MAIL_SERVER没有SMTP 邮件服务器的地址。这个变量必须被设置。
MAIL_PORT25SMTP 使用的端口号。可能的值包括 25(SMTP)、465(使用 SSL 的 SMTP)和 587(使用 TLS 的 SMTP)。
MAIL_USER没有如果使用 SSL 来进行用户验证,这个变量必须被设置。当 MAIL_FROM 变量没有设置时,这个变量值也被用来指定 "from" 用户的地址。一些邮件服务器并不支持这个功能。这里的邮件地址使用 RFC822 格式。
SENSITIVE_KEYS${SENSITIVE_KEYS},MAIL_PASSWORD如果邮件服务器需要用户验证,或启用了 SSL 或 TLS,在这里指定用户的验证信息。
MAIL_PASSWORD没有如果邮件服务器需要用户验证,或启用了 SSL 或 TLS,在这里指定用户的验证信息。
MAIL_SMTP_ENCRYPTION没有邮件所使用的加密方法。可能的值包括 nonessltls
HTML_MESSAGE_FORMATfalse如果这个变量的值被设为 true,邮件服务器以 HTML 的形式发送信息。
MAIL_FROM没有如果邮件服务器支持,使用这个变量指定发送者的邮件地址(RFC822 格式)。
MAIL_REPLY_TO没有如果邮件服务器支持,使用这个变量在发送的邮件中指定 reply-to 的邮件地址(RFC822 格式)。
MAIL_SEND_INTERVAL1每个 IDLE_INTERVAL 所发的 SMTP 信息数
MAIL_RETRIES4在确定操作失败前,尝试发送邮件的次数。
SNMP_MANAGER没有作为 SNMP 管理器的机器的 IP 地址或全局域名。如果需要输入多个机器的信息,以一个空格分隔它们(可以包括一个端口号)。如 manager1.example.com manager2.example.com:164
SNMP_COMMUNITYpublic默认的 SNMP community。
SNMP_OID1.3.6.1.4.1.2312.13.1.1提示信息的默认 trap 对象的标识符。当这个 OID 被定义时,所有 trap 类型(包括事件信息)被发送到 SNMP 管理器。请注意,修改默认的 trap 会导致所产生的 trap 和 Manager 的 MIB(Management Information Base,管理信息库)不匹配。
ENGINE_INTERVAL_IN_SECONDS300对 Manager 所在机器进行监测的间隔时间(以秒为单位)。这个间隔是从监测完成后开始计算的。
ENGINE_MONITOR_RETRIES3当对 Manager 所在的机器状态进行监测失败后,重新尝试监控的次数。
ENGINE_TIMEOUT_IN_SECONDS30监测 Manager 所在机器状态的超时时间(以秒为单位)。当达到这个超时时间后没有获得所监测机器的状态,事件通知器会在指定的间隔时间后重新尝试对机器进行监测。
IS_HTTPS_PROTOCOLfalse如果 JBoss 以安全模式运行,这个项必须被设为 true
SSL_PROTOCOLTLS在 SSL 被启用后,JBoss 配置连接器(JBoss configuration connector)所使用的协议。
SSL_IGNORE_CERTIFICATE_ERRORSfalse如果 JBoss 以安全模式运行,并需要忽略 SSL 错误,这个值必须设为 true
SSL_IGNORE_HOST_VERIFICATIONfalse如果 JBoss 以安全模式运行,并需要忽略主机名验证,这个值必须设为 true
REPEAT_NON_RESPONSIVE_NOTIFICATIONfalse这个变量被用来指定,当 Manager 所在的机器没有响应时,是否向相关的用户重复发送错误信息。
ENGINE_PID/var/lib/ovirt-engine/ovirt-engine.pidRed Hat Enterprise Virtualization Manager 的 PID 的路径和文件名。

16.4. 配置 Red Hat Virtualization Manager 来发送 SNMP trap

配置 Red Hat Virtualization Manager 来向一个或多个外部简单网络管理协议(Simple Network Management Protocol,简称 SNMP)管理器发送 SNMP trap 。SNMP trap 包括了系统事件信息,用户可以使用这些数据监控 Red Hat Virtualization 环境。向 SNMP 管理器发送的 trap 的数量和类型可以在 Red Hat Virtualization Manager 中设置。
这个过程假设您已经配置了一个或多个外部 SNMP 管理器来接收 trap,并且有以下信息:
  • 作为 SNMP 管理器的机器的 IP 地址或完全限定域名(FQDN)。另外,需要决定管理器使用哪个端口接收 trap 数据(默认的设置是 UDP 端口 162)。
  • SNMP community。多个 SNMP 管理器可以属于一个 community。只有属于同一个 community 的管理系统和代理才可以相互间进行交流。默认的 community 是 public
  • trap 信息的对象 ID(object identifier,简称为 OID)。Red Hat Virtualization Manager 提供的默认 OID 是 1.3.6.1.4.1.2312.13.1.1。当 OID 被定义后,所有 trap 类型(包括了事件信息)都会被发送到 SNMP 管理器。请注意,修改默认的 trap 会导致所产生的 trap 和 Manager 的 MIB(Management Information Base,管理信息库)不匹配。

注意

Red Hat Virtualization Manager 在 /usr/share/doc/ovirt-engine/mibs/OVIRT-MIB.txt/usr/share/doc/ovirt-engine/mibs/REDHAT-MIB.txt 中提供了管理信息库(MIB)。在进行处理前,需要把 MIBs 加载到 SNMP 管理器中。
默认的 SNMP 配置值存在于 Manager 的事件通知守护进程的配置文件中(/usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf)。以下所使用的值是基于这个文件所提供的默认或示例值。如需修改默认设置,我们推荐您使用另外一个文件来覆盖默认设置,而不是直接修改 ovirt-engine-notifier.conf 文件,这样可以在需要对系统进行改变时(如对系统进行升级)保持您原来所做的配置改变。

过程 16.3. 在 Manager 上配置 SNMP trap

  1. 在 Manager 上创建 SNMP 配置文件:
    # vi /etc/ovirt-engine/notifier/notifier.conf.d/20-snmp.conf
  2. 使用以下格式指定 SNMP 管理器,SNMP community 和 OID
    SNMP_MANAGERS="manager1.example.com manager2.example.com:162"
    SNMP_COMMUNITY=public
    SNMP_OID=1.3.6.1.4.1.2312.13.1.1
  3. 指定哪些事件需要发送到 SNMP 管理器:

    例 16.1. 事件实例

    把所有的事件发送到默认的 SNMP 档案:
    FILTER="include:*(snmp:) ${FILTER}"
    把所有严重性为 ERRORALERT 的事件发送到 SNMP 档案:
    FILTER="include:*ERROR(snmp:) ${FILTER}"
    FILTER="include:*ALERT(snmp:) ${FILTER}"
    VDC_START 事件发送到指定的电子邮件地址:
    FILTER="include:VDC_START(snmp:mail@example.com) ${FILTER}"
    把除 VDC_START 以外的事件发送到默认的 SNMP 档案:
    FILTER="exclude:VDC_START include:*(snmp:) ${FILTER}"
    默认的过滤器在 ovirt-engine-notifier.conf 中定义。如果没有禁用这个过滤器或使用覆盖的过滤器,则不会发送通告信息:
    FILTER="exclude:*"
    VDC_START 是一个有效审计日志信息的示例。完整的审计日志信息列表包括在 /usr/share/doc/ovirt-engine/AuditLogMessages.properties 中。另外,还可以在 SNMP manager 中对结果进行过滤。
  4. 保存这个文件。
  5. 启动 ovirt-engine-notifier 服务,并使它可以在系统启动时被自动启动:
    # service ovirt-engine-notifier start
    # chkconfig ovirt-engine-notifier on
检查您的 SNMP 管理器来确定它可以接收到 trap。

注意

为了使 notifier 服务可以正常运行,SNMP_MANAGERSMAIL_SERVER 需要在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf 中(或一个覆盖文件中)正确定义。

第 17 章 工具程序

17.1. oVirt 引擎重新命名工具

17.1.1. oVirt 引擎