管理指南

Red Hat Enterprise Virtualization 3.6

Red Hat Enterprise Virtualization 中的管理任务

Red Hat Enterprise Virtualization Documentation Team

Red Hat Customer Content Services

摘要

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

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

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

1.1. 全局配置

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

图 1.1. 访问配置窗口

1.1.1. 角色

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

1.1.1.1. 创建一个新角色

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

例 1.5. 定制角色权限

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

图 1.3. UserManager 定制角色

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

1.1.2. 系统权限

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

图 1.4. 权限和角色

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

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

1.1.2.1. 用户属性

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

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

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

1.1.2.3. 用户角色介绍

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

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

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

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

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

1.1.2.4. 管理员角色介绍

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

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

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

重要

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

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

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

1.1.3. 调度策略

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

1.1.3.1. 创建调度策略

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

过程 1.3. 创建调度策略

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

    图 1.6. 新建调度策略窗口

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

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

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

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

描述
名称
调度策略的名称。Red Hat Enterprise Virtualization Manager 使用这个名称来代表这个调度策略。
描述
调度策略的描述。这个项不是必需的,但我们推荐使用它。
过滤器模块
用来控制虚拟机可以在一个集群中的哪些主机上运行。启用相关的过滤器可以把不满足条件的主机过滤掉,以下介绍了每个过滤器的详情:
  • PinToHost:除虚拟机被固定的主机外的主机。
  • CPU-Level:与虚拟机的 CPU 拓扑不匹配的主机。
  • CPU:CPU 数量少于分配给虚拟机的 CPU 数量的主机。
  • Memory:没有足够内存运行虚拟机的主机。
  • VmAffinityGroups:不满足一个关联组(affinity group)中的虚拟机的指定条件的主机。例如,一个包括在关联组中的虚拟机必须运行在相同的主机上,或必须运行在独立的主机上。
  • HA:强迫主机只在高可用性值为正的主机上。
  • Network:虚拟机的网卡所必需的网络没有安装的主机;或集群的显示网络没有安装的主机。
Weights 模块
决定在集群中的哪些主机上运行虚拟机时需要考虑因素的权重。
  • 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. 系列类型标签页

Fields in the New Virtual Machine and Edit Virtual Machine windows that are bound to an instance type will have a chain link image next to them ( ). If the value of one of these fields is changed, the virtual machine will be detached from the instance type, changing to Custom, and the chain will appear broken ( ). However, if the value is changed back, the chain will relink and the instance type will move back to the selected one.

1.1.4.1. 创建实例类型

概述

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

过程 1.4. 创建实例类型

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

    图 1.8. 新实例类型窗口

  4. 常规标签页中,输入名称描述的值。您可以使用其它项的默认值,也可以根据您的情况修改它们。
  5. 根据您的需要,在系统控制台主机高可用性资源分配引导选项随机数生成器标签页中进行相应的配置。在这些标签页中出现的设置与新建虚拟机窗口中的相应设置完全相同。
  6. 确定创建实例类型并关闭窗口。
结果

新创建的实例类型出现在配置窗口的实例类型标签页中。您可以在创建或编辑虚拟机时从实例类型下拉菜单中选择新建的实例类型。

1.1.4.2. 编辑实例类型

概述

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

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

  1. 选择需要编辑的实例类型。
  2. 编辑按钮打开编辑实例类型窗口。
  3. 根据需要,编辑常规系统控制台主机高可用性资源分配引导选项随机数产生器标签页中的设置。
  4. 确定保存所做的改变。
结果

实例类型的配置被改变。基于这个实例类型的新建虚拟机和已经存在的虚拟机都将使用新的配置。

1.1.4.3. 删除实例类型

概述

从 Red Hat Enterprise Virtualization 环境中删除一个实例类型。

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

  1. 选择需要删除的实例类型。
  2. 删除按钮打开删除实例类型窗口。
  3. 如果存在基于要被删除的实例类型的虚拟机,一个包括了相关联的虚拟机列表的窗口会出现。如果需要删除实例类型,点 Approve Operation,否则,点 Cancel
  4. 确定
结果

实例类型被从实例类型列表中删除,在创建新虚拟机时将无法使用这个实例类型。所有以前和被删除的实例类型相关联的虚拟机将改为和 Custom(没有实例类型)相关联。

部分 I. 管理资源

第 2 章 服务质量

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

2.1. 存储服务质量

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

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

创建一个存储服务质量。

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

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

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

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

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

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

2.2. 网络服务质量

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

重要

网络服务质量只在 3.3 或以上版本中支持。

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

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

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

  1. 数据中心标签页并选择一个数据中心。
  2. 在详情框中点 QoS 标签页。
  3. 网络
  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. 网络
  4. 选择需要删除的网络服务质量。
  5. 删除
  6. 出现提示时点确定
您删除了一条网络服务质量。

2.3. CPU 服务质量

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

2.3.1. 创建一条 CPU 服务质量

创建一条 CPU 服务质量。

过程 2.5. 创建一条 CPU 服务质量

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

2.3.2. 删除一个 CPU 服务质量

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

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

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

第 3 章 数据中心

3.1. 数据中心介绍

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

图 3.1. 数据中心

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

图 3.2. 数据中心中的项

3.2. 存储池管理器(SPM)

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

3.3. SPM 优先级

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

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

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

3.5. 数据中心任务

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

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

注意

存储类型可以在第一个存储域被加入到数据中心前进行设置。一旦一个存储域被添加到数据中心后,存储类型将不能被改变。
另外,系统不支持降低兼容版本。如果您把兼容版本设置为3.6,您将不能把它改为3.5

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

  1. 选择数据中心资源标签页来在结果列表中列出所有的数据中心。
  2. 新建打开新建数据中心窗口。
  3. 输入数据中心的名称描述
  4. 从下拉菜单中选择数据中心的类型兼容版本配额模式
  5. 确认创建数据中心,并打开新建数据中心 - 引导操作窗口。
  6. 引导操作窗口列出了数据中心所要配置的项。您可以现在配置这些项目,或点以后再操作来在以后配置它们。您可以在任何时候通过选择数据中心后点引导操作键来对所选数据中心进行配置。
新的数据中心被添加到虚拟环境中。在您为这个数据中心配置了一个集群、主机和存储域前,它的状态将会是 Uninitialized。您可以使用引导操作键来配置它们。

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

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

表 3.1. 数据中心属性

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

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 Enterprise Virtualization 环境中永久删除。

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

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

注意

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

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

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

警告

升级数据中心兼容版本值也需要升级属于这个数据中心的存储域。如果您把数据中心兼容版本值从 3.1 以前的版本升级为更高的版本,那些使用 3.1 以前版本的存储域将无法使用。

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. 为数据中心附加一个已经存在的导出域

状态为 Unattached 的导出域可以被附加到一个数据中心。一个数据中心只能添加一个导出域。

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

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

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

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

注意

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

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

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

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

处于维护状态的存储域只有在被激活后才能被使用。

过程 3.10. 把存储域从维护状态激活

  1. 数据中心资源标签页,选择所需的数据中心。
  2. 在详情框中选存储标签页列出附加到这个数据中心中的存储域。
  3. 选相应的存储域并点激活
存储域被激活并可以在数据中心中使用。

3.7. 数据中心和权限

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

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

注意

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

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

数据中心权限角色

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

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

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

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

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

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

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

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

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

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

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

第 4 章 集群

4.1. 集群介绍

一个集群就是一些主机组成的一个逻辑组。这些主机共享相同的存储域并有相同的 CPU 类型(Intel 或 AMD)。如果不同的主机有不同的 CPU 型号,只有那些在所有型号中都包括的功能才可以被使用。
系统中的每一个集群都必须属于某一个数据中心,每个主机也必须属于某一个集群。根据集群标签页中定义的原则,虚拟机可以被动态地分配到所属集群中的任何主机上,并可以在不同的主机间进行迁移。电源和负载共享原则不能在比集群更高级别的资源上定义。
属于集群的主机数量和虚拟机数量分别在主机数VM 数量列中显示。
集群可以运行虚拟机或 Red Hat Gluster Storage 服务器,但只能是二者之一。一个集群不能同时作为虚拟机和存储主机使用。
Red Hat Enterprise 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 Enterprise Virtualization Hypervisor 主机加入到一个支持 Gluster 服务的集群中。
  9. 或者也可以选择启用设置 VM 维护原因选项。它会在虚拟机被 Manager 关闭时显示一个原因输入项,管理员可以在这里输入维护的原因。
  10. 或者也可以选择启用设置主机维护原因选项。它会在主机被 Manager 关闭时显示一个原因输入项,管理员可以在这里输入维护的原因。
  11. 选择 /dev/random 源(Linux 提供的设备)或 /dev/hwrng 源(外部硬件设备)选项来为集群中的所有主机指定一个必须使用的随机数生成器设置。
  12. 使用优化标签页来为集群设置内存页共享的阈值,并可以为集群中的主机启动“CPU 线程处理”和“内存 ballooning”功能。
  13. Resilience 策略标签页中选择虚拟机迁移规则。
  14. 另外,还可以在调度策略标签页中设置“调度策略”、“调动程序优化”、“启用信任的服务”、“启用 HA Reservation”并添加一个自定义序列号策略。
  15. 控制台标签页中,您可以覆盖全局的 SPICE 代理设置,并指定这个集群中的主机所使用的 SPICE 代理地址。
  16. Fencing 策略标签页中为集群启用或禁用 fencing 功能,并选择 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 Enterprise Virtualization 的版本值。可以是以下值中的一个:
  • 3.0
  • 3.1
  • 3.2
  • 3.3
  • 3.4
  • 3.5
  • 3.6
您无法选择比数据中心中指定的版本值更低的版本。
启用 Virt 服务
如果选择了这一项,集群中的主机将被用来运行虚拟机。
启用 Gluster 服务
如果选择了这一项,这个集群中的主机将被用来作为 Red Hat Gluster Storage Server 节点,而不能运行虚拟机。另外,您也无法添加 Red Hat Enterprise Virtualization Hypervisor 主机到这个集群。
导入现有的 gluster 配置
这个选项只有在启用 Gluster 服务被选中时才有效。它允许您为 Red Hat Enterprise Virtualization Manger 导入一个已经存在的 Gluster 集群以及附加在它上面的主机。
被导入的集群中的主机需要以下设置:
  • 地址: Gluster 主机服务器的 IP 地址或全局域名(FQDN)。
  • 指纹: Red Hat Enterprise Virtualization Manager 需要获得的主机指纹信息。使用它来确保和正确的主机相连接。
  • Root 密码:和主机连接所需要的 root 密码。
启用设置虚拟机维护的理由如果选择了这个选项,当集群中的虚拟机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当虚拟机被重启后,您所输入的理由信息将出现在系统的日志中。
启用设置虚拟机维护的理由如果选择了这个选项,当集群中的主机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当主机被重启后,您所输入的理由信息将出现在系统的日志中。
所需的随机数生成器的源:
如果下面的一个选择框被选择时,集群中的所有主机都必须包括这个设备。这可以把系统随机变化的程度值(entropy)从随机数生成器设备传递到虚拟机。
  • /dev/random source - Linux 提供的随机数生成器。
  • /dev/hwrng source - 外部的硬件随机数生成器。
请注意,这个功能只在运行于 Red Hat Enterprise Linux 6.6(或更高版本)和 Red Hat Enterprise Linux 7.0(或更高版本)的主机上有效。

4.2.2.2. 优化设置介绍

内存页共享(memory page sharing)技术可以使虚拟机通过使用其它虚拟机上没有使用的内存来为自己获得最多为自身内存两倍的使用内存。在一般情况下,您的 Red Hat Enterprise 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)设备以及相应的驱动器。在版本 3.2 及以上版本的集群中,每个虚拟机都包括了一个气球设备,除非这个设备已经被删除。当集群中的主机的状态变为 Up 时,就会收到一个气球协议更新。如果需要,可以在不需要改变状态的情况下在主机上手工更新气球策勒。如需了解相关信息,请参阅 第 4.2.5 节 “在一个集群的主机上更新 MoM 策略”
需要注意的是,在一些情况下,气球操作可能会和 KSM 有冲突。当冲突发生时,MoM 将会试图通过调整气球的大小来减少冲突。另外,在一些情况下,气球可能会降低一个虚拟机的性能。因此,我们建议系统管理员谨慎使用内存气球优化技术。
KSM 控制
选择启用 KSM 将允许 MoM 在需要的情况下运行 Kernel Same-page Merging(KSM)。

4.2.2.3. Resilience 策略设置介绍

resilience 策略设置了在主机出现问题时虚拟机进行迁移的策略。当运行虚拟机的主机无法正常工作时,它上面的虚拟机会被实时迁移到同一个集群中的其它主机上,而这个迁移的操作就由集群的 resilience 策略所决定。如果主机无法正常工作并需要被重启,带有高可用性配置的虚拟机会在集群中的另外一个主机上重启。resilience 策略只适用于处于无法正常工作状态(non-operational state)的主机。

表 4.3. 主机失败状态的解释

状态
描述
无法正常工作(Non Operational)
无法正常工作的主机可以和 Manager 进行通讯,但是有不正确的配置(如缺少了一个逻辑网络)。当主机变为无法正常工作的状态,它上面的虚拟机迁移操作将由集群的 resilience 策略决定。
无响应(Non Responsive)
无响应主机将无法和 Manager 进行通讯。如果一个主机成为无响应状态,在它上面的、带有高可用性功能的虚拟机会在集群中的其它主机上被重启。
虚拟机迁移是一个需要大量网络资源的操作。例如,一个主机上运行了 10 个或更多的虚拟机,把这些虚拟机迁移到其它主机上的操作将会消耗大量时间和资源。因此,您需要小心设置策略来满足您的需求。如果您要采取保守的策略,您可以禁止虚拟机迁移操作。如果您有大量的虚拟机,但关键的服务只运行在其中的几台虚拟机上,您可以设置迁移策略来只允许那些运行关键服务的虚拟机进行迁移。
下表描述了新建集群编辑集群窗口中的 Resilience 策略标签页中的设置。如需了解更多在创建新集群时设置 resilience 策略的信息,请参阅 第 4.2.1 节 “创建一个新集群”

表 4.4. Resilience 策略设置

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

4.2.2.4. 调度策略设置介绍

调度策略指定了虚拟机在可用的主机间的使用和分配情况。通过设置调度策略,可以启动在一个集群中的主机间自动进行负载均衡的功能。
调度策略设置:vm_evenly_distributed

图 4.3. 调度策略设置:vm_evenly_distributed

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

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

描述/操作
选择策略
从下拉列表中选择一个策略。
  • none:把策略值设置为 none 将不允许在主机间进行负载和电源共享。这是默认模式。
  • evenly_distributed:在集群中的所有主机间平均分配 CPU 负载。当主机已经达到了最大服务水平值(Maximum Service Level)时,新加入到这个主机的虚拟机将不会启动。
  • 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 Enterprise Virtualization Manager 将会把它上面的虚拟机迁移到集群中的其它主机上,直到这个主机的 CPU 负载降到 maximum service threshold 所设置的值以下。它的默认值是 80
  • LowUtilization:一个百分比值。当一个主机的 CPU 使用率在一定时间内低于这个值,Red Hat Enterprise Virtualization Manager 将会把它上面的虚拟机迁移到集群中的其它主机上,并关闭这个主机。当这个集群中有其它负载平衡需求,或没有足够可用的主机时,这个主机会被重新启动。它的默认值是 20
  • ScaleDown:用来减少 HA 预留 的权重功能(把主机的值除以这个值)。它是一个可选的、可以被添加到包括 none 在内的任何策略的属性。
  • HostsInReserve:指定一组主机,即使在它们上面没有运行虚拟机,这些主机也要保持运行。它是一个可选的、可以添加到 power_saving 策略中的属性。
  • EnableAutomaticHostPowerManagement:为集群中的所有主机启用自动电源管理功能。它是一个可选的、可以添加到 power_saving 策略中的属性。它的默认值是 true
调度程序优化
优化主机权重和顺序的调度。
  • 为使用进行优化:在调度中包括权重模块来做出最好的选择。
  • 为速度进行优化:当有多于 10 个请求没有被处理时,忽略主机权重。
启用信任的服务
启用和 OpenAttestation 服务器集成的功能。在使用这个功能前,用户需要先使用 engine-config 工具配置 OpenAttestation 服务器。
启用 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.6. 控制台设置

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

4.2.2.6. fencing 策略设置介绍

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

表 4.7. fencing 策略设置介绍

描述/操作
启用 fencing在集群中启用 fencing 功能。fencing 功能在默认的情况下被启用,但可以根据需要被禁用。例如,当预计要出现网络问题时,管理员可以临时禁用 fencing 功能。当问题解决后再重启启用它。请注意,当 fencing 被禁用后,在无响应的主机上运行的高可用虚拟机将无法在其它主机上重启。
如果主机在存储上有实时的租約,忽略 fencing 操作如果选择了这个选项,集群中的所有没有响应的、仍然连接到存储的主机都不会进行 fence 操作。
在有连接问题的集群中忽略 fencing 操作如果选择了这个选项,当集群中有连接问题的主机的百分比超过或等于 阈值 中所定义的值时,fencing 功能会被临时禁用。阈值的值可以从下拉列表中选择,有效值包括 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. 选择以下策略中的一个:
    • vm_evenly_distributed
      1. HighVmCount 项中指定每个主机上可以运行的最多虚拟机的数量。
      2. MigrationThreshold 项中指定可以接受的、具有最高利用率的主机上所运行的虚拟机数量和具有最低利用率的主机上所运行的虚拟机数量间的最大差距。
      3. SpmVmGrace 项中定义在 SPM 主机上保留的可用虚拟机数。
    • evenly_distributed
      1. CpuOverCommitDurationMinutes 项中设置,当调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。
      2. HighUtilization 项中输入虚拟机需要进行虚拟机迁移的 CPU 使用率的百分值。
    • power_saving
      1. CpuOverCommitDurationMinutes 项中设置,当调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。
      2. LowUtilization 项中输入主机被认为处于没有被充分利用状态的 CPU 使用率的百分值。
      3. HighUtilization 项中输入虚拟机需要进行虚拟机迁移的 CPU 使用率的百分值。
  4. 选择以下之一作为集群的 Scheduler Optimization 设置:
    • 为使用进行优化:在调度中包括权重模块来做出最好的选择。
    • 为速度进行优化:当有多于 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 Profiles 子标签页。
  3. New.
  4. Name 项中输入 CPU 配置集的名称。
  5. Description 项中输入 CPU 配置集的描述信息。
  6. QoS 列表中选择应用到 CPU 配置集的服务质量。
  7. 确定
您创建了一个 CPU 配置集,这个 CPU 配置集可以在集群中的虚拟机上应用。

4.2.6.2. 删除 CPU 配置集

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

过程 4.6. 删除 CPU 配置集

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

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

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

重要

当前,Red Hat Gluster Storage 节点只能被加入到兼容版本值为 3.13.23.3 的集群中。

过程 4.7. 为 Red Hat Enterprise 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 Enterprise Virtualization Manager。

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

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

表 4.8. 添加 Gluster 主机设置

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

4.2.9. 删除一个集群

介绍

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

注意

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

过程 4.8. 删除一个集群

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

集群被删除。

4.2.10. 改变集群的兼容版本

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

注意

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

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

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

警告

升级兼容版本值也同时升级属于这个数据中心的存储域。如果您把兼容版本值从 3.1 以前的版本升级为更高版本,那些使用 3.1 以前版本的存储域将无法使用。

4.3. 集群和权限

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

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

注意

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

4.3.2. 集群管理员角色介绍

集群权限角色

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

表 4.9. Red Hat Enterprise 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 Enterprise Virtualization 环境中的所有逻辑网络都会在网络标签页中显示。用户可以使用新建编辑删除来在数据中心中创建、编辑和删除逻辑网络。
选择网络名,使用集群主机虚拟机模板权限标签页来进行以下操作:
  • 为集群和主机关联或取消关联网络
  • 从虚拟机和模板上删除网络接口
  • 为用户添加和删除访问和管理网络的权限
这些功能也可以通过访问相应的资源页进行。

警告

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

重要

如果您计划使用 Red Hat Enterprise Virtualization 节点来为用户提供服务,您需要记住,当 Red Hat Enterprise Virtualization 环境停止工作时,它所提供的服务也将被停止。
这一点对所有的服务都有效,但您特别需要对 Red Hat Enterprise 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. 确定保存您所做的修改。

注意

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

5.1.4. 删除一个逻辑网络

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

过程 5.3. 删除逻辑网络

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

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

除了IP 地址和子网掩码外,用户还可以为逻辑网络设置网关。当一个主机有多个网络时,就需要为每个网络配置一个独立的网关,而不是使用默认的网关。
如果您没有为每个网络指定一个独立的网关,到这些网络的连接就会使用默认的网关,这将会导致用户无法连接到主机。
Red Hat Enterprise 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.2. 虚拟网络接口卡

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

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

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

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

注意

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

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

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

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

  4. 为配置集输入名称描述
  5. QoS 列表中选择相关的服务质量策略。
  6. 设置端口镜像允许所有用户使用这个配置集选项。
  7. 使用自定义属性下拉菜单(默认显示 Please select a key...)来选择一个自定义属性。并使用 +- 按钮来添加或删除自定义属性。
  8. 确定
您创建了一个 vNIC 配置集,并可以通过使用这个配置集来控制用户和组的网络带宽。请注意,如果您编辑了一个 vNIC 配置集,您需要重启虚拟机,或先热拔然后再热插入这个 vNIC。

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

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

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

5.2.4. 删除 vNIC 配置集

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

过程 5.7. 删除 vNIC 配置集

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

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

注意

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

注意

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

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

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

5.2.6. vNIC 配置集的用户权限

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

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

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

5.3. 外部供应商网络

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

如果一个外部供应商(external provider)已经在 Manager 中注册,这个外部供应商所提供的网络就可以被导入到这个 Manager 上,并被虚拟机使用。

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

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

    图 5.3. 导入网络窗口

  3. 网络供应商下拉列表中选一个外部供应商。供应商网络将会自动列出这个外部供应商所能提供的所有网络。
  4. 供应商网络列表中选择要导入的网络,点下箭头标把这些网络移到要导入的网络列表中。
  5. 如果需要修改导入网络的名称,在名称栏中点网络名称,并进行修改。
  6. 数据中心下拉列表中选择这个网络要被导入的数据中心。
  7. 另外,取消选择要导入的网络列表中的某个网络的允许所有选项来防止这个网络对所有的用户都有效。
  8. 导入键。
所选择的网络被导入到指定的数据中心中,并可以在 Manager 中使用。

重要

发现并导入外部供应商所提供的网络现在还是一个 Technology Preview 功能。Technology Preview 功能将不被 Red Hat Subscription Service Level Agreements (SLAs)所完全支持,也不能保证它的所有功能都可以正常运行。Technology Preview 功能并不是为当前的生产环境所提供的,但用户可以通过这些功能来尽早接触将来会被使用的新产品技术,同时可以反馈您的意见来完善产品的开发。

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

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

重要

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

重要

发现并导入外部供应商所提供的网络现在还是一个 Technology Preview 功能。Technology Preview 功能将不被 Red Hat Subscription Service Level Agreements (SLAs)所完全支持,也不能保证它的所有功能都可以正常运行。Technology Preview 功能并不是为当前的生产环境所提供的,但用户可以通过这些功能来尽早接触将来会被使用的新产品技术,同时可以反馈您的意见来完善产品的开发。

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

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

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

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

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

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

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

    图 5.4. 新建外部子网窗口

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

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

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

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

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

5.4. 逻辑网络和权限

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

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

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

网络权限角色

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

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

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

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

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

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

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

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

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

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

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

5.5. 主机和网络

5.5.1. 刷新主机的能力

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

过程 5.15. 刷新主机能力

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

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

用户可以改变主机的物理网络接口设置,把管理网络从一个主机物理网络接口移到另一个上面,为主机物理网络接口分配逻辑网络。

重要

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

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

  1. 主机标签页,选择所需的主机。
  2. 在详情框中点网络接口标签页。
  3. 设置主机网络打开设置主机网络窗口。
  4. 要为一个物理主机网络接口添加一个逻辑网络,选择相应的逻辑网络,并把它们拖到物理主机网络接口旁的分配逻辑网络区中。
    或者,在逻辑网络上点鼠标右键,从下拉菜单中选一个网络接口。
  5. 配置逻辑网络:
    1. 把鼠标移到被管理的逻辑网络上,点铅笔图标打开编辑管理网络窗口。
    2. 选择引导协议
      • None
      • DHCP,或
      • Static
        如果您选择 Static,输入 IP子网掩码网关的值。
    3. 如果您需要配置一个网桥,在自定义属性下拉菜单中选 bridge_opts。输入一个关键字/值组合(格式是 [key]=[value],使用空格可以分隔多个组合)。下面是一组有效的关键字/值组合(您可以根据您的具体需要修改其中的值):
      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
    4. 如果您的逻辑网络配置还没有和主机上的配置进行同步,请选择同步网络。在一个逻辑网络被同步前,它将不能被编辑或移到另外的接口上。

      注意

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

注意

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

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

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

重要

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

过程 5.17. 为逻辑网络上的一个网络接口添加多个 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.18. 为主机网络接口添加网络标签

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

5.5.5. Bonds

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

Red Hat Enterprise Virtualization Manager 管理门户允许您使用图形界面创建 bond 设备。创建 bond 可以有不同的情况。
影响 bond 过程的因素包括:
  • 要 bond 的设备是否已经带有了逻辑网络?
  • 这些设备是否带有相兼容的逻辑网络?一个设备无法同时支持 VLAN 和非 VLAN 逻辑网络。

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

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

5.5.5.2. 绑定

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

重要

模式 1、2、3 和 4 支持虚拟机网络(使用网桥)和非虚拟机网络(无网桥);模式 0、5 和 6 只支持非虚拟机网络(无网桥)。
绑定模式
Red Hat Enterprise 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. 使用管理门户创建一个 Bond 设备

您可以对兼容的网络设备进行 bond,它可以增加网络的带宽和可靠性。您可以对多个网络接口创建 bond;也可以对多个预先设置的 bond 设备进行 bond;或把以上两种设备进行绑定。
一个 bond 不能同时支持使用标签的 VLAN 和非 VLAN 网络。

过程 5.19. 使用管理门户创建一个 Bond 设备

  1. 主机资源标签页,在结果列表中选择主机。
  2. 在详情框中点网络接口标签页列出和这个主机相关联的物理网络接口。
  3. 设置主机网络打开设置主机网络窗口。
  4. 选择并拖动一个设备到另一个设备上面后放开,创建新的 Bond 窗口会被打开。或者,在设备上点鼠标右键,从下拉菜单中选择另一个设备。
    如果设备不兼容(例如,一个是 VLAN 而另一个不是),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

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

过程 5.20. 更新 Hypervisor 主机的 FQDN

  1. 把 Hypervisor 设置为维护模式从而使虚拟机被在线迁移到另外的 hypervisor。如需了解更多相关信息,请参阅 第 6.5.6 节 “把主机设为维护模式(Maintenance Mode)”。或者,手工关闭并迁移所有虚拟机,相关信息可以从 Manually Migrating Virtual Machines 获得。
  2. 删除后点确定把主机从管理门户中删除。
    • 基于 RHEL 的主机:
      • Red Hat Enterprise Linux 6:
        编辑 /etc/sysconfig/network 文件,更新主机的主机名并保存。
        # vi /etc/sysconfig/network
        HOSTNAME=NEW_FQDN
      • Red Hat Enterprise Linux 7:
        使用 hostnamectl 更新主机名。如需了解更新相关信息,请参阅 Red Hat Enterprise Linux 7 Networking Guide 中的相关章节( Configure Host Names)。
        # hostnamectl set-hostname NEW_FQDN
    • Red Hat Enterprise Virtualization Hypervisors(RHEV-H):
      在文本用户界面中,选择 Network 界面,点右方向键,在 Hostname 项中输入新主机名。选择 <Save> 并按 Enter
  3. 重启主机。
  4. 在 Manager 中重新注册主机。相关信息包括在安装指南的相关章节中(Manually Adding a Hypervisor from the Administration Portal)。

5.5.7. 修改 Red Hat Enterprise Virtualization Hypervisor(RHEV-H)的 IP 地址

过程 5.21. 

  1. 把 Hypervisor 设置为维护模式从而使虚拟机被在线迁移到另外的 hypervisor。如需了解更多相关信息,请参阅 第 6.5.6 节 “把主机设为维护模式(Maintenance Mode)”。或者,手工关闭并迁移所有虚拟机,相关信息可以从 Manually Migrating Virtual Machines 获得。
  2. 删除后点确定把主机从管理门户中删除。
  3. admin 用户身份登录到 Hypervisor。
  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 地址已被更新。
    • Red Hat Enterprise Linux 6:
      # service network restart
      # ifconfig ovirtmgmt
    • Red Hat Enterprise Linux 7:
      # systemctl restart network.service
      # ip addr show ovirtmgmt
  7. 输入 exit 退出 rescue 环境,返回到文本用户界面。
  8. 在 Manager 中重新注册主机。相关信息包括在安装指南的相关章节中(Manually Adding a Hypervisor from the Administration Portal)。

第 6 章 主机

6.1. Red Hat Enterprise Virtualization 主机介绍

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

6.2. Red Hat Enterprise Virtualization Hypervisor 主机

Red Hat Enterprise Virtualization Hypervisor 主机通过一个特殊编译的 Red Hat Enterprise Linux 软件包进行安装。它只包括虚拟化所需要的软件包并以无状态的形式(stateless)运行。如果没有特殊要求,它不会把任何改变写到磁盘上。
Red hat Enterprise Virtualization Hypervisor 主机可以被直接添加到 Red Hat Enterprise Virtualization Manager,并通过 Manger 进行配置。另外,主机也可以在本地配置后连接到 Manager,这时 Manager 只需要“批准”这个主机在环境中使用。
与 Red Hat Enterprise Linux 主机不同,Red Hat Enterprise Virtualization Hypervisor 主机不能被添加到作为 Gluster 服务的集群中作为 Red Hat Gluster Storage 节点。

重要

Red Hat Enterprise Virtualization Hypervisor 是一个“封闭”系统。如果您的环境需要其它 rpm 软件包,请使用 Red Hat Enterprise Linux 作为主机。

6.3. Foreman 主机供应商提供的主机

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

重要

支持 Foreman 主机供应商所提供的主机现在还是一个 Technology Preview 功能。Technology Preview 功能将不被 Red Hat Subscription Service Level Agreements(SLAs)所完全支持,也不能保证它的所有功能都可以正常运行。Technology Preview 功能并不是为当前的生产环境所提供的,但用户可以通过这些功能来尽早接触将来会被使用的新产品技术,同时可以反馈您的意见来完善产品的开发。

6.4. Red Hat Enterprise Linux 主机

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

6.5. 主机任务

6.5.1. 添加 Foreman 主机供应商所提供的主机

介绍

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

过程 6.1. 添加 Foreman 主机供应商所提供的主机

  1. 主机资源标签页显示主机列表。
  2. 新建打开新建主机窗口。
  3. 使用数据中心主机集群下拉菜单为这个新主机选择数据中心和主机集群。
  4. 使用 Foreman 主机供应商显示添加 Foreman 主机供应商所提供的主机的选项。 选择提供主机的供应商。
  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.2. 新建主机和编辑主机窗口中的设置和控制介绍

6.5.2.1. 主机常规设置介绍

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

表 6.1. 常规设置

描述
数据中心
主机所在的数据中心。Red Hat Enterprise Virtualization Hypervisor 主机不能被添加到启用了 Gluster 的集群中。
主机集群
主机所在的集群。
使用 Foreman 主机外部供应商
显示/隐藏添加 Foreman 主机供应商所提供的主机选项。它包括以下选项:
发现的主机

  • 发现的主机 - 一个包括被引擎发现的 Foreman 主机名的下拉列表。
  • 主机组 - 一个包括有效主机组的下拉列表。
  • 计算资源 - 一个包括提供计算资源的 hypervisor 列表。

提供的主机

  • 提供的主机 - 包括所选择的外部供应商所提供的主机下拉列表。列表内容是根据供应商搜索过滤器项中的搜索条件所搜索到的主机。
  • 供应商搜索过滤器 - 搜索外部供应商所提供的主机。请参阅相关外部供应商的文档来输入主机搜索条件。当此项为空时,会显示所有可用的主机。

名称
集群的名称。它最多支持 40 个字符,可以包括大小写字母、数字、分号和下划线。集群的名称必须是唯一的。
注释
输入与主机相关的备注
地址
IP 地址或主机的主机名。
密码
主机上的 root 用户密码。这个密码只能在添加主机时设置,以后将不能被更改。
SSH 公共密钥
用户可以使用 Manager 的 ssh 密钥而不是密码来进行主机验证。用户只需把这个项中的内容复制到主机的 /root/.known_hosts 文件中。
自动配置的主机防火墙
当添加一个新主机时,Manager 将在默认的情况下在主机的防火墙中打开所需的端口。这是一个高级参数
使用 JSON 协议
一个高级参数,在默认的情况下被启用。
SSH 指印
您可以获取主机的 SSH 指纹信息进行比较,从而确定它和您所需要的主机的指纹信息相同。这是一个高级参数

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

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

表 6.2. 电源管理设置

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

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

表 6.4. SPM 设置

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

6.5.2.4. 主机控制台设置介绍

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

表 6.5. 控制台设置

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

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

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

重要

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

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

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

    重要

    如在已存在的主机上启用 Kdump 集成选项,则需要重新安装这些主机来配置 kdump。详情请参阅 第 6.5.9 节 “重新安装虚拟主机”
  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.4. 配置主机存储池管理器(Storage Pool Manager)设置

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

过程 6.3. 配置 SPM 设置

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

6.5.5. 编辑一个资源

简介

编辑一个资源的属性。

过程 6.4. 编辑一个资源

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 编辑打开编辑窗口。
  3. 编辑需要修改的属性并点确认
结果

新的属性值被保存。如果有不正确的属性值存在,编辑窗口将不会被关闭。

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

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

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

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

    注意

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

注意

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

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

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

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

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

6.5.8. 删除一个主机

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

过程 6.7. 删除一个主机

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

6.5.9. 重新安装虚拟主机

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

重要

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

过程 6.8. 重新安装 Red Hat Enterprise Virtualization Hypervisor 和 Red Hat Enterprise Linux 主机

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

重要

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

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

介绍

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

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

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

    图 6.1. 分配标签窗口

  3. 分配标签窗口列出了所有可用的标签。选择需要的标签。
  4. 确定来为主机分配一个标签并关闭窗口。
结果

您为主机添加了可以被用来进行搜索的标签。

6.6. 主机弹性

6.6.1. 主机高可用性

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

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

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

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

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

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

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

    图 6.2. 电源管理设置

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

    重要

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

    图 6.3. 编辑隔离代理

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

    注意

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

6.6.4. fence_kdump 高级配置

kdump

在 Red Hat Enterprise Linux 6.6 和 7.1 的主机和 Hypervisor 上默认提供了 kdump 服务。在其它老的主机上,Kdump 集成选项不能被启用 ,这些主机需要被升级后才可以使用这个功能。

选择一个主机,通过详情框中的常规标签页可以查看它上面的 kdump 服务的状态:
  • 启用:kdump 被正确配置,并正在运行。
  • 禁用:kdump 服务没有运行(kdump 集成功能不能正常工作)。
  • 未知:只会在老的、不会报告 kdump 状态的主机上发生。
如需了解更多与安装和使用 kdump 相关的信息,请参阅 Kernel Crash Dump Guide(Red Hat Enterprise Linux 7);或参阅 kdump Crash Recovery Service(Red Hat Enterprise Linux 6)。
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.11. 手工配置 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.12. 使用 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 就可能解决这个问题。
Red Hat Enterprise Virtualization 3.3 包括了一个 "soft-fencing over SSH" 功能。在 Red Hat Enterprise Virtualization 3.3 以前,无响应的主机只能被外部的隔离设备所隔离。在 Red Hat Enterprise Virtualization 3.3 以及更新的版本中,隔离功能中增加了一个名为 "SSH Soft Fencing" 的功能。这个功能就是 Manager 会试图通过 SSH 在没有响应的主机上重新启动 VDSM。如果 Manager 无法通过 SSH 重启 VDSM,外部的隔离代理(external fencing agent)将会对系统进行隔离操作。
要使用 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.13. 使用电源管理功能

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

    重要

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

所选择的操作被执行。

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

介绍

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

警告

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

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

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

您手动重启了您的主机,高可用性的虚拟机被迁移到其它主机上。您在管理门户中确认了手动隔离的操作,主机可以被重新使用。

6.7. 主机和权限

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

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

6.7.2. 主机管理员角色介绍

主机权限角色

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

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

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

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

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

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

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

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

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

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

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

第 7 章 存储

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

重要

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

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 Enterprise Virtualization Manager 的安装过程中已经创建了一个 ISO 域,则不再需要创建它。
  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 Enterprise Virtualization 环境中的数据中心。这个存储域为虚拟机镜像和 ISO 引导介质提供了存储空间。这个过程需要您已经导出了存储共享。您在创建导出域前必须先创建数据域。使用相同的步骤来创建导出域,在域功能/存储类型列表中选择导出/NFS
  1. 在 Red Hat Enterprise 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. 准备本地存储

一个本地存储域可以在一个主机上进行设置。当您设置虚拟机来使用本地存储后,这个主机会被自动添加到一个其它主机无法添加到的新数据中心和集群中。因为多主机集群需要所有主机都可以访问相同的存储域,而本地存储无法做到这一点,所以使用本地存储的集群只可能包括一个主机,而在这个主机上运行的虚拟机将无法进行迁移、隔离(fencing)和调度。

重要

在 Red Hat Enterprise Virtualization Hypervisor 上,只有 /data/images 路径被用作为本地存储。这个目录以及它的正确权限已经在安装 Hypervisor 时被设置。您只需要在为Red Hat Enterprise Linux 虚拟主机准备本地存储时执行以下步骤。

过程 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 Enterprise Virtualization 环境中去了。

7.3.2. 添加本地存储

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

过程 7.3. 添加本地存储

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

    图 7.2. 配置本地存储窗口

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

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

Red Hat Enterprise Virtualization 3.1 以及更高的版本支持使用 POSIX(native)文件系统作为存储。在挂载文件系统时,您所使用的挂载选项与在命令行中手动挂载它们时所使用的挂载选项相同。通过这个功能,用户可以访问那些使用 NFS、iSCSI 和 FCP 无法访问的存储。
如果需要在 Red Hat Enterprise Virtualization 中使用 POSIX 兼容的文件系统作为存储域,那些文件系统必须 支持 sparse 文件和 direct I/O。例如,Common Internet File System(CIFS)不支持 direct I/O,因此它和 Red Hat Enterprise 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 Virtualization 环境中作为一个存储域,用户必须执行以下步骤从 Red Hat Enterprise Linux 6 服务器上导出 iSCSI 存储设备。

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

注意

您只能为存储类型是 iSCSI 的数据中心添加 iSCSI 存储域。

过程 7.6. 添加 iSCSI 存储

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

    图 7.4. 新 iSCSI 域

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

    重要

    所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Enterprise Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。
  7. Red Hat Enterprise 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
    5. Discover 按钮。
    6. 在查找结果中选择要使用的目标后点 Login
      或者点 Login All 来登录到所有查找到的目标。
  8. 点击所需目标旁边的 +按钮。此时会展开该条目,并显示所有附加到该目标但尚未使用的 LUNs
  9. 选择要被用来生成存储域的 LUN
  10. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  11. 确定创建存储域并关闭窗口。

7.5.3. 配置 iSCSI 多路径

在主机和 iSCSI 存储间配置多路径。这会防止在一个网络路径出现问题时导致主机无法运行。通过使用多路径,还可以实现网络流量的负载平衡。您可以指定使用哪个网络用于存储网络数据,而不是让主机通过一个默认的网络对网络数据进行路由。
  1. 数据中心标签页并选择一个数据中心。
  2. 在详情框中点 iSCSI 多路径标签页。
  3. 添加
  4. 添加 iSCSI Bond 窗口中的名称描述项中输入绑定的相应值。
  5. 逻辑网络列表中选择使用这个绑定的网络。
  6. 存储目标列表中选择访问存储域所要通过的网络。
  7. 确定
数据中心中的所有主机会通过所选的逻辑网络连接到所选的 iSCSI 目标。

7.5.4. 添加 FCP 存储

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

过程 7.7. 添加 FCP 存储

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

    图 7.5. 添加 FCP 存储

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

    重要

    所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Enterprise 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 的新存储域并把它加入到存在的数据中心中;或创建新的 LUN 并把它加入到一个已存在的存储域中。对于前一种方法,请参阅 第 7.5.2 节 “添加 iSCSI 存储”。以下介绍了如何通过把新的 LUN 添加到存在的存储域来扩展 SAN(storage area network,存储区域网络)存储的方法。

注意

另外,也可以通过调整底层 LUN 的大小来扩展存储域。如需了解更多相关信息,请参阅红帽客户门户网站中的相关文档:https://access.redhat.com/solutions/376873

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

  1. 在 SAN 中创建一个新 LUN。对于 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
  2. 存储资源标签页,选一个 iSCSI 或 FCP 域。点编辑按钮。
  3. 目标 > LUN,点发现目标按钮。
  4. 输入存储服务器的连接信息后点发现按钮来进行初始连接。
  5. LUN > 目标,选择新建的 LUN。
  6. 确定把 LUN 添加到所选的存储域中。
存储域的空间会被增加,增加的大小与所加入的 LUN 大小相同。

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

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

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

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

7.6. 导入存在的存储域

7.6.1. 导入存在的存储域

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

重要

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

7.6.2. 导入存储域

介绍

导入一个以前被附加到某个数据中心中的存储域。这个过程假设这个存储域现在没有被附加到任何的数据中心中。另外,为了把一个已经存在的数据存储域导入并附加到一个数据中心,这个数据中心必须已经被初始化,它的兼容版本是 3.5 或更高版本。

过程 7.9. 导入存储域

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

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

  3. 数据中心列表中选择存储域要被附加到的数据中心。
  4. 另外,还可以选择在数据中心中激活域选项。如果选择了这个选项,存储域被附加到所选的数据中心后会被自动激活。
  5. 域功能 / 存储类型列表中选择域的功能和类型。
  6. 使用主机列表中选择 SPM 主机。

    重要

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

    注意

    用来设置存储域详情的项会根据您在域功能 / 存储类型列表中所做的不同选择而有所不同。这些选项和添加一个新存储域时所使用的选项相同。如需了解更多相关信息,请参阅 第 7.1 节 “存储域介绍”
  8. 确定
结果

存储域被导入,并在存储标签页中显示。

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

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

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

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

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

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

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

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

7.7. 存储任务

7.7.1. 生成 ISO 存储域数据

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

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

  1. 把所需的 ISO 镜像复制到运行 Red Hat Enterprise Virtualization Manager 的系统的临时目录中。
  2. 使用 root 用户帐号登录到运行 Red Hat Enterprise 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.13. 把存储域设为维护模式

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

注意

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

7.7.3. 编辑存储域

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

    注意

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

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

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

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

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

7.7.4. 激活存储域

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

    重要

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

7.7.5. 删除一个存储域

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

过程 7.16. 删除一个存储域

  1. 使用存储资源标签页、树形模式或搜索功能来找到并选择存储域。
  2. 把存储域设置为维护模式。
  3. 把这个存储域从数据中心中分离。
  4. 删除打开删除存储确认窗口。
  5. 从类表中选择一个主机。
  6. 确定删除存储域并关闭窗口。
存储域被永久从虚拟环境中删除。

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

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

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

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

7.7.7. 分离导出域

从数据中心中分离导出域来为另一个数据中心导入模板。

过程 7.18. 从数据中心中分离一个导出域

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

7.7.8. 为数据中心附加一个导出域

为数据中心附加一个导出域。

过程 7.19. 为数据中心附加一个导出域

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

7.7.9. 磁盘配置集

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

7.7.9.1. 创建一个磁盘配置集

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

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

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

7.7.9.2. 删除一个磁盘配置集

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

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

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

7.8. 存储权限

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

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

注意

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

7.8.2. 存储管理员角色介绍

存储域权限角色

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

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

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

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

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

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

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

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

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

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

  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 Enterprise Virtualization 环境中同时使用 GlusterFS 卷和数据块。
以下步骤假设您已经有了一个启用了 Gluster、并有正确的兼容版本的集群;并且您的 Red Hat Storage 节点也已经被设置。如需了解更多与设置 Red Hat Gluster Storage 节点相关的信息,请参阅 Red Hat Gluster Storage Installation Guide。如需了解兼容性的信息,请参阅 Configuring Red Hat Enterprise Virtualization with Red Hat Storage Guide

过程 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 Enterprise Virtualization 环境中添加了一个 Red Hat Gluster Storage 节点。您可以在您的环境中使用它的卷和数据块资源。

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

从 Red Hat Enterprise 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 Enterprise Virtualization Manager 添加一个 Red Hat Gluster 存储卷来直接作为存储域使用。这与添加一个 Red Hat Storage Gluster 节点不同,当添加 Red Hat Storage Gluster 节点时,可以在 Red Hat Enterprise Virtualization Manager 内控制卷和数据块(brick),而添加 Red Hat Gluster 存储卷来直接作为存储域使用则不需要一个启用了 Gluster 的集群。
为了可以加载卷,主机需要 glusterfsglusterfs-fuse 软件包。
如需了解更多与设置 Red Hat Gluster Storage 节点相关的信息,请参阅 Red Hat Gluster Storage Installation Guide。如需了解准备一个主机来使用 Red Hat Storage Gluster 卷的信息,请参阅 Configuring Red Hat Enterprise Virtualization with Red Hat Gluster Storage Guide. For more information on the compatibility matrix, see the Configuring Red Hat Enterprise Virtualization with Red Hat Storage Guide

过程 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. 确定挂载卷来作为存储域并关闭窗口。

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 为卷设置了一组虚拟化相关的特殊参数。这些参数被用来优化存储虚拟机镜像的卷。

重要

Red Hat Gluster Storage 当前支持 Red Hat Enterprise Virtualization 3.3 及以上版本。附加到数据中心中的所有 Gluster 集群和主机必须和 3.3 以上版本的系统兼容。
要为存储虚拟机镜像进行卷优化,可以在创建卷时选择为 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. 每个用户的最大虚拟机数目项中输入一个数值。它是一个用户一次可以从虚拟机池中拿到的最多虚拟机的数量。这个项的最小值是 1。
  5. 另外,还可以点显示高级选项来进行以下配置:
    1. 选择控制台标签页。在这个页的下部,选中覆盖 SPICE 代理选项激活覆盖 SPICE 代理地址项。您可以在这个项中输入一个 SPICE 代理的地址来覆盖 SPICE 代理的全局设置值。
    2. 标签页并选择一个池类型
      • 手动 - 系统管理员需要手动把虚拟机归还到虚拟机池中。当虚拟机被归还到虚拟机池后,它们会被恢复到原始的基本镜像。
      • 自动 - 当虚拟机被关机时,它会被自动恢复到原始的基本镜像并被归还到虚拟池。
  6. 确定
您创建并配置了一个虚拟机池,它包括了特定数量的配置相同的虚拟机。您可以在虚拟机标签页或标签页中查看这些虚拟机。虚拟机池中的虚拟机的图标和独立虚拟机的图标有所不同。

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

9.2.2.1. 新建池常规设置介绍

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

表 9.1. 常规设置

描述
虚拟机的数量
指定在虚拟机池中可以创建的虚拟机数量。在默认情况下,一个虚拟机池中所能创建的最大虚拟机数量是 1000。这个值可以通过 engine-config 命令的 MaxVmsInPool 参数进行设置。
每个用户的最大虚拟机的数目
指定一个用户可以一次从虚拟机池中获得虚拟机的最大数量。它的值必须在 132,767 之间。

9.2.2.2. 新建池的池设置介绍

下表描述了新建池窗口中的标签页中的设置。

表 9.2. 控制台设置

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

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

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

表 9.3. 控制台设置

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

9.2.3. 编辑一个虚拟机池

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

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

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

9.2.4. 编辑池窗口中的设置和控制介绍

9.2.4.1. 编辑池常规设置介绍

下表介绍了编辑池窗口中的常规标签页中可进行编辑的项。

表 9.4. 常规设置

描述
模板
虚拟机池所基于的模板。
描述
虚拟机池的描述。
注释
与虚拟机池相关的备注。
预启动的虚拟机
允许您指定预启动的虚拟机(在虚拟机被用户获取前就已经启动,并保持启动状态的虚拟机)的数量。这个项的值必须在 0 和虚拟机池中的总虚拟机数量之间。
增加池里的虚拟机数量
指定在虚拟机池中可以被增加的虚拟机的数量。
每个用户的最大虚拟机数量
指定一个用户可以一次从虚拟机池中获得虚拟机的最大数量。它的值必须在 132,767 之间。

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

在默认情况下,虚拟机池中的虚拟机都处于关机状态。当用户向虚拟机池请求一个虚拟机的时候,一个虚拟机会被启动并分配给用户。但是,虚拟机池中的虚拟机也可以被预先启动,这样当用户需要虚拟机的时候,虚拟机池中的虚拟机就会马上分配给用户,这就减少了用户等待分配虚拟机的时间。当一个预先启动的虚拟机被关机后,它会被返回到虚拟机池中,并被恢复到原始的状态。一个池中的预先启动的虚拟机数量不能超过这个池中的虚拟机的数量。
介绍

预先启动的虚拟机适用于用户需要马上使用虚拟机,而系统中并没有专门分配给这个用户的虚拟机的情况。只有类型为“自动”的池才能提供预先启动的虚拟机。

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

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

您在虚拟机池中设置了预先启动的虚拟机的数量。这些预先启动的虚拟机可以被马上使用。

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

介绍

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

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

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

您为一个虚拟机池添加了更多的虚拟机。

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

总结

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

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

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

注意

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

您把虚拟机从虚拟机池中分离。

9.2.8. 删除一个虚拟机池

介绍

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

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

  1. 使用资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
  2. 删除打开删除虚拟机池确认窗口。
  3. 确定删除虚拟机池。
结果

您从数据中心中删除了一个虚拟机池。

9.3. 池和权限

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

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

注意

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

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

池权限角色

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

表 9.5. Red Hat Enterprise 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. 信任的计算池

9.4.1. 创建一个信任的集群

注意

如果没有正确配置 OpenAttestation 服务器,以下操作将会失败。
以下介绍了如果设置一个信任的计算池。信任的计算池只允许在信任的主机上部署虚拟机,这样管理员可以确保在主机上运行的软件是安全的,从而为整个企业环境提供了一个安全的基础。

过程 9.9. 创建一个信任的集群

  1. 在导航框中,选择集群标签页。
  2. 新建
  3. 常规标签页中设置集群名。
  4. 常规标签页中选中启用 Virt 服务项。
  5. 调度策略项中选启用信任的服务选项。
  6. 确定

9.4.2. 添加一个信任的主机

介绍

以下介绍了如何为您的 Red Hat Enterprise Virtualization 环境添加一个信任的主机。

过程 9.10. 

  1. 选择主机标签页。
  2. 新建
  3. 常规标签页中设置主机名。
  4. 常规标签页中设置主机地址。

    注意

    这个主机必须被 attestation 服务器所信任。
  5. 常规标签页中使用主机集群下拉菜单选项一个信任的集群。
  6. 确定
结果

您为您的 Red Hat Enterprise Virtualization 环境添加了一个信任的主机。

第 10 章 虚拟机磁盘

10.1. 虚拟机存储介绍

Red Hat Enterprise 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 Enterprise Virtualization 提供 预分配(preallocated)(thick provisioned)和稀疏(sparse)(thin provisioned)存储选项。
  • 预分配(Preallocated)
    一个预分配虚拟磁盘会预先获得所有需要的磁盘空间。例如,为虚拟机创建的一个 20 GB 的逻辑卷需要在创建时获得全部 20 GB 的存储空间。
  • 稀疏
    使用稀疏分配的系统允许管理员定义需要分配的总存储空间,但存储空间只在实际需要使用时才进行分配。
    例如,一个 20 GB 的精简分配逻辑盘在初始创建时只占用 0 GB 的存储空间。当安装操作系统时,它会占用安装的所有文件所需的存储空间,并在增加数据是占用更多的空间(最多可占用 20 GB 存储空间)。
每个虚拟机和模板的磁盘大小在磁盘子标签页中列出。一个磁盘的虚拟大小是虚拟机可以使用的磁盘空间总量,它是在创建或编辑一个磁盘时在大小 (GB) 项中输入的值。一个磁盘的实际大小是当前已分配给虚拟机的磁盘空间。使用预分配格式的磁盘的这两个项的值是相同的;而稀疏格式的磁盘的这两个项的值可能会不相同,这取决于已经被分配了多少磁盘空间。

注意

当创建 Cinder 磁盘时,磁盘的格式和类型是由 Cinder 内部控制的,而不是由 Red Hat Enterprise 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,因此,原来的数据有可能被恢复。
如果为虚拟磁盘设置 wipe_after_delete,它上面的数据块中的数据会在磁盘被删除后进行清理,所有数据都会被清为 0。这个方法进一步增加了数据的安全性,如果您的虚拟磁盘中包括敏感信息,可以使用它。但是,它会消耗更多的系统资源,并需要更长的时间来进行磁盘删除操作。
使用 Red Hat Enterprise Virtualization Manager 的引擎配置工具可以把 wipe_after_delete 的默认值设为 true。在改变设置后需要重启引擎来使它有效。

过程 10.1. 使用引擎配置工具把 SANWipeAfterDelete 的默认值设为 True

  1. 在引擎配置工具中使用 --set 操作:
    # engine-config --set SANWipeDelete=true
    
  2. 重启引擎来使新设置有效:
    # service ovirt-engine restart
    

10.4. Red Hat Enterprise Virtualization 中的可共享磁盘

一些应用程序需要服务器间的存储可以被共享。Red Hat Enterprise Virtualization 允许您把虚拟机磁盘设为可共享,并把它们附加到虚拟机上。这样,一个虚拟磁盘就可以被多个使用集群的客户机所使用。
共享磁盘并不适用于所有的情况。它们可以在使用集群的数据库服务器,或其它高可用性服务环境中使用。如果把一个可共享的磁盘附加到多个没有使用集群的客户机上时,就可能会造成数据被破坏的问题。
您不能为可共享的磁盘进行快照。那些已经做过快照的虚拟磁盘也不能设置为可共享的磁盘。
您可以在创建磁盘的时候把它设为可共享磁盘,也可以在创建后再配置它。

10.5. Red Hat Enterprise Virtualization 中的只读磁盘

一些应用程序需要管理员以只读的方式共享一些数据。当使用虚拟机的磁盘标签页为虚拟机创建或编辑磁盘时,选择只读选项。这样,这个磁盘就可以被多个客户端系统读取,但只有管理员对它有写权限。
在虚拟机运行时,您不能改变磁盘的只读状态。

重要

挂载一个有记录功能的文件系统需要读写访问权限,因此不能对包括这些文件系统(如 EXT3EXT4XFS)的磁盘使用只读选项。

10.6. 虚拟磁盘任务

10.6.1. 创建浮动虚拟磁盘

在创建虚拟磁盘时,您可以创建一个不属于任何虚拟机的虚拟磁盘。在创建后,您可以把它附加到一个虚拟机上;或者如果这个虚拟磁盘是可共享的,您还可以把它附加到多个虚拟机上。
镜像磁盘的创建完全由 Manager 管理,而直接 LUN 磁盘则需要已存在的、由外部准备好的目标设备。Cinder 磁盘需要可以访问通过外部供应商界面添加到 Red Hat Enterprise Virtualization 环境中的 OpenStack Volume 实例。如需了解更多相关信息,请参阅 第 11.2.5 节 “为存储管理添加一个 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 格式的虚拟磁盘。
Disk Profile
分配给虚拟磁盘的磁盘配置集。磁盘配置集定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。它是基于数据中心中的存储配置集而创建的。
删除后清理
在虚拟磁盘被删除后,删除上面敏感的数据。这可以增强数据的安全性。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
直接 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 中的相应位数。如需了解更多信息,请参阅 第 16.3.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 上的用户的密码。这个项在选择了用户验证项后才有效。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
发现目标项中输入相应的信息并点发现来发现目标服务器。您然后可以点登录全部按钮来列出目标服务器上的所有可用的 LUN,选择需要被添加的 LUN。
直接使用 LUN 作为虚拟机的硬盘镜像将会省掉您的虚拟机和它们的数据间的一个抽象层。
在直接使用 LUN 作为一个虚拟机硬盘镜像时需要考虑以下因素:
  • 实时迁移直接 LUN 硬盘镜像的功能不被支持。
  • 直接 LUN 磁盘不包括在虚拟机的导出中。
  • 直接 LUN 磁盘不包括在虚拟机的快照中。
如果在有权限创建创建磁盘的相关数据中心中没有可用的 OpenStack 卷存储域,则 Cinder 的设置表格会被禁用。Cinder 磁盘需要可以访问一个通过外部供应商窗口创建添加到 Red Hat Enterprise Virtualization 环境中的 OpenStack 卷实例。如需了解更多相关信息,请参阅第 11.2.5 节 “为存储管理添加一个 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)。当进行存储实时迁移时,被迁移磁盘的镜像链快照会在源存储域中创建,整个镜像链会在目标存储域中被复制。因此,您需要保证在源存储域和目标存储域中都有足够的空间来保存这些快照和磁盘镜像链。在每次进行实时存储迁移操作时,一个新快照都会被创建,即使这个迁移操作失败。

重要

在数据中心的兼容版本低于 3.5、主机运行早于 Red Hat Enterprise Linux 7.1 和 Red Hat Enterprise Virtualization Hypervisor 7.1 的操作系统上时不支持实时快照迁移。如需删除其它数据中心或主机配置中的实时存储迁移快照,则需要在虚拟机关闭的情况下手工删除它们。如需了解更多与快照删除相关的信息,请参阅技术参考指南文档中的 Snapshot Deletion 一节。
在进行实时存储迁移时请考虑以下因素:
  • 实时存储迁移会创建一个快照。
  • 您可以同时迁移多个磁盘。
  • 同一个虚拟机的多个磁盘可以存在于不同的存储域中,但每个磁盘的镜像链必须位于同一个存储域中。
  • 在兼容版本为 3.6 的数据中心中,可以在同一个数据中心中的任何两个存储域间移动附加到正在运行的虚拟机上的磁盘。在兼容版本为 3.1、3.2、3.3、3.4 或 3.5 的数据中心中,只能在同一个数据中心中的两个基于文件的(NFS、POSIX 和 GlusterFS)存储域间,或两个基于块的(FCP 和 iSCSI)存储域间,移动附加到正在运行的虚拟机上的磁盘。兼容版本为 3.0 的数据中心不支持实时存储迁移。
  • 您不能实时迁移直接 LUN 硬盘镜像,也不能实时迁移标记为可共享的磁盘。

10.6.4. 移动一个虚拟磁盘

您可以把一个浮动虚磁盘或一个附加在虚拟机上的磁盘从一个存储域移到另一个存储域中。您可以移动附加在一个正在运行的虚拟机上的虚拟磁盘,这被称为实时存储迁移(live storage migration);或在移动虚拟磁盘前关闭它所在的虚拟机。如需了解更多与实时迁移相关的信息,请参阅 第 10.6.3 节 “实时存储迁移介绍”
在移动一个磁盘时请考虑以下因素:
  • 您可以同时移动多个磁盘。
  • 如果虚拟机已被关闭,则可以在同一个数据中心中的任何两个存储域间移动磁盘。在兼容版本为 3.6 的数据中心中,还可以在同一个数据中心中的任何两个存储域间移动附加到正在运行的虚拟机上的磁盘。在兼容版本为 3.1、3.2、3.3、3.4 或 3.5 的数据中心中,只能在同一个数据中心中的两个基于文件的(NFS、POSIX 和 GlusterFS)存储域间,或两个基于块的(FCP 和 iSCSI)存储域间,移动附加到正在运行的虚拟机上的磁盘。兼容版本为 3.0 的数据中心不支持实时存储迁移。
  • 如果虚拟磁盘被附加到一个虚拟机,而这个虚拟机是通过一个模板所创建,并使用了 “thin provisioning storage allocation” 选项时,这个虚拟机所基于的模板必须被复制到和虚拟磁盘所在的同一个存储域中。

过程 10.3. 移动一个虚拟磁盘

  1. 选择磁盘标签页。
  2. 选择一个或多个需要移动的虚拟磁盘。
  3. 移动打开移动磁盘页。
  4. 目标下拉菜单中选择这个虚拟磁盘需要被移到的存储域。
  5. 磁盘配置集列表中为磁盘选择一个配置集。
  6. 确定
虚拟磁盘被移到目标存储域中,在移动的过程中它的状态为 Locked。如果您所移动的磁盘与一个正在运行的虚拟机相连接,这个磁盘的快照会被自动创建,并会在所连接的虚拟机的快照标签页中显示。如需了解更多与删除快照相关的信息,请参阅 Deleting a Snaphot

10.6.5. 复制一个虚拟磁盘

介绍

您可以把一个虚拟磁盘从一个存储域复制到另一个存储域。被复制的磁盘可以被添加到虚拟机上。

过程 10.4. 复制一个虚拟磁盘

  1. 选择磁盘标签项。
  2. 选择需要复制的磁盘。
  3. 复制打开复制磁盘窗口。
  4. 另外,还可以在别名项中输入一个别名。
  5. 使用目标下拉菜单选择这个虚拟磁盘需要被复制到的存储域。
  6. 确定
结果

虚拟磁盘被复制到目标存储域中,在复制过程中它的状态为 Locked

10.6.6. 从 OpenStack 镜像服务中导入一个虚拟机磁盘镜像

介绍

当一个 OpenStack 镜像服务作为一个“外部供应商”被添加到 Red Hat Enterprise Virtualization Manager 中后,这个 OpenStack 镜像服务所管理的虚拟镜像就可以被导入到 Manager 中。

  1. 存储标签页,选择 OpenStack 镜像服务域。
  2. 镜像标签页中选择需要被导入的镜像。
  3. 导入打开导入镜像窗口。
  4. 使用数据中心下拉菜单选择虚拟磁盘镜像要导入的数据中心。
  5. 使用域名下拉菜单选择虚拟磁盘镜像要导入的存储域。
  6. 另外,还可以使用配额菜单来为虚拟磁盘镜像设置一个配额。
  7. 确定导入虚拟磁盘镜像。
结果

镜像作为浮动虚拟磁盘被导入,并在磁盘标签页中被显示。它可以被附加到虚拟机上。

10.6.7. 把虚拟机磁盘输出到一个 OpenStack 镜像服务中

介绍

如果一个 OpenStack 镜像服务已经被作为外部“供应商”添加到 Manager 中,虚拟机的磁盘可以被导出到这个 OpenStack 镜像服务中。

  1. 选择磁盘标签页。
  2. 选择需要导出的磁盘。
  3. 导出打开导出镜像窗口。
  4. 使用域名菜单选择磁盘要被输出到的 OpenStack 镜像服务。
  5. 如果需要设置虚拟磁盘配额,使用配额菜单来为磁盘镜像设置一个配额。
  6. 确定
结果

虚拟机磁盘被输出到指定的 OpenStack 镜像服务中,并作为虚拟机磁盘镜像被它管理。

重要

虚拟机磁盘只有在没有多个卷、不是自动精简配置的(thinly provisioned)并且没有任何快照的情况下才能被导出。

10.7. 虚拟磁盘和权限

10.7.1. 管理一个虚拟磁盘的系统权限

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
Red Hat Enterprise Virtualization Manager 提供了两个默认的虚拟磁盘用户角色,而没有提供默认的虚拟磁盘管理员角色。其中的一个用户角色 DiskCreator 可以通过用户门户对虚拟磁盘进行管理。这个角色可以应用到特定的虚拟机、一个数据中心、一个特定的存储域或整个虚拟环境。这可以使不同的用户来管理不同的虚拟资源成为可能。
虚拟磁盘创建者有权利进行以下操作:
  • 创建、编辑和删除和一个虚拟机或其它资源相关联的虚拟磁盘。
  • 为虚拟磁盘编辑用户权限。

注意

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

10.7.2. 虚拟磁盘用户角色介绍

虚拟磁盘用户权限角色

下表介绍了用户门户中的与使用和管理虚拟机磁盘相关的用户角色和权利。

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

角色权利注记
DiskOperator虚拟磁盘用户。可以使用、创建和编辑虚拟磁盘,并可以继承这个虚拟磁盘所附加在的虚拟机的使用权限。
DiskCreator可以在被分配的集群或数据中心中创建、编辑、管理和删除虚拟机磁盘。这个角色应用于整个环境而不是一个特定的磁盘,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。

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

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

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

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

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

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

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

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

第 11 章 外部供应商

11.1. Red Hat Enterprise Virtualization 中的外部供应商介绍

除了 Red Hat Enterprise Virtualization Manager 本身管理的资源外,Red Hat Enterprise Virtualization 还可以使用外部系统所管理的资源。提供这些外部资源的供应商(称为外部供应商)可以提供如虚拟主机、虚拟机镜像和网络等资源。
Red Hat Enterprise Virtualization 当前支持以下外部供应商:
Foreman/Satellite(提供主机)
Foreman 和 Satellite 是用来管理物理和虚拟主机的一个工具。在 Red Hat Enterprise Virtualization 环境中,Foreman 或 Satellite 所管理的主机可以作为虚拟主机添加到 Red Hat Enterprise Virtualization Manager 中,并被它使用。在 Foreman 或 Satellite 服务器被添加到 Manager 后,您可以把 Foreman 所管理的主机添加到您的虚拟环境中。
OpenStack 镜像服务(OpenStack Image Service (Glance))
OpenStack 镜像服务提供了一组虚拟机镜像资源。在 Red Hat Enterprise Virtualization 环境中,这些镜像可以被导入到 Red Hat Enterprise Virtualization Manager 中,作为浮动磁盘或附加到特定虚拟机上的磁盘使用,并被转换为模板。在您把一个 OpenStack 镜像服务添加到 Manager 后,它会以一个没有附加到任何数据中心的存储域形式出现。Red Hat Enterprise Virtualization 环境中的虚拟机磁盘也可以作为虚拟机磁盘镜像被导出到 OpenStack 镜像服务中。
提供网络的 OpenStack Networking(Neutron)
OpenStack Networking提供了软件定义的网络。在 Red Hat Enterprise Virtualization 环境中,OpenStack Networking 所提供的网络可以被导入到 Red Hat Enterprise Virtualization Manager 中,用来处理网络通信并可以创建负载的网络拓扑结构。在 OpenStack Networking 被添加到 Manager 后,您可以把 OpenStack Networking 所提供的网络手动导入到您的虚拟环境中。
使用 OpenStack Volume (Cinder) 作为存储管理
OpenStack Volume 提高了对虚拟硬盘的持久行块存储管理的能力。OpenStack Cinder 卷由 Ceph Storage 提高。在 Red Hat Enterprise Virtualization 中,可以在 OpenStack Volume 存储上创建磁盘,并把它们位为浮动磁盘或附加到虚拟机。在把 OpenStack Volume 添加到 Manager 后,就可以在 OpenStack Volume 所提供的存储上创建磁盘。
使用 VMware 提供虚拟机
在 VMware 中创建的虚拟机可以通过 V2V(virt-v2v)进行转化,然后输入到 Red Hat Enterprise Virtualization 环境中。当把一个 VMware 供应商加入到 Manager 后,就可以导入它所提供的虚拟机。作为导入操作的一部分,V2V 转化操作会在一个代理主机上进行。

注意

在把外部供应商添加到 Red Hat Enterprise Virtualization 环境中以前,您需要先设置所有需要添加的外部供应商。请参阅 Deploying OpenStack: Enterprise Environments(Red Hat Enterprise Linux OpenStack Platform Installer)来获得更多关于设置外部供应商的信息。

11.2. 添加外部供应商

11.2.1. 添加一个外部供应商

为了在您的 Red Hat Enterprise Virtualization 环境中使用外部供应商所提供的资源,您需要先把外部供应商添加到您的虚拟化环境中。

11.2.2. 添加一个 Foreman 或 Satellite 实例(提供主机)

为 Red Hat Enterprise Virtualization Manager 添加一个 Foreman 或 Satellite 实例。

过程 11.1. 添加一个 Foreman 或 Satellite 实例(提供主机)

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.1. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 Foreman/Satellite
  5. 供应商 URL 项中输入 Foreman 或 Satellite 实例所在机器的 URL 或全称域名(FQDN)。您不需要指定端口号。
  6. 为 Foreman 或 Satellite 实例输入用户名密码。您在这里必须使用和登录到 Foreman provisioning portal 相同的用户名和密码。
  7. 测试用户身份验证信息:
    1. 测试来测试您所使用的验证信息是否有效。
    2. 如果 Foreman 或 Satellite 实例使用 SSL导入供应商证书窗口会出现。点确定导入 Foreman 或 Satellite 实例提供的证书。

      重要

      在导入 Foreman 或 Satellite 实例所提供的证书后,Manager 才可以和它进行通信。
  8. 确定
您为 Red Hat Enterprise Virtualization Manager 添加了 Foreman 或 Satellite 实例,并可以使用它们所提供的主机。

11.2.3. 为镜像管理添加一个 OpenStack Image(Glance)实例

为 Red Hat Enterprise 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 Enterprise Virtualization Manager 添加了 OpenStack Image 实例,并可以使用它所提供的镜像。

11.2.4. 添加 OpenStack 网络服务(Neutron)来为系统提供网络

为 Red Hat Enterprise Virtualization Manager 添加一个 OpenStack 网络服务(Neutron)。

过程 11.3. 添加 OpenStack 网络服务(Neutron)来为系统提供网络

  1. 在树型框中选择外部提供商
  2. 添加打开添加服务商窗口。
    The Add Provider Window

    图 11.3. 添加服务商窗口

  3. 输入名称描述
  4. 类型列表中选 OpenStack Networking
  5. 网络插件项中选 Open vSwitch
  6. 供应商 URL 项中输入 OpenStack 网络服务所在机器的 URL 或全称域名(FQDN),以及它的端口号。
  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 Enterprise Virtualization Manager 添加了 OpenStack 网络服务,并可以使用 OpenStack 网络服务所提供的网络。

11.2.5. 为存储管理添加一个 OpenStack Volume(Cinder)实例

为 Red Hat Enterprise 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
    7. 在 Cinder 服务器上,把前一步中的 UUID 和 cinder 用户添加到 /etc/cinder/cinder.conf
      rbd_secret_uuid = UUID
      rbd_user = cinder
您已把 OpenStack Volume 实例添加到 Red Hat Enterprise Virtualization Manager,并可以使用它所提供的存储卷。如需了解更多与创建 OpenStack Volume(Cinder)磁盘相关的信息,请参阅 第 10.6.1 节 “创建浮动虚拟磁盘”

11.2.6. 添加 VMware 实例作为一个虚拟机供应商

添加一个 VMware vCenter 实例来从 VMware 为 Red Hat Enterprise Virtualization Manager 导入虚拟机。
Red Hat Enterprise Virtualization 会在导入虚拟机前,使用 V2V 命令把 VMware 虚拟机转换为正确的格式。您需要在兼容版本为 3.6 的数据中心中的最少一个 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 Enterprise Virtualization Manager 添加了 VMware vCenter 实例,并可以导入它所提供的虚拟机。如需了解更多相关信息,请参阅 Importing a Virtual Machine from a VMware Provider

11.2.7. 添加供应商的常规设置介绍

添加供应商窗口中的常规标签页中设置供应商的基本信息。

表 11.1. 添加供应商:常规设置

设置
解释
名称
在 Manager 中代表这个供应商的名称。
描述
供应商的描述信息。
类型
外部供应商的类型。选择不同的供应商类型会使下面的设置有所不同。
Foreman/Satellite
  • 供应商 URL:运行 Foreman 或 Satellite 实例的机器的 URL 或全称域名(FQDN)。您不需要在它的后面加端口号。
  • 要求验证:指定是否需要验证供应商。当选择 Foreman/Satellite 做为供应商类型时,必须要进行验证。
  • 用户名:连接到 Foreman 或 Satellite 的用户名。这个用户名必须和登录到 Foreman 或 Satellite 上的 provisioning portal 的用户名相同。在默认的情况下,这个用户名为 admin
  • 密码:以上用户验证所使用的密码。它必须和登录到 Foreman 或 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 服务在 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 主机。
  • 密码:以上用户在验证时所使用的密码。
测试
测试用户所提供的验证信息。这个按钮对所有类型的供应商都有效。

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.6. 编辑一个外部供应商

  1. 在树型框中选择外部提供商
  2. 选择要编辑的外部供应商。
  3. 编辑按钮打开编辑供应商窗口。
  4. 根据您的情况修改相应的值。
  5. 确定
结果

您修改了一个外部供应商的信息。

11.4. 删除外部供应商

11.4.1. 删除一个外部供应商

介绍

以下介绍了删除外部供应商的方法。

过程 11.7. 删除一个外部供应商

  1. 在树型框中选择外部提供商
  2. 选择要被删除的外部服务商。
  3. 删除
  4. 删除服务商窗口中点确定来确认删除这个供应商。
结果

您删除了一个外部供应商。

部分 II. 管理环境

第 12 章 备份和迁移

12.1. 备份和恢复 Red Hat Enterprise Virtualization Manager

12.1.1. 备份 Red Hat Enterprise Virtualization Manager

使用 engine-backup 工具程序来定期备份 Red Hat Enterprise Virtualization Manager。它会把引擎数据库和配置文件备份到一个单独的文件中,而不会中断 ovirt-engine 服务。

12.1.2. engine-backup 命令的语法

engine-backup 有两个基本模式:
# engine-backup --mode=backup
# engine-backup --mode=restore
这两个模式又都包括了一组参数来允许用户指定备份的范围。以下列出了这些参数的详细信息:

基本选项

--mode
指定这个命令是要进行备份操作还是进行恢复操作。它们的参数分别是 backuprestore。这个参数是必须的。
--file
在备份模式中,指定备份要被保持到的路径和文件名;在恢复模式中,指定备份文件的路径和文件名。这个参赛在备份和恢复模式中都是必须的。
--log
在备份或恢复操作中的日志文件的路径和文件名。这个参数在备份模式和恢复模式中都是必须的。
--scope
指定备份或恢复操着的范围。它有 5 个可能的选项:all - 备份或恢复所有数据库和配置数据;files - 只备份或恢复系统中的文件;db - 只备份或恢复 Manager 数据库;dwhdb - 只备份或恢复 Data Warehouse 数据库;reportsdb - 只备份或恢复 Reports 数据库。默认设置是 all

Manager 数据库选项

以下选项只在 engine-backup 命令的 restore 模式中使用。下面介绍的选项语法适用于恢复 Manager 数据库,但在恢复 Data Warehouse 数据库和 Reports 数据库时也可以使用相同的选项。请使用 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 Enterprise Virtualization Manager 相关的信息。

12.1.3. 使用 engine-backup 命令创建一个备份

使用 engine-backup 命令为 Red Hat Enterprise Virtualization Manager 创建一个备份的操作可以在 Manager 处于活跃状态时进行。把以下选项之一附加到 --scope 参数后面来指定要进行什么备份:
  • all:对 Manager 上的所有数据库和配置文件进行一个完整的备份
  • files:只备份系统中的文件
  • db:只备份 Manager 数据库
  • dwhdb:只备份 Data Warehouse 数据库
  • reportsdb:只备份 Reports 数据库

重要

如果需要使用备份来恢复一个全新的 Red Hat Enterprise Virtualization Manager 安装,只备份数据库是不够的,Manager 同时需要访问配置文件。如果您在备份命令中没有使用 --scope 的默认值(files),则还需要对文件系统进行一个备份。

过程 12.1. 使用 engine-backup 命令的示例

  1. 登录到运行 Red Hat Enterprise 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 --mode=backup --file=file_name --log=log_file_name
    # engine-backup --scope=db --mode=backup --file=file_name --log=log_file_name
    使用 dwhdbreportsdb 替换 db 选项来备份 Data Warehouse 数据库或 Reports 数据库。
    一个包括备份数据的 tar 文件会被创建。
包括备份的 tar 文件现在可以被用来进行环境恢复。

12.1.4. 使用 engine-backup 命令恢复一个备份

使用 engine-backup 命令恢复一个备份的过程也比较简单,和备份的过程相比较,它可能会需要几个额外的步骤。例如,engine-backup 命令可以把备份恢复为一个全新的 Red Hat Enterprise Virtualization 安装,或在一个已经存在的 Red Hat Enterprise Virtualization 系统上进行恢复;它在恢复的时候可以使用本地或远程的数据库。

重要

恢复备份的系统需要和所备份的系统有相同的主版本。例如,一个 Red Hat Enterprise Virtualization 版本 3.3 环境的备份只能恢复到一个 Red Hat Enterprise Virtualization version 3.3 环境中。一个备份中所包含的 Red Hat Enterprise Virtualization 的版本号包括在未打包文件的根目录下的 version 文件中。

12.1.5. 在一个全新的系统上恢复一个备份

engine-backup 命令可以被用来在一个全新安装的 Red Hat Enterprise Virtualization Manager 系统上恢复一个备份。这个全新的系统需要已经安装了基本的操作系统,以及 Red Hat Enterprise Virtualization Manager 所需的软件包,但还没有运行 engine-setup 命令。另外,需要进行恢复的系统所在的机器需要可以访问备份文件。

注意

engine-backup 命令并不会创建引擎所使用的数据库以及 postgresql 服务的初始配置。因此,您需要根据以下的介绍手工在需要恢复的系统上安装并配置数据库服务。

过程 12.2. 在一个全新的系统上恢复一个备份

  1. 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。如果准备在一个远程主机上恢复引擎数据库,则需要在那个远程服务器上登录并进行相关操作。同样,如果需要在远程服务器上恢复 Reports 和 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';
      如果还需要恢复 Reports 和 Data Warehouse,在相关的主机上创建 ovirt_engine_reportsovirt_engine_history 用户:
      postgres=# create role ovirt_engine_reports with login encrypted password 'password';
      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';
      如果还需要恢复 Reports 和 Data Warehouse,在相关的主机上创建数据库:
      postgres=# create database database_name owner ovirt_engine_reports template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
      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
      如果需要恢复作为完全备份一部分的 Reports 和 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-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-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 --file=file_name --log=log_file_name
      # engine-backup --mode=restore --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=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password
      以上例子恢复了 Reports 数据库的备份。
      # engine-backup --mode=restore --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 Enterprise Virtualization Manager 已被恢复到备份中的版本。如需修改新 Red Hat Enterprise Virtualization 系统的完全限定域名,请参阅 第 16.1.1 节 “oVirt 引擎重命名工具”

12.1.6. 在一个已经配置过的系统上恢复一个备份

介绍

engine-backup 命令可以在一个已经安装并配置了 Red Hat Enterprise Virtualization Manager 的机器上恢复一个备份。如果您在一个全新的安装后做了一个备份,然后在进行了一些配置后想恢复到备份的版本,您可以使用这个方法。

重要

当通过恢复备份来覆盖一个已经存在的安装时,您需要在使用 engine-backup 命令前运行 engine-cleanup 来清除已经存在的安装。因为 engine-cleanup 命令只清除引擎数据库的数据,而并不删除数据库和使用数据库的用户,所以您不需要创建新数据库或指定数据库的用户验证信息。

过程 12.3. 在一个已经配置过的系统上恢复一个备份

  1. 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
  2. 运行以下命令,根据提示删除配置文件并清理与 Red Hat Enterprise Virtualization Manager 相关的数据库:
    # engine-cleanup
  3. 恢复一个完全备份或数据库备份:
    • 恢复一个完全备份:
      # engine-backup --mode=restore --file=file_name --log=log_file_name
    • 恢复数据库备份会首先恢复配置文件备份,然后再恢复数据库备份:
      # engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
      # engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name
      以上例子恢复了一个 Manager 数据库的备份。如果需要,也可以恢复 Reports 数据库和 Data Warehouse 数据库:
      # engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name
      # 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 Enterprise Virtualization Manager 的引擎数据库和配置文件被恢复到备份的版本。

12.1.7. 使用不同的用户验证信息恢复一个备份

介绍

engine-backup 命令可以在一个己经安装并配置了 Red Hat Enterprise Virtualization Manager 的机器上恢复一个备份。在恢复备份时,您可以使用与备份中所包括的数据库用户验证信息不同的用户验证信息。如果您对一个系统进行了备份,并想把它恢复到一个不同系统中时,可以使用这个方法。

重要

当通过恢复备份来覆盖一个已经存在的安装时,您需要在使用 engine-backup 命令前运行 engine-cleanup 清除已经存在的安装。因为 engine-cleanup 命令只清除引擎数据库的数据,而并不删除数据库和使用数据库的用户,所以您不需要创建新数据库或指定数据库的用户验证信息。但是,如果您不知道引擎数据库所有者的验证信息,您就需要在恢复备份前改变它。

过程 12.4. 使用不同的用户验证信息恢复一个备份

  1. 登录到 Red Hat Enterprise 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_reportsovirt_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
      如果需要恢复作为完全备份一部分的 Reports 和 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-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-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 --file=file_name --log=log_file_name
      # engine-backup --mode=restore --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=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password
      以上例子恢复了 Reports 数据库的备份。
      # engine-backup --mode=restore --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
结果

使用在命令中所指定的用户验证信息把 Red Hat Enterprise Virtualization Manager 的引擎数据库和配置文件恢复到备份的版本,Manager 被配置为使用新的数据库。

12.1.8. 把引擎数据库迁移到一个远程服务器数据库中

当 Red Hat Enterprise 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 Enterprise 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 Enterprise 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 Enterprise 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 Enterprise Virtualization 的多个组件(如实时快照和 REST API)来创建并使用临时卷,这个卷可以被附加到包括第三方软件商提供的备份软件的虚拟机上。
如需了解支持的第三方备份厂商,请参阅 Red Hat Enterprise Virtualization Ecosystem(Red Hat Marketplace)。

注意

如需了解如何使用 REST API 的信息,请参阅 REST API Guide 中的 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 章 用户和角色

13.1. 用户介绍

Red Hat Enterprise Virtualization 使用外部目录服务所提供的用户验证和用户信息功能。所有的用户账户必须通过外部目录服务器创建,这些用户被称为目录用户(directory users)。唯一的例外是 admin 用户,它会在安装的过程中在内部域中被创建。
当一个目录服务器被关联到 Red Hat Enterprise Virtualization Manager 后,它上面的用户就可以被添加到管理门户中,从而使它们成为 Red Hat Enterprise Virtualization Manager 用户。Red Hat Enterprise Virtualization Manager 用户会根据它们所要执行的任务被分配不同的角色和权限。
Red Hat Enterprise Virtualization Manager 用户被分为两类 - 最终用户(end users)和管理员(administrators)。最终用户通过使用用户门户来使用和管理虚拟资源;而管理员可以通过管理门户维护系统的基本构架。User 角色和 admin 角色可以在单独的资源级别上(如虚拟机、主机等)为 Red Hat Enterprise Virtualization 用户进行分配,也可以在分级结构的某个级别上(如集群、数据中心)进行分配。

13.2. 目录用户

13.2.1. Red Hat Enterprise Virtualization 的目录服务支持

在安装 Red Hat Enterprise Virtualization Manager 的过程中,一个内部的管理员用户(admin)会被创建。这个用户可以被用来对环境进行初始的设置以及进行故障排除。为了在 Red Hat Enterprise Virtualization 环境中创建其它用户,需要首先把一个目录服务器附加到 Manager 上。对于 Red Hat Enterprise Virtualization 3.5 以前的环境,使用域管理工具(engine-manage-domains)把一个目录服务器附加到 Manager上,相关信息,请参阅 Red Hat Enterprise Virtualization 管理指南The Domain Management Tool 一节;对于 Red Hat Enterprise Virtualization 3.5 或更新的环境,使用新的通用 LDAP 供应商功能,相关信息,请参阅 Red Hat Enterprise Virtualization 管理指南Configuring a Generic LDAP Provider 一节。
一旦一个目录服务器被附加到 Red Hat Enterprise Virtualization Manager 上后,您就可以通过管理门户把目录服务器上的用户添加到您的虚拟环境中,并为它们分配角色。用户可以通过它们的 User Principal Name (UPN) 被识别,它的格式是 user@domain。另外,您也可以为 Red Hat Enterprise Virtualization Manager 附加多个目录服务器。
Red Hat Enterprise Virtualization 3.6 支持的目录服务:
  • Active Directory
  • Identity Management (IdM)
  • Red Hat Directory Server 9 (RHDS 9)
  • OpenLDAP
您需要保证您的目录服务器有正确的 DNS 记录。它的 DNS 记录必须包括:
  • 目录服务器的反向查找地址的有效指针记录(PTR)。
  • 使用 TCP 端口 389LDAP 的有效服务记录(SRV)。
  • 使用 TCP 端口 88Kerberos 的有效服务记录(SRV)。
  • 使用 UDP 端口 88Kerberos 的有效服务记录(SRV)。
如果这些记录不存在于 DNS 中,您将无法使用 engine-manage-domains 来把这个域添加到 Red Hat Enterprise Virtualization Manager 配置中。
如需了解更多关于安装和配置目录服务器的信息,请参阅目录服务厂商的相关文档:

重要

您需要在目录管理服务器上单独创建一个有权限访问所有用户和组的用户来作为 Red Hat Enterprise Virtualization 的管理员,而不要使用目录服务器本身的管理员作为 Red Hat Enterprise Virtualization 的管理员。

重要

您不能在同一个系统上同时安装 Red Hat Enterprise Virtualization Manager(rhevm)和 IdM(ipa-server)。IdM 和 Red Hat Enterprise Virtualization Manager 所需要的 mod_ssl 软件包不兼容。

重要

如果您使用 Active Directory 作为目录服务,而且需要在创建模板和虚拟机时使用 sysprep,您必须为 Red Hat Enterprise 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

注意

Red Hat Enterprise Virtualization Manager 使用 Kerberos 来和目录服务器进行用户认证。Red Hat Directory Server(RHDS) 不原生支持(native support)Kerberos。如需使用 RHDS 作为目录服务器,您需要保证您的目录服务器在一个有效的 Kerberos 域中是一个服务。请参阅相关的目录服务器文档来进行以下操作:
  • RHDS 配置 memberOf 插件来允许使用组成员功能。您需要把 memberOf 插件的 memberofgroupattr 属性设置为 uniqueMember。在 OpenLDAP 中,memberOf 功能并不被称为“插件(plugin)”,它被称为 "overlay", 您在安装后不需要配置它。
    您可以参阅 Red Hat Directory Server 9.0 Plug-in Guide 来获得更多关于配置 memberOf 插件的信息。
  • 在 Kerberos realm 中把目录服务器定义为服务(格式为 ldap/hostname@REALMNAME)。您需要使用目录服务器的全局域名(FQDN)替换 hostname,使用全局 Kerberos realm 名替换 REALMNAME。Kerberos realm 名必须是大写。
  • 在 Kerberos realm 中为目录服务器产生一个 keytab 文件。keytab 文件包括了 Kerberos principal 以及和它们相关的加密密钥。这些密钥被目录服务器用来和 Kerberos realm 进行验证。
    请参阅 Kerberos principle 的相关文档来获得更多关于生成 keytab 文件的信息。
  • 在目录服务器上安装 keytab 文件,然后配置 RHDS 来识别 keytab 文件,并接受使用 GSSAPI 进行的 Kerberos 验证。
    请参阅 Red Hat Directory Server 9.0 Administration Guide 来获得更多关于配置 RHDS 来使用外部 keytab 文件的信息。
  • 要测试您的目录服务器配置,您可以使用 kinit 命令来验证在 Kerberos realm 中定义的用户。一旦验证成功后,您可以运行 ldapsearch 命令在目录服务器上进行查询。使用 -Y GSSAPI 参数来指定使用 Kerberos 进行验证。

13.2.2. 配置通用的 LDAP 供应商

可以配置一个通用的 LDAP 供应商来提供用户验证和授权服务。这个新功能使用 LDAP 协议访问 LDAP 服务器,并可以对它进行自定义。要配置一个通用的 LDAP 供应商,需要修改身份验证扩展的配置文件、两个扩展值向的 LDAP 配置文件。

注意

如需了解更多为管理门户和用户门户的单点登录设置 LDAP 和 Kerberos 的信息,请参阅 第 13.2.3.1 节 “为 LDAP 和 Kerberos 配置单点登录”

过程 13.1. 配置通用的 LDAP 供应商

  1. 在 Red Hat Enterprise 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. 编辑 LDAP 属性配置文件,取消注释一个 LDAP 服务器类型并更新域和密码项的内容。
    #  vi /etc/ovirt-engine/aaa/profile1.properties

    例 13.1. 配置档案实例:LDAP 服务器部分

    #
    # Select one
    #
    include = <openldap.properties>
    #include = <389ds.properties>
    #include = <rhds.properties>
    #include = <ipa.properties>
    #include = <iplanet.properties>
    #include = <rfc2307.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 文件相关的信息,请参阅 第 C.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”

    例 13.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 = changeit
  4. 检查验证配置文件。profile 名在管理门户和用户门户的登录界面中可见。配置 profile 的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    # vi /etc/ovirt-engine/extensions.d/profile1-authn.properties

    例 13.3. 验证配置文件的示例

    ovirt.engine.extension.name = profile1-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 = profile1
    ovirt.engine.aaa.authn.authz.plugin = profile1-authz
    config.profile.file.1 = ../aaa/profile1.properties
  5. 检查授权配置文件。这个配置集的配置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    # vi /etc/ovirt-engine/extensions.d/profile1-authz.properties

    例 13.4. 授权配置文件的示例

    ovirt.engine.extension.name = profile1-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/profile1.properties
  6. 为配置文件设置正确的所有者权限和访问权限:
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/profile1.properties
    # chmod 600 /etc/ovirt-engine/aaa/profile1.properties
  7. 重新启动引擎服务。
    # service ovirt-engine restart
  8. 在管理门户和用户门户的登录页中包括了刚创建的 ldap1 profile。如需了解更多与为 LDAP 服务器中的用户分配相关权限(如登录到用户门户的权限)的信息,请参阅 Red Hat Enterprise Virtualization Administration GuideRed Hat Enterprise Virtualization Manager User Tasks 一节。

注意

如需了解更多信息,请参阅 LDAP 验证和授权扩展的 README 文件(/usr/share/doc/ovirt-engine-extension-aaa-ldap-version)。

13.2.3. 管理门户和用户门户的单点登录

Red Hat Enterprise Virtualization 3.5 以及更高的版本支持到管理门户和用户门户的单点登录功能。在启用这个功能时,用户可以使用从单点登录机制(如 Kerberos)所获得的凭证登录到用户门户或管理门户。管理员需要设定使用哪一种单点登录机制。
如需了解使用 Kerberos 实现管理门户和用户门户的单点登录功能的信息,请参阅 第 13.2.3.1 节 “为 LDAP 和 Kerberos 配置单点登录”

注意

如果到用户门户的单独登录功能被启用,则到虚拟机的单点登录功能将无法实现。这是因为,用户门户在启用了单独登录功能后,将不需要接受用户密码,因此用户的密码将无法在登录到虚拟机时被验证。

13.2.3.1. 为 LDAP 和 Kerberos 配置单点登录

这个示例假设了以下情况:
  • 存在的 KDC(Key Distribution Center,密钥分配中心)服务器使用 MIT 版的 Kerberos 5。
  • 您具有 KDC 服务器的管理权限。
  • Red Hat Enterprise Virtualization Manager 和用户的机器上安装了 Kerberos 客户端。
  • kadmin 工具程序可以被用来创建 Kerberos 服务主体(principal)和 keytab 文件。
这个过程会涉及到以下组件:

在 KDC 服务器上

  • 为 Red Hat Enterprise Virtualization Manager 上的 Apache 服务创建一个服务主体(principal)和一个 keytab 文件。

在 Red Hat Enterprise Virtualization Manager 上

  • 安装 Manager 的验证和授权扩展软件包,以及 Apache Kerberos 验证模块。
  • 配置扩展文件。

过程 13.2. 为 Apache 服务配置 Kerberos

  1. 在 KDC 服务器上,使用 kadmin 为 Red Hat Enterprise 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 Enterprise Virtualization Manager:
    # scp /tmp/http.keytab root@rhevm.example.com:/etc/httpd

过程 13.3. 配置到用户门户和管理门户的单点登录

  1. 在 Red Hat Enterprise 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

    例 13.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. 编辑 LDAP 属性配置文件,取消注释一个 LDAP 服务器类型并更新域和密码项的内容:
    #  vi /etc/ovirt-engine/aaa/profile1.properties

    例 13.6. 配置档案实例:LDAP 服务器部分

    #
    # Select one
    #
    include = <openldap.properties>
    #include = <389ds.properties>
    #include = <rhds.properties>
    #include = <ipa.properties>
    #include = <iplanet.properties>
    #include = <rfc2307.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 文件相关的信息,请参阅 第 C.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”

    例 13.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 = changeit
  7. 检查验证配置文件。profile 名在管理门户和用户门户的登录界面中可见。配置 profile 的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    # vi /etc/ovirt-engine/extensions.d/profile1-http-authn.properties

    例 13.8. 验证配置文件的示例

    ovirt.engine.extension.name = profile1-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 = profile1-http
    ovirt.engine.aaa.authn.authz.plugin = profile1-authz
    ovirt.engine.aaa.authn.mapping.plugin = http-mapping
    config.artifact.name = HEADER
    config.artifact.arg = X-Remote-User
  8. 检查授权配置文件。这个配置集的配置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
    #  vi /etc/ovirt-engine/extensions.d/profile1-authz.properties

    例 13.9. 授权配置文件的示例

    ovirt.engine.extension.name = profile1-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/profile1.properties
  9. 为配置文件设置正确的所有者权限和访问权限:
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/profile1.properties
    # chmod 600 /etc/ovirt-engine/aaa/profile1.properties
  10. 重启 Apache 服务和引擎服务:
    # service httpd restart
    # service ovirt-engine restart

13.3. 用户授权

13.3.1. 用户验证模型

Red Hat Enterprise Virtualization 根据以下三个元素的不同组合来进行验证:
  • 进行操作的用户(user)
  • 所进行的操作(action)
  • 操作所针对的对象(object)

13.3.2. 用户操作

一个操作要可以成功进行,需要用户有适当的权限来对对象进行操作。每个操作都会有一个相应的权限。在一个系统中有多个不同的权限,它可以被简化为:
操作

图 13.1. 操作

重要

一些操作需要在多个对象上进行。例如,把一个模板复制到另一个存储域需要对模板和所要复制的目标存储域进行操着。要进行这种操作,用户必须对所有相关的对象都有相关的权限。

13.4. Red Hat Enterprise Virtualization Manager 用户任务

13.4.1. 添加用户

介绍

在可以为用户分配角色和权限前,用户必须被从一个外部的目录服务添加到 Red Hat Enterprise Virtualization 环境中。

过程 13.4. 为 Red Hat Enterprise Virtualization 添加用户

  1. 用户标签页显示用户列表。
  2. 添加添加用户和组窗口会被打开。
  3. 搜索下拉菜单中选择适当的域。在搜索输入框中输入一个名字或名字的一部分后点执行。或直接点执行来显示所有用户和组的列表。
  4. 选择适当的用户或组。
  5. 确定
结果

被添加的用户出现在用户标签页中。

13.4.2. 查看用户信息

介绍

您可以在用户标签页中查看每个用户的信息。

过程 13.5. 查看用户信息

  1. 用户标签页来显示用户列表。
  2. 选择用户,如果用户没有被显示,您可以对它进行搜索。
  3. 在详情框中会显示被选择的用户信息,其中常规标签页显示了用户的一般信息,如域名、邮件地址和用户的状态。
  4. 您可以通过其它标签页查看用户的组、权限、配额和事件信息。
    例如,如果需要知道这个用户属于哪个组,点标签页。
结果

您查看了一个用户的域、权限、配额、组和事件信息。

13.4.3. 查看用户在资源上的权限

介绍

用户可以被分配特定的资源或一个资源分级结构的权限。您可以查看每个资源中的用户,以及它们的权限。

过程 13.6. 查看用户在资源上的权限

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户,用户角色以及继承的权限。
结果

您查看了所选资源上的用户,以及它们的权限。

13.4.4. 删除用户

介绍

当一个用户不再被需要时,我们可以把它从 Red Hat Enterprise Virtualization 环境中删除。

过程 13.7. 删除用户

  1. 用户标签页来显示用户列表。
  2. 选择要被删除的用户,请确认它们没有在任何虚拟机上使用。
  3. 删除。一个提示您确认删除操作的信息会被显示,点确定
结果

用户被从 Red Hat Enterprise Virtualization 环境中删除,但它仍然存在于外部目录服务中。

13.4.5. 为内部管理员用户重设密码

要修改内部管理员用户(admin@internal)的密码,您必须使用引擎配置工具,并且需要使用它的交互模式。

过程 13.8. 为内部管理员用户重设密码

  1. 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
  2. 使用交换模式修改密码:
    # engine-config -s AdminPassword=interactive
  3. 应用改变:
    # service ovirt-engine restart
您修改了内部管理员用户的密码。在下一次登录到管理门户、用户门户或使用 REST API 时,您需要使用新密码。

13.4.6. 查看登录的用户

在 Red Hat Enterprise Virtualization 3.6 以及更新的版本中,您可以查看到当前登录的用户。点树型框中的 Guest 信息项来查看每个登录用户的会话详情。

13.4.7. 中断一个用户会话

在 Red Hat Enterprise Virtualization 3.6 和以上的版本中,您可以中断当前登录用户的会话。

过程 13.9. 中断一个用户会话

  1. 在树型框中选择 Guest 信息
  2. 选择要中断的用户会话。
  3. 中断会话
  4. 确定

第 14 章 配额和服务级别合同的策略

14.1. 配额介绍

配额是 Red Hat Enterprise Virtualization 提供的一个对资源使用进行限制的工具。它可以被看做为在用户权限基础上进行的进一步资源使用限制。
配额是一个数据中心的对象。
Red Hat Enterprise Virtualization 环境的管理员可以通过配额来限制用户对内存、CPU 和存储的访问。配额定义了管理员可以分配给用户的内存资源和存储资源的限制,而用户只能使用限额内的资源。当配额内的资源被用完后,Red Hat Enterprise Virtualization 将不再允许用户进行操作。
Red Hat Enterprise Virtualization 包括两个不同类型的配额:

表 14.1. 两个不同类型的配额

配额类型定义
运行时配额(Run-time Quota)这类配额限制对运行时资源(如 CPU 和内存)的使用。
存储配额这类配额限制对存储的使用。
和 SELinux 一样,配额有三种模式:

表 14.2. 配额模式

配额模式功能
强制的(Enforced)强制执行您在审计模式下设置的配额。
审计(Audit)您可以在这个模式下改变配额的设置。您可以使用这个模式来增加或减少分配给用户的运行时配额和存储配额。
禁用(Disabled)这个模式会禁用设置的运行时配额和存储配额限制。
在用户需要运行一个虚拟机时,这个虚拟机的系统配置会和相关的运行时配额和存储配额限制进行比较。
如果启动一个虚拟机会导致所有虚拟机所使用的资源超过了相关配额所规定的限制,Red Hat Enterprise Virtualization Manager 将不会启动这个虚拟机。
如果在用户创建一个新虚拟磁盘时会导致所有虚拟磁盘的容量超过了相关配额所规定的限制,这个创建磁盘的操作将会失败。
配额允许资源共享同一个硬件。它支持硬阈值(hard threshold)和软阈值(soft threshold)。管理员可以使用配额在资源上设置阈值。从用户的角度来看,这个阈值就是 100% 使用资源的值。为了避免因为用户使用的资源超过了阈值而产生的系统问题,系统会提供一个"宽限(grace)"值,阈值允许在一个短时间内被超过。当超过阈值发生时,一个提示信息会发送给用户。

重要

配额限制了虚拟机对资源的使用,如果不注意这些配额,将可以会导致无法使用您的虚拟机和虚拟磁盘。
当配额使用强制(enforced)模式时,没有配额的虚拟机和磁盘将无法被使用。
要启动一个虚拟机,必须为它设置一个配额。
要创建一个虚拟机的快照,必须为和这个虚拟机相关联的磁盘设置一个配额。
当从一个虚拟机上创建一个模板时,您会被提示选择这个模板所需要的资源配额。这将允许您为模板(以及以后根据模板创建的虚拟机)设置和现在这个虚拟机不同的配额。

14.2. 共享配额和单独定义的配额

具有 SuperUser 权限的用户可以为单独的用户创建单独用户配额,也可以为一个组创建组配额。
组配额可以为 Active Directory 中的用户设置。假设一个组有 10 个用户,并被分配了 1TB 存储配额。如果其中的一个用户使用了所有的 1TB 存储空间,整个组将处于超过配额的状态,所有的用户都将无法使用和这个组相关的存储。
单独用户配额只对一个用户有效。如果这个用户使用了所有被分配的运行时配额或存储配额,这个用户将处于超过配额的状态,并将无法使用和这个配额相关的存储。

14.3. 配额的计算

当为资源设置配额后,对资源所进行的每个涉及到存储、vCPU 或内存的操作都会导致配额使用情况的变化。
因为配额是限制用户访问资源的上限,所以配额使用的计算方法和用户实际使用的情况可能会有所不同。配额是计算最大的、可能被使用的资源,而不是计算当前正在被使用的资源。

例 14.1. 配额计算实例

一个用户运行一个有 1 个 vCPU 和 1024MB 内存的虚拟机,这将占用这个用户所获得的配额中的 1 个 vCPU 和 1024MB 内存。当这个虚拟机被停止使用时,被占用的 1 个 vCPU 和 1024MB 的配额会被释放。运行时的配额占用只有在资源真正被使用时才发生。
一个用户创建了一个 10GB 自动精简配置(thin provision)的虚拟磁盘,其中只有 3GB 磁盘空间被实际使用。这时的配额占用值为 10GB 而不是 3GB,因为配额是计算它的最大的、可能被使用的资源而不是实际正在被使用的资源。

14.4. 在一个数据中心上启用和改变配额模式

以下过程介绍了在一个数据中心中启用或改变配额模式的方法。在定义配额前,您必须选择一个配额模式。您需要登录到管理门户来进行以下操作。
使用审计模式来测试您所设置的配额可以正常工作。在创建和修改一个配额时,这个配额的模式可以不是审计模式。

过程 14.1. 在一个数据中心上启用配额

  1. 在导航框中点数据中心标签页。
  2. 选择您需要对配额进行修改的数据中心。
  3. 点导航框左上的编辑
    一个编辑数据中心窗口被打开。
  4. 配额模式下拉菜单中选择强制的
  5. 确定
您在数据中心的级别上启用了一个配额模式。如果您在测试的时候把配额模式设置为审计,您必须把它改为强制的后配额的设置才会起作用。

14.5. 创建一个新的配额策略

介绍

在启用了配额模式(审计模式或强制模式)后,您需要定义一个配额策略来管理数据中心中的资源使用情况。

过程 14.2. 创建一个新的配额策略

  1. 在树型模式中,选择数据中心。配额标签页会出现在导航框中。
  2. 点导航框中的配额标签页。
  3. 在导航框中点添加新建配额窗口被打开。
  4. 名称项中输入名称。
    描述项中输入它的描述。
  5. 新建配额窗口的内存和 CPU 项中使用绿色的滑行条设置集群阈值(Cluster Threshold)。
  6. 新建配额窗口的内存和 CPU 项中使用绿色的滑行条设置集群 Grace
  7. 内存和 CPU 项右下的编辑按钮打开编辑配额窗口。
  8. 内存项中选择无限选项(允许在集群中无限使用内存资源),或选择限制在选项来设置内存的配额。如果您选择了限制在选项,请在 MB 项中输入内存的配额值。
  9. CPU 项中,选择无限选项或限制在选项来设置 CPU 的配额。如果您选择了限制在选项,在vCpus项中输入 vCPU 的数量。
  10. 编辑配额窗口中点确定
  11. 新建配额窗口的存储项中,使用绿色的滑行条设置存储阈值
  12. 新建配额窗口的存储项中,使用绿色的滑行条设置存储 Grace
  13. 存储项中的编辑打开编辑配额窗口。
  14. 存储配额项中选择无限选项(允许无限使用存储资源),或选择限制在选项来设置存储的配额。如果您选择了限制在选项,请在 GB 项中输入存储的配额值。
  15. 编辑配额窗口中点确定。您将返回到新建配额窗口。
  16. 新建配额窗口中点确定
结果

您创建了一个新的配额策略。

14.6. 配额阈值设置介绍

表 14.3. 配置阈值和 grace

设置定义
集群阈值(Cluster Threshold)每个数据中心可用的集群资源。
集群 Grace在数据数据中心的集群阈值被超过后仍然可以被使用的集群资源。
存储阈值每个数据中心可用的存储资源。
存储 Grace在数据数据中心的存储阈值被超过后仍然可以被使用的存储资源。
如果一个配额是带有 20% 宽限(grace) 的 100 GB,用户将在使用了 120 GB 存储后无法再使用存储资源。如果同样的配额还设置了 70% 阈值(Threshold),用户将会在使用超过了 70 GB 的存储后收到一个提示信息(但是用户仍然可以继续使用存储,直到超过了 120 GB)。“阈值(Threshold)" 和“宽限(Grace)”值都是相对于限额的。“阈值(Threshold)"可以被看做为一个“软限制”,如果超过它会产生一个提示信息;而“宽限(Grace)”可以被看做“硬限制”,用户无法使用超过这个限制的资源。

14.7. 为对象分配一个配额

介绍

下面介绍了为一个虚拟机设置配额的方法。

过程 14.3. 为一个虚拟机设置配额

  1. 在导航框中,选择您要设置配额的虚拟机。
  2. 编辑键打开编辑虚拟机窗口。
  3. 使用配额下拉菜单选择虚拟机要使用的配额。
  4. 确定
结果

您为所选的虚拟机设置了一个配额。

介绍

下面介绍了为一个虚拟机磁盘设置配额的方法。

过程 14.4. 为虚拟机磁盘设置配额

  1. 在导航框中,选择您要设置配额的磁盘所在的虚拟机。
  2. 在详情框中选择您需要设置配额的磁盘。
  3. 编辑打开编辑虚拟磁盘窗口。
  4. 选择这个虚拟磁盘需要使用的配额。
  5. 确定
结果

您为您所选择的磁盘设置了一个限额。

重要

为了使虚拟机可以正常工作,和虚拟机相关的所有对象都必须设置配额。如果您没有设置配额,虚拟机将无法工作。在这个情况出现时, Manager 会显示一个模糊的错误信息,使您无法方便地知道是否是因为配额产生了问题。另外,如果虚拟机没有设置配额,将无法对那个虚拟机进行快照。如果虚拟机的虚拟磁盘没有设置配额,也无法通过那个虚拟机创建模板。

14.8. 使用配额限制用户对资源的使用

介绍

下面介绍了如果使用配额来限制用户对资源的使用。

过程 14.5. 为一个用户设置一个配额

  1. 在树型框中,点您要设置配额的用户所在的数据中心。
  2. 点导航框中的配额页。
  3. 在导航框中选择需要的配额。
  4. 在详情框中点消费者标签页。
  5. 添加
  6. 搜索项中输入您要设置配额的用户名。
  7. 执行
  8. 选中您所需的用户。
  9. 为用户和组分配配额窗口中的确定
结果

所选的用户会出现在详情框的消费者标签页中。

14.9. 编辑配额

介绍

下面介绍了如何编辑一个存在的配额的方法。

过程 14.6. 编辑配额

  1. 在树型面板上,点击你要编辑配额的数据中心。
  2. 在导航面板上点击配额标签页。
  3. 点您需要编辑的配额名。
  4. 点导航框中的编辑
  5. 一个编辑配额窗口会被打开。如果需要,在名称项中输入名称。
  6. 如果需要,在描述项中输入描述。
  7. 选择所有集群选项或特定的集群选项。使用集群阈值集群 Grace 滑动条调整内存和 CPU 的值。
  8. 选中所有存储域特定的存储域。使用存储阈值存储 Grace 滑动条调整存储的值。
  9. 编辑配额窗口中点确定来确认新的配额设置。
结果

您编辑了一个存在的配额。

14.10. 删除配额

介绍

以下过程描述了如何删除配额。

过程 14.7. 删除配额

  1. 在树型面板上,点击你要编辑配额的数据中心。
  2. 在导航面板上点配额标签页。
  3. 点您要删除的配额的名称。
  4. 点导航面板顶部、标签页下面的删除
  5. 删除配额窗口中点确定来确认删除这个配额。
结果

您删除了一个配额。

14.11. 服务级别协议(SLA)策略的实施

介绍

以下描述了如何设置 CPU 服务级别协议功能的方法。

过程 14.8. 设置一个服务级别协议的 CPU 策略

  1. 在导航框中选新建虚拟机
  2. 选择显示高级选项
  3. 选择资源分配标签页。
    Description

    图 14.1. 服务级别协议(SLA)策略的实施 - CPU 分配菜单

  4. 设置 CPU 共享。它可以被设为自定义禁用的。设为的虚拟机所获得的 CPU 共享将是设为的虚拟机所获得的 CPU 共享的两倍;而设为的虚拟机所获得的 CPU 共享将是设为的虚拟机所获得的 CPU 共享的两倍。如果设为禁用,VDSM 将使用一个老的算法来决定 CPU 共享值(通常情况下,它的值是 1020)。
结果

您设置了一个与 CPU 相关的服务级别协议策略。用户对 CPU 资源的使用会根据这个策略进行。

第 15 章 事件通知

15.1. 在管理门户中配置事件通知

介绍

当 Red Hat Enterprise Virtualization Manager 所管理的虚拟化环境中发生特定事件时,Red Hat Enterprise Virtualization Manager 会通过电子邮件通知特定的用户。为了使用这个功能,您需要设置一个邮件发送系统来传输这些通知信息。管理门户只能配置使用电子邮件发送事件通知。SNMP trap 需要在 Manager 所在的机器上配置。

过程 15.1. 配置事件通知机制

  1. 确认您已经设置了一个邮件发送系统。
  2. 使用用户资源页、树形模式或搜索功能来找到并选择需要接收事件通知的用户。
  3. 在详情框中点事件通知器标签页,列出这个用户会收到的事件通知。如果您还没有为这个用户设置任何事件通知,这个列表会是空的。
  4. 管理事件打开添加事件通知窗口。
    添加事件通知窗口

    图 15.1. 添加事件通知窗口

  5. 使用展开所有按钮或某个对象的展开箭头来显示相关的事件。
  6. 根据需要选择相应的选择框。
  7. 邮件接收者项中输入需要一个电子邮件地址。
  8. 确定保存所做的修改并关闭窗口。
  9. 运行以下命令在 Red Hat Enterprise Virtualization Manager 上添加并启动 ovirt-engine-notifier 服务:
    # chkconfig --add ovirt-engine-notifier
    # chkconfig ovirt-engine-notifier on
    # service ovirt-engine-notifier restart
结果

指定的用户将会收到 Red Hat Enterprise Virtualization 环境中的相关事件的通知邮件。这些相关的事件在用户的事件通知器标签页中被列出。

15.2. 在管理门户中取消事件通知

介绍

用户配置了一些不需要的电子邮件事件通知,想取消它们。

过程 15.2. 取消事件通知

  1. 用户标签页中,选择用户或用户组。
  2. 在详情框中选择事件通知器标签页来列出这个用户接收的事件列表。
  3. 管理事件打开添加事件通知窗口。
  4. 使用展开所有按钮或某个对象的展开箭头来显示相关的事件。
  5. 取消相应项的选择来删除事件通知。
  6. 确定保存所做的改变并关闭窗口。
结果

您为用户取消了不需要的事件通知。

15.3. ovirt-engine-notifier.conf 配置文件中的事件通知参数

事件通知器的配置文件是 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf

表 15.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 的路径和文件名。

15.4. 配置 Red Hat Enterprise Virtualization Manager 来发送 SNMP trap

配置 Red Hat Enterprise Virtualization Manager 来向一个或多个外部简单网络管理协议(Simple Network Management Protocol,简称 SNMP)管理器发送 SNMP trap 。SNMP trap 包括了系统事件信息,用户可以使用这些数据监控 Red Hat Enterprise Virtualization 环境。向 SNMP 管理器发送的 trap 的数量和类型可以在 Red Hat Enterprise Virtualization Manager 中设置。
这个过程假设您已经配置了一个或多个外部 SNMP 管理器来接收 trap,并且有以下信息:
  • 作为 SNMP 管理器的机器的 IP 地址或完全限定域名(FQDN)。另外,需要决定管理器使用哪个端口接收 trap 数据(默认的设置是 UDP 端口 162)。
  • SNMP community。多个 SNMP 管理器可以属于一个 community。只有属于同一个 community 的管理系统和代理才可以相互间进行交流。默认的 community 是 public
  • trap 信息的对象 ID(object identifier,简称为 OID)。Red Hat Enterprise 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 Enterprise 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 文件,这样可以在需要对系统进行改变时(如对系统进行升级)保持您原来所做的配置改变。

过程 15.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 管理器:

    例 15.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 中(或一个覆盖文件中)正确定义。

第 16 章 工具程序

16.1. oVirt 引擎重新命名工具

16.1.1. oVirt 引擎重命名工具

当在一个全新的系统上运行 engine-setup 时,它会生成一组基于 Manager 的全局域名(FQDN)的证书和密钥。如果 Manager 的全局域名需要被改变(例如,把运行 Manager 的主机迁移到另外一个域中),那些已经包括老的全局域名的记录就需要被修改。ovirt-engine-rename 命令可以自动化这个任务。
ovirt-engine-rename 命令更新以下位置中的 Manager 的全局域名记录:
  • /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
  • /etc/ovirt-engine/imageuploader.conf.d/10-engine-setup.conf
  • /etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf
  • /etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf
  • /etc/pki/ovirt-engine/cert.conf
  • /etc/pki/ovirt-engine/cert.template
  • /etc/pki/ovirt-engine/certs/apache.cer
  • /etc/pki/ovirt-engine/keys/apache.key.nopass
  • /etc/pki/ovirt-engine/keys/apache.p12

警告

当使用 ovirt-engine-rename 命令为 Manager 所在机器上的网络服务器创建一个新证书时,它并不会影响到引擎的证书或是证书授权。因此,使用 ovirt-engine-rename 命令会有一些风险,特别是在从 Red Hat Enterprise Virtualization 版本 3.2 或更早版本升级上来的系统上。我们推荐您在可能的情况下,尽量使用 engine-cleanupengine-setup 来更改 Manager 的全局域名。

16.1.2. Ovirt 引擎重命名命令的语法

ovirt-engine-rename 命令的基本语法是:
# /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename
这个命令还可以使用以下选项:
--newname=[new name]
允许您以非交互模式指定 Manager 的新全局域名。
--log=[file]
允许您指定一个文件的路径和文件名来记录重新命名操作产生的日志信息。
--config=[file]
允许您指定一个配置文件的路径和文件名。这个配置文件会被重命名操作加载。
--config-append=[file]
允许您指定一个配置文件的路径和文件名。这个配置文件可以被用来指定重命名操作所需的答案文件(answer file)的路径和文件名。
--generate-answer=[file]
允许您指定一个文件的路径和文件名。这个文件可以被用来记录答案,以及 ovirt-engine-rename 命令所修改的值。

16.1.3. 使用 Ovirt 引擎重新命名工具

介绍

您可以使用 ovirt-engine-rename 命令来更新 Manager 的全局域名记录。

过程 16.1. 重新命名 Red Hat Enterprise Virtualization Manager

  1. 为新的全局域名准备所有的 DNS 和其它相关的记录。
  2. 如果使用 DHCP,更新 DHCP 服务器的配置。
  3. 更新 Red Hat Enterprise Virtualization Manager 的主机名。
  4. 请运行以下命令:
    # /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename
  5. 在提示时按 Enter 来停止引擎服务:
    During execution engine service will be stopped (OK, Cancel) [OK]:
  6. 在提示时输入 Red Hat Enterprise Virtualization Manager 的新全局域名:
    New fully qualified server name:[new name]
结果

ovirt-engine-rename 命令更新了 Manager 的全局域名。

16.2. 域管理工具

16.2.1. 域管理工具

Red Hat Enterprise Virtualization Manager 使用目录服务来验证用户身份。为了把用户添加到 Red Hat Enterprise Virtualization Manager 中,您首先需要使用内部的 admin 用户把用户验证所需的目录服务添加到 Red Hat Enterprise Virtualization Manager 中。您可以使用系统提供的域管理工具 - engine-manage-domains 来添加和删除目录服务域。
engine-manage-domains 命令只能在 Red Hat Enterprise Virtualization Manager 所在的机器上被访问,并只能使用 root 用户来执行。

重要

一个通用的 LDAP 供应商可以被用来配置目录服务器来提供用户验证和授权服务。在配置新的目录服务时,可以使用这个新功能。如需了解更多相关信息,请参阅 第 13.2.2 节 “配置通用的 LDAP 供应商”
我们推荐在 Red Hat Enterprise Virtualization 环境中,那些通过 engine-manage-domains 工具配置的目录服务继续使用原来存在的技术。

16.2.2. 域管理工具的语法

使用语法是:
engine-manage-domains ACTION [options]
有效的操作(ACTION)包括:
add
把一个域添加到 Red Hat Enterprise Virtualization Manager 的目录服务配置中。
edit
在 Red Hat Enterprise Virtualization Manager 的目录服务配置中编辑一个域。
delete
从 Red Hat Enterprise Virtualization Manager 的目录服务配置中删除一个域。
validate
验证 Red Hat Enterprise Virtualization Manager 的目录服务配置。这个命令会尝试使用所配置的用户和密码来验证配置中的每个域。
list
列出 Red Hat Enterprise Virtualization Manager 当前的目录服务配置。
以下选项可以和命令行中指定的操作一起使用:
--add-permissions
指定要在 Red Hat Enterprise Virtualization Manager 中被赋予 SuperUser 角色的域用户。在默认情况下,如果 --add-permissions 参数没有被使用,SuperUser 角色不会分配给任何域用户。--add-permissions 是一个可选项,它只能与 addedit 操作一起使用。
--change-password-msg=[MSG]
当用户使用过期的密码登录时所看到的信息。您可以使用这个选项来指定用来修改用户密码的 URL(必须以 http 或 https开头)。--change-password-msg 是一个可选项,只能与 addedit 操作一起使用。
--config-file=[FILE]
指定这个命令必须使用的一个配置文件。--config-file 是一个可选项。
--domain=[DOMAIN]
需要进行操作的域。对于 addeditdelete 操作,--domain 参数是必须使用的。
--force
强制命令跳过“确认删除操作"这一步。
--ldap-servers=[SERVERS]
为域设置的一组以逗号分隔的 LDAP 服务器。
--log-file=[LOG_FILE]
用来记录操作日志信息的文件的文件名。
--log-level=[LOG_LEVEL]
日志的级别。您可以选择 DEBUG(默认选项)、INFOWARNERROR。这些选项的值不区分大小写。
--log4j-config=[LOG4J_FILE]
用来读取日志配置信息的 log4j.xml 文件。
--provider=[PROVIDER]
域的目录服务器的 LDAP 类型。有效值包括:
  • ad - Microsoft Active Directory。
  • ipa - Identity Management (IdM)。
  • rhds - Red Hat Directory Server。Red Hat Directory Server 并不带有 Kerberos,而 Red Hat Enterprise Virtualization 需要 Kerberos 验证。Red Hat Directory Server 必须在 Kerberos 域中作为一个服务运行,来为 Manager 提供目录服务。

    注意

    要使用 Red Hat Directory Server 作为您的目录服务器,您必须在 Red Hat Directory Server 上安装 memberof 插件。要使用 memberof 插件,您的用户必须是 inetuser
  • itds - IBM Tivoli Directory Server。
  • oldap - OpenLDAP。
--report
当在 validate 操作中使用这个参数时,这个命令会输出一个包括所有验证错误信息的报告。
--resolve-kdc
使用 DNS 解析密钥发行服务器。
--user=[USER]
指定要使用的域用户。对于 add 命令,--user 参数是必须的,而对于 edit 命令,这个参数是可选的。
--password-file=[FILE]
指定域用户的密码包括在所提供文件的第一行中。在使用 add 操着时,密码必须通过这个参数或 --interactive 来提供。
如需更多关于使用这个命令的信息,请参阅 engine-manage-domains 命令的帮助信息:
# engine-manage-domains --help

16.2.3. 使用域管理工具

以下实例显示了如何使用 engine-manage-domains 命令来进行基本的 Red Hat Enterprise Virtualization Manager 域配置。

16.2.4. 列出配置中的域

engine-manage-domains 命令列出 Red Hat Enterprise Virtualization Manager 配置中定义的目录服务域。这个命令输出每条配置记录的域、用户名(User Principal Name(UPN)格式)以及这个域是本地的还是远程的。

例 16.1. engine-manage-domains List 操作

# engine-manage-domains list
Domain: directory.demo.redhat.com
    User name: admin@DIRECTORY.DEMO.REDHAT.COM
    This domain is a remote domain.

16.2.5. 为配置添加域

在这个例子中,engine-manage-domains 为 Red Hat Enterprise Virtualization Manager 配置添加了 IdMdirectory.demo.redhat.com。配置被设置为:使用 admin 用户来对域进行查询,用户会被提示输入密码。

例 16.2. engine-manage-domains Add 操作

# engine-manage-domains add --domain=directory.demo.redhat.com --provider=IPA --user=admin
loaded template kr5.conf file
setting default_tkt_enctypes
setting realms
setting domain realm
success
User guid is: 80b71bae-98a1-11e0-8f20-525400866c73
Successfully added domain directory.demo.redhat.com. oVirt Engine restart is required in order for the changes to take place (service ovirt-engine restart).

16.2.6. 在配置中编辑一个域

在这个例子中,engine-manage-domains 命令编辑 Red Hat Enterprise Virtualization Manager 配置中的 directory.demo.redhat.com 域。配置被更新为:使用 admin 用户来对域进行查询;用户会被提示输入密码。

例 16.3. engine-manage-domains Edit 操作

# engine-manage-domains -action=edit -domain=directory.demo.redhat.com -user=admin -interactive
loaded template kr5.conf file
setting default_tkt_enctypes
setting realms
setting domain realmo
success
User guide is: 80b71bae-98a1-11e0-8f20-525400866c73
Successfully edited domain directory.demo.redhat.com. oVirt Engine restart is required in order for the changes to take place (service ovirt-engine restart).

16.2.7. 验证域配置

在这个例子中,engine-manage-domains 命令被用来验证 Red Hat Enterprise Virtualization Manager 配置。这个命令会尝试使用配置中所提供的用户信息登录到每个域上。如果登录成功,相应的域就被认为是有效的。

例 16.4. engine-manage-domains Validate 操作

# engine-manage-domains validate
User guide is: 80b71bae-98a1-11e0-8f20-525400866c73
Domain directory.demo.redhat.com is valid.

16.2.8. 从配置中删除一个域

在这个例子中,engine-manage-domains 从 Red Hat Enterprise Virtualization Manager 配置中删除 directory.demo.redhat.com 域。被删除域中的用户将无法被用来和 Red Hat Enterprise Virtualization Manager 进行验证。受影响的用户记录仍然存在于 Red Hat Enterprise Virtualization Manager 中,直到它们被删除。
这个例子中所删除的域是 Red Hat Enterprise Virtualization Manager 配置中的最后一个域。一个关于这个操作的警告信息会被显示,在其它域被添加以前,只有 internal 域中的 admin 用户可以登录。

例 16.5. engine-manage-domains Delete 操作

# engine-manage-domains delete --domain=directory.demo.redhat.com
WARNING: Domain directory.demo.redhat.com is the last domain in the configuration. After deleting it you will have to either add another domain, or to use the internal admin user in order to login.
Successfully deleted domain directory.demo.redhat.com. Please remove all users and groups of this domain using the Administration portal or the API.

16.3. 引擎配置工具

16.3.1. 引擎配置工具

引擎配置工具是一个用来为 Red Hat Enterprise Virtualization 环境配置全局设置的命令行工具程序,它和一组以“关键字/值”的形式存储在引擎数据库中的数据进行交互,您可以使用它来获取和设置关键字的值,以及获取所有可用关键字/值的列表。另外,Red Hat Enterprise Virtualization 环境中不同级别的配置可以被保存为不同的值。

注意

在获取配置关键字/值信息时,并不需要运行 Red Hat Enterprise Virtualization Manager 或 Red Hat JBoss Enterprise Application Platform。因为这些配置数据被保存在引擎数据库中,所以只要运行了 postgresql 服务就可以更新它们。在 ovirt-engine 服务被重启后,这些配置更新就会有效。

16.3.2. engine-config 命令的使用语法

引擎配置工具可以在 Red Hat Enterprise Virtualization Manager 所在的机器上运行。使用以下的帮助命令可以显示它的使用方法:
# engine-config --help

常见任务

列出有效的配置关键字
# engine-config --list
列出有效的配置值
# engine-config --all
获得配置关键字的值
# engine-config --get [KEY_NAME]
使用所需的关键字替换 [KEY_NAME] 来获得这个关键字指定版本的值(使用 --cver 参数指定版本)。如果没有指定版本,所有存在版本的值都将被返回。
设置配置关键字的值
# engine-config --set [KEY_NAME]=[KEY_VALUE] --cver=[VERSION]
使用实际的关键字替换 [KEY_NAME];使用您要设置的值替换 [KEY_VALUE]。如果您的环境中包括不止一个配置版本,您还需要指定 [VERSION] 的值。
重启 ovirt-engine 服务使改变生效
为了使改变生效,需要重启 ovirt-engine 服务。
# service ovirt-engine restart

16.3.3. 为内部管理员用户重设密码

要修改内部管理员用户(admin@internal)的密码,您必须使用引擎配置工具,并且需要使用它的交互模式。

过程 16.2. 为内部管理员用户重设密码

  1. 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
  2. 使用交换模式修改密码:
    # engine-config -s AdminPassword=interactive
  3. 应用改变:
    # service ovirt-engine restart
您修改了内部管理员用户的密码。在下一次登录到管理门户、用户门户或使用 REST API 时,您需要使用新密码。

16.4. 镜像上传工具

16.4.1. 镜像上传工具

engine-image-uploader 命令允许您列出导出存储域,把虚拟机的镜像以 OVF 格式上传到一个导出存储域中,从而可以被 Red Hat Enterprise Virtualization Manager 自动识别。

注意

镜像上传工具只支持由 Red Hat Enterprise Virtualization 产生的、使用 gzip 压缩的 OVF 文件。
这个压缩文件包括了如下结构的 images 和 master 目录:
|-- images
|   |-- [Image Group UUID]
|        |--- [Image UUID (this is the disk image)]
|        |--- [Image UUID (this is the disk image)].meta
|-- master
|   |---vms
|       |--- [UUID]
|             |--- [UUID].ovf

16.4.2. engine-image-uploader 命令的语法

镜像上传命令的基本语法是:
engine-image-uploader [options] list
engine-image-uploader [options] upload [file].[file]...[file]
镜像上传命令支持两个操作 - listupload
  • list 操作会列出镜像可以被上传到的导出存储域。
  • upload 操作把镜像上传到指定的导出存储域中。
当使用这个命令时,您需要选择以上操作中的一个。如果您需要进行 upload 操作,您还需要指定最少一个本地文件。
engine-image-uploader 还包括了其它一些参数。您可以在 /etc/ovirt-engine/imageuploader.conf 文件中为这些参数设定默认的值。

常规选项

-h, --help
显示镜像上传命令的使用信息。
--conf-file=[PATH]
[PATH] 是这个命令要使用的配置文件。默认的配置文件是 etc/ovirt-engine/imageuploader.conf
--log-file=[PATH]
[PATH] 是命令要写入的日志文件。/var/log/ovirt-engine/ovirt-image-uploader/ovirt-image-uploader-[date].log 是默认的日志文件。
--cert-file=[PATH]
[PATH] 是用来验证引擎的证书。默认是 /etc/pki/ovirt-engine/ca.pem
--insecure
不需要验证引擎。
--quiet
把命令设为“安静”模式,从而把控制台的输出减到最小。
-v, --verbose
把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。
-f, --force
当要上传的源文件的文件名和目标导出域中的文件名相同时,可以使用强制模式,它会使用上传文件强制把目标导出域中的同名文件覆盖。

Red Hat Enterprise Virtualization Manager 选项

-u [USER], --user=[USER]
指定这个命令所要使用的用户信息。[USER] 的格式为 [username]@[domain]。这个用户必须存在于指定的域中,并可以被 Red Hat Enterprise Virtualization Manager 识别。
-r [FQDN], --engine=[FQDN]
指定镜像文件将要被上传到的 Red Hat Enterprise Virtualization Manager 的 IP 地址或全局域名。系统会假设镜像上传程序是从 Red Hat Enterprise Virtualization Manager 所在的同一个机器上运行的。它的默认值是 localhost:443

导出存储域选项

以下选项指定了镜像要被上传到的导出域。这些选项不能同时使用,您只能使用 -e-n
-e [EXPORT_DOMAIN], --export-domain=[EXPORT_DOMAIN]
把存储域 EXPORT_DOMAIN 设为上传的目标域。
-n [NFSSERVER], --nfs-server=[NFSSERVER]
设置 NFS 路径。[NFSSERVER] 是上传的目标 NFS 服务器。

导入选项

下面的选项可以被用来指定,在把镜像上传到导出域时可以包括上传镜像的哪些属性。
-i, --ovf-id
指定镜像的 UUID 不会被更新。在默认的情况下,这个命令会为上传的镜像产生一个新的 UUID,从而可以避免上传文件的文件名和系统中已经存在的镜像重名的问题。
-d, --disk-instance-id
指定镜像中的每个磁盘的 ID 不会被重新命名。在默认情况下,这个命令会为上传镜像中所包含的磁盘产生一个新的 UUID,从而避免了上传镜像中的磁盘和系统中已经存在的磁盘发生冲突的问题。
-m, --mac-address
指定镜像中不会被删除的网络组件。在默认情况下,这个命令会删除上传镜像中的网络接口卡,从而避免和其它虚拟机已经使用的网卡发生冲突。如果您没有使用这个选择,您可以使用管理门户来为新导入的镜像添加网卡,Red Hat Enterprise Virtualization Manager 会确保没有 MAC 地址冲突。
-N [NEW_IMAGE_NAME], --name=[NEW_IMAGE_NAME]
为上传的镜像指定一个新名称。

16.4.3. 创建与镜像上传程序兼容的 OVF 压缩文件

介绍

您可以创建使用 engine-image-uploader 上传的文件。

过程 16.3. 创建与镜像上传程序兼容的 OVF 压缩文件

  1. 使用 Manager 创建一个空的导出域。使用空的导出域可以非常容易地知道哪个目录包括了您的虚拟机。
  2. 把您的虚拟机导出到刚创建的空的导出域。
  3. 登录到作为导出域的存储服务器上,找到 NFS 共享的根并进入挂载点下的子目录。因为您启动时只有一个新的导出域,所以在导出目录下只有一个目录。它包括了 images/master/ 目录。
  4. 运行 tar -zcvf my.ovf images/ master/ 来创建 tar/gzip OVF 文件。
  5. 任何人都可以把这个 OVF 文件(在这个例子中是 my.ovf)通过使用 engine-image-uploader 命令导入到 Red Hat Enterprise Virtualization Manager 上。
结果

您创建了一个压缩的 OVF 镜像文件。任何人都可以使用 engine-image-uploader 命令来把这个镜像文件上传到 Red Hat Enterprise Virtualization 环境中。

16.4.4. engine-image-uploader 使用实例

以下例子使用镜像上传工具列出导出域:

例 16.6. 使用镜像上传工具列出导出域

# engine-image-uploader list
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
Export Storage Domain Name | Datacenter  | Export Domain Status
myexportdom               | Myowndc    | active
以下是上传 OVF 文件的实例

例 16.7. 使用镜像上传工具上传一个文件

# engine-image-uploader -e myexportdom upload myrhel6.ovf
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):

16.5. USB Filter Editor

16.5.1. 安装 USB Filter Editor

介绍

USB Filter Editor 是一个用来配置 usbfilter.txt 策略文件的 Windows 工具程序。这个策略文件定义了是否允许 Red Hat Enterprise Virtualization Manager 所管理的虚拟机使用客户端系统上的特定 USB 设备的规则,它位于 Red Hat Enterprise Virtualization Manager 系统的以下位置:

/etc/ovirt-engine/usbfilter.txt
对 USB filter 策略所做的改变只有在 Red Hat Enterprise Virtualization Manager 上的 ovirt-engine 服务被重新启动后才有效。
通过 Content Delivery Network: https://rhn.redhat.com/rhn/software/channel/downloads/Download.do?cid=20703 下载 USBFilterEditor.msi 文件。这个文件适用于 Red Hat Enterprise Virtualization 3.0 以及更新版本。

过程 16.4. 安装 USB Filter Editor

  1. 在一台 Windows 机器上,运行从 Content Delivery Network 获得的 USBFilterEditor.msi 安装程序。
  2. 按照安装程序的提示进行操作。除非特别指定,USB Filter Editor 会根据您的 Windows 版本安装在 C:\Program Files\RedHat\USB Filter EditorC:\Program Files(x86)\RedHat\USB Filter Editor 上。
  3. 一个 USB Filter Editor 的快捷启动图标会在您系统的桌面上被创建。

重要

使用一个安全复制(Secure Copy - SCP) 客户端程序来为 Red Hat Enterprise Virtualization Manager 导入或导出过滤器策略。您可以使用 WinSCP (http://winscp.net) 作为 Windows 机器的安全复制程序。
结果

默认的 USB 设备策略提供了虚拟机访问 USB 设备的基本规则,用户可以根据需要修改它。

16.5.2. USB Filter Editor 界面

  • 双击您桌面上的 USB Filter Editor 快捷图标
    Red Hat USB Filter Editor

    图 16.1. Red Hat USB Filter Editor

Red Hat USB Filter Editor 界面为每个 USB 设备显示了 ClassVendorProductRevisionAction。如要允许使用某个 USB 设备,这个设备所对应的 Action 项就应该被设置为 Allow;如果不允许使用,就设为 Block

表 16.1. USB Editor 项

名称描述
ClassUSB 设备的类型,如打印机,存储控制器。
Vendor所选设备的厂商。
ProductUSB 设备的型号。
Revision产品的版本。
Action允许或不允许使用特定的设备。
USB 设备策略规则会按照它们所列出的顺序被使用。使用 UpDown 键来移动设备在列表中的位置。Block 所有设备的规则需要保持在列表的最后一个,这可以确保除了在 USB Filter Editor 中明确指定可以访问的 USB 设备外,其它所有的 USB 设备都无法被访问。

16.5.3. 添加一个 USB 策略

介绍

为 USB Filter Editor 添加一个 USB 策略。

双击桌面上的 USB Filter Editor 快捷图标。

过程 16.5. 添加一个 USB 策略

  1. Add 键,Edit USB Criteria 窗口被打开:
    编辑 USB 条件

    图 16.2. 编辑 USB 条件

  2. 使用 USB ClassVendor IDProduct IDRevision 选择框列出指定的设备。
    Allow 键来允许虚拟机使用 USB 设备;点 Block 键来禁止虚拟机使用 USB 设备。
    OK 保存过滤规则并关闭窗口。

    例 16.8. 添加一个设备

    以下的实例是为可以使用的设备列表添加一个 USB 设备(厂商是 Acer Communications & Multimedia,USB Class 是 Smartcard,设备为 EP-1427X-2 Ethernet Adapter)。
  3. FileSave 保存所做的改变。
结果

您为 USB Filter Editor 添加了一个 USB 策略。USB 过滤策略需要被输出到 Red Hat Enterprise Virtualization Manager 中才能起作用。

16.5.4. 删除一个 USB 策略

介绍

从 USB Filter Editor 中删除一个 USB 策略。

在您的系统桌面上双击 USB Filter Editor 快捷图标来打开它。

过程 16.6. 删除一个 USB 策略

  1. 选择您需要删除的策略。
    选择 USB 策略

    图 16.3. 选择 USB 策略

  2. Remove。一个要求您确认删除策略的信息会被显示。
    Edit USB Criteria

    图 16.4. Edit USB Criteria

  3. Yes 来确认您要删除所选的策略。
  4. FileSave 来保存所做的修改。
结果

您从 USB Filter Editor 中删除了一个 USB 策略。USB 过滤器策略需要被输出到 Red Hat Enterprise Virtualization Manager 后才会有效。

16.5.5. 搜索 USB 设备策略

介绍

搜索连接的 USB 设备来在 USB Filter Editor 中允许使用或禁止使用它们。

双击您桌面上的 USB Filter Editor 快捷图标打开它。

过程 16.7. 搜索 USB 设备策略

  1. SearchAttached USB Devices 窗口会显示所有连接的设备列表。
    连接的 USB 设备。

    图 16.5. 连接的 USB 设备。

  2. 选择设备,并根据需要点 AllowBlock。双击所选的设备,窗口会被关闭,这个设备的一个策略规则被添加到列表中。
  3. 使用 UpDown 按钮改变新策略规则在列表中的位置。
  4. FileSave 保存您所做的修改。
结果

您对连接的 USB 设备进行了搜索。USB 过滤策略需要被输出到 Red Hat Enterprise Virtualization Manager 中才能起作用。

16.5.6. 输出一个 USB 策略

介绍

USB 设备策略的改变需要被输出并上传到 Red Hat Enterprise Virtualization Manager 后才会有效。您需要在上传策略后重新启动 ovirt-engine 服务。

双击您桌面上的 USB Filter Editor 快捷图标打开它。

过程 16.8. 输出一个 USB 策略

  1. ExportSave As 窗口被打开。
  2. 把文件存为 usbfilter.txt
  3. 使用一个安装复制程序(如 WinSCP)把 usbfilter.txt 文件上传到运行 Red Hat Enterprise Virtualization Manager 的服务器上。这个文件必须被保存在服务器的以下目录中:

    /etc/ovirt-engine/
  4. root 用户的身份在运行 Red Hat Enterprise Virtualization Manager 的服务器上重新启动 ovirt-engine 服务。
    # service ovirt-engine restart
结果

USB 设备策略在 Red Hat Enterprise Virtualization 环境中被应用。

16.5.7. 导入一个 USB 策略

总结

您需要把一个存在的 USB 设备策略下载,并导入到 USB Filter Editor 后才可以编辑它。

过程 16.9. 导入一个 USB 策略

  1. 使用一个安装复制程序(如 WinSCP)把 usbfilter.txt 文件上传到运行 Red Hat Enterprise Virtualization Manager 的服务器上。这个文件必须被保存在服务器的以下目录中:

    /etc/ovirt-engine/
  2. 双击您桌面上的 USB Filter Editor 快捷图标打开它。
  3. Import 打开 Open 窗口。
  4. 打开从服务器下载的 usbfilter.txt 文件。
结果

您可以在 USB Filter Editor 中编辑 USB 设备策略。

16.6. 日志收集程序

16.6.1. 日志收集程序

Red Hat Enterprise Virtualization Manager 包括了一个日志收集程序,您可以使用它从 Red Hat Enterprise Virtualization 环境中收集所需要的日志信息。
日志收集的命令是 engine-log-collector。您需要使用 root 用户身份登录到 Red Hat Enterprise Virtualization 环境中。engine-log-collector -h 会显示 engine-log-collector 命令的使用信息以及可用的选项。

16.6.2. engine-log-collector 命令的语法

日志采集命令的基本语法:
engine-log-collector [options] list [all, clusters, datacenters]
engine-log-collector [options] collect
这个命令有两个模式:listcollect
  • list 参数会列出主机、集群或数据中心是否附加到了 Red Hat Enterprise Virtualization Manager。您可以根据所类出的项对收集的日志进行过滤。
  • collect 参数将会从 Red Hat Enterprise Virtualization Manager 上收集日志。所获得的日志数据被保存在 /tmp/logcollector 目录中。engine-log-collector 命令会为每个日志分配一个特定的文件名。
除非被其它参数指定,在默认情况下,它会列出有效的主机以及它们所属的数据中心和集群。在收集特定日志信息时,您会被提示输入用户名和密码。
engine-log-collector 命令还提供了其它的参数来对它进行控制。

常规选项

--version
显示命令的版本号。
-h, --help
显示命令的帮助信息。
--conf-file=PATH
PATH 设定为这个命令所使用的配置文件。
--local-tmp=PATH
把日志文件保存在 PATH 目录中。默认的目录是 /tmp/logcollector
--ticket-number=TICKET
TICKET 作为 SOS 报告中的事件号(case number)。
--upload=FTP_SERVER
FTP_SERVER 设为使用 FTP 把所收集的日志信息传输到的目的地。除非红帽的技术支持让您使用这个参数,否则请不要使用它。
--log-file=PATH
PATH 设为这个命令用来作为日志输出的文件的文件名。
--quiet
把命令设为“安静”模式,从而把控制台的输出减到最小。在默认的情况下,安静模式没有被设定。
-v, --verbose
把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。在默认的情况下,verbose 模式没有被设置。

Red Hat Enterprise Virtualization Manager 选项

这些选项被用来为 Red Hat Enterprise Virtualization Manager 过滤日志信息的收集,并提供用户认证信息。
这些参数可以被组合使用。例如,engine-log-collector --user=admin@internal --cluster ClusterA,ClusterB --hosts "SalesHost"* 指定了用户为 admin@internal,并只收集集群 A 和集群 B 中的 SalesHost 主机的日志。
--no-hypervisors
不收集虚拟主机的日志信息。
-u USER, --user=USER
指定登录的用户。USER 的格式为 user@domain(其中的 user 是用户名,domain 是使用的目录服务的域)。这里所指定的用户必须存在于目录服务中,并可以被 Red Hat Enterprise Virtualization Manager 所识别。
-r FQDN, --rhevm=FQDN
设置用来收集日志的 Red Hat Enterprise Virtualization Manager 的全局域名(使用 Red Hat Enterprise Virtualization Manager 的全局域名替换 FQDN)。这个命令假设日志收集命令是在 Red Hat Enterprise Virtualization Manager 所在的同一台机器上被运行的,因此它的默认值是 localhost
-c CLUSTER, --cluster=CLUSTER
除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 CLUSTER 中指定的集群中的主机日志。它可以通过以逗号分隔的集群名或匹配特征来指定多个集群。
-d DATACENTER, --data-center=DATACENTER
除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 DATACENTER 中指定的数据中心中的主机日志。它可以通过以逗号分隔的数据中心名或匹配特征来指定多个数据中心。
-H HOSTS_LIST, --hosts=HOSTS_LIST
除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 HOSTS_LIST 中指定的主机日志。它可以通过以逗号分隔的主机名、全局域名、IP 地址或匹配特征来指定多个主机。

SOS 报告选项

日志收集程序使用 JBoss SOS 插件。使用以下选项来从 JMX 控制台进行数据收集。
--jboss-home=JBOSS_HOME
JBoss 的安装路径。默认值是 /var/lib/jbossas
--java-home=JAVA_HOME
Java 安装路径。默认值是 /usr/lib/jvm/java
--jboss-profile=JBOSS_PROFILE
显示以空格分隔的服务器配置档案列表;日志数据的收集会被限制在这些档案中。它的默认值是 'rhevm-slimmed'
--enable-jmx
启用从 Red Hat Enterprise Virtualization 的 JBoss JMX 接口收集运行时统计数据的功能。
--jboss-user=JBOSS_USER
有权利调用 JBoss JMX 的用户。默认值是 admin
--jboss-logsize=LOG_SIZE
获取的日志文件的最大容量(以 MB 为单位)
--jboss-stdjar=STATE
为 JBoss 标准的 JAR 设置所采集的 JAR 统计数据。把 STATE 替换为 onoff。默认的值是 on
--jboss-servjar=STATE
设置从任何的服务器配置目录中收集 JAR 的统计数据。把 STATE 替换为 onoff。默认的值是 on
--jboss-twiddle=STATE
设置是否收集 twiddle 数据。Twiddle 是一个 JBoss 工具程序,它可以被用来从 JMX 的调用者中收集数据。把 STATE 替换为 onoff。它的默认值是 on
--jboss-appxml=XML_LIST
显示一组带有 XML 描述数据的应用程序。这些应用程序以空格分隔,并包括在一对引号中。这个参数的默认值是 all

SSH 配置

--ssh-port=PORT
PORT 设置为用来和虚拟主机进行 SSH 连接所使用的端口。
-k KEYFILE, --key-file=KEYFILE
KEYFILE 设置为用来访问虚拟主机的公共 SSH 密钥。
--max-connections=MAX_CONNECTIONS
MAX_CONNECTIONS 设置为同时可以和虚拟主机进行连接来收集日志的 SSH 连接的数量。它的默认值是 10

PostgreSQL 数据库选项

如果数据库的默认用户名和密码已经被改变,使用 pg-userdbname 参数指定数据库当前的用户名和密码。
如果数据库不在本地,需要使用 pg-dbhost 参数(可能还需要使用 pg-host-key 参数)。另外,进行远程日志收集时,PostgreSQL SOS 插件必须安装在数据库服务器上。
--no-postgresql
禁用收集数据库数据的功能。如果没有指定 --no-postgresql 参数,日志采集程序会连接到 Red Hat Enterprise Virtualization Manager 的 PostgreSQL 数据库,并把其中的数据包括在日志中。
--pg-user=USER
USER 设置为用来和数据库服务器进行连接的用户。它的默认值是 postgres
--pg-dbname=DBNAME
DBNAME 设置为连接到数据库服务器上的数据库名,它的默认值是 rhevm
--pg-dbhost=DBHOST
DBHOST 设置为数据库服务器的主机名,它的默认值是 localhost
--pg-host-key=KEYFILE
KEYFILE 设置为数据库服务器的公共识别文件(私人密钥)。这个值在默认的情况下不会被设置,它只在数据库不在本地的情况下才使用。

16.6.3. 基本日志收集程序用法

当没有使用任何参数运行 engine-log-collector 命令时,它的默认行为是从 Red Hat Enterprise Virtualization Manager 以及和它关联的所有主机上收集所有日志。在没有使用 --no-postgresql 参数时,它也收集数据库的日志。下面的实例会收集 Red Hat Enterprise Virtualization Manager 和 3 个与它关联的主机上的所有日志。

例 16.9. 日志收集程序用法

# engine-log-collector
INFO: Gathering oVirt Engine information...
INFO: Gathering PostgreSQL the oVirt Engine database and log files from localhost...
Please provide REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
About to collect information from 3 hypervisors. Continue? (Y/n):
INFO: Gathering information from selected hypervisors...
INFO: collecting information from 192.168.122.250
INFO: collecting information from 192.168.122.251
INFO: collecting information from 192.168.122.252
INFO: finished collecting information from 192.168.122.250
INFO: finished collecting information from 192.168.122.251
INFO: finished collecting information from 192.168.122.252
Creating compressed archive...
INFO Log files have been collected and placed in /tmp/logcollector/sosreport-rhn-account-20110804121320-ce2a.tar.xz.
The MD5 for this file is 6d741b78925998caff29020df2b2ce2a and its size is 26.7M

16.7. ISO 上传工具

16.7.1. ISO Uploader

ISO uploader 是一个把 ISO 镜像上传到 ISO 存储域的工具。它会作为 Red Hat Enterprise Virtualization Manager 的一部分被安装。
ISO uploader 的命令是 engine-iso-uploader。您需要以 root 用户的身份登录到 Red Hat Enterprise Virtualization 环境中后才可以使用这个命令。engine-iso-uploader -h 会显示这个命令的帮助信息,并包括了 engine-iso-uploader 命令的所有可用参数的列表。

16.7.2. engine-iso-uploader 命令语法

ISO uploader 命令的基本语法是:
engine-iso-uploader [options] list
engine-iso-uploader [options] upload [file].[file]...[file]
ISO uploader 命令支持两种操作 - listupload
  • list 操作列出 ISO 文件可以被上传到的存储域列表。Red Hat Enterprise Virtualization Manager 会在安装的过程中在所安装的机器上产生这个列表。
  • upload 操作会把一个或多个(以空格分隔)ISO 文件上传到指定的 ISO 存储域中。默认的方式是通过 NFS,但也可以选择使用 SSH。
当使用这个命令时,您需要选择以上操作中的一个。如果您需要进行 upload 操作,您还需要指定最少一个本地文件。
engine-iso-uploader 命令包括了其它的一些参数。

常规选项

--version
显示 ISO uploader 命令的版本。
-h, --help
显示 ISO uploader 命令的使用信息。
--conf-file=[PATH]
[PATH] 是这个命令要使用的配置文件。默认的配置文件是 /etc/ovirt-engine/isouploader.conf
--log-file=[PATH]
[PATH] 是命令要写入的日志文件。/var/log/ovirt-engine/ovirt-iso-uploader/ovirt-iso-uploader[date].log 是默认的日志文件。
--cert-file=[PATH]
[PATH] 是用来验证引擎的证书。默认值是 /etc/pki/ovirt-engine/ca.pem
--insecure
不需要验证引擎。
--nossl
连接到引擎的时候不使用 SSL
--quiet
把命令设为“安静”模式,从而把控制台的输出减到最小。
-v, --verbose
把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。
-f, --force
当要上传的源文件的文件名和目标 ISO 域中的文件名相同时,可以使用强制模式,它会使用上传文件强制把目标 ISO 域中的同名文件覆盖。

Red Hat Enterprise Virtualization Manager 选项

-u [USER], --user=[USER]
指定这个命令所要使用的用户信息。[USER] 的格式为 [username]@[domain]。这个用户必须存在于指定的域中,并可以被 Red Hat Enterprise Virtualization Manager 识别。
-r [FQDN], --engine=[FQDN]
指定镜像文件将要被上传到的 Red Hat Enterprise Virtualization Manager 的 IP 地址或全局域名。系统会假设镜像上传程序是从 Red Hat Enterprise Virtualization Manager 所在的同一个机器上运行的。它的默认值是 localhost:443

ISO 存储域选项

以下选项指定了镜像要被上传到的 ISO 域。这些选项不能同时使用,您只能使用 -i-n
-i, --iso-domain=[ISODOMAIN]
把存储域 [ISODOMAIN] 设为上传的目标域。
-n, --nfs-server=[NFSSERVER]
[NFSSERVER] 设置为上传目标的 NFS 服务器路径。

连接选项

ISO uploader 使用 NFS 作为文件上传的默认方法。这些选项指定了使用 SSH 进行文件传输的设置。
--ssh-user=[USER]
[USER] 设置为用来上传的 SSH 用户名。它的默认值是 root.
--ssh-port=[PORT]
[PORT] 设置为 SSH 连接所使用的接口。
-k [KEYFILE], --key-file=[KEYFILE]
[KEYFILE] 设为用来进行 SSH 验证的公共密钥。如果没有设置密钥,您将会被提示输入 --ssh-user=[USER] 所指定的用户的密码。

16.7.3. 指定一个 NFS 服务器

例 16.10. 上传到一个 NFS 服务器

# engine-iso-uploader --nfs-server=storage.demo.redhat.com:/iso/path upload RHEL6.0.iso

16.7.4. ISO Uploader 的基本使用方法

以下实例演示了 ISO uploader 以及 list 参数的使用方法。第一个命令列出可用 ISO 存储域,因为在命令中没有指定用户名,用户 admin@internal 将被使用。第二个命令使用 NFS 将 ISO 文件上传到指定的 ISO 域中。

例 16.11. 显示域列表并上传镜像

# engine-iso-uploader list
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
ISO Storage Domain Name   | Datacenter          | ISO Domain Status
ISODomain                 | Default             | active
# engine-iso-uploader --iso-domain=[ISODomain] upload [RHEL6.iso]
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):

16.7.5. 把 VirtIO 和客户端工具程序镜像文件上传到 ISO 存储域中

以下实例把 virtio-win.isovirtio-win_x86.vfdvirtio-win_amd64.vfdrhev-tools-setup.iso 镜像文件上传到 ISODomain 域。

例 16.12. 上传 VirtIO 和客户端工具程序镜像文件

# engine-iso-uploader --iso-domain=[ISODomain] upload /usr/share/virtio-win/virtio-win.iso /usr/share/virtio-win/virtio-win_x86.vfd /usr/share/virtio-win/virtio-win_amd64.vfd /usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso

16.7.6. VirtIO 和客户端工具程序镜像文件

virtio-win ISO、Virtual Floppy Drive (VFD) 镜像(包括了 Windows 虚拟机的 VirtIO 驱动)、rhev-tools-setup ISO(包括了 Windows 虚拟机的 Red Hat Enterprise Virtualization 客户端工具程序)在安装和配置 ISO 存储域的时候被复制到这个域中。
这些镜像所包括的软件可以被安装到虚拟机上,从而提高虚拟机的性能和可用性。最新的 virtio-winrhev-tools-setup 文件位于 Red Hat Enterprise Virtualization Manager 文件系统上的以下位置:
  • /usr/share/virtio-win/virtio-win.iso
  • /usr/share/virtio-win/virtio-win_x86.vfd
  • /usr/share/virtio-win/virtio-win_amd64.vfd
  • /usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso
这些镜像文件必须被手动上传到 ISO 存储域中(不能是在安装过程中创建的本地存储域)。使用 engine-iso-uploader 命令把这些镜像上传到您的 ISO 存储域中。在上传完成后,这些镜像文件就可以被虚拟机使用。

部分 III. 收集环境的信息

第 17 章 日志文件

17.1. Red Hat Enterprise Virtualization Manager 安装日志文件

表 17.1. 安装

日志文件描述
/var/log/ovirt-engine/engine-cleanup_yyyy_mm_dd_hh_mm_ss.logengine-cleanup 命令的日志文件。这个命令是被用来重新设置 Red Hat Enterprise Virtualization Manager 安装的,它在每次运行时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。
/var/log/ovirt-engine/engine-db-install-yyyy_mm_dd_hh_mm_ss.logengine-setup 命令的日志文件。它包括了创建和配置 rhevm 数据库的详细信息。
/var/log/ovirt-engine/rhevm-dwh-setup-yyyy_mm_dd_hh_mm_ss.logrhevm-dwh-setup 命令的日志文件。这个命令被用来创建 ovirt_engine_history 数据库,它在每次运行时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。
/var/log/ovirt-engine/ovirt-engine-reports-setup-yyyy_mm_dd_hh_mm_ss.logrhevm-reports-setup 命令的日志文件。这个命令被用来安装 Red Hat Enterprise Virtualization Manager Reports 模块,它在每次运行时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。
/var/log/ovirt-engine/setup/ovirt-engine-setup-yyyymmddhhmmss.logengine-setup 命令的日志文件。在每次运行这个命令时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。

17.2. Red Hat Enterprise Virtualization Manager 日志文件

表 17.2. 服务

日志文件描述
/var/log/ovirt-engine/engine.log记录 Red Hat Enterprise Virtualization Manager 图形用户界面故障、Active Directory 查询、数据库错误以及其它一些事件。
/var/log/ovirt-engine/host-deploy通过 Red Hat Enterprise Virtualization Manager 部署的主机上的日志文件。
/var/lib/ovirt-engine/setup-history.txt记录与 Red Hat Enterprise Virtualization Manager 的安装和升级相关的信息。

17.3. SPICE 日志文件

在对 SPICE 的连接问题进行故障排除时,SPICE 日志文件可以提供帮助。为了启用 SPICE 的故障排除功能,把日志的级别该为 debugging,然后指定日志的位置。
用来访问客户机的客户端和客户机本身都有 SPICE 日志文件。对于客户端的日志,如果 SPICE 客户端通过一个浏览器插件被启动,故障排除的功能通常是由环境变量控制的。如果 SPICE 客户端是通过原生的客户程序启动(一个 console.vv 文件会被下载),需要使用 remote-viewer 命令来启用故障排除功能并产生日志输出。

17.3.1. Hypervisor SPICE 服务器的 SPICE 日志

表 17.3. Hypervisor SPICE 服务器的 SPICE 日志

日志类型日志位置改变日志级别:
Host/Hypervisor SPICE Server
/var/log/libvirt/qemu/(guest_name).log
在启动 guest 前,在 host/hypervisor 上运行 export SPICE_DEBUG_LEVEL=5

17.3.2. 客户机的 SPICE 日志

表 17.4. 客户机的 SPICE 日志

日志类型日志位置改变日志级别:
Windows 客户机
C:\Windows\Temp\vdagent.log
C:\Windows\Temp\vdservice.log
不适用
Red Hat Enterprise Linux 客户机
/var/log/spice-vdagent.log
创建一个带有这个项的 /etc/sysconfig/spice-vdagentd 文件: SPICE_VDAGENTD_EXTRA_ARGS=”-d -d”

17.3.3. 使用浏览器插件启动的 SPICE 客户端的 SPICE 日志

对于使用浏览器插件启动的 SPICE 客户端,日志的位置,以及修改日志级别的方法会根据 OS 类型、OS 版本和系统类型的不同而有所不同。

表 17.5. 客户端机器(浏览器插件)的 SPICE 日志

日志类型日志位置改变日志级别:
SPICE Client (Windows 7)
C:\Windows\Temp\spicex.log
  1. Computer 主菜单项,选 Computer
  2. 系统属性,选择高级系统设置
  3. 选择高级,再选环境变量
  4. 找到用户系统变量,添加一个变量,名为 SPICEX_DEBUG_LEVEL,并把它的值设为 4。
SPICE Client (Red Hat Enterprise Linux 6)
~/home/.spicec/spice-xpi.log
编辑 /etc/spice/logger.ini 文件,把 log4j.rootCategory 变量从 INFO, R 改为 DEBUG, R
SPICE Client (Red Hat Enterprise Linux 7)
~/.xsession-errors
使用 debug 选项在命令行中启动 Firefox:G_MESSAGES_DEBUG=all SPICE_DEBUG=1 firefox
创建 ~/.xsession-errors 文件。
Windows 客户端上的 USB 重定向
C:\Windows\Temp\usbclerk.log
不适用。

17.3.4. 使用 console.vv 文件启动的 SPICE 客户端的 SPICE 日志

Linux 客户端机器:

  1. 使用 --spice-debug 选项运行 remote-viewer 命令来启用 SPICE 故障排除(debug)功能。在提示时,输入连接 URL,例如,spice://[virtual_machine_IP]:[port]。
    #  remote-viewer --spice-debug
    
  2. 要查看日志,下载 console.vv 文件,使用 --spice-debug 选项运行 remote-viewer 命令,指定到 console.vv 文件的完全路径。
    # remote-viewer --spice-debug /path/to/console.vv
Windows 客户端机器:

  1. 下载 debug-helper.exe 文件,把它移 remote-viewer.exe 文件所在的目录中。例如,C:\Users\[user name]\AppData\Local\virt-viewer\bin 目录。
  2. 执行 debug-helper.exe 文件来安装 GNU Debugger(GDB)。
  3. 执行 debug-helper.exe 文件来启用 SPICE 故障排除功能。
    debug-helper.exe remote-viewer.exe --spice-controller
    
  4. 要查看日志信息,连接到虚拟机,您将会看到运行 GDB 的命令提示,它会显示标准输出和 remote-viewer 的标准错误信息。

17.4. Red Hat Enterprise Virtualization 主机日志文件

表 17.6. 

日志文件描述
/var/log/vdsm/libvirt.loglibvirt 的日志文件。
/var/log/vdsm/spm-lock.log日志文件详细记录了主机在 SPM 上获得租約(lease)的情况。它包括了主机获得(acquired)、释放(released)租約的详细时间,以及主机成功续约或续约失败的详细时间。
/var/log/vdsm/vdsm.logVDSM(Red Hat Enterprise Virtualization Manager 在虚拟主机上的代理)的日志文件。
/tmp/ovirt-host-deploy-@DATE@.log主机部署日志。在主机被成功部署后,这个日志会被复制到引擎的 /var/log/ovirt-engine/host-deploy/ovirt-@DATE@-@HOST@-@CORRELATION_ID@

17.5. 设置虚拟主机日志服务器

Red Hat Enterprise Virtualization 主机会通过产生和更新日志文件来记录系统的运行情况。为了简化故障排除的过程,我们可以使用一个“日志服务器”来统一收集日志文件的信息。
您可以使用一个独立的日志服务器,也可以通过以下步骤在 Red Hat Enterprise Virtualization Manager 上实现日志服务器的功能。

过程 17.1. 设置虚拟主机日志服务器

  1. 设置 SELinux 来允许 rsyslog 操作。
    # semanage port -a -t syslogd_port_t -p udp 514
  2. 编辑 /etc/rsyslog.conf 来添加以下行:
    $template TmplAuth, "/var/log/%fromhost%/secure" 
    $template TmplMsg, "/var/log/%fromhost%/messages" 
    
    $RuleSet remote
    authpriv.*   ?TmplAuth
    *.info,mail.none;authpriv.none,cron.none   ?TmplMsg
    $RuleSet RSYSLOG_DefaultRuleset
    $InputUDPServerBindRuleset remote
    去掉以下行的注释
    #$ModLoad imudp
    #$UDPServerRun 514
  3. 重新启动 rsyslog 服务:
    # service rsyslog restart
您的日志服务器已经被配置,它可以接收和存储虚拟主机上的 messagessecure 日志文件。

第 18 章 代理服务器

18.1. SPICE 代理服务器

18.1.1. SPICE 代理(SPICE Proxy)介绍

SPICE 代理是一个当 SPICE 客户端位于 hypervisor 所在的网络之外时,把 SPICE 客户端和虚拟机进行连接的工具。设置 SPICE 代理的过程包括在机器上安装 Squid、配置 iptables 来允许使用代理的网络数据通过防火墙。启用 SPICE 代理的操作包括在 Manager 上使用 engine-config 来把 SpiceProxyDefault 的值设为包括代理的名称和端口的值。关闭 SPICE 代理的操作包括在 Manager 上使用 engine-config 删除为 SpiceProxyDefault 所设置的值。

重要

SPICE 代理只支持独立的 SPICE 客户端,它不能被用来连接使用 SPICE HTML5 或 noVNC 的虚拟机。

18.1.2. SPICE 代理系统的设置

以下介绍了如何把一台机器设置为 SPICE 代理。SPICE 代理可以实现从远程网络访问 Red Hat Enterprise Virtualization 网络的功能。我们使用 Squid 来提供代理服务。

过程 18.1. 在 Red Hat Enterprise Linux 上安装 Squid

  1. 在代理机器上安装 Squid
    # yum install squid
  2. 打开 /etc/squid/squid.conf,把以下内容:
    http_access deny CONNECT !SSL_ports
    改为:
    http_access deny CONNECT !Safe_ports
  3. 启动代理:
    # service squid start
  4. 打开默认的 squid 端口:
    # iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
  5. 保存这个 iptables 的规则:
    # service iptables save
您把一台机器设置为了 SPICE 代理。在从远程网络访问 Red Hat Enterprise Virtualization 网络时,请先激活这个 SPICE 代理。

18.1.3. 打开 SPICE 代理

以下介绍了激活(打开)SPICE 代理的方法。

过程 18.2. 激活 SPICE 代理

  1. 在 Red Hat Enterprise Virtualization Manager 中,使用 engine-config 工具设置一个代理:
    # engine-config -s SpiceProxyDefault=someProxy
  2. 重新启动 ovirt-engine 服务:
    # service ovirt-engine restart
    代理必须使用以下格式来代表:
    protocol://[host]:[port]

    注意

    SPICE 客户端只支持 HTTP。如果使用 HTTPS,客户端将会忽略代理的设置,而尝试直接和 hypervisor 进行连接。
SPICE 代理被激活(打开)。现在可以通过 SPICE 代理对 Red Hat Enterprise Virtualization 网络进行访问。

18.1.4. 关闭一个 SPICE 代理

以下介绍了如果关闭一个 SPICE 代理。

过程 18.3. 关闭一个 SPICE 代理

  1. 登录到 Red Hat Enterprise Virtualization Manager:
    $ ssh root@[IP of Manager]
  2. 运行以下命令来删除 SPICE 代理:
    # engine-config -s SpiceProxyDefault=""
  3. 重新启动 Red Hat Enterprise Virtualization Manager:
    # service ovirt-engine restart
SPICE 代理被关闭,用户将无法通过 SPICE 代理对 Red Hat Enterprise Virtualization 网络进行访问。

18.2. Squid 代理服务器

18.2.1. 安装和配置一个 Squid 代理

介绍

以下介绍了如何为用户门户安装和配置一个 Squid 代理。Squid 代理服务器起到了一个内容加速的作用,它可以缓存经常被访问的内容,减少对带宽的消耗,并可以减少响应时间。

过程 18.4. 配置一个 Squid 代理

  1. 为 Squid 代理服务器的 HTTPS 端口获得一个密钥对和一个证书。获得这个密钥对的方法和获得其它 SSL/TLS 服务密钥对的方法完全相同。这个密钥对以两个 PEM 文件的形式出现,包括了私人密钥和一个签字的证书。我们在这里假设它们的名字是 proxy.keyproxy.cer

    注意

    密钥对和证书也可以通过引擎的证书认证机构产生。如果您的代理已经有了私人密钥和证书,而且不想使用引擎的证书认证机构重新产生它们,请跳过下一步。
  2. 为代理选择一个主机名。然后,选择代理证书的其它项。

    注意

    通常情况下,应该使用和引擎相同的国家名(C)和机构名(O)。要获得这些信息,请登录到 Manager 所在的机器,并运行以下命令:
    # openssl x509 -in /etc/pki/ovirt-engine/ca.pem -noout -subject
    
    这个命令会输出和以下相似的内容:
    subject= /C=US/O=Example Inc./CN=engine.example.com.81108
    
    这里相关的部分是 /C=US/O=Example Inc.。使用它来为代理的证书创建一个唯一的证书名:
    /C=US/O=Example Inc./CN=proxy.example.com
  3. 登录到代理所在的机器,并生成一个证书签署请求:
    # openssl req -newkey rsa:2048 -subj '/C=US/O=Example Inc./CN=proxy.example.com' -nodes -keyout proxy.key -out proxy.req
    

    重要

    证书名外的引号非常重要,一定不能省掉它们。 -nodes 选项确保了私人密钥没有被加密,您在启动代理时将不需要输入密码。
    这个命令会产生两个文件:proxy.keyproxy.reqproxy.key 是私人密钥,您需要把它保存在一个安全的地方。proxy.req 是证书签署请求,proxy.req 并不需要特殊的保护。
  4. 要产生签署的证书,使用以下命令把证书签署请求文件从代理所在的机器上复制到安装 Manager 的机器上:
    # scp proxy.req engine.example.com:/etc/pki/ovirt-engine/requests/.
    
  5. 登录到 Manager 所在的机器上签署证书:
    # /usr/share/ovirt-engine/bin/pki-enroll-request.sh --name=proxy --days=3650 --subject='/C=US/O=Example Inc./CN=proxy.example.com'
    
    它将为证书进行签署,使它在 10 年(3650 天)内有效。您可以根据需要,为证书设置相应的有效期。
  6. 所产生的证书文件保存在 /etc/pki/ovirt-engine/certs 目录中,它的名字应该是 proxy.cer。把这个文件从 Manager 所在机器复制到代理所在机器的当前目录中:
    # scp engine.example.com:/etc/pki/ovirt-engine/certs/proxy.cer .
    
  7. 确认代理机器包括了 proxy.keyproxy.cer 文件:
    # ls -l proxy.key proxy.cer
    
  8. 在代理机器上安装 Squid 代理服务器软件包:
    # yum install squid
    
  9. 把私人密钥和签署的证书发到代理可以访问的地方,如 /etc/squid 目录:
    # cp proxy.key proxy.cer /etc/squid/.
    
  10. 设置权限,从而使 squid 用户可以读这些文件:
    # chgrp squid /etc/squid/proxy.*
    # chmod 640 /etc/squid/proxy.*
    
  11. Squid 代理需要验证引擎所使用的证书。把 Manager 的证书复制到代理所在的机器上。这个实例使用的文件路径是 /etc/squid
    # scp engine.example.com:/etc/pki/ovirt-engine/ca.pem /etc/squid/.
    

    注意

    默认的 CA 证书位于 Manager 所在机器的 /etc/pki/ovirt-engine/ca.pem
  12. 设置权限,从而使 squid 用户可以读证书文件:
    # chgrp squid /etc/squid/ca.pem
    # chmod 640 /etc/squid/ca.pem
    
  13. 如果 SELinux 处于 enforcing 模式,使用 semanage 修改端口 443 的内容,从而使 Squid 可以使用端口 443。
    # yum install policycoreutils-python
    # semanage port -m -p tcp -t http_cache_port_t 443
    
  14. 使用以下的内容替换存在的 Squid 配置文件:
    https_port 443 key=/etc/squid/proxy.key cert=/etc/squid/proxy.cer ssl-bump defaultsite=engine.example.com
    cache_peer engine.example.com parent 443 0 no-query originserver ssl sslcafile=/etc/squid/ca.pem name=engine
    cache_peer_access engine allow all
    ssl_bump allow all
    http_access allow all
    
  15. 重启 Squid 代理服务器
    # service squid restart
    
  16. 使用完整 URL 连接到用户门户,例如:
    https://proxy.example.com/UserPortal/org.ovirt.engine.ui.userportal.UserPortal/UserPortal.html

    注意

    短的 URL(如 https://proxy.example.com/UserPortal)将无法正常工作。应用服务器会试图使用 302 response code 和 Location header 把这些短的 URL 重新定向到正确的 URL,但是 Red Hat Enterprise Linux 中所提供的 Squid 版本(Squid version 3.1)不支持这个功能。

注意

默认情况下,Squid 代理会在空闲连接时间超过 15 分钟后终止这个空闲连接。要增加这个时间,调整 squid.conf 中的 read_timeout 选项(如把它设为 read_timeout 10 hours)。

附录 A. VDSM 和 Hook

A.1. VDSM

Red Hat Enterprise Virtualization Manager 使用 VDSM 服务来管理 Red Hat Enterprise Virtualization Hypervisor 主机和 Red Hat Enterprise Linux 主机。VDSM 管理并监测主机的存储、内存和网络资源。另外,它还协调进行虚拟机的创建、统计数据的采集、日志数据的收集以及其它一些主机的管理任务。VDSM 作为一个守护进程(daemon)在 Red Hat Enterprise Virtualization Manager 所管理的主机上运行,并处理从客户端发来的 XML-RPC 的请求。Red Hat Enterprise Virtualization Manager 可以被看做为一个 VDSM 的客户端。

A.2. VDSM Hook

VDSM 可以通过 hook 进行扩展。hook 就是一些脚本程序,当特定事件发生时,这些 hook 将会在主机上运行。VDSM 会按主机上的 /usr/libexec/vdsm/hooks/nn_event-name/ 中的文件名的顺序执行其中可执行的 hook 脚本。每个 hook 脚本都会被分配给一个两位数的数字添加到文件名的前面,这样就可以清楚地知道这些 hook 脚本运行的顺序。在本章中所包括的实例使用 Python,但您可以使用任何编程语言来创建 hook 脚本。
请注意,在主机上为某个事件所定义的所有 hook 脚本都会被执行。如果您的某个 hook 只需要在主机上的某些虚拟机上运行,您需要在您的 hook 脚本中通过检查虚拟机的自定义属性(Custom Properties) 来实现。

警告

VDSM 脚本有影响到 Red Hat Enterprise Virtualization 正常操作的可能。如果您的 VDSM hook 中有 bug,就有可能导致虚拟机出现错误并丢失数据。因此,在使用 VDSM hook 前,请对它们进行全面的测试。另外,hook API 还是一个新的技术,它们可能会在以后有较大的变化。

A.3. 使用 hook 对 VDSM 进行扩展

本章介绍了通过使用事件驱动的 hook 来对 VDSM 进行扩展。它在现阶段还是一个试验性质的技术,因此这里所介绍的内容主要针对于有经验的程序员。请注意,现阶段 hook 还无法在 Red Hat Enterprise Virtualization Hypervisor 上运行,它们只能在 Red Hat Enterprise Linux 主机上运行。另外,通过设置虚拟机的自定义属性(custom properties)可以把只针对于特定虚拟机的额外参数传递到 hook 脚本。

A.4. 支持的 VDSM 事件

表 A.1. 支持的 VDSM 事件

名称描述
before_vm_start虚拟机启动前。
after_vm_start虚拟机启动后。
before_vm_cont虚拟机继续运行前。
after_vm_cont虚拟机继续运行后。
before_vm_pause虚拟机暂停前。
after_vm_pause虚拟机暂停后。
before_vm_hibernate虚拟机挂起前。
after_vm_hibernate虚拟机挂起后。
before_vm_dehibernate在虚拟机取消挂起前。
after_vm_dehibernate在虚拟机取消挂起后。
before_vm_migrate_source在虚拟机迁移发生前,在迁移的原始主机上运行。
after_vm_migrate_source在虚拟机迁移发生后,在迁移的原始主机上运行。
before_vm_migrate_destination在虚拟机迁移发生前,在迁移的目标主机上运行。
after_vm_migrate_destination在虚拟机迁移发生后,在迁移的目标主机上运行。
after_vm_destroy虚拟机删除后。
before_vdsm_startVDSM 在主机上运行前。before_vdsm_start hook 以 root 用户执行,它不会继承 VDSM 进程的环境参数。
after_vdsm_stopVDSM 在主机上运行后。after_vdsm_stop hook 以 root 用户执行,它不会继承 VDSM 进程的环境参数。
before_nic_hotplug在网卡被熱插到虚拟机上以前。
after_nic_hotplug在网卡被熱插到虚拟机上以后。
before_nic_hotunplug在网卡被从虚拟机上热拔以前。
after_nic_hotunplug在网卡被从虚拟机上热拔以后。
after_nic_hotplug_fail在网卡被热插到虚拟机失败以后。
after_nic_hotunplug_fail在网卡被从虚拟机上热拔失败以后。
before_disk_hotplug在磁盘被熱插到虚拟机上以前。
after_disk_hotplug在磁盘被熱插到虚拟机上以后。
before_disk_hotunplug在磁盘被从虚拟机上热拔以前。
after_disk_hotunplug在磁盘被从虚拟机上热拔以后。
after_disk_hotplug_fail在磁盘被热插到虚拟机失败以后。
after_disk_hotunplug_fail在磁盘被从虚拟机上热拔失败以后。
before_device_create在创建一个支持自定义属性的设备前。
after_device_create在创建一个支持自定义属性的设备后。
before_update_device在更新一个支持自定义属性的设备前。
after_update_device在更新一个支持自定义属性的设备后。
before_device_destroy在删除一个支持自定义属性的设备前。
after_device_destroy在删除一个支持自定义属性的设备后。
before_device_migrate_destination在设备迁移发生前,在迁移的目标主机上运行。
after_device_migrate_destination在设备迁移发生后,在迁移的目标主机上运行。
before_device_migrate_source在设备迁移发生前,在迁移的原始主机上运行。
after_device_migrate_source在设备迁移发生后,在迁移的原始主机上运行。

A.5. VDSM Hook 环境

多数的 hook 脚本会以 vdsm 用户运行并继承 VDSM 进程的环境参数,before_vdsm_startafter_vdsm_stop 事件所驱动的 hook 脚本是例外,它们会以 root 用户执行并不会继承 VDSM 进程的环境参数。

A.6. VDSM Hook Domain XML 对象

在 hook 脚本启动后,_hook_domxml 变量会被加到环境中。这个变量包括了相关虚拟机的 libvirt domain XML 对象的路径。以下所列出的 hook 会例外。
以下 hook 的 _hook_domxml 变量包括了 NIC 的 XML 对象而不是虚拟机的 XML 对象。
  • *_nic_hotplug_*
  • *_nic_hotunplug_*
  • *_update_device
  • *_device_create
  • *_device_migrate_*

重要

before_migration_destinationbefore_dehibernation hook 当前接收原始主机上的 domain XML,而目标主机上的 domain XML 会有所不同。
VDSM 使用 libvirt domain XML 的格式来定义虚拟机。http://libvirt.org/formatdomain.html 提供了关于 libvirt domain XML 格式的详细信息。虚拟机的 UUID 可能可以从 domain XML 中获得,同时环境变量 vmId 也包括了它的值。

A.7. 设置自定义属性

Red Hat Enterprise Virtualization Manager 接受的自定义属性(可以作为参数传递给定制 hook)是通过 engine-config 命令设置的。您需要在 Red Hat Enterprise Virtualization Manager 所在的主机上以 root 用户身份运行这个命令。
UserDefinedVMPropertiesCustomDeviceProperties 这两个配置项被用来保存自定义属性的名称。每个自定义属性的有效值可以使用正则表达式来定义,它们也被保存在这些配置项中。
多个自定义属性可以被分号分隔。请注意,在设置配置项时,这个项的当前值会被覆盖。如需在当前值的基础上添加新的值,在配置命令中需要输入新的值以及当前的值。
当配置项被更新后,新的值在 ovirt-engine 服务被重新启动后才会有效。

例 A.1. 虚拟机属性 - 定义 smartcard 自定义属性

  1. 使用以下命令显示 UserDefinedVMProperties 配置项所定义的自定义属性:
    # engine-config -g UserDefinedVMProperties
    从下面的输出可以看到,自定义属性 memory 已经被定义。其中的正则表达式 ^[0-9]+$ 限定了这个定制属性只能包括数字。
    # engine-config -g UserDefinedVMProperties
    UserDefinedVMProperties:  version: 3.0
    UserDefinedVMProperties:  version: 3.1
    UserDefinedVMProperties:  version: 3.2
    UserDefinedVMProperties:  version: 3.3
    UserDefinedVMProperties : memory=^[0-9]+$ version: 3.2
  2. 因为 memory 自定义属性已经在 UserDefinedVMProperties 配置项中被定义,新的自定义属性(smartcard)就需要添加到它的上面。这个新的自定义属性的值只能是 truefalse
    # engine-config -s UserDefinedVMProperties='memory=^[0-9]+$;smartcard=^(true|false)$' --cver=3.2
  3. 运行以下命令检查 UserDefinedVMProperties 配置项所定义的自定义属性是否已经被正确更新。
    # engine-config -g UserDefinedVMProperties
    UserDefinedVMProperties:  version: 3.0
    UserDefinedVMProperties:  version: 3.1
    UserDefinedVMProperties:  version: 3.2
    UserDefinedVMProperties:  version: 3.3
    UserDefinedVMProperties : memory=^[0-9]+$;smartcard=^(true|false)$ version: 3.2
  4. 最后,重新启动 ovirt-engine 服务来使所做的配置改变有效。
    # service ovirt-engine restart

例 A.2. 设备属性 - 定义 interface 自定义属性

  1. 使用以下命令显示 CustomDeviceProperties 配置项所定义的定制属性:
    # engine-config -g CustomDeviceProperties
    从下面的输出可以看到,没有任何自定义属性被定义。
    # engine-config -g CustomDeviceProperties
    CustomDeviceProperties:  version: 3.0
    CustomDeviceProperties:  version: 3.1
    CustomDeviceProperties:  version: 3.2
    CustomDeviceProperties:  version: 3.3
  2. 因为 interface 自定义属性还不存在,新的自定义属性可以被简单地添加。在这个例子中,speed 属性的有效值是 0 到 99999,duplex 属性的有效值是 fullhalf
    # engine-config -s CustomDeviceProperties="{type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}}" --cver=3.3
  3. 运行以下命令检查 CustomDeviceProperties 配置项已经被正确更新。
    # engine-config -g CustomDeviceProperties
    UserDefinedVMProperties:  version: 3.0
    UserDefinedVMProperties:  version: 3.1
    UserDefinedVMProperties:  version: 3.2
    UserDefinedVMProperties : {type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}} version: 3.3
  4. 最后,重新启动 ovirt-engine 服务来使所做的配置改变有效。
    # service ovirt-engine restart

A.8. 设置虚拟机自定义属性

一旦自定义属性在 Red Hat Enterprise Virtualization Manager 上被定义后,您就可以在虚拟机上设置它们。自定义属性可以在管理门户中的新建虚拟机编辑虚拟机自定义属性标签页中设置。
您也可以在运行虚拟机对话框中设置自定义属性。但是通过运行虚拟机对话框设置的自定义属性要在下一次停机后才会在虚拟机上有效。
自定义属性标签页中提供了一个自定义属性选择列表,在您选择了一个自定义属性的项后,一个用来输入这个自定义属性值的输入框会出现。您可以使用 + 按钮添加自定义属性和它的值;或使用 - 删除它们。

A.9. 在 VDSM Hook 中检查虚拟机的自定义属性

在虚拟机的自定义属性中设置的每一个自定义项以及它的值,在调用 hook 脚本时都会被添加到系统环境参数中。因此,尽管所设定的正则表达式可以对自定义属性项中所输入的值进行一定程度的检查,您还必须在您的脚本中对所输入的值做验证。

例 A.3. 检查自定义属性

这个简单的 Python 程序实例检查自定义属性 key1 是否存在。如果它被设置,它的值会被输出到标准的错误输出中;如果它没有被设置,则没有操作会被执行。
#!/usr/bin/python

import os
import sys

if os.environ.has_key('key1'):
	sys.stderr.write('key1 value was : %s\n' % os.environ['key1'])
else:
    sys.exit(0)

A.10. 使用 VDSM Hooking 模块

VDSM 提供了一个 Python hooking 模块,可以用来帮助开发 VDSM hook 脚本。这个模块以一个实例的形式提供,只对使用 Python 的 VDSM hook 有效。
这个 hooking 模块可以读一个虚拟机的 libvirt XML 并把数据保存为一个 DOM 项。然后,Python 内置的 xml.dom 库 (http://docs.python.org/release/2.6/library/xml.dom.html) 就可以对这个项进行操作。
然后,这个被修改的项就可以通过 hooking 模块存回到 libvirt XML。hooking 模块提供了以下的功能:

表 A.2. Hooking 模块功能

名称参数描述
toboolstring把字符串 "true" 或 "false" 转换为一个布尔(Boolean)值
read_domxml-读虚拟机的 libvirt XML,并把它转换为一个 DOM
write_domxmlDOM object根据 DOM 项写虚拟机的 libvirt XML

A.11. 使用 VDSM hook

为了改变一个虚拟机的 VDSM 定义,before_vm_start 脚本可以在 libvirt 前修改 domain XML。如需这样做,您需要非常的小心。hook 脚本可能会影响到 VDSM 的正常运行,一个有 bug 的脚本可能会导致整个 Red Hat Enterprise Virtualization 环境出现故障。特别需要注意的是,永远不要更改域的 UUID;在没有足够背景知识的情况下不要试图从域中删除一个设备。
before_vdsm_startafter_vdsm_stop hook 脚本都是以 root 用户执行的。如果其它的 hook 脚本需要系统的 root 权限,您需要使用 sudo 命令来升级权限。因为 hook 脚本是以非交互的形式被运行的,您必须配置您的 /etc/sudoers 来允许 vdsm 用户在不需要重新输入密码的情况下使用 sudo

例 A.4. 为 VDSM hook 配置 sudo

在这个实例中,sudo 命令被配置为允许 vdsm 用户以 root 的身份运行 /bin/chown 命令。
  1. 使用 root 用户登录到虚拟主机。
  2. 在文本编辑器中打开 /etc/sudoers
  3. 把以下行添加到文件中:
    vdsm ALL=(ALL) NOPASSWD: /bin/chown
    它设定了 vdsm 用户可以以 root 用户的身份运行 /bin/chown 命令。NOPASSWD 参数指定了在调用 sudo 时,用户不会被提示输入密码。
在进行完这个配置后,VDSM hook 就可以使用 sudo 命令来以 root 用户的身份运行 /bin/chown。以下的这段 Python 代码在 /my_file 文件中使用 sudo 来以 root 用户的身份执行 /bin/chown
retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
hook 脚本的标准错误输出会被保存在 VDSM 的日志文件中。这些信息可以被用来进行故障排除。

A.12. VDSM Hook 返回代码

Hook 脚本必须返回 表 A.3 “Hook 返回代码” 中包括的返回代码之一。返回代码将被用来决定后面的 hook 脚本是否要被 VDSM 处理。

表 A.3. Hook 返回代码

代码描述
0hook 代码成功运行完毕
1hook 脚本运行失败,其它的 hook 脚本仍然需要被处理
2hook 脚本运行失败,其它的 hook 脚本不被处理
>2保留

A.13. VDSM Hook 实例

红帽不会对这里所提供的 hook 脚本进行支持,您需要在系统使用任何 hook 脚本前,对它进行全面的测试。

例 A.5. NUMA 节点优化

目的:

这个 hook 脚本会根据 numaset 这个自定义属性的值在一个 NUMA 主机上优化内存分配。如果这个自定义属性没有被设置,则不会进行任何操作。

配置字符串:

numaset=^(interleave|strict|preferred):[\^]?\d+(-\d+)?(,[\^]?\d+(-\d+)?)*$

这里的正则表达式允许通过虚拟机上的 numaset 自定义属性指定使用的分配模式(interleavestrictpreferred)和节点,这两个值以冒号(:)分隔。这个正则表达式还限定了 nodeset 的有效值为:
  • 一个特定的节点(numaset=strict:1 指定只使用节点 1),或
  • 一个范围之内的节点(numaset=strict:1-4 指定使用节点 1 到节点 4),或
  • 一个特定的节点不能被使用(numaset=strict:^3 指定节点 3 不被使用),或
  • 以逗号分隔的以上值的组合。(numaset=strict:1-4,6 指定使用节点 1 到节点 4,以及节点 6)。
脚本:

/usr/libexec/vdsm/hooks/before_vm_start/50_numa

#!/usr/bin/python

import os
import sys
import hooking
import traceback

'''
numa hook
=========
add numa support for domain xml:

<numatune>
    <memory mode="strict" nodeset="1-4,^3" />
</numatune>

memory=interleave|strict|preferred

numaset="1" (use one NUMA node)
numaset="1-4" (use 1-4 NUMA nodes)
numaset="^3" (don't use NUMA node 3)
numaset="1-4,^3,6" (or combinations)

syntax:
    numa=strict:1-4
'''

if os.environ.has_key('numa'):
    try:
        mode, nodeset = os.environ['numa'].split(':')

        domxml = hooking.read_domxml()

        domain = domxml.getElementsByTagName('domain')[0]
        numas = domxml.getElementsByTagName('numatune')

        if not len(numas) > 0:
            numatune = domxml.createElement('numatune')
            domain.appendChild(numatune)

            memory = domxml.createElement('memory')
            memory.setAttribute('mode', mode)
            memory.setAttribute('nodeset', nodeset)
            numatune.appendChild(memory)

            hooking.write_domxml(domxml)
        else:
            sys.stderr.write('numa: numa already exists in domain xml')
            sys.exit(2)
    except:
        sys.stderr.write('numa: [unexpected error]: %s\n' % traceback.format_exc())
        sys.exit(2)

附录 B. Red Hat Enterprise Virtualization 用户界面插件

B.1. Red Hat Enterprise Virtualization 用户界面插件

Red Hat Enterprise Virtualization 支持使用插件来提供非标准的功能,这可以方便 Red Hat Enterprise Virtualization 管理门户和其它的系统相集成。每个用户界面插件都代表了一组可以和 Red Hat Enterprise Virtualization 一起使用的用户界面扩展。
Red Hat Enterprise Virtualization 的用户界面插件使用 JavaScript 在客户端直接和管理门户相集成。用户界面插件被管理门户所调用,并在浏览器的 JavaScript 运行环境中运行。用户界面插件可以使用 JavaScript 和它的代码库。
在特定的事件发生时,管理门户会通过 event handler 函数来调用独立的插件。虽然管理门户支持多个 event-handler 函数,但是插件还是需要自己声明只对这个插件有意义的函数。在管理门户使用某个插件前,这个插件还需要在插件 bootstrap 中注册相关的 event handler 函数。
管理门户把插件 API 设置为一个全局(top-level) pluginApi JavaScript 项,每个单独的插件都可以获得一个独立的 pluginApi 项。因此,管理门户就可以根据每个插件本身的“生命周期”来控制插件所使用的插件 API 函数调用。

B.2. Red Hat Enterprise Virtualization 用户界面插件的生命周期

B.2.1. Red Hat Enterprise Virtualization 用户界面插件的生命周期

一个用户界面插件的基本生命周期可以被分为 3 个阶段:
  1. 插件发现(plug-in discovery)。
  2. 插件加载(plug-in loading)。
  3. 插件引导(plug-in bootstrapping)。

B.2.2. Red Hat Enterprise Virtualization 用户界面插件的发现

创建插件的描述符(descriptor)是插件发现阶段的第一步。插件描述符包括了重要的插件元数据和默认的插件配置。
作为处理管理门户 HTML 页请求(HTTP GET)的一部分,用户界面插件系统会尝试从您的本地系统上发现并加载插件描述符。 对于每一个插件描述符,系统会尝试使用相应的插件用户配置来覆盖插件的默认配置,并调整插件运行时的行为。插件的用户配置是可选的。在插件描述符和用户额配置被加载后,oVirt 引擎会把所有的用户界面插件的数据进行综合,并把它们加入到管理门户的 HTML 页中。
在默认的情况下,插件的描述符位于 $ENGINE_USR/ui-plug-ins 中,ENGINE_USR=/usr/share/ovirt-engine 是 oVirt 引擎本地配置的默认值。插件的描述符需要符合 JSON 格式的规则,但它同时也支持 Java/C++ 语言的注释风格(/*//)。
在默认的情况下,插件的用户配置文件位于$ENGINE_ETC/ui-plug-ins 中,ENGINE_ETC=/etc/ovirt-engine 是 oVirt 引擎本地配置的默认值。插件的用户配置文件的格式规则和插件描述符的格式规则相同。

注意

插件的用户配置文件通常使用 <descriptorFileName>-config.json 的命名规则。

B.2.3. Red Hat Enterprise Virtualization 用户界面插件加载

在一个插件被发现并被加入到管理门户的 HTML 页后,管理门户会把这个插件作为应用程序启动的一部分进行加载(除非您把它设置为不作为应用程序启动的一部分进行加载)。
当插件被发现后,管理门户会创建一个 HTML iframe 项来加载它的主页。插件的引导过程需要这个插件的主页(插件主页会在插件 iframe 项的环境中检查插件代码)。用户界面的插件系统支持本地文件系统提供的插件源文件(如插件的主页)。插件的主页被加载到 iframe 项中,它的代码会被检查。在代码检查完成后,插件使用插件 API 和管理门户进行交流。

B.2.4. Red Hat Enterprise Virtualization 用户界面插件引导

一个典型的插件引导过程包括以下步骤:

过程 B.1. 插件引导过程

  1. 为插件获得 pluginApi 项
  2. 获得运行时的插件配置项(可选)
  3. 注册相关的 event handler 函数
  4. 通知 UI 插件系统来处理插件的初始化
下面的一段代码显示以上步骤的实现:
// Access plug-in API using 'parent' due to this code being evaluated within the context of an iframe element.
// As 'parent.pluginApi' is subject to Same-Origin Policy, this will only work when WebAdmin HTML page and plug-in
// host page are served from same origin. WebAdmin HTML page and plug-in host page will always be on same origin
// when using UI plug-in infrastructure support to serve plug-in resource files.
var api = parent.pluginApi('MyPlugin');

// Runtime configuration object associated with the plug-in (or an empty object).
var config = api.configObject();

// Register event handler function(s) for later invocation by UI plug-in infrastructure.
api.register({
	    // UiInit event handler function.
		UiInit: function() {
				// Handle UiInit event.
					window.alert('Favorite music band is ' + config.band);
					    }
});

// Notify UI plug-in infrastructure to proceed with plug-in initialization.
api.ready();

B.4. 用户界面插件实现的实例

下面介绍了创建一个用户界面插件的方法。这里所创建的插件所实现的功能是,当用户登录到 Red Hat Enterprise Virtualization Manager 管理门户后,这个插件会运行一个 Hello World! 程序。

过程 B.2. 实现一个 Hello World! 插件

  1. 在 Manager 上添加以下的 /usr/share/ovirt-engine/ui-plugins/helloWorld.json 文件来创建一个插件描述符:
    {
        "name": "HelloWorld",
        "url": "/ovirt-engine/webadmin/plugin/HelloWorld/start.html",
        "resourcePath": "hello-files"
    }
    
  2. 在 Manager 上添加以下的 /usr/share/ovirt-engine/ui-plugins/hello-files/start.html 文件来创建插件主页:
    <!DOCTYPE html><html><head>
    <script>
        var api = parent.pluginApi('HelloWorld');
        api.register({
    	UiInit: function() { window.alert('Hello world'); }
        });
        api.ready();
    </script>
    </head><body></body></html>
    
如果您成功地部署了这个 Hello World! 插件,在您登录到管理门户的时候会看到以下显示:
成功部署的 Hello World! 插件

图 B.1. 成功部署的 Hello World! 插件

B.5. 安装 Red Hat Support 插件

使用 Red Hat Support 插件可以从 Red Hat Enterprise Virtualization 管理门户中直接访问 Red Hat Access 服务。

过程 B.3. 安装 Red Hat Support 插件

注意

在 Red Hat Enterprise Virtualization 3.3 中,Red Hat Support 插件会被默认安装,您不需要执行以下步骤。而在 Red Hat Enterprise Virtualization 3.2 中,Red Hat Support 插件不会被默认安装,您需要执行以下步骤安装它。
  • 使用 yum 安装 redhat-support-plugin-rhev 插件:
    # yum install redhat-support-plugin-rhev

B.6. 使用 Red Hat Support 插件

Red Hat Access 插件允许您在 Red Hat Enterprise Virtualization 管理门户中使用 Red Hat access 服务。您需要使用您的 Red Hat login 帐号进行登录。如果您没有登录,Red Hat Access 插件会打开一个登录窗口。

注意

Red Hat Enterprise Virtualization 管理门户的登录帐号和用户的 Red Hat login 不同。
The Red Hat Support Plug-in Login Window

图 B.2. Red Hat Support 插件 - 登录窗口

在登录后,您将可以访问 Red Hat Customer Portal。Red Hat Support 插件可以在 Red Hat Enterprise Virtualization 管理门户中的详情框,以及其它一些菜单中找到。您可以使用搜索框在 Red Hat Access 数据库中进行查询,搜索的结果会在详情框左面的导航列表中显示。
Query results in the left-hand navigation list of the Red Hat Support Plug-in

图 B.3. Red Hat Support 插件 - 左面导航列表中显示的查询结果

在 Red Hat Enterprise Virtualization 管理门户中的相关项上点鼠标右键来使用 Red Hat Support 插件。
Right-clicking on a context menu to access Red Hat Support Plug-in

图 B.4. 在相关项上点鼠标右键来使用 Red Hat Support 插件

选择 Open New Support Case 打开一个新的支持档案;或选择 Modify Existing Case 来修改一个存在的支持档案。
Red Hat Support Plug-in Opening a New Support Case

图 B.5. Red Hat Support 插件 - 打开一个新的支持档案

选择 Red Hat Documentation 标签页打开和当前的管理门户所显示的内容相关的档案。
Red Hat Support Plug-in - a picture showing how to access documentation through the Red Hat Support Plug-in

图 B.6. Red Hat Support 插件 - 访问文档

附录 C. Red Hat Enterprise Virtualization 和 SSL

C.1. 替换 Red Hat Enterprise Virtualization Manager SSL 证书

警告

不要修改 /etc/pki 目录和它的所有子目录的访问权限和所有者权限。/etc/pki/etc/pki/ovirt-engine 目录的权限必须保持为默认的值(755)。
当用户通过 HTTPS 连接到您的 Red Hat Enterprise Virtualization Manager 时,您希望使用由商业证书授权机构为您签发的证书。

注意

使用商业证书授权机构签发的证书进行 https 连接,并不会影响到 Manager 和主机间进行验证时所使用的证书,它们仍然使用由 Manager 产生的自己签发的证书来进行验证。
前提条件

您需要一个商业证书授权机构签发的 PEM 格式的证书、一个 .nokey 文件和一个 .cer 文件。.nokey.cer 文件有时以 P12 格式的证书密钥被发放。

这个步骤假设您已经有了 P12 格式的证书密钥。

过程 C.1. 替换 Red Hat Enterprise Virtualization Manager Apache SSL 证书

  1. Manager 已经被配置为使用 /etc/pki/ovirt-engine/apache-ca.pem(到 /etc/pki/ovirt-engine/ca.pem 的一个符号链接)。删除这个符号链接。
    # rm /etc/pki/ovirt-engine/apache-ca.pem
  2. 把您的商业证书授权机构签发的证书保存为 /etc/pki/ovirt-engine/apache-ca.pem。证书链必须包括根证书,它的顺序非常重要,需要是从最后一个中间证书到根证书。
    mv YOUR-3RD-PARTY-CERT.pem /etc/pki/ovirt-engine/apache-ca.pem
  3. 把您的 P12 文件移到 /etc/pki/ovirt-engine/keys/apache.p12
  4. 从文件中展开密钥。
    # openssl pkcs12 -in  /etc/pki/ovirt-engine/keys/apache.p12 -nocerts -nodes > /etc/pki/ovirt-engine/keys/apache.key.nopass
  5. 从文件中展开证书
    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nokeys > /etc/pki/ovirt-engine/certs/apache.cer
  6. 重新启动 Apache 服务器。
    # service httpd restart
当用户使用 https 连接到您的门户上时,不会再出现质疑您所使用的证书的权威性的警告信息。

重要

替换证书可能会导致日志收集程序出现问题(如 https://access.redhat.com/solutions/458713 所述)。为了避免问题的出现,编辑日志收集程序的配置:
  1. 从 CA 服务器输出 CA 证书,把它复制到 Red Hat Enterprise Virtualization Manager 服务器。
  2. 通过把一下内容添加到 /etc/ovirt-engine/logcollector.conf 文件来把日志收集程序指向新的位置:
    cert-file=/path/to/new/CA/file

C.2. 在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接

要在 Red Hat Enterpriser Virtualization Manager 和一个 LDAP 服务器间创建一个安全的连接,需要获得服务器的根(root)CA 证书。把它导入到 Manager 来创建一个公共 keystore 文件来保存信息。keystore 可以是 Java 支持的任何类型,以下操作使用 Java KeyStore (JKS) 格式。

注意

如需了解更多与创建证书 keystore 相关的信息,请参阅 README 文件(/usr/share/doc/ovirt-engine-extension-aaa-ldap-version)的 X.509 CERTIFICATE TRUST STORE 一节。
获得 LDAP 服务器的根 CA 证书,把它复制到 Manager 的 /tmp 目录下。然后,使用以下流程在 Manager 上创建一个公共 keystore 文件。使用功能 keystore 文件的信息更新 LDAP 属性配置文件。

过程 C.2. 创建一个 keystore 文件

  1. 在 Red Hat Enterprise Virtualization Manager 上,导入证书并创建一个公共 keystore 文件。以下命令会在 /tmp/myrootca.pem 导入根 CA 证书,并在 /etc/ovirt-engine/aaa/ 中创建一个公共 keystore 文件(myrootca.jks)。
    $ keytool -importcert -noprompt -trustcacerts -alias myrootca -file /tmp/myrootca.pem -keystore /etc/ovirt-engine/aaa/myrootca.jks -storepass changeit
  2. 使用 keystore 文件的信息更新 /etc/ovirt-engine/aaa/profile1.properties 文件。

    注意

    ${local:_basedir} 是 LDAP 属性配置文件所在的目录,它指向 /etc/ovirt-engine/aaa 目录。如果您在不同的目录中创建了公共 keystore 文件,使用到公共 keystore 文件的完全路径替换 ${local:_basedir}
    • 使用 startTLS(推荐):
      # Create keystore, import certificate chain and uncomment
      pool.default.ssl.startTLS = true
      pool.default.ssl.truststore.file = ${local:_basedir}/myrootca.jks
      pool.default.ssl.truststore.password = changeit
    • 使用 SSL:
      # Create keystore, import certificate chain and uncomment
      pool.default.serverset.single.port = 636
      pool.default.ssl.enable = true
      pool.default.ssl.truststore.file = ${local:_basedir}/myrootca.jks
      pool.default.ssl.truststore.password = changeit
要继续配置一个通用的 LDAP 供应商,请参阅 第 13.2.2 节 “配置通用的 LDAP 供应商”。要配置 LDAP 和 Kerberos 进行单点登录,请参阅 第 13.2.3.1 节 “为 LDAP 和 Kerberos 配置单点登录”

附录 D. 使用搜索、书签和标签

D.1. 搜索

D.1.1. 在 Red Hat Enterprise Virtualization 中进行搜索

管理门户可以管理上千的资源,如虚拟机、主机、用户等等。要进行一个搜索,在搜索条中输入搜索条件。搜索条件可以被保存为“书签”以便日后使用。搜索条件不区分大小写。

D.1.2. 搜索语法和实例

对 Red Hat Enterprise Virtualization 资源进行搜索的查询语句的语法是:
result type: {criteria} [sortby sort_spec]
语法实例

以下的实例介绍了如何使用搜索查询的功能,以及 Red Hat Enterprise Virtualization 可以如何帮助创建搜索查询。

表 D.1. 搜索查询实例

实例结果
Hosts: Vms.status = up显示所有状态为 up 的运行的虚拟机。
Vms: domain = qa.company.com显示指定域中的所有虚拟机列表。
Vms: users.name = Mary显示所有属于用户名为 Mary 的用户的虚拟机。
Events: severity > normal sortby time显示所有 severity 的值高于 Normal 的事件,并以时间顺序排序。

D.1.3. 带自动完成功能的搜索

管理门户为搜索提供了自动完成的功能。在您输入搜索条件的一部分时,搜索条的下面会显示一个下拉菜单,其中包括了您可以选择作为搜索条件下一部分的内容。您可以选择使用这个下拉菜单所提供的内容,也可以继续手工输入您的搜索条件。
下表通过实例展示了管理门户的自动完成功能如何帮助您创建一个搜索条件:
Hosts: Vms.status = down

表 D.2. 使用自动完成功能的搜索条件实例

输入显示的内容列表操作
h Hosts(只有一个选项)
选择 Hosts 或;
输入 Hosts
Hosts:
主机的所有属性
输入 v
Hosts: v v 开头的主机属性选择 Vms 或输入 Vms
Hosts: Vms 所有虚拟机属性输入 s
Hosts: Vms.s s 开头的所有虚拟机属性选择 status 或输入 status
Hosts: Vms.status
=
=!
选择或输入 =
Hosts: Vms.status = 所有状态值选择或输入 down

D.1.4. 搜索的结果类型选项

使用结果类型可以对以下类型的资源进行搜索:
  • Vms:一个虚拟机列表
  • Host:一个主机列表
  • Pools:一个池列表
  • Template:一个模板列表
  • Event:一个事件列表
  • Users:一个用户列表
  • Cluster:一个集群列表
  • Datacenter:一个数据中心列表
  • Storage:一个存储域列表
因为每个资源类型都有一组特定的属性,以及和它相关的其它资源,所以每个搜索类型都有一组特定的组合。因此,自动完成功能可以根据这些组合来帮助您方便地创建有效的搜索条件。

D.1.5. 搜索条件

您可以在搜索查询命令中的冒号后面指定搜索条件。{criteria} 的使用语法是:
<prop><operator><value>
<obj-type><prop><operator><value>
实例

下表列出了语法中每一部分的含义:

表 D.3. 搜索实例

部分描述示例注意
prop要搜索的资源的属性。也可以是一个资源类型(obj-type)或 tag(自定义标签)的属性。把搜索的范围限制在所指定的属性中。例如,搜索带有 status 属性的资源。Status不适用
obj-type所搜索资源的资源类型。系统项,如数据中心和虚拟机。Users不适用
operator比较操作符。
=
!= (不等于)
>
<
>=
<=
不适用可用的值由 obj-type 的值决定。
Value用来比较的值。
字符串
整数
级别
日期(使用在地区设置中所指定的格式)
Jones
256
normal
  • 在字符串中可以使用通配符。
  • "" (在两个引号间没有空格)可以被用来代表一个空的字符串。
  • 如果字符串或日期中包括空格,这个字符串或日期需要使用双引号

D.1.6. 搜索:多个条件和通配符

<value> 部分可以使用通配符。如要查找所有以 m 开头的用户,输入 m*
您也可以通过使用布尔运算符 ANDOR 指定多个搜索条件,如:
Vms: users.name = m* AND status = Up
这个搜索查询会返回,用户名 "m" 开头的用户正在运行的所有虚拟机。
Vms: users.name = m* AND tag = "paris-loc"
这个搜索查询会返回,用户名以 "m" 开头的用户运行的、带有 "paris-loc" 标签的虚拟机。
当使用两个搜索条件而之间没有使用 ANDOR 时,这意味着 AND 被隐含使用。AND 的优先级高于 OROR 的优先级高于隐含使用的 AND

D.1.7. 搜索:决定搜索结果的顺序

您可以使用 sortby 来指定搜索结果的顺序。您还可以指定是 asc (升序)还是 desc(降序)排列。
例如:
events: severity > normal sortby time desc
这个搜索查询会返回级别高于 Normal 的所有事件,并以时间降序排列。

D.1.8. 对数据中心的搜索

下面介绍了对数据中心进行搜索时可以使用的选项。

表 D.4. 对数据中心的搜索

资源或资源类型的属性类型描述
Clusters.clusters-prop由属性类型决定和数据中心相关的集群的属性。
name字符串数据中心的名称。
description字符串数据中心的描述。
type字符串数据中心的类型。
status列表数据中心的状态。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
实例

Datacenter: type = nfs and status != up

这个实例返回一个满足以下条件的数据中心列表:
  • 有一个 NFS 存储,状态不是 up

D.1.9. 搜索集群

下面介绍了对集群进行搜索时可以使用的选项。

表 D.5. 搜索集群

资源或资源类型的属性类型描述
Datacenter.datacenter-prop由属性类型决定与集群相关的数据中心的属性。
Datacenter字符串集群所属的数据中心。
name字符串用来在网络中标识集群的名称。
description字符串集群的描述。
initialized字符串True 或 False 来标记集群的状态。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Clusters: initialized = true or name = Default

这个实例返回一个满足以下条件的集群列表:
  • 被初始化了;或
  • 它们的名称是 Default

D.1.10. 搜索主机

下面介绍了对主机进行搜索时可以使用的选项。

表 D.6. 搜索主机

资源或资源类型的属性类型Description (Reference)
Vms.Vms-prop由属性类型决定与主机相关的虚拟机的属性
Templates.templates-prop由属性类型决定与主机相关的模板的属性。
Events.events-prop由属性类型决定与主机相关的事件的属性。
Users.users-prop由属性类型决定与主机相关的用户的属性。
name字符串主机的名称。
status列表主机的状态。
cluster字符串主机所属的集群。
address字符串用来在网络中标识主机的名称。
cpu_usage整数CPU 被使用的百分数。
mem_usage整数内存被使用的百分数。
network_usage整数网络被使用的百分数。
load整数在一个指定的时间段中,每个处理器中的、等待在 run-queue 中被执行的工作数量。
version整数操作系统的版本号。
cpus整数主机上的 CPU 数量。
memory整数可用内存的数量。
cpu_speed整数CPU 的处理速度。
cpu_model字符串CPU 的类型。
active_vms整数当前正在运行的虚拟机数量。
migrating_vms整数当前正在被迁移的虚拟机数量。
committed_mem整数被分配的内存的百分数。
tag字符串主机的标签(tag)
type字符串主机类型。
datacenter字符串主机所属的数据中心。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Hosts: cluster = Default and Vms.os = rhel6

这个实例返回一个主机的列表,这些主机:
  • 是 Default 集群的一部分,主机上的虚拟机运行 Red Hat Enterprise Linux 6 操作系统。

D.1.11. 搜索网络

下面介绍了对网络进行搜索时可以使用的选项。

表 D.7. 搜索网络

资源或资源类型的属性类型描述
Cluster_network.clusternetwork-prop由属性类型决定与网络相关的集群的属性。
Host_Network.hostnetwork-prop由属性类型决定与网络相关的主机的属性。
name字符串被用来识别网络的网络名。
description字符串网络的关键字或描述(创建网络时的可选属性)
vlanid整数网络的 VLAN ID。
stp字符串网络是否启用或禁用 STP。
mtu整数逻辑网络的最大传输单位。
vmnetwork字符串网络是否只用于虚拟机的通信。
datacenter字符串网络所在的数据中心
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Network: mtu > 1500 and vmnetwork = true

这个实例返回一个符合以下条件的网络列表:
  • 最大传输单元大于 1500 字节
  • 只为虚拟机使用。

D.1.12. 搜索存储

下面介绍了对存储进行搜索时可以使用的选项。

表 D.8. 搜索存储

资源或资源类型的属性类型描述
Hosts.hosts-prop由属性类型决定与存储相关的主机的属性。
Clusters.clusters-prop由属性类型决定与存储相关的集群的属性。
name字符串用来在网络中标识存储的名称。
status字符串存储域的状态。
datacenter字符串存储所在的数据中心。
type字符串存储的类型。
size整数存储的大小。
used整数已经被使用的存储的大小。
committed整数被分配的存储的大小。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Storage: size > 200 or used < 50

这个实例返回满足以下条件的存储列表:
  • 总存储空间大于 200 GB;或
  • 被使用的存储空间小于 50 GB。

D.1.13. 搜索磁盘

下面介绍了对磁盘进行搜索时可以使用的选项。

表 D.9. 搜索磁盘

资源或资源类型的属性类型描述
Datacenters.datacenters-prop由属性类型决定与磁盘相关的数据中心的属性。
Storages.storages-prop由属性类型决定与磁盘相关的存储的属性。
alias字符串被用来在网络中识别存储的名称。
description字符串网络的关键字或描述(创建磁盘时的可选属性)
provisioned_size整数虚拟磁盘的大小。
size整数磁盘的大小。
actual_size整数为磁盘分配的实际空间的大小。
creation_date整数磁盘被创建的时间。
bootable字符串磁盘是否可以被引导。有效的值是 01yesno
shareable字符串磁盘是否可以被共享。有效的值是 01yesno
format字符串磁盘的格式。有效的值是 unusedunassignedcowraw
status字符串磁盘的状态。有效的值是 unassignedoklockedinvalidillegal
disk_type字符串磁盘的类型。有效的值是 imagelun
number_of_vms整数磁盘被附加到的虚拟机的数量。
vm_names字符串磁盘被附加到的虚拟机的名称。
quota字符串磁盘使用的配额的名称。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Disks: format = cow and provisioned_size > 8

返回满足以下条件的虚拟磁盘列表:
  • 格式是 QCOW(也被称为 thin provisioning)
  • 被分配的磁盘空间大小大于 8 GB。

D.1.14. 搜索卷

下面介绍了对卷进行搜索时可以使用的选项。

表 D.10. 搜索卷

资源或资源类型的属性类型描述
Volume.cluster-prop由属性类型决定与卷相关的集群的属性。
Cluster字符串与卷相关的集群的名称。
name字符串被用来识别卷的卷名。
type字符串可以是 distribute、replicate、distributed_replicate、stripe 或 distributed_stripe。
transport_type整数可以是 TCP 或 RDMA
replica_count整数replica 的数量。
stripe_count整数stripe 的数量。
status字符串卷的状态。有效值是 Up 或 Down。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Volume: transport_type = rdma and stripe_count >= 2

这个实例返回满足以下条件的卷列表:
  • 传输类型是 RDMA;并且
  • 有 2 个或多个 stripe。

D.1.15. 搜索虚拟机

下表介绍了对虚拟机进行搜索时可以使用的选项。

表 D.11. 搜索虚拟机

资源或资源类型的属性类型描述
Hosts.hosts-prop由属性类型决定与虚拟机相关的主机的属性。
Templates.templates-prop由属性类型决定与虚拟机相关的模板的属性。
Events.events-prop由属性类型决定与虚拟机相关的事件的属性。
Users.users-prop由属性类型决定与虚拟机相关的用户的属性。
Storage.storage-prop由属性类型决定与虚拟机相关的存储设备属性。
Vnic.mac-prop由属性类型决定与虚拟机相关的 MAC 地址属性。
name字符串虚拟机名称。
status列表虚拟机的状态。
ip整数虚拟机的 IP 地址。
uptime整数虚拟机已经运行的时间(以分钟为单位)
domain字符串虚拟机的域(通常是 Active Directory 域)。
os字符串在虚拟机被创建时所选的操作系统。
creationdate日期虚拟机被创建的时间。
address字符串用来在网络中标识虚拟机的名称。
cpu_usage整数使用的 CPU 资源的百分比。
mem_usage整数内存被使用的百分比。
network_usage整数网络被使用的百分比。
memory整数定义的最大内存。
apps字符串当前在虚拟机上安装的应用程序。
cluster列表虚拟机所在的集群。
pool列表虚拟机所在的虚拟机池。
loggedinuser字符串当前登录到虚拟机上的用户的用户名。
tag列表与虚拟机相关的标签(tag)。
datacenter字符串虚拟机所在的数据中心。
type列表虚拟机类型(服务器或桌面)。
quota字符串与虚拟机相关的配额的配额名。
description字符串虚拟机的关键字或描述(创建虚拟机时的可选属性)
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Vms: template.name = Win* and user.name = ""

它会返回满足以下条件的虚拟机:
  • 虚拟机所基于的模板的模板名以 Win 开头,并且虚拟机被分配给任何用户。
示例

Vms: cluster = Default and os = windows7

它会返回满足以下条件的虚拟机:
  • 虚拟机所在的集群的名称为 Default,并且虚拟机使用 Windows 7 操作系统。

D.1.16. 搜索池

下面介绍了对池进行搜索时可以使用的选项。

表 D.12. 搜索池

资源或资源类型的属性类型描述
name字符串池的名称。
description字符串池的描述。
type类表池的类型。
sortby类表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Pools: type = automatic

这个实例返回满足以下条件的池列表:
  • 类型是 automatic

D.1.17. 搜索模板

下面介绍了对模板进行搜索时可以使用的选项。

表 D.13. 搜索模板

资源或资源类型的属性类型描述
Vms.Vms-prop字符串与模板相关的虚拟机的属性。
Hosts.hosts-prop字符串与模板相关的主机的属性。
Events.events-prop字符串与模板相关的事件的属性。
Users.users-prop字符串与模板相关的用户的属性。
name字符串模板的名称。
domain字符串模板所在的域。
os字符串操作系统的类型。
creationdate整数
模板被创建的时间。
时间的格式是 mm/dd/yy
childcount整数通过模板创建的虚拟机的数量。
mem整数定义的内存。
description字符串模板的描述。
status字符串模板的状态。
cluster字符串与模板相关的集群。
datacenter字符串与模板相关的数据中心。
quota字符串与模板相关的配额。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Template: Events.severity >= normal and Vms.uptime > 0

这个实例返回满足以下条件的模板列表:
  • 基于这个模板所创建的虚拟机上有 severity 级别是 normal 或更高的事件发生,并且虚拟机还在运行。

D.1.18. 搜索用户

下面介绍了对用户进行搜索时可以使用的选项。

表 D.14. 搜索用户

资源或资源类型的属性类型描述
Vms.Vms-prop由属性类型决定与用户相关的虚拟机的属性。
Hosts.hosts-prop由属性类型决定与用户相关的主机的属性。
Templates.templates-prop由属性类型决定与用户相关的模板的属性。
Events.events-prop由属性类型决定与用户相关的事件的属性。
name字符串用户的名称。
lastname字符串用户的姓(last name)
usrname字符串用户的用户名。
department字符串用户所在的部门。
group字符串用户所在的组。
title字符串用户的职位。
status字符串用户的状态。
role字符串用户的角色。
tag字符串与用户相关联的标签(tag)
pool字符串用户所在的池。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Users: Events.severity > normal and Vms.status = up or Vms.status = pause

这个实例返回满足以下条件的用户列表:
  • 用户的虚拟机上有 severity 级别为 normal 或更高级别的事件,并且虚拟机仍然在运行;或
  • 用户的虚拟机的状态为 paused。

D.1.19. 搜索事件

下面介绍了对事件进行搜索时可以使用的选项。

表 D.15. 搜索事件

资源或资源类型的属性类型描述
Vms.Vms-prop由属性类型决定与事件相关的虚拟机的属性。
Hosts.hosts-prop由属性类型决定与事件相关的主机的属性。
Templates.templates-prop由属性类型决定与事件相关的模板的属性。
Users.users-prop由属性类型决定与事件相关的用户的属性。
Clusters.clusters-prop由属性类型决定与事件相关的集群的属性。
Volumes.Volumes-prop由属性类型决定与事件相关的卷的属性。
type列表事件的类型。
severity列表事件的 severity 级别:Warning/Error/Normal。
message字符串事件类型的描述。
time列表数据发生的时间。
usrname字符串与事件相关的用户名。
event_host字符串与事件相关的主机。
event_vm字符串与时间相关的虚拟机。
event_template字符串与事件相关的模板。
event_storage字符串与事件相关的存储。
event_datacenter字符串与事件相关的数据中心。
event_volume字符串与事件相关的卷。
correlation_id整数事件的识别码(ID)
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Events: Vms.name = testdesktop and Hosts.name = gonzo.example.com

这个实例返回满足以下条件的事件列表:
  • 在主机 gonzo.example.com 上运行的、名为 testdesktop 的虚拟机上的事件。

D.2. 书签

D.2.1. 把一个搜索条件保存为书签

一个搜索条件可以被存成一个书签,并和其它用户共享这个书签。

过程 D.1. 把一个搜索条件保存为书签

  1. 在搜索栏中输入搜索条件并执行这个搜索。
  2. 点搜索栏右面的星形书签图标打开一个新书签窗口。
    书签图标

    图 D.1. 书签图标

  3. 输入书签的名称
  4. 如果需要的话,编辑搜索字符串中的内容。
  5. 确定把搜索条件保存为一个书签,并关闭窗口。
  6. 这个搜索条件被保存为一个书签,并出现在书签框中。
您把一个搜索条件存为了一个书签以便日后使用。 您可以在书签框中查找并选择书签。

D.2.2. 编辑一个书签

您可以编辑一个书签的名称和搜索字符串。

过程 D.2. 编辑一个书签

  1. 点屏幕左面的书签页。
  2. 选择您需要编辑的书签。
  3. 编辑按钮打开编辑书签窗口。
  4. 根据需要修改名称搜索字符串中的内容。
  5. 确认保持所编辑的书签。
您编辑了一个搜索书签。

D.2.3. 删除一个书签

当一个书签不再需要时,可以删除它。

过程 D.3. 删除一个书签

  1. 点屏幕左面的书签页。
  2. 选择您需要删除的书签。
  3. 删除键打开删除书签窗口。
  4. 确认删除所选的书签。
您删除了一个搜索书签。

D.3. 标签

D.3.1. 使用标签来定制和 Red Hat Enterprise Virtualization 进行交流的方式

当您的 Red Hat Enterprise Virtualization 平台根据您的需要进行配置后,您可以通过使用标签(tag)来定制在它上面工作的方式。标签为系统管理员提供了一个关键的功能:使用标签可以把系统资源分成组或类。这个功能使管理员可以只专注于特定的资源,而不用受到环境中其它虚拟资源的干扰。
本节介绍了如果创建和编辑标签、为主机或虚拟机分配标签、以及使用标签作为搜索条件的方法。您可以根据您所在机构的管理结构,把标签创建为一个分级的结构。
管理门户中的标签可以通过使用标签框中的键来进行创建、编辑和删除。

D.3.2. 创建一个标签

通过创建标签,您可以使用它门来过滤搜索的结果。

过程 D.4. 创建一个标签

  1. 点屏幕左面的标签页。
  2. 选择您需要创建标签的节点。例如,您需要在最高级别创建标签,点 root 节点。
  3. 新建按钮打开新建标签窗口。
  4. 输入新标签的名称描述
  5. 确认来创建标签。
新标签被创建并出现在标签页中。

D.3.3. 修改一个标签

您可以编辑标签的名称和描述。

过程 D.5. 修改一个标签

  1. 点屏幕左面的标签页。
  2. 选择您需要修改的标签。
  3. 编辑打开编辑标签窗口。
  4. 根据需要修改名称描述项中的内容。
  5. 确认保存所编辑的标签。
您编辑了一个标签的属性。

D.3.4. 删除一个标签

当一个标签不再需要时,可以删除它。

过程 D.6. 删除一个标签

  1. 点屏幕左面的标签页。
  2. 选择您需要删除的标签。
  3. 删除打开删除标签窗口。这个窗口包括了删除标签将同时删除所有标签的依赖关系的警告信息。
  4. 确认删除所选的标签。
您删除了标签,以及它所有的依赖关系。这个标签将会从它所附加到的所有项中删除。

D.3.5. 为项添加或删除标签

您可以为主机、虚拟机和用户添加或删除标签。

过程 D.7. 为项添加或删除标签

  1. 点资源标签页,选要添加或删除标签的项。
  2. 分配标签按钮打开分配标签窗口。
  3. 选择相应的选择框来为这个项分配一个标签,或取消选择相应的选择框来为这个项删除标签。
  4. 确定
指定的标签被添加到所选项的自定义属性中,或从所选项的自定义属性中删除。

D.3.6. 使用标签进行搜索

  • 在搜索查询中使用 tag 作为属性并指定特定的搜索条件。
    满足指定条件的标签所在的项会显示在结果列表中。

附录 E. 品牌化

E.1. 品牌化

E.1.1. 重新品牌化 Manager

Red Hat Enterprise Virtualization Manager 的许多方面都可以被定制,例如使用的图标、弹出窗口中所显示的信息、欢迎页中的链接等。通过定制它们,您可以重新品牌化(re-brand)您所使用的 Manager 系统,使它以您所需要的形式出现在管理员和用户面前。
定制 Manager 系统的文件位于 Manager 所在系统的 /etc/ovirt-engine/branding/ 目录下。这些文件包括了一组用来改变用户图形界面风格的 CSS 文件,以及一组包括了在 Manager 的不同组件中显示的信息和链接的属性文件。
要定制一个组件,您需要编辑那个组件的文件并保存它。在您下一次打开或刷新那个组件时,您所做的改变将会被显示。

E.1.2. 登录界面

登录界面包括了管理门户和用户门户的登录界面。登录界面的以下项可以被定制:
  • 边框
  • 左面页头的图形
  • 右面页头的图形
  • 页头的信息
登录界面的 class 位于 common.css 文件中。

E.1.3. 管理门户界面

管理门户界面就是您登录到管理门户后所看到的主界面。管理门户的以下项可以被定制:
  • 徽标
  • 左面的背景图形
  • 中央的背景图形
  • 右面的背景图形
  • 徽标右面的文字
管理门户界面的 class 位于 web_admin.css 文件中。

E.1.4. 用户门户界面

用户门户界面就是您登录到用户门户后所看到的主界面。用户门户的以下项可以被定制:
  • 徽标
  • 中央的背景图形
  • 右面的背景图形
  • 主界面的边框
  • 登录用户信息上方的文字
用户门户的 class 位于 user_portal.css 文件中。

E.1.5. 弹出窗口

弹出窗口就是那些运行您创建、编辑或更新某个项(如一个主机或虚拟机)的窗口。弹出窗口的以下项可以被定制:
  • 边框
  • 窗口头左面的图形
  • 窗口头中间的图形(重复的)
弹出窗口的 class 位于 common.css

E.1.6. 标签页

用户门户包括了两类标签页 - 切换基本试图和扩展试图的主标签页和在扩展试图屏幕左面的标签页。标签页的以下项可以被定制:
  • 选中
  • 没被选中
标签页的 class 位于 common.cssuser_portal.css 文件中。

E.1.7. 欢迎页

欢迎页就是您访问 Manager 的主页时初始显示的页。您除了可以定制它的外观和风格,您还可以通过编辑一个模板文件来对它进行其它的一些修改,如在这个页中添加额外的链接。欢迎页的以下项可以被定制:
  • 页的标题
  • 页头(左、中和右)
  • 错误信息
  • 向前的链接以及与那个链接相关的文字信息
欢迎页的 class 位于 welcome_style.css 文件中。
模板文件

欢迎页的模板文件是一个名为 welcome_page.template 的普通 HTML 文件,它不包括 HTMLHEADBODY tag。这个文件会被直接插入到欢迎页中,作为要在欢迎页中显示的信息的容器。因此,您需要通过编辑这个文件来修改欢迎页中的信息或为它添加链接。另外,模板文件还提供了替代符(如 {user_portal}),在欢迎页被处理的时候,这些替代符会被 messages.properties 文件中的信息所替代。

E.1.8. 未找到页面页

未找到页面页就是您所要打开的页没有在 Red Hat Enterprise Virtualization Manager 中找到时所显示的页。未找到页面页中的以下项可以被定制:
  • 页的标题
  • 页头(左、中和右)
  • 错误信息
  • 向前的链接以及与那个链接相关的文字信息
未找到页面页的 class 位于 welcome_style.css 文件中。

附录 F. 修订历史

修订历史
修订 3.6-6.1Fri 12 Feb 2016Red Hat Localization Services
与 XML 源 3.6-6 版本同步的翻译文件
修订 3.6-6Thu 11 Feb 2016Red Hat Enterprise Virtualization Documentation Team
BZ#1283074 - 更新了新建虚拟机窗口中的设置的内容。
BZ#978712 - 增加了附加 Gluster 存储卷作为一个存储域的内容。
BZ#1276715 - 删除了到可以迁移虚拟机的 UserVmManager 的参考。
+ BZ#1268304 - 使用 VnicProfileUser 角色替换 NetworkUser 角色。+
修订 3.6-5Thu 10 Dec 2015Red Hat Enterprise Virtualization Documentation Team
BZ#1284288 - 把 'rhevm' 管理网络变为了 'ovirtmgmt'。
BZ#1213289 - 增加了与主机维护模式相关的概念性信息。
BZ#1271237 - 更新了编辑虚拟机池的内容。
BZ#1177141 - 更新了备份的概述信息。
修订 3.6-4Wed 2 Dec 2015Red Hat Enterprise Virtualization Documentation Team
BZ#1285598 - 增加了“把引擎数据库迁移到远程服务器数据库”的内容。
BZ#1084008 - 更新了与端口镜像相关的内容。
BZ#1253562 - 更新了外部供应商的内容,包括了 Cinder、VMware 和独立 keystone 端点的信息。
BZ#1202130 - 增加了与创建公共 keystore 文件相关的信息。
BZ#1285340 - 增加了集群的管理网络选项的信息。
修订 3.6-3Wed 18 Nov 2015Red Hat Enterprise Virtualization Documentation Team
Red Hat Enterprise Virtualization 3.6 beta 的最终版。
修订 3.6-2Wed 11 Nov 2015Red Hat Enterprise Virtualization Documentation Team
BZ#1275130 - 更新了标识网络接口来与管理门户匹配的信息。
BZ#1252766 - 更新了 3.6 发行版本的版本号。
BZ#1253531 - 增加了为虚拟机上传图标的信息。
BZ#1255223 - 增加了新的实时迁移的功能。
BZ#1250778 - 增加了在创建存储域步骤中指定阈值的信息。
BZ#1250784 - 在创建存储域的操作步骤中增加了“删除后清除”这一步。
BZ#1252748 - 在虚拟磁盘章节中添加了 Cinder 选项。
BZ#1255229 - 增加了新的电源管理选项,以及更新了的电源管理设置表格。
BZ#1234784 - 增加了“同步 MoM”按钮的信息。
BZ#1261694 - 把"集群策略"改为"调度策略"。
BZ#1270140 - 重新调整了与网络相关的内容,把它们放在一个章节中。
BZ#1250781 - 增加了查看登录用户信息,以及中断用户会话的内容。
BZ#1250777 - 增加了在把主机设置为维护模式时指定原因的内容。
BZ#1250780 - 更新了备份和恢复的过程,以使相关的例子更加清晰。
BZ#1230042 - 更新了与编辑存储域相关的内容。
修订 3.6-1Tue 11 Aug 2015Red Hat Enterprise Virtualization Documentation Team
为 Red Hat Enterprise Virtualization 3.6 初始创建。

法律通告

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.