Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

管理指南

Red Hat Virtualization 4.0

Red Hat Virtualization 中的管理任务

摘要

本书包含与 Red Hat Virtualization 管理员相关的信息和流程。

部分 I. 管理和维护 Red Hat Virtualization

Red Hat Virtualization 环境需要管理员保持它的运行。作为管理员,您的任务包括:
  • 管理物理和虚拟资源,如主机和虚拟机.这包括升级和添加主机、导入域、转换外部虚拟机监控程序(hypervisors)上创建的虚拟机,以及管理虚拟机池。
  • 监控整体系统资源以了解潜在的问题,如其中一个主机上高负载、内存或磁盘空间不足,以及执行任何必要的操作(例如,将虚拟机迁移到其他主机,以通过关闭机器减少负载或释放资源)。
  • 响应对虚拟机的新要求(例如,升级操作系统或分配更多内存)。
  • 使用标签管理自定义对象属性。
  • 管理保存为公共书签的搜索。
  • 管理用户设置和设置权限级别.
  • 为特定用户或虚拟机提供整体系统功能的故障排除.
  • 生成常规和特定报告.

第 1 章 全局配置

通过管理门户中的标题栏访问,Config Config 窗口允许您为 Red Hat Virtualization 环境配置多个全局资源,如用户、角色、系统权限、调度策略、实例类型和 MAC 地址池。此窗口允许您自定义用户与环境中资源交互的方式,并为配置可应用到多个集群的选项提供一个中央位置。

图 1.1. 访问 Configure 窗口

访问 Configure 窗口

1.1. 角色

角色是可从 Red Hat Virtualization Manager 配置的预定义权限集。角色提供对数据中心中不同级别资源以及特定物理和虚拟资源的访问权限和管理权限。
通过多级管理,适用于容器对象的任何权限也适用于该容器中的所有单个对象。例如,当主机管理员角色分配给特定主机上的用户时,该用户将获得执行任何可用主机操作的权限,但只能在分配的主机上获得。但是,如果主机管理员角色分配给数据中心上的用户,该用户将获得在数据中心集群中的所有主机上执行主机操作的权限。

1.1.1. 创建新角色

如果您需要的角色不在 Red Hat Virtualization 的默认角色列表中,您可以创建一个新角色并自定义它以满足您的需要。

过程 1.1. 创建新角色

  1. 在标题栏中,单击 配置 按钮以打开 Configure 窗口。窗口中显示默认用户和管理员角色以及任何自定义角色的列表。
  2. 单击新建。这时将显示 New Role 对话框。

    图 1.2. 新角色对话框

    新角色对话框
  3. 输入新角色 的名称和描述
  4. 选择 AdminUser 作为 帐户类型
  5. 使用 Expand AllCollapse All 按钮,查看 Check Boxes to Allow Action 列表中所列对象的一个或多个权限。您还可以扩展或折叠每个对象的选项。
  6. 对于每个对象,选择或清除您希望允许或拒绝您要设置的角色的操作。
  7. 单击 OK 以应用您所做的更改。新角色显示在角色列表中。

1.1.2. 编辑或复制角色

您可以更改已创建角色的设置,但无法更改默认角色。要更改默认角色,请克隆并修改它们以符合您的要求。

过程 1.2. 编辑或复制角色

  1. 在标题栏中,单击 配置 按钮以打开 Configure 窗口。窗口中显示默认用户和管理员角色以及任何自定义角色的列表。
  2. 选择您要更改的角色。点击 Edit 以打开 Edit Role 窗口,或者点击 Copy 打开 Copy Role 窗口。
  3. 如有必要,编辑角色的 NameDescription
  4. 使用 Expand AllCollapse All 按钮查看列出对象的一个或多个权限。您还可以扩展或折叠每个对象的选项。
  5. 对于每个对象,选择或清除您希望允许或拒绝您要编辑的角色的操作。
  6. 单击 OK 以应用您所做的更改。

1.1.3. 用户角色和授权示例

以下示例演示了如何使用本章中描述的授权系统的不同功能,针对各种场景应用授权控制。

例 1.1. 集群权限

Sarah 是公司帐户部门的系统管理员。她所在部门的所有虚拟资源都在一个称为 帐户 的 Red Hat Virtualization 集群 下进行组织。她被分配了 accounts 集群上的 ClusterAdmin 角色。这使她能够管理集群中的所有虚拟机,因为虚拟机是集群的子对象。管理虚拟机包括编辑、添加或删除磁盘等虚拟资源,以及执行快照。这些权限并不允许她管理此集群之外的任何资源。由于 ClusterAdmin 是管理员角色,因此它允许她使用管理门户来管理这些资源,但不通过开发人员门户授予任何访问权限。

例 1.2. VM PowerUser 权限

John 是财务部门的软件开发人员。他使用虚拟机来构建和测试其软件。Sarah 已为他创建了一个名为 johndesktop 的虚拟桌面。John 被分配了 johndesktop 虚拟机上的 UserVmManager 角色。这允许他使用开发人员门户访问此单一虚拟机。由于他具有 UserVmManager 权限,因此可以修改虚拟机并为其添加资源,如新的虚拟磁盘。由于 UserVmManager 是用户角色,因此不允许他使用管理门户。

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

Penelope 是办事处经理。除了她自己的职责外,她偶尔还帮助人力资源经理完成各种任务,如安排访谈和跟进参考检查。根据公司政策,Penelope 需要使用特定的应用程序来完成招聘任务。
虽然 Penelope 拥有自己的机器来执行办公室管理任务,但她希望创建单独的虚拟机来运行该规范应用。为她被分配了新虚拟机的数据中心的 PowerUserRole 权限。这是因为要创建新虚拟机,她需要更改数据中心内的几个组件,包括在存储域中创建虚拟磁盘镜像。
请注意,这与为 Penelope 分配 DataCenterAdmin 权限不同。作为数据中心的 PowerUser,Penenelope 可以登录到客户门户网站,并对数据中心内的虚拟机执行特定于虚拟机的操作。她无法执行数据中心级别的操作,如将主机或存储附加到数据中心。

例 1.4. 网络管理员权限

Chris 担任 IT 部门的网络管理员。她的日常职责包括创建、操作和删除部门 Red Hat Virtualization 环境中的网络。对于她的角色,她需要资源以及每个资源的网络上的管理权限。例如,如果 Chris 对 IT 部门的数据中心具有 NetworkAdmin 权限,她可以在数据中心中添加和删除网络,并为属于数据中心的所有虚拟机附加和分离网络。
除了管理公司虚拟化基础架构的网络之外,Chris 还会将初级网络管理员报告给她。初级网络管理员 Pat 是为公司内部培训部门管理更小的虚拟化环境。Chris 已为内部培训部门使用的虚拟机分配了 Pat VnicProfileUser 权限和 UserVmManager 权限。通过这些权限,Pat 可以执行简单的管理任务,如在用户门户 的扩展 选项卡中向虚拟机添加网络接口。但是,他没有改变运行虚拟机的主机的网络或虚拟机所属的网络上的网络的权限。

例 1.5. 自定义角色权限

Rachel 在 IT 部门工作,负责管理 Red Hat Virtualization 中的用户帐户。她需要添加用户帐户并为它们分配适当的角色和权限的权限。她不会自行使用任何虚拟机,并且不应有权管理主机、虚拟机、集群或数据中心。没有向她提供这一特定权限集的内置角色。必须创建一个自定义角色,以定义适合 Rachel 位置的权限集合。

图 1.3. UserManager 自定义角色

UserManager 自定义角色
上面显示的 UserManager 自定义角色允许操作用户、权限和角色。这些操作在 System 下组织 - 图 1.3 “UserManager 自定义角色” 中显示的层次结构的顶级对象。这意味着它们应用到系统的所有其他对象。该角色设置为帐户 类型为 Admin。这意味着,当她被分配了此角色时,Rachel 只能使用管理门户,而不能使用管理门户。

1.2. 系统权限

权限允许用户对对象执行操作,其中对象可以是单个对象或容器对象。

图 1.4. 权限和角色

权限和角色
适用于容器对象的任何权限也适用于该容器的所有成员。下图显示了系统中对象的层次结构。

图 1.5. Red Hat Virtualization 对象层次结构

Red Hat Virtualization 对象层次结构

1.2.1. 用户属性

角色和权限是用户的属性。角色是预定义的特权集合,允许访问不同级别的物理和虚拟资源。多级管理提供了精细的权限层次。例如,数据中心管理员具有管理数据中心所有对象的权限,而主机管理员则对单个物理主机具有系统管理员权限。一个用户可以具有使用单一虚拟机的权限,但不会对虚拟机配置进行任何更改,而另一用户则可分配给虚拟机的系统权限。

1.2.2. 用户和管理员角色

Red Hat Virtualization 提供一系列预配置的角色,从具有系统范围权限的管理员到有权访问单个虚拟机的最终用户。虽然您无法更改或删除默认角色,但您可以克隆和自定义它们,或者根据您的要求创建新角色。角色有两种类型:
  • Administrator 角色:允许 使用管理门户 来管理物理和虚拟资源。管理员角色限制要在用户门户中执行的操作的权限;但是,它不涉及用户在客户门户网站中可以看到的内容。
  • 用户角色:允许使用 客户门户网站 管理和访问虚拟机和模板。用户角色决定了用户在客户门户网站中可以看到的内容。授予具有管理员角色的用户的权限反映在用户门户网站中可供该用户使用的操作中。
例如,如果您拥有集群的 管理员角色您可以使用管理门户 管理 集群中的所有虚拟机。但是,您无法访问 开发人员门户 中的任何虚拟机;这需要 用户角色

1.2.3. 用户角色介绍

下表描述了基本用户角色,这些角色授予在用户访问和配置虚拟机的权限。

表 1.1. Red Hat Virtualization 用户角色 - 基础

角色 权限 备注
UserRole 可以访问和使用虚拟机和池. 可以登录客户门户网站,使用分配的虚拟机和池,查看虚拟机状态和详细信息。
PowerUserRole 可以创建和管理虚拟机和模板. 使用 Configure 窗口或特定数据中心或集群将此角色应用到整个环境的用户。例如,如果在数据中心级别上应用 PowerUserRole,PowerUser 可以在数据中心中创建虚拟机和模板。
UserVmManager 虚拟机的系统管理员. 可以管理虚拟机并创建和使用快照.在 Developer Portal 中创建虚拟机的用户会自动分配机器上的 UserVmManager 角色。
下表描述了高级用户角色,允许您对用户访问中资源的权限进行进一步微调。

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

角色 权限 备注
UserTemplateBasedVm 有限的权限,仅能使用模板。 可以使用模板创建虚拟机。
DiskOperator 虚拟磁盘用户。 可以使用、查看和编辑虚拟磁盘.继承使用虚拟磁盘所附加虚拟机的权限。
VmCreator 可以在用户访问中创建虚拟机. 此角色不适用于特定的虚拟机;使用 Configure 窗口将此角色应用到整个环境的用户。另外,也可以将此角色应用到特定的数据中心或集群。当将此角色应用到集群时,还必须对整个数据中心或特定存储域应用 DiskCreator 角色。
TemplateCreator 可以在分配的资源内创建、编辑、管理和删除虚拟机模板。 此角色不适用于特定的模板;使用 Configure 窗口将此角色应用到整个环境的用户。另外,也可以将这个角色应用到特定的数据中心、集群或存储域。
DiskCreator 可以在分配的集群或数据中心内创建、编辑、管理和移除虚拟磁盘。 此角色不适用于特定的虚拟磁盘;使用 Configure 窗口将此角色应用到整个环境的用户。另外,也可以将这个角色应用到特定的数据中心或存储域。
TemplateOwner 可以编辑和删除模板,为模板分配和管理用户权限。 此角色自动分配给创建模板的用户。其他对模板没有 TemplateOwner 权限的用户无法查看或使用模板。
VnicProfileUser 虚拟机和模板的逻辑网络和网络接口用户。 可以将网络接口从特定逻辑网络附加或分离。

1.2.4. 管理员角色已说明

下表描述了基本管理员角色,这些角色授予访问管理门户中配置资源的权限。

表 1.3. Red Hat Virtualization 系统管理员角色 - 基础

角色 权限 备注
SuperUser Red Hat Virtualization 环境的系统管理员. 具有所有对象和级别的完全权限,可以管理所有数据中心中的所有对象。
ClusterAdmin 集群管理员。 拥有特定集群下所有对象的管理权限。
DataCenterAdmin 数据中心管理员. 拥有特定数据中心下除存储之外的所有对象的管理权限。
重要
不要将目录服务器的管理用户用作 Red Hat Virtualization 管理用户。在目录服务器中创建一个用户,专门用于 Red Hat Virtualization 管理用户。
下表描述了高级管理员角色,允许您对管理门户中的资源的权限进行进一步微调。

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

角色 权限 备注
TemplateAdmin 虚拟机模板的管理员. 可以创建、删除和配置模板的存储域和网络详细信息,并在域之间移动模板。
StorageAdmin 存储管理员。 可以创建、删除、配置和管理分配的存储域.
HostAdmin 主机管理员。 可以连接、删除、配置和管理特定主机。
NetworkAdmin 网络管理员。 可以配置和管理特定数据中心或集群的网络。数据中心或集群的网络管理员继承集群中虚拟池的网络权限。
VmPoolAdmin 虚拟池系统管理员。 可以创建、删除和配置虚拟池;分配和删除虚拟池用户;可以对池中的虚拟机执行基本操作。
GlusterAdmin Gluster 存储管理员。 可以创建、删除、配置和管理 Gluster 存储卷。
VmImporterExporter 导入和导出虚拟机的管理员。 可以导入和导出虚拟机.能够查看其他用户导出的所有虚拟机和模板。

1.3. 调度策略

调度策略是一组规则,用于定义在群集中应用调度策略的主机之间分发虚拟机的逻辑。调度策略通过过滤器、权重和负载平衡策略的组合来确定此逻辑。Red Hat Virtualization Manager 提供五个默认调度策略: Evenly_Distributed,InClusterUpgrade,None,Power_Saving, 和 VM_Evenly_Distributed。您还可以定义新的调度策略,对虚拟机的分发提供精细的控制。无论调度策略如何,虚拟机都不会在 CPU 过载的主机上启动。默认情况下,如果主机的 CPU 的负载超过 80% 达到 5 分钟,则主机 CPU 被视为过载,但这些值可以使用调度策略来更改。有关每个调度策略属性的更多信息,请参阅 第 5.2.2.4 节 “调度策略设置说明”

图 1.6. 平均分布式调度策略

平均分布式调度策略
Evenly_Distributed 调度策略在集群中的所有主机上平均分配内存和 CPU 处理负载。如果主机已达到定义的 CpuOverCommitDurationMinutesHighUtilizationMaxFreeMemoryForOverUtilized,则附加到主机的其他虚拟机将不会启动。
VM_Evenly_Distributed 调度策略虚拟机基于虚拟机的数量在主机之间均匀。如果任何主机运行的虚拟机数量超过 HighVmCount,且至少有一个主机具有超出 MigrationThreshold 的虚拟机数,则该集群被视为未平衡。

图 1.7. 节能调度策略

节能调度策略
Power_Saving 调度策略在可用主机子集之间分配内存和 CPU 处理负载,以减少利用率不足的主机上的功耗。CPU 负载低于低利用率值的主机将超过定义的时间间隔,将所有虚拟机迁移到其他主机,以便将其关闭。如果主机已达到定义的高利用率值,则附加到主机的其他虚拟机将不会启动。
None 策略设置为主机之间没有用于运行虚拟机的负载或电源共享。这是默认的模式。当虚拟机启动时,内存和 CPU 处理负载会在集群中的所有主机上均匀分布。如果主机已达到定义的 CpuOverCommitDurationMinutesHighUtilizationMaxFreeMemoryForOverUtilized,则附加到主机的其他虚拟机将不会启动。
InClusterUpgrade 调度策略根据主机操作系统版本分发虚拟机。具有比当前运行的虚拟机较新操作系统的主机的优先级高于具有相同操作系统的主机。迁移到具有较新操作系统的主机的虚拟机不会迁移到较旧的操作系统。虚拟机可以在集群中的任何主机上重启。策略允许集群具有混合操作系统版本来升级集群中的主机。在启用策略前必须满足先决条件。请参阅 Red Hat Enterprise Virtualization 3.6 升级指南中的将集群中的主机从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7
重要
InClusterUpgrade 调度策略仅用于在主要版本间进行升级。例如,从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7。

1.3.1. 创建调度策略

您可以创建新的调度策略,以控制将虚拟机分布到 Red Hat Virtualization 环境中的给定集群中的逻辑。

过程 1.3. 创建调度策略

  1. 单击管理门户标题栏中的 Configure 按钮,以打开 Configure 窗口。
  2. 单击 Scheduling Policies,以查看调度策略选项卡。
  3. 单击 New 以打开 New Scheduling Policy 窗口。

    图 1.8. 新调度策略窗口

    新调度策略窗口
  4. 输入调度策略的 NameDescription
  5. 配置过滤器模块:
    1. Filter Modules 部分中,将应用于 Disabled Filters 部分中的调度策略的首选过滤器模块拖放到 Enabled Filters 部分。
    2. 也可以将特定过滤器模块设置为第一个,从而被授予最高优先级或 Last,从而获得最低的优先级,以进行基本优化。
      要设置优先级,请右键单击任何过滤器模块,将光标悬停在位置上,然后选择 First Last
  6. 配置权重模块:
    1. Weights Modules 部分中,将应用于 Disabled Weights 部分的首选权重模块拖放到 Enabled Weights & Factors 部分。
    2. 使用已启用的权重模块左侧的 +- 按钮来增加或减少这些模块的权重。
  7. 指定负载平衡策略:
    1. Load Balancer 部分的下拉菜单中,选择要应用到调度策略的负载平衡策略。
    2. Properties 部分的下拉菜单中,选择要应用到调度策略的负载平衡属性,并使用该属性右侧的文本字段来指定值。
    3. 使用 +- 按钮来添加或删除其他属性。
  8. 点击 OK

1.3.2. 新调度策略和编辑调度策略窗口中的设置说明

下表详述了 新建 调度策略和 编辑 调度策略窗口中可用的选项。

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

字段名称
Description
Name
调度策略的名称。这是用于引用 Red Hat Virtualization Manager 中的调度策略的名称。
Description
调度策略的描述信息。建议使用此字段,但不强制设置。
Filter Modules
用于控制集群中虚拟机可以运行的主机的一组过滤器。启用过滤器将过滤不满足该过滤器指定条件的主机,如下所示:
  • CpuPinning :无法满足 CPU 固定定义的主机。
  • Migration: 防止迁移到同一主机。
  • PinToHost :虚拟机要固定到的主机以外的主机。
  • CPU-Level :不符合虚拟机的 CPU 拓扑的主机。
  • CPU :CPU 数量少于分配给虚拟机的主机.
  • memory :没有足够的内存来运行虚拟机的主机。
  • VmAffinityGroups :不符合关联性组成员虚拟机指定条件的主机。例如,关联性组中的虚拟机必须在同一主机上运行或在单独的主机上运行。
  • InClusterUpgrade: 运行比当前运行虚拟机的旧操作系统的主机。
  • HostDevice :不支持虚拟机所需主机设备的主机。
  • HA :强制托管引擎虚拟机仅在具有正高可用性分数的主机上运行。
  • Emulated-Machine: 不支持适当模拟计算机的主机。
  • 网络 :未安装虚拟机网络接口控制器所需的网络的主机,或者没有安装集群的显示网络。
Weights Modules
用于控制在决定虚拟机可以运行集群中的主机时所考虑因素的相对优先级的一组权重。
  • InClusterUpgrade: Weight 主机根据其操作系统版本而有所不同。权重使带有旧操作系统的主机数量超过同一操作系统的主机,为使用较新操作系统的主机提供优先权。
  • OptimalForHaReservation :根据主机的高可用性分数。
  • none :根据 even distribution 模块来放置主机。
  • OptimalForEvenGuestDistribution :根据这些主机上运行的虚拟机数量,Wights 主机。
  • VmAffinityGroups :根据为虚拟机定义的关联性组,Wights 主机。此权重模块根据该关联性组的参数,确定关联性组中虚拟机将如何在同一主机或单独的主机上运行。
  • OptimalForPowerSaving :根据 CPU 使用率,为 CPU 使用率更高的主机赋予优先级。
  • OptimalForEvenDistribution :根据 CPU 使用率,为 CPU 使用率较低的主机赋予优先级。
  • HA :根据主机的高可用性分数来放置主机。
Load Balancer
此下拉菜单允许您选择要应用的负载平衡模块。负载平衡模块决定了用于将虚拟机从高使用量较高的主机迁移到利用率较低的主机的逻辑。
Properties
此下拉菜单允许您为负载平衡模块添加或删除属性,并且仅在您为调度策略选择负载平衡模块时才可用。默认情况下不定义任何属性,可用的属性特定于所选的负载平衡模块。使用 +- 按钮向负载平衡模块添加或删除其他属性。

1.4. 实例类型

实例类型可用于定义虚拟机的硬件配置。创建或编辑虚拟机时选择实例类型将自动填写硬件配置字段。这使得用户可以使用相同硬件配置创建多个虚拟机,而无需手动填写每个字段。
下表中所示,默认提供了一组预定义的实例类型:

表 1.6. 预定义的实例类型

Name
内存
VCPU
tiny
512 MB
1
small
2 GB
1
Medium
4 GB
2
Large
8 GB
2
xlarge
16 GB
4
管理员还可以从 Configure 窗口的 Instance Types 选项卡创建、编辑和删除实例类型。

图 1.9. Instance Types 选项卡

Instance Types 选项卡
新虚拟机和编辑虚拟机窗口中绑定到实例类型 的字段 将旁边有一个链链接镜像( )。如果更改了其中一个字段的值,虚拟机将从实例类型分离,更改为 Custom,并且链会出现中断( )。但是,如果值被更改回,链将重新链接,实例类型将移回所选类型。

1.4.1. 创建实例类型

管理员可以创建新的实例类型,用户可在创建或编辑虚拟机时选择这些类型。

过程 1.4. 创建实例类型

  1. 在标题栏中,单击 配置
  2. Instance Types 选项卡。
  3. 单击 New 以打开 New Instance Type 窗口。

    图 1.10. New Instance Type 窗口

    New Instance Type 窗口
  4. 输入实例类型的 NameDescription
  5. 单击 Show Advanced Options,再根据需要配置实例类型的设置。New Instance Type 窗口中出现的设置与 New Virtual Machine 窗口中出现的设置相同,但仅与相关字段相同。请参阅虚拟机管理指南中的新虚拟机和编辑虚拟机 Windows 中的设置说明
  6. 点击 OK
新实例类型将显示在 Configure 窗口中的 Instance Types 选项卡中,可以在创建或编辑虚拟机时从 Instance Type 下拉列表中选择。

1.4.2. 编辑实例类型

管理员可以从 Configure 窗口编辑现有的实例类型。

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

  1. 在标题栏中,单击 配置
  2. Instance Types 选项卡。
  3. 选择要编辑的实例类型。
  4. 单击 Edit 以打开 Edit Instance Type 窗口。
  5. 根据需要更改设置。
  6. 点击 OK
实例类型的配置已更新。创建基于此实例类型的新虚拟机时,或者更新基于此实例类型的现有虚拟机时,会应用新的配置。
基于此实例类型的现有虚拟机将显示标记为链图标的字段,该字段将更新。如果现有虚拟机在实例类型发生更改时正在运行,则它们旁边将显示 orange Pending Changes 图标,并且在下次重启时将更新链图标的字段。

1.4.3. 删除实例类型

过程 1.6. 删除实例类型

  1. 在标题栏中,单击 配置
  2. Instance Types 选项卡。
  3. 选择要删除的实例类型。
  4. 单击 Remove 以打开 Remove Instance Type 窗口。
  5. 如果任何虚拟机都基于要删除的实例类型,则将显示一个警告窗口,列出附加的虚拟机。要继续删除实例类型,请选中 Approve Operation 复选框。否则,单击 取消
  6. 点击 OK
实例类型从 Instance Types 列表中删除,在创建新虚拟机时无法再使用。任何附加到已删除实例类型的虚拟机现在都将附加到 Custom (无实例类型)。

1.5. MAC 地址池

MAC 地址池定义从中为每个数据中心分配 MAC 地址的 MAC 地址范围。为每个数据中心指定一个 MAC 地址池。使用 Red Hat Virtualization 的 MAC 地址池可以自动生成 MAC 地址并为新的虚拟网络设备分配,这有助于防止 MAC 地址重复。当与数据中心相关的所有 MAC 地址都在分配的 MAC 地址池范围内时,MAC 地址池的内存池效率更高。
同一 MAC 地址池可由多个数据中心共享,但每个数据中心分配了一个 MAC 地址池。Red Hat Virtualization 创建默认 MAC 地址池,并在未分配其他 MAC 地址池时使用。有关为数据中心分配 MAC 地址池的更多信息,请参阅 第 4.5.1 节 “创建新数据中心”
MAC 地址池分配返回到池的最后一个地址之后的下一个可用 MAC 地址。如果范围中没有剩余地址,则搜索将从范围的开头重新开始。如果有多个 MAC 地址范围中定义了可用 MAC 地址,则范围将以与选择可用 MAC 地址相同的方式为传入的请求提供服务。

1.5.1. 创建 MAC 地址池

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

过程 1.7. 创建 MAC 地址池

  1. 在标题栏中,单击 配置 按钮以打开 Configure 窗口。
  2. 单击 MAC Address Pools 选项卡。
  3. 单击 Add 按钮,以打开 New MAC Address Pool 窗口。

    图 1.11. New MAC Address Pool 窗口

    New MAC Address Pool 窗口
  4. 输入新 MAC 地址池的名称和描述。
  5. 选中 Allow Duplicates 复选框,以允许池中多次使用 MAC 地址。MAC 地址池不会自动使用重复的 MAC 地址,但启用重复选项意味着用户可以手动使用重复的 MAC 地址。
    注意
    如果一个 MAC 地址池被禁用,并且另一个 MAC 地址启用了重复,则池中可以多次使用重复项并禁用重复,但可以在启用了重复功能的池中多次使用。
  6. 输入所需的 MAC Address Ranges。若要输入多个范围,请单击 FromTo 字段旁边的加号按钮。
  7. 点击 OK

1.5.2. 编辑 MAC 地址池

您可以编辑 MAC 地址池来更改详细信息,包括池中可用的 MAC 地址范围以及是否允许重复。

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

  1. 在标题栏中,单击 配置 按钮以打开 Configure 窗口。
  2. 单击 MAC Address Pools 选项卡。
  3. 选择要编辑的 MAC 地址池。
  4. 单击 Edit 按钮,以打开 Edit MAC Address Pool 窗口。
  5. 根据需要更改 Name,Description,Allow Duplicates, 和 MAC Address Ranges 字段。
    注意
    更新 MAC 地址范围时,不会重新分配现有 NIC 的 MAC 地址。已分配但位于新 MAC 地址范围之外的 MAC 地址作为用户指定的 MAC 地址添加,仍然由 MAC 地址池跟踪。
  6. 点击 OK

1.5.3. 编辑 MAC 地址池权限

创建 MAC 地址池后,您可以编辑其用户权限。用户权限控制哪些数据中心可以使用 MAC 地址池。有关添加新用户权限的详情,请参考 第 1.1 节 “角色”

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

  1. 在标题栏中,单击 配置 按钮以打开 Configure 窗口。
  2. 单击 MAC Address Pools 选项卡。
  3. 选择所需的 MAC 地址池。
  4. 编辑 MAC 地址池的用户权限:
    • 在 MAC 地址池中添加用户权限:
      1. Configure 窗口底部的用户权限窗格中,单击 Add
      2. 搜索并选择所需用户。
      3. Role to Assign 下拉列表中选择所需的角色。
      4. 单击 OK 以添加用户权限。
    • 从 MAC 地址池删除用户权限:
      1. Configure 窗口底部的用户权限窗格中,选择要删除的用户权限。
      2. 单击 Remove 以删除用户权限。

1.5.4. 删除 MAC 地址池

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

过程 1.10. 删除 MAC 地址池

  1. 在标题栏中,单击 配置 按钮以打开 Configure 窗口。
  2. 单击 MAC Address Pools 选项卡。
  3. 选择要删除的 MAC 地址池。
  4. 单击 Remove 按钮,以打开 Remove MAC Address Pool 窗口。
  5. 点击 OK

第 2 章 Dashboard

控制面板通过显示 Red Hat Virtualization 资源与利用率的摘要来提供 Red Hat Virtualization 系统状态的概述。此摘要可以提醒用户问题,并允许他们分析问题区域。
默认情况下,仪表板中的信息会从 Data Warehouse 每 15 分钟更新一次,Manager API 默认每 15 秒更新一次,或者每当仪表板被刷新时。当用户从另一个标签页改回或手动刷新时,控制面板会被刷新。控制面板不会自动刷新。清单卡信息由 Manager API 提供,利用率信息则由数据仓库提供。控制面板是作为 UI 插件组件实施的,与 Manager 一起自动安装和升级。

图 2.1. 控制面板

控制面板

2.1. 前提条件

控制面板要求安装和配置数据仓库。有关安装和配置数据仓库的更多信息,请参阅 数据仓库 指南中的安装和配置数据仓库

2.2. 全局清单

控制面板的顶部部分提供 Red Hat Virtualization 资源的全局清单,包括数据中心、集群、主机、存储域、虚拟机和事件的项。图标显示每个资源的状态,数字则显示具有该状态的每个资源的数量。

图 2.2. 全局清单

全局清单
标题显示资源类型的数量,其状态显示在标题下方。点击资源标题可导航到 Red Hat Virtualization Manager 中的相关标签页。集群的状态 始终显示 为 N/A。

表 2.1. 资源状态

图标
状态
这些资源都不添加到 Red Hat Virtualization 中。
显示具有警告状态的资源数。单击图标可导航到相应的标签页,搜索范围仅限于该资源,并具有警告状态。每个资源的搜索都会有所不同:
  • 数据中心 :搜索仅限于不正常运行或不响应的数据中心。
  • 主机 :搜索仅限于未分配、处于维护模式、安装、重新启动、准备维护、待处理批准或连接的主机。
  • 存储域 :搜索仅限于未初始化、未附加、不活跃、处于维护模式、准备维护、分离或激活的存储域。
  • 虚拟机 :搜索仅限于正在启动、暂停、迁移、等待、暂停或关机的虚拟机。
  • Events :搜索仅限于严重性为 warning 的事件。
显示具有 up 状态的资源数。单击图标可导航到相应的标签页,搜索范围仅限于启动的资源。
显示状态为 down 的资源数量。单击图标可导航到相应的标签页,搜索范围仅限于 down 状态的资源。每个资源的搜索都会有所不同:
  • 数据中心 :搜索仅限于未初始化、维护模式或处于 down 状态的数据中心。
  • 主机 :搜索仅限于不响应、出错、安装错误、无法运行、初始化或停机的主机。
  • 存储域 :搜索仅限于分离或不活跃的存储域。
  • 虚拟机 :搜索仅限于停机、不响应或重新启动的虚拟机。
显示具有警报状态的事件数。单击该图标可导航到 Events 选项卡,搜索仅限于具有警报严重性的事件。
显示具有错误状态的事件数。单击该图标可导航到 Events 选项卡,搜索仅限于具有错误严重性的事件。

2.3. 全局利用率

Global Utilization 部分显示 CPU、内存和存储的系统利用率。

图 2.3. 全局利用率

全局利用率
  • top 部分显示可用 CPU、内存或存储的百分比,以及过量提交比率。例如,CPU 的过量提交比率是通过根据数据仓库中最新数据将虚拟内核数除以物理内核数来计算的。
  • 圈图以百分比为单位显示 CPU、内存或存储的使用情况,并根据最后 5 分钟的平均使用量显示所有主机的平均使用情况。将鼠标悬停在圆环的某一部分上,将显示所选部分的值。
  • 底部的行图在最后 24 小时内显示趋势。每个数据点都显示针对特定小时的平均使用量。将鼠标悬停在图形上的点上可显示 CPU 图形使用的百分比以及内存和存储图的使用情况量。

2.3.1. 顶级利用的资源

图 2.4. 最佳利用资源(内存)

最佳利用资源(内存)
点控制面板的全局使用部分中的圆环,将显示 CPU、内存或存储占用最多的资源的列表。对于 CPU 和内存,弹出框显示使用率最高的十个主机和虚拟机列表。对于存储,弹出窗口显示前十个使用的存储域和虚拟机的列表。使用栏右侧的箭头显示该资源在最后一分钟内的使用情况。

2.4. 集群利用率

Cluster Utilization 显示 heatmap 中 CPU 和内存的集群利用率。

图 2.5. 集群利用率

集群利用率

2.4.1. CPU

特定集群的 CPU 使用率热图,显示最后 24 小时的 CPU 的平均利用率。将鼠标悬停在热图上会显示集群名称。点击热图进入 Hosts 选项卡,并显示特定集群的搜索结果(按 CPU 使用率排序)。用于计算集群 CPU 使用率的公式是集群中平均主机 CPU 使用率。这通过使用上 24 小时内每个主机的平均主机 CPU 利用率计算得出的,以确定集群的 CPU 总数。

2.4.2. 内存

特定集群的内存利用率热图,显示内存在最后 24 小时内的平均利用率。将鼠标悬停在热图上会显示集群名称。点击热图进入 Hosts 选项卡,并显示特定集群的搜索结果(按内存用量排序)。用于计算集群内存用量的公式是集群中内存总量(以 GB 为单位)。这通过使用上 24 小时内每个主机的平均主机内存利用率计算得出的,以确定集群的内存的总平均使用量。

2.5. 存储利用率

Storage Utilization 显示热图中的存储利用率。

图 2.6. 存储利用率

存储利用率
热图显示最后 24 小时的存储的平均利用率。用于计算集群中存储使用量的公式是集群中存储的总利用率。这通过使用上 24 小时内每个主机的平均主机存储利用率计算得出的,以确定集群的存储总数。将鼠标悬停在热图上可显示存储域名称。单击热图,导航到 Storage 选项卡,其中包含按利用率排序的存储域。

部分 II. 管理资源

第 3 章 服务质量

Red Hat Virtualization 允许您定义服务条目的质量,提供对环境中资源可以访问的输入和输出、处理和网络功能的控制。服务条目的质量在数据中心级别上定义,并分配到集群和存储域下创建的配置集。然后,这些配置集被分配到集群中独立的资源和创建配置集的存储域中。

3.1. 存储服务质量

存储服务质量为存储域的虚拟磁盘定义最大吞吐量级别和输出操作级别。通过为虚拟磁盘分配存储服务质量,您可以对存储域的性能进行微调,并防止与一个虚拟磁盘关联的存储操作影响到同一存储域上托管的其他虚拟磁盘的可用存储功能。

3.1.1. 创建存储服务质量条目

创建服务条目的存储质量。

过程 3.1. 创建存储服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 点详情窗格中的 QoS
  3. Storage
  4. New
  5. QoS Name 字段中输入服务质量条目的名称。
  6. Description 字段中输入服务条目的质量描述。
  7. 指定服务的吞吐量质量:
    1. 选择 Throughput 复选框。
    2. Total 字段中输入允许的最大吞吐量。
    3. Read 字段中输入读操作的最大吞吐量。
    4. Write 字段中输入写操作的最大允许吞吐量。
  8. 指定服务的输入和输出质量:
    1. 选择 IOps 复选框。
    2. Total 字段中输入允许的最大输入和输出操作数。
    3. Read 字段中输入每秒允许的最大输入操作数。
    4. Write 字段中输入每秒允许的最大输出操作数。
  9. 点击 OK
您已创建了服务条目的存储质量,并根据属于数据中心的数据存储域中的该条目创建磁盘配置文件。

3.1.2. 删除存储服务质量条目

删除服务条目的现有存储质量。

过程 3.2. 删除存储服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 点详情窗格中的 QoS
  3. Storage
  4. 选择要删除的服务条目的存储质量。
  5. 点击 Remove
  6. 出现提示时,单击确定
您已删除了服务条目的存储质量,该条目不再可用。如果有任何磁盘配置集基于该条目,则这些配置集的服务条目的存储质量会自动设置为 [unlimited]

3.2. 虚拟机网络服务质量

虚拟机网络服务质量是支持创建配置文件来限制单个虚拟网络接口控制器的入站和出站流量的功能。通过此功能,您可以限制多个层中的带宽,从而控制网络资源的消耗。

3.2.1. 创建虚拟机网络服务质量条目

在应用到虚拟网络接口控制器(vNIC)配置集(也称为虚拟机网络接口接口配置文件)时,创建用于注册网络流量的虚拟机网络服务质量。

过程 3.3. 创建虚拟机网络服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 单击详细信息窗格中的 QoS 选项卡。
  3. VM Network
  4. New
  5. Name 字段中输入虚拟机网络服务质量条目的名称。
  6. 输入 InboundOutbound 网络流量的限制。
  7. 点击 OK
您已创建了虚拟机网络服务质量,它可在虚拟网络接口控制器中使用。

3.2.2. New Virtual Machine Network QoS 和 Edit Virtual Machine Network QoS Windows 说明中的设置

虚拟机网络服务质量设置允许您为三个不同级别上的入站和出站流量配置带宽限制。

表 3.1. 虚拟机网络 QoS 设置

字段名称
Description
数据中心
要添加虚拟机网络 QoS 策略的数据中心。此字段会根据所选数据中心自动配置。
Name
代表 Manager 中的虚拟机网络 QoS 策略的名称。
入站
要应用到入站流量的设置。选择或清除 Inbound 复选框来启用或禁用这些设置。
  • 平均 :入站流量的平均速度。
  • 峰值 :入站流量在高峰期间的速度。
  • burst :入站流量在突发期间的速度。
出站
要应用到出站流量的设置。选择或清除 Outbound 复选框来启用或禁用这些设置。
  • 平均 :出站流量的平均速度。
  • 峰值 :在高峰期间出站流量的速度。
  • burst :在突发期间出站流量的速度。

3.2.3. 删除虚拟机网络服务质量条目

删除服务条目的现有虚拟机网络质量。

过程 3.4. 删除虚拟机网络服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 单击详细信息窗格中的 QoS 选项卡。
  3. VM Network
  4. 选择要删除的虚拟机网络服务质量。
  5. 点击 Remove
  6. 出现提示时,单击确定
您已删除了服务条目的虚拟机网络质量,该条目将不再可用。

3.3. 主机网络服务质量

主机网络质量配置主机上的网络,从而通过物理接口控制网络流量。主机网络服务质量可通过控制同一物理网络接口控制器上的网络资源消耗来微调网络性能。这有助于防止一个网络使其他网络附加到同一物理网络接口控制器时,因为负载过重的流量不再起作用。通过配置主机网络质量服务,这些网络现在可以在同一物理网络接口控制器上正常工作,而不会出现各种问题。

3.3.1. 创建主机网络服务质量条目

创建服务条目的主机网络质量。

过程 3.5. 创建主机网络服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 点详情窗格中的 QoS
  3. 单击 Host Network
  4. New
  5. QoS Name 字段中输入服务质量条目的名称。
  6. Description 字段中输入服务条目的质量描述。
  7. 输入 Weighted Share,Rate Limit [Mbps], 和 Committed Rate [Mbps] 的值。
  8. 点击 OK

3.3.2. 新主机网络服务质量和编辑主机网络服务质量说明中的设置

通过主机网络服务质量设置,您可以为出站流量配置带宽限制。

表 3.2. 主机网络 QoS 设置

字段名称
Description
数据中心
要添加到主机网络 QoS 策略的数据中心。此字段会根据所选数据中心自动配置。
QoS 名称
代表 Manager 中的主机网络 QoS 策略的名称。
Description
主机网络 QoS 策略的描述。
出站
要应用到出站流量的设置。
  • 加权共享 :表示应分配特定网络的逻辑链接的容量量,相对于附加到同一逻辑链接的其他网络。确切共享取决于该链接上所有网络共享的总和。默认情况下,这是 1 到 100 范围内的数字。
  • 速率限制 [Mbps] :网络使用的最大带宽。
  • 已提交率 [Mbps ]:网络需要的最小带宽。请求的提交率不能保证,并根据网络基础架构和同一逻辑链路上其他网络请求的提交率不同。

3.3.3. 删除主机网络服务质量条目

删除服务条目的现有网络质量。

过程 3.6. 删除主机网络服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 单击详细信息窗格中的 QoS 选项卡。
  3. 单击 Host Network
  4. 选择要删除的服务条目的网络质量。
  5. 点击 Remove
  6. 出现提示时,单击确定

3.4. CPU 服务质量

CPU 服务质量定义虚拟机在其上运行的主机上可以访问的最大处理能力,以对该主机可用的总处理能力的百分比表示。通过为虚拟机分配 CPU 质量,您可以防止集群中的一个虚拟机上的工作负载影响集群中可供其他虚拟机的处理资源。

3.4.1. 创建 CPU 服务质量条目

创建服务条目的 CPU 质量。

过程 3.7. 创建 CPU 服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 点详情窗格中的 QoS
  3. CPU
  4. New
  5. QoS Name 字段中输入服务质量条目的名称。
  6. Description 字段中输入服务条目的质量描述。
  7. Limit 字段中输入服务条目的质量的最大处理能力,以百分比为单位。不要包含 % 符号。
  8. 点击 OK
您已创建了服务条目的 CPU 质量,并可以根据属于该数据中心的集群中的该条目创建 CPU 配置集。

3.4.2. 删除 CPU 服务质量条目

删除服务条目的现有 CPU 质量。

过程 3.8. 删除 CPU 服务质量条目

  1. 单击 Data Centers 资源选项卡并选择数据中心。
  2. 点详情窗格中的 QoS
  3. CPU
  4. 选择要删除的服务条目的 CPU 质量。
  5. 点击 Remove
  6. 出现提示时,单击确定
您已删除了服务条目的 CPU 质量,该条目不再可用。如果有任何 CPU 配置集基于该条目,则这些配置集的服务条目的 CPU 质量会自动设置为 [unlimited]

第 4 章 数据中心

4.1. 数据中心介绍

数据中心是一个逻辑实体,用于定义特定环境中使用的资源集合。数据中心被视为容器资源,其中由逻辑资源组成,其格式为集群和主机;网络资源,格式为逻辑网络和物理 NIC;以及存储资源,格式为存储域。
数据中心可以包含多个集群,可以包含多个主机 ; 可以关联多个存储域;它可以支持每个主机上的多个虚拟机。Red Hat Virtualization 环境可以包含多个数据中心;通过数据中心基础架构可以保持这些数据中心分开。
所有数据中心都通过单一管理门户管理。

图 4.1. 数据中心

数据中心
Red Hat Virtualization 在安装过程中创建一个默认数据中心。您可以配置默认数据中心,或者设置适当的命名数据中心。

图 4.2. 数据中心对象

数据中心对象

4.2. 存储池管理程序

存储池管理程序 (SPM) 是提供给数据中心中某一主机的角色,使其能够管理数据中心的存储域。SPM 实体可以在数据中心的任何主机上运行;Red Hat Virtualization Manager 会将该角色授予其中一个主机。SPM 不会从其标准操作中排除主机;作为 SPM 运行的主机仍然可以托管虚拟资源。
SPM 实体通过协调存储域的元数据来控制对存储的访问。这包括创建、删除和操作虚拟磁盘(镜像)、快照和模板,并为稀疏块设备(在 SAN 上)分配存储。这是一个拍它的责任:只有一个主机可以是一个数据中心的 SPM,以确保元数据的完整性。
Red Hat Virtualization Manager 确保 SPM 始终可用。如果 SPM 主机在访问存储时遇到问题,则管理器会将 SPM 角色移到其他主机。当 SPM 启动时,它会确保它是唯一授予该角色的主机,因此它将获得以存储为中心的租用。这个过程可能需要一些时间。

4.3. SPM 优先级

SPM 角色使用部分主机的可用资源。主机的 SPM 优先级设置会改变被分配 SPM 角色的主机的可能性:在具有高 SPM 优先级的主机之前,将分配 SPM 角色。具有低 SPM 优先级的主机上的关键虚拟机不必与主机资源的 SPM 操作一致。
您可以通过编辑主机来更改主机的 SPM 优先级。

4.4. 使用 Events 选项卡在数据中心识别问题对象

数据中心的事件选项卡显示与该数据中心关联的所有事件;事件包括审计、警告和错误。结果列表中显示的信息将使您识别 Red Hat Virtualization 环境中的问题对象。
Events 结果列表有两个视图: Basic 和 Advanced。基本视图显示事件图标、事件时间和事件描述。高级视图还显示它们,其中包含了适用事件 ID、相关用户、主机、虚拟机、模板、数据中心、存储和集群、Gluster 卷和关联 ID。

4.5. 数据中心任务

4.5.1. 创建新数据中心

此流程在您的虚拟化环境中创建一个数据中心。数据中心需要正常运行的集群、主机和存储域。
注意
在将第一个存储域添加到数据中心之前,可以编辑 存储类型。添加存储域后,无法更改 存储类型
设置 兼容性版本 后,无法在以后降低它;不允许版本回归。

过程 4.1. 创建新数据中心

  1. 选择 Data Centers resource 选项卡,以列出结果列表中的所有数据中心。
  2. 单击 New 以打开 New Data Center 窗口。
  3. 输入数据中心 的名称和描述
  4. 从下拉菜单中选择数据中心的 存储类型Compatibility VersionQuota Mode
  5. (可选)更改数据中心的 MAC 地址池。默认 MAC 地址池默认是预先选择的。有关创建 MAC 地址池的详情请参考 第 1.5 节 “MAC 地址池”
    1. 单击 MAC Address Pool 选项卡。
    2. MAC Address Pool 下拉列表中选择所需的 MAC 地址池。
  6. OK 创建数据中心并打开 New Data Center - Guide Me 窗口。
  7. Guide Me 窗口列出了需要为数据中心配置的实体。点击 Configure Later 按钮配置这些实体或 postpone 配置;可通过选择数据中心并单击 引导我 按钮来恢复配置。
新数据中心将添加到虚拟化环境。它将保持 未初始化 状态,直到为其配置了集群、主机和存储域;使用 Guide Me 来配置这些实体。

4.5.2. 新数据中心和编辑数据中心 Windows 中的设置说明

下表描述了 新建数据中心和 编辑数据中心 窗口中显示的数据中心的设置。当您单击 OK 时,在 orange 中概述无效的条目,阻止接受更改。另外,字段提示指示预期值或值范围。

表 4.1. 数据中心属性

字段
description/Action
Name
数据中心的名称。此文本字段的限制为 40 个字符,且必须是唯一的名称,其中含有大写字母和小写字母、数字、连字符和下划线的任意组合。
Description
数据中心的描述。建议使用此字段,但不强制设置。
类型
存储类型。选择以下任意一项:
  • 共享
  • Local
数据域的类型指明数据中心的类型,在创建后无法更改。可以向同一数据中心添加多种类型的存储域(iSCSI、NFS、FC、POSIX 和 Gluster),尽管本地和共享域不能混合。
兼容性版本
Red Hat Virtualization 的版本。选择以下任意一项:
  • 3.6
  • 4.0
升级 Red Hat Virtualization Manager 后,主机、集群和数据中心可能仍位于更早的版本。在升级数据中心的兼容性等级前,请确保已升级所有主机,然后集群。
配额模式
配额是 Red Hat Virtualization 提供的资源限制工具。选择以下之一:
  • disabled :如果您不想实施配额,则选择
  • 审核 :如果要编辑定额设置,选择该选项
  • 强制 :选择该选项 实施配额
MAC 地址池
数据中心的 MAC 地址池。如果没有分配其他 MAC 地址池,则使用默认的 MAC 地址池。有关 MAC 地址池的更多信息,请参阅。 第 1.5 节 “MAC 地址池”

4.5.3. 重新初始化数据中心:恢复过程

此恢复过程会将数据中心的 master 数据域替换为新的 master 数据域;在主数据域的数据损坏时是必需的。通过重新初始化数据中心,您可以恢复与数据中心关联的所有其他资源,包括集群、主机和非问题存储域。
您可以将任何备份或导出的虚拟机或模板导入到新的 master 数据域中。

过程 4.2. 重新初始化数据中心

  1. 单击 Data Centers 资源选项卡,再选择要重新初始化的数据中心。
  2. 确定附加到数据中心的任何存储域都处于维护模式。
  3. 右键单击数据中心,然后从下拉菜单中选择 Re-Initialize Data Center 以打开 Data Center
  4. Data Center Re-Initialize 窗口列出所有可用的(分离;在维护模式中)存储域。点您要添加到数据中心的存储域的单选按钮。
  5. 选中 Approve operation 复选框。
  6. OK 关闭窗口并重新初始化数据中心。
存储域作为 master 数据域附加到数据中心,并激活。现在,您可以将任何备份或导出的虚拟机或模板导入到新的 master 数据域中。

4.5.4. 删除数据中心

删除数据中心需要活跃的主机。删除数据中心不会删除关联的资源。

过程 4.3. 删除数据中心

  1. 确保附加到数据中心的存储域处于维护模式。
  2. 单击 Data Centers 资源选项卡,再选择要删除的数据中心。
  3. 单击 Remove 以打开 Remove Data Center (s) 确认窗口。
  4. 点击 OK

4.5.5. 强制删除数据中心

如果附加的存储域已损坏或者主机变为 Non Responsive,则数据中心将变为 Non Responsive。您不能在 环路下删除 数据中心。
强制删除 不需要活动的主机。它还删除连接的存储域。
强制删除 数据中心之前,可能需要 销毁 损坏的存储域。

过程 4.4. 强制删除数据中心

  1. 单击 Data Centers 资源选项卡,再选择要删除的数据中心。
  2. Force Remove 打开 Force Remove Data Center 确认窗口。
  3. 选中 Approve operation 复选框。
  4. OK
数据中心和附加的存储域从 Red Hat Virtualization 环境中永久删除。

4.5.6. 更改数据中心兼容性版本

Red Hat Virtualization 数据中心具有兼容性版本。兼容性版本表示数据中心要与之兼容的 Red Hat Virtualization 版本。数据中心中的所有集群都必须支持所需的兼容性级别。
注意
要更改数据中心兼容性版本,您必须首先将数据中心中的所有集群更新至支持您所需兼容性级别的级别。

过程 4.5. 更改数据中心兼容性版本

  1. 在管理门户中,点 Data Centers 选项卡。
  2. 从显示的列表中选择要更改的数据中心。
  3. Edit
  4. Compatibility Version 更改为所需的值。
  5. 单击 OK 以打开 Change Data Center Compatibility Version 确认窗口。
  6. OK 确认。
您已更新了数据中心的兼容性版本。
重要
升级兼容性也将升级属于数据中心的所有存储域。

4.6. 数据中心和存储域

4.6.1. 将现有数据域附加到数据中心

未附加 的数据域 可以附加到数据中心。可以向同一数据中心添加多种类型的共享存储域(iSCSI、NFS、FC、POSIX 和 Gluster)。

过程 4.6. 将现有数据域附加到数据中心

  1. 单击 Data Centers 资源选项卡,再选择适当的数据中心。
  2. 选择详细信息窗格中的 存储选项卡,以列出已附加到数据中心的存储域。
  3. Attach Data 打开 Attach Storage 窗口。
  4. 选中要附加到数据中心的数据域的复选框。您可以选择多个复选框来附加多个数据域。
  5. 点击 OK
数据域已附加到数据中心,并自动激活。

4.6.2. 将现有 ISO 域附加到数据中心

未附加的 ISO 域可以附加到数据中心。ISO 域必须是与数据中心相同的 存储类型
只能将一个 ISO 域附加到数据中心。

过程 4.7. 将现有 ISO 域附加到数据中心

  1. 单击 Data Centers 资源选项卡,再选择适当的数据中心。
  2. 选择详细信息窗格中的 存储选项卡,以列出已附加到数据中心的存储域。
  3. 单击 Attach ISO 以打开 Attach ISO Library 窗口。
  4. 点相应 ISO 域的单选按钮。
  5. 点击 OK
ISO 域连接到数据中心,并自动激活。

4.6.3. 将现有导出域附加到数据中心

注意
导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘镜像和模板从导入的存储域上传到附加的数据中心。有关导入存储域的详情,请参考 第 8.6 节 “导入现有存储域”
未附加的导出域可以附加到数据中心。只能将一个导出域附加到数据中心。

过程 4.8. 将现有导出域附加到数据中心

  1. 单击 Data Centers 资源选项卡,再选择适当的数据中心。
  2. 选择详细信息窗格中的 存储选项卡,以列出已附加到数据中心的存储域。
  3. 单击 Attach Export 以打开 Attach Export Domain 窗口。
  4. 单击相应导出域的单选按钮。
  5. 点击 OK
导出域连接到数据中心,并自动激活。

4.6.4. 将存储域从数据中心分离

将存储域从数据中心分离将停止数据中心与该存储域关联。存储域不会从 Red Hat Virtualization 环境中删除,它可以附加到另一个数据中心。
虚拟机和模板等数据仍然附加到存储域。
注意
如果 master 存储是最后一个可用存储域,则无法删除。

过程 4.9. 将存储域从数据中心分离

  1. 单击 Data Centers 资源选项卡,再选择适当的数据中心。
  2. 选择详细信息窗格中的 Storage 选项卡,以列出附加到数据中心的存储域。
  3. 选择要分离的存储域。如果存储域为 Active,请单击 Maintenance 以打开维护存储域 确认窗口。
  4. 单击 OK 以启动维护模式。
  5. 单击 Detach 以打开 Detach Storage 确认窗口。
  6. 点击 OK
您已将存储域与数据中心分离。存储域可能需要几分钟才能从详情窗格中消失。

4.7. 数据中心和权限

4.7.1. 管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
数据中心管理员仅仅是特定数据中心的系统管理角色。这在具有多个数据中心(每个数据中心需要管理员)的虚拟化环境中非常有用。DataCenterAdmin 角色是一种分层模型;分配了数据中心管理员角色的用户可以管理数据中心中的所有对象,但该数据中心的存储除外。使用标题栏中的 Configure 按钮,为环境中所有数据中心分配数据中心管理员。
数据中心管理员角色允许执行以下操作:
  • 创建和删除与数据中心关联的集群。
  • 添加和删除与数据中心关联的主机、虚拟机和池。
  • 编辑与数据中心关联的虚拟机的用户权限。
注意
您只能将角色和权限分配给现有用户。
您可以通过删除现有系统管理员并添加新系统管理员来更改数据中心的系统管理员。

4.7.2. 数据中心管理员角色说明

数据中心权限角色

下表描述了适用于数据中心管理的管理员角色和特权。

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

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

4.7.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 4.10. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

4.7.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

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

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

第 5 章 集群

5.1. 集群简介

集群是共享相同存储域且相同类型的 CPU (Intel 或 AMD)的主机的逻辑分组。如果主机具有不同的 CPU 型号,它们只使用所有模型中存在的功能。
系统中的每个集群都必须属于一个数据中心,系统中的每一主机都必须属于一个集群。虚拟机会动态分配到集群中的任何主机,并可以根据 Clusters 选项卡上和配置工具期间在配置工具中定义的策略在它们之间进行迁移。集群是可以定义电源和负载共享策略的最高级别。
属于集群的主机数和虚拟机数量分别显示在 Host CountVM Count 下的结果列表中。
集群运行虚拟机或 Red Hat Gluster Storage 服务器。这两个目的是相互排斥的:单个集群无法支持虚拟化和存储主机。
Red Hat Virtualization 在安装过程中在默认数据中心中创建一个默认集群。

图 5.1. 集群

集群

5.2. 集群任务

5.2.1. 创建新集群

数据中心可以包含多个集群,一个集群可以包含多个主机。集群中的所有主机都必须是相同的 CPU 类型(Intel 或 AMD)。建议您在创建集群前创建主机以确保 CPU 类型优化。但是,您可以稍后使用 Guide Me 按钮配置主机。

过程 5.1. 创建新集群

  1. 选择 Clusters resource 选项卡。
  2. New
  3. 从下拉列表中选择集群所属的 数据中心
  4. 输入集群 的名称和描述
  5. Management Network 下拉列表中选择一个网络,以分配管理网络角色。
  6. 从下拉列表中选择 CPU ArchitectureCPU Type。务必要将 CPU 处理器系列与您要附加到集群的主机的最小 CPU 处理器类型匹配,否则主机将无法正常工作。
    注意
    对于 Intel 和 AMD CPU 类型,列出的 CPU 型号从最旧的到最新状态的顺序排列。如果您的集群包含具有不同 CPU 模型的主机,请选择最旧的 CPU 模型。有关每个 CPU 模型的更多信息,请参阅 https://access.redhat.com/solutions/634853
  7. 从下拉列表中选择集群的 Compatibility Version
  8. 选择 Enable Virt ServiceEnable Gluster Service 单选按钮,以定义集群是否填充虚拟机主机或启用了 Gluster 的节点。请注意,您无法将 Red Hat Virtualization Host (RHVH)添加到启用了 Gluster 的集群。
  9. (可选)选择 Enable to set VM maintenance reason 复选框,以在从 Manager 关闭虚拟机时启用可选的 reason 字段,让管理员能够为维护提供说明。
  10. (可选)选择 Enable to set Host maintenance reason 复选框,以在主机从 Manager 放入维护模式时启用可选的 reason 字段,让管理员能够为维护提供说明。
  11. 选择 /dev/random 源 (Linux 提供的设备)或 /dev/hwrng 源 (外部硬件设备)复选框来指定集群中所有主机都将使用的随机数生成器设备。
  12. Optimization 选项卡选择集群的内存页面共享阈值,并选择性地在集群中的主机上启用 CPU 线程处理和内存膨胀。
  13. Migration Policy 选项卡定义集群的虚拟机迁移策略。
  14. 单击 Scheduling Policy 选项卡,以选择性地配置调度策略,配置调度程序优化设置,为集群中的主机启用可信服务,启用 HA Reservation,并添加自定义序列号策略。
  15. Console 选项卡,以选择性地覆盖全局 SPICE 代理(若有),并为集群中的主机指定 SPICE 代理的地址。
  16. 点击 隔离策略 选项卡来启用或禁用集群中的隔离,然后选择隔离选项。
  17. OK 创建集群并打开 New Cluster - Guide Me 窗口。
  18. Guide Me 窗口列出了需要为集群配置的实体。点击 Configure Later 按钮配置这些实体或 postpone 配置;可以通过选择集群并单击 引导我 按钮来恢复配置。
新集群被添加到虚拟化环境中。

5.2.2. 新集群和编辑集群 Windows 中的设置和控制的说明

5.2.2.1. 常规集群设置说明

图 5.2. 新集群窗口

新集群窗口
下表描述了新集群和编辑集群窗口中 常规选项卡 的设置。当您单击 OK 时,在 orange 中概述无效的条目,阻止接受更改。另外,字段提示指示预期值或值范围。

表 5.1. 常规集群设置

字段
description/Action
数据中心
包含集群的数据中心。必须在添加集群前创建数据中心。
Name
集群的名称。此文本字段的限制为 40 个字符,且必须是唯一的名称,其中含有大写字母和小写字母、数字、连字符和下划线的任意组合。
描述/评论
集群或附加备注的描述。推荐这些字段,但不强制使用。
管理网络
分配给管理网络角色的逻辑网络。默认值为 ovirtmgmt。在现有集群中,只能通过详情窗格中的 Logical Networks 选项卡中的 Manage Networks 按钮更改管理网络。
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 模型。只能使用所有模型中存在的功能。对于 Intel 和 AMD CPU 类型,列出的 CPU 型号从最旧的到最新状态的顺序排列。
兼容性版本
Red Hat Virtualization 的版本。选择以下之一:
  • 3.6
  • 4.0
您将无法选择比为数据中心指定的版本更早的版本。
启用 Virt 服务
如果选中此单选按钮,则使用此集群中的主机运行虚拟机。
启用 Gluster 服务
如果选中此单选按钮,此集群中的主机将用作 Red Hat Gluster Storage Server 节点,而不用于运行虚拟机。您不能将 Red Hat Virtualization 主机添加到启用了此选项的集群。
导入现有的 gluster 配置
只有选择了 Enable Gluster Service 单选按钮时,此复选框才可用。此选项允许您将现有的 Gluster 集群及其所有附加的主机导入到 Red Hat Virtualization Manager。
导入集群中的每个主机都需要以下选项:
  • 地址 :输入 Gluster 主机服务器的 IP 或完全限定域名。
  • 指纹 : Red Hat Virtualization Manager 获取主机的指纹,以确保您使用正确的主机进行连接。
  • Root Password :输入与主机通信所需的 root 密码。
启用以设置虚拟机维护原因 如果选择了此复选框,则在从 Manager 关闭集群中的虚拟机时会出现一个可选原因字段。这可让您解释维护,该维护将显示在日志中以及虚拟机再次开机的时间。
启用以设置主机维护原因 如果选择了此复选框,则当集群中的主机从 Manager 移到维护模式时,会出现一个可选原因字段。这可让您解释维护,该维护将显示在日志中以及主机再次激活的时间。
所需的随机数字生成器源:
如果选择了以下复选框,集群中的所有主机都必须有可用的设备。这可实现从随机数生成器设备到虚拟机传递熵。
  • /dev/random 源 - Linux 提供的随机数字生成器。
  • /dev/hwrng 源 - 外部硬件生成器。

5.2.2.2. 优化设置已说明

内存页面共享可让虚拟机利用其他虚拟机中未使用的内存,最多使用 200% 的分配内存。此过程基于假设 Red Hat Virtualization 环境中的虚拟机不会同时以全部容量运行,从而允许临时将未使用的内存分配给特定虚拟机。
CPU 线程处理允许主机使用超过主机内核数的处理器内核总数运行虚拟机。这对非 CPU 密集型工作负载非常有用,其中允许更多虚拟机运行可以降低硬件要求。它还允许虚拟机使用 CPU 拓扑来运行,否则可能无法运行,特别是客户机内核数介于主机内核数和主机线程数量之间。
下表描述了新集群和编辑集群窗口中 优化 选项卡的设置。

表 5.2. 优化设置

字段
description/Action
Memory Optimization
  • none - 禁用内存过量使用 :禁用内存页面共享。
  • 对于服务器负载 - 允许调度 150% 物理内存 :将内存页共享阈值设置为每个主机上系统内存的 150%。
  • 对于 Desktop Load - 允许调度 200% 的物理内存 :将内存页共享阈值设置为每台主机上系统内存的 200%。
CPU 线程
选择 Count Threads As Cores 复选框可让主机运行虚拟机,处理器内核总数大于主机中的内核数。
公开的主机线程将被视为虚拟机可以使用的内核。例如,一个有 24 个内核,每个内核有 2 个线程的核系统(总共 48 个线程)可以运行最多 48 个虚拟机,用于计算主机 CPU 负载的算法会与潜在的内核的两倍相比。
memory Balloon
选择 Enable Memory Balloon Optimization 复选框可在此集群中运行的虚拟机上启用内存过量使用。设置此选项时,Memory Overcommit Manager (MoM)将在可能的情况下开始膨胀,但会限制每个虚拟机的保证内存大小。
要运行气球功能,虚拟机需要有一个带有相关驱动程序的气球设备。每个虚拟机都包含 balloon 设备,除非有特别删除。此集群中的每个主机在状态变为 Up 时收到 balloon 策略更新。如果需要,您可以手动更新主机上的 balloon 策略,而无需更改状态。请参阅 第 5.2.5 节 “在集群中的主机上更新 MoM 策略”
务必要了解,在某些场景中,可能会与 KSM 冲突。在这种情况下,MoM 将尝试调整气球的大小,以最大程度减少冲突。另外,在某些情况下,膨胀可能会导致虚拟机的子优化性能。建议管理员谨慎使用气球优化。
KSM 控制
选择 Enable KSM 复选框可让 MoM 在需要时运行 Kernel Same-page Merging (KSM),当它会产生内存节省效果时,超过其 CPU 成本。

5.2.2.3. 迁移策略设置说明

迁移策略定义了在主机发生故障时实时迁移虚拟机的条件。这些条件包括迁移期间虚拟机的停机时间、网络带宽以及虚拟机优先级方式。

表 5.3. 迁移策略已说明

策略
Description
legacy
3.6 版本的传统行为.vdsm.conf 中的覆盖仍在应用。客户机代理 hook 机制已被禁用。
Minimal downtime
允许虚拟机在典型的情况下迁移的策略。虚拟机不应遇到任何显著的停机时间。如果虚拟机迁移经过长时间后还没有被聚合,则迁移过程会被终止(取决于 QEMU 的迭代,最长为 500 millisecond)。客户机代理 hook 机制已启用。
如果需要,挂起工作负载
允许虚拟机在大多数情况下迁移的策略,包括运行大量工作负载的虚拟机。虚拟机可能会遇到更多停机时间。迁移可能仍然针对极端工作负载中止。客户机代理 hook 机制已启用。
带宽设置定义每个主机传出和传入迁移的最大带宽。

表 5.4. 带宽详细说明

策略
Description
auto
带宽从数据中心 主机网络 QoS 中的 Rate Limit [Mbps] 设置复制。如果尚未定义速率限制,则会计算为发送和接收网络接口最少的链接速度。如果没有设置速率限制,并且无法使用链接速度,它将由发送主机上的本地 VDSM 设置决定。
hypervisor default
带宽由发送主机上的本地 VDSM 设置控制。
Custom
由用户定义(以 Mbps 为单位)。
弹性策略定义了虚拟机在迁移中的优先级。

表 5.5. 弹性策略设置

字段
description/Action
迁移虚拟机
按照其定义的优先级迁移所有虚拟机。
仅迁移高可用性虚拟机
仅迁移高度可用的虚拟机,以防止超载其他主机。
不迁移虚拟机
防止虚拟机被迁移。
Additional Properties 仅适用于 Legacy 迁移策略。

表 5.6. 其他属性说明

属性
Description
自动聚合迁移
允许您设置在虚拟机实时迁移过程中是否使用 auto-convergence。具有高负载的大型虚拟机可以比实时迁移过程中实现的传输率快得多,并防止迁移聚合。QEMU 中的自动聚合功能允许您强制进行虚拟机迁移。QEMU 自动检测缺乏聚合并触发虚拟机上 vCPU 节流。auto-convergence 默认禁用。
  • 从 global 设置中选择 Inherit,以使用全局级别上设置的自动协调设置。默认选择这个选项。
  • 选择 Auto Converge 来覆盖全局设置,并为虚拟机允许自动协调。
  • 选择 Don't Auto Converge 来覆盖全局设置,并防止虚拟机的自动协调。
启用迁移压缩
选项允许您设置在虚拟机实时迁移过程中是否使用迁移压缩。此功能使用 Xor Binary Zero Run-Length-Encoding 以减少虚拟机停机时间,并减少了运行内存写入负载的虚拟机的实时迁移时间,或适用于具有稀疏内存更新模式的任何应用程序。默认全局禁用迁移压缩。
  • 从全局设置中选择 Inherit,以使用全局级别设置的压缩设置。默认选择这个选项。
  • 选择 Compress 来覆盖全局设置并允许虚拟机的压缩。
  • 选择 Don't compress 来覆盖全局设置并防止虚拟机的压缩。

5.2.2.4. 调度策略设置说明

通过调度策略,您可以指定可用主机之间虚拟机的使用和分配。定义调度策略,以启用集群中主机之间自动负载平衡。无论调度策略如何,虚拟机都不会在 CPU 过载的主机上启动。默认情况下,如果主机的 CPU 的负载超过 80% 达到 5 分钟,则主机 CPU 被视为过载,但这些值可以使用调度策略来更改。有关调度策略的更多信息,请参阅 第 1.3 节 “调度策略”
要将调度策略添加到现有集群,请单击 Clusters 选项卡并单击 Edit 按钮,然后单击 调度策略 选项卡。

图 5.3. 调度策略设置:vm_evenly_distributed

调度策略设置:vm_evenly_distributed
下表描述了 调度策略 选项卡的设置。

表 5.7. 调度策略选项卡属性

字段
description/Action
选择 Policy
从下拉列表中选择一个策略。
  • none :将策略值设置为 none,使其在主机之间进行负载或电源共享,以用于已经运行的虚拟机。这是默认的模式。当虚拟机启动时,内存和 CPU 处理负载会在集群中的所有主机上均匀分布。如果主机已达到定义的 CpuOverCommitDurationMinutesHighUtilizationMaxFreeMemoryForOverUtilized,则附加到主机的其他虚拟机将不会启动。
  • evenly_distributed :在集群中的所有主机上平均分配内存和 CPU 处理负载。如果主机已达到定义的 CpuOverCommitDurationMinutesHighUtilizationMaxFreeMemoryForOverUtilized,则附加到主机的其他虚拟机将不会启动。
  • InClusterUpgrade :基于主机操作系统版本分配虚拟机。具有比当前运行的虚拟机较新操作系统的主机的优先级高于具有相同操作系统的主机。迁移到具有较新操作系统的主机的虚拟机不会迁移到较旧的操作系统。虚拟机可以在集群中的任何主机上重启。策略允许集群具有混合操作系统版本来升级集群中的主机。在启用策略前必须满足先决条件。请参阅 Red Hat Enterprise Virtualization 3.6 升级指南中的将集群中的主机从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7
    重要
    InClusterUpgrade 调度策略仅用于在主要版本间进行升级。例如,从 Red Hat Enterprise Linux 6 升级到 Red Hat Enterprise Linux 7。
  • power_saving :分配可用主机子集中的内存和 CPU 处理负载,以减少利用率不足的主机上的功耗。CPU 负载低于低利用率值的主机将超过定义的时间间隔,将所有虚拟机迁移到其他主机,以便将其关闭。如果主机已达到定义的高利用率值,则附加到主机的其他虚拟机将不会启动。
  • vm_evenly_distributed :根据虚拟机的数量在主机之间平均分配虚拟机。如果任何主机运行的虚拟机数量超过 HighVmCount,且至少有一个主机具有超出 MigrationThreshold 的虚拟机数,则该集群被视为未平衡。
Properties
以下属性取决于所选的策略,并在需要时编辑:
  • HighVmCount :设置每个主机必须运行的虚拟机的最小数量,以启用负载平衡。默认值为 10 个在一台主机上运行的虚拟机。只有集群中至少有 HighVmCount 运行虚拟机时,才会启用负载平衡。
  • MigrationThreshold :定义从主机迁移虚拟机前的缓冲区。它是最高利用的主机和最低利用率主机之间的虚拟机数量的最大差值。当集群中的每个主机都有不处于迁移阈值内的虚拟机数时,集群处于平衡状态。默认值为 5
  • SpmVmGrace :定义要在 SPM 主机上保留虚拟机的插槽数量。SPM 主机的负载比其他主机更低的负载,因此此变量定义其可以运行的其他主机的虚拟机数量要少。默认值为 5
  • CpuOverCommitDurationMinutes :设置主机可在调度策略采取操作前运行 CPU 负载的时间(以分钟为单位)。定义的时间间隔可防止 CPU 负载中的临时高峰激活调度策略,并缓解不必要的虚拟机迁移。最大两个字符数。默认值为 2
  • HighUtilization :以百分比的形式显示。如果主机以 CPU 使用率高于定义间隔的 CPU 使用量运行,Red Hat Virtualization Manager 会将虚拟机迁移到集群中的其他主机,直到主机的 CPU 负载低于最大服务阈值。默认值为 80
  • LowUtilization: Expressed 为百分比。如果主机以 CPU 使用率低于定义的时间间隔值低的 CPU 运行,则 Red Hat Virtualization Manager 会将虚拟机迁移到集群中的其他主机。管理器将关闭原始主机机器,并在负载平衡需要或集群中没有足够的可用主机时再次重新启动。默认值为 20
  • scaledown :通过按指定数量划分主机分数来降低 HA Reservation weight 功能的影响。这是一个可选属性,可以添加到任何策略中,包括 none
  • HostsInReserve :指定多个主机来保持运行,即使它们上没有正在运行的虚拟机。这是一个可选属性,可以添加到 power_saving 策略中。
  • EnableAutomaticHostPowerManagement :为集群中的所有主机启用自动电源管理。这是一个可选属性,可以添加到 power_saving 策略中。默认值为 true
  • MaxFreeMemoryForOverUtilized :设置最小服务级别所需的最小可用内存(以 MB 为单位)。如果主机的可用内存在或低于这个值时运行,Red Hat Virtualization Manager 会在主机的可用内存低于最小服务阈值时将虚拟机迁移到集群中的其他主机。将 MaxFreeMemoryForOverUtilizedMinFreeMemoryForUnderUtilized 设置为 0 MB 可禁用基于内存的平衡。如果设置了 MaxFreeMemoryForOverUtilized,还必须设置 MinFreeMemoryForUnderUtilized 以避免意外行为。这是一个可选属性,可以添加到 power_savingevenly_distributed 策略。
  • MinFreeMemoryForUnderUtilized :设置主机被视为使用不足前需要的最小可用内存(以 MB 为单位)。如果主机的可用内存超过这个值,Red Hat Virtualization Manager 会将虚拟机迁移到集群中的其他主机,并将自动关闭主机,并在负载平衡需要或集群中没有足够的可用主机时再次重新启动。将 MaxFreeMemoryForOverUtilizedMinFreeMemoryForUnderUtilized 设置为 0MB 可禁用基于内存的平衡。如果设置了 MinFreeMemoryForUnderUtilized,还必须设置 MaxFreeMemoryForOverUtilized 以避免意外行为。这是一个可选属性,可以添加到 power_savingevenly_distributed 策略。
调度程序优化
优化主机限度/排序调度。
  • 优化利用率 :包含调度中的权重模块,以允许最佳选择。
  • 优化 Speed :当有超过 10 个待处理请求时,Skips 主机权重。
启用信任服务
启用与 OpenAttestation 服务器集成。在启用此选项前,请使用 engine-config 工具进入 OpenAttestation 服务器的详细信息。更多信息请参阅 第 10.4 节 “可信计算池”
启用 HA 保留
启用 Manager 以监控高可用性虚拟机的集群容量。Manager 确保当其现有主机意外故障时,集群中存在适当的容量,以便将其指定为高可用性的虚拟机迁移。
提供自定义序列号策略
此复选框允许您为集群中的虚拟机指定序列号策略。选择以下选项之一:
  • 主机 ID :将主机的 UUID 设置为虚拟机的序列号。
  • VM ID :将虚拟机的 UUID 设置为它的序列号。
  • 自定义序列号 : 允许您指定自定义序列号。
当主机的可用内存低于 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 日志文件。

5.2.2.5. 集群控制台设置已说明

下表描述了新集群和编辑集群窗口中的 Console 选项卡的设置。

表 5.8. 控制台设置

字段
description/Action
为集群定义 SPICE 代理
选中此复选框可覆盖全局配置中定义的 SPICE 代理。当用户(例如,通过客户门户网站进行连接)位于虚拟机监控程序所在的网络之外时,此功能很有用。
覆盖的 SPICE 代理地址
SPICE 客户端连接到虚拟机的代理。地址必须采用以下格式:
protocol://[host]:[port]

5.2.2.6. 隔离策略设置说明

下表描述了新集群和编辑集群窗口中的 隔离策略 选项卡的设置。

表 5.9. 隔离策略设置

字段 description/Action
启用隔离 在集群中启用隔离功能。默认情况下启用隔离,但可以根据需要禁用;例如,如果临时网络问题发生或预期,管理员可以禁用隔离,直到诊断或维护活动完成为止。请注意,如果隔离被禁用,在不响应的主机上运行的高可用性虚拟机不会在其他位置重新启动。
如果主机在存储上有实时租期,则跳过隔离 如果选中此复选框,则集群中任何不响应且仍然连接到存储的主机都不会被隔离。
在集群连接问题中跳过隔离 如果选择了此复选框,则当遇到连接问题的主机百分比大于或等于定义的 Threshold 时,隔离将会被临时禁用。Threshold 值从下拉列表中选择;可用值为 255075100

5.2.3. 编辑资源

概述

编辑资源的属性。

过程 5.2. 编辑资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 点击 Edit 以打开 Edit 窗口。
  3. 更改必要的属性,然后单击确定

结果

新属性将保存到资源中。如果属性字段无效,Edit 窗口不会关闭。

5.2.4. 为集群中的主机设置负载和电源管理策略

evenly_distributedpower_saving 调度策略允许您指定可接受的内存和 CPU 使用值,以及哪些虚拟机必须迁移到主机或从主机中迁移。vm_evenly_distributed 调度策略根据虚拟机的数量在主机之间平均分配虚拟机。定义调度策略,以启用集群中主机之间自动负载平衡。有关每个调度策略的详细说明,请参阅 第 5.2.2.4 节 “调度策略设置说明”

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

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择集群。
  2. 点击 Edit 以打开 Edit Cluster 窗口。

    图 5.4. 编辑调度策略

    编辑调度策略
  3. 选择以下策略之一:
    • none
    • vm_evenly_distributed
      1. 设置必须至少有一个主机上运行的最小虚拟机数量,以便在 HighVmCount 字段中启用负载平衡。
      2. MigrationThreshold 字段中定义最高利用率主机上的虚拟机数量和最低利用率主机上的虚拟机数量之间可接受的最大区别。
      3. SpmVmGrace 字段中,定义要在 SPM 主机上保留虚拟机的插槽数。
    • evenly_distributed
      1. 在调度策略在 CpuOverCommitDurationMinutes 字段中采取行动前,设置主机可在定义的使用值外运行 CPU 负载的时间(以分钟为单位)。
      2. HighUtilization 字段中输入虚拟机开始迁移到其他主机的 CPU 使用率百分比。
      3. 输入上述最低要求的可用内存,以便虚拟机开始迁移到 MinFreeMemoryForUnderUtilized 中的其他主机。
      4. 以 MB 为单位输入所需的最大可用内存,以便虚拟机开始迁移到 MaxFreeMemoryForOverUtilized 中的其他主机。
    • power_saving
      1. 在调度策略在 CpuOverCommitDurationMinutes 字段中采取行动前,设置主机可在定义的使用值外运行 CPU 负载的时间(以分钟为单位)。
      2. LowUtilization 字段中输入以下 CPU 使用率百分比,将被视为使用不足的主机。
      3. HighUtilization 字段中输入虚拟机开始迁移到其他主机的 CPU 使用率百分比。
      4. 输入上述最低要求的可用内存,以便虚拟机开始迁移到 MinFreeMemoryForUnderUtilized 中的其他主机。
      5. 以 MB 为单位输入所需的最大可用内存,以便虚拟机开始迁移到 MaxFreeMemoryForOverUtilized 中的其他主机。
  4. 选择以下之一作为集群的 调度程序优化
    • 选择 Optimize for Utilization,以在调度中包含权重模块,以允许最佳选择。
    • 选择 Optimize for Speed 以跳过主机权重,以防有超过 10 个待处理请求。
  5. 如果您使用 OpenAttestation 服务器来验证主机,并使用 engine-config 工具设置服务器详情,请选择 Enable Trusted Service 复选框。
  6. (可选)选中 Enable HA Reservation 复选框,以启用 Manager 来监控高可用性虚拟机的集群容量。
  7. (可选)选择 Provide custom serial number policy 复选框,来为集群中的虚拟机指定序列号策略,然后选择以下选项之一:
    • 选择 Host ID,将主机的 UUID 设置为虚拟机的序列号。
    • 选择 Vm ID,将虚拟机的 UUID 设置为它的序列号。
    • 选择 Custom serial number,然后在文本字段中指定自定义序列号。
  8. 点击 OK

5.2.5. 在集群中的主机上更新 MoM 策略

Memory Overcommit Manager 处理主机上的内存气球和 KSM 功能。当主机重启或处于维护模式后,对这些功能的更改仅在主机下次进入 Up 时传递给主机。但是,如果需要,您可以在主机状态为 Up 时同步 MoM 策略,立即对主机应用重要更改。以下过程必须单独在每个主机上执行。

过程 5.4. 在主机上同步 MoM 策略

  1. Clusters 选项卡,再选择主机所属的集群。
  2. 单击详细信息窗格中的 Hosts 选项卡,再选择需要更新的 MoM 策略的主机。
  3. 单击 Sync MoM Policy
主机上的 MoM 策略已被更新,无需将主机移到维护模式,然后重新变为 Up

5.2.6. CPU 配置文件

CPU 配置文件定义集群中虚拟机运行的主机上可以访问的最大处理能力,以对该主机可用的总处理能力的百分比表示。CPU 配置集基于数据中心中定义的 CPU 配置文件创建,且不会自动应用到集群中的所有虚拟机;必须手动将其分配给单独的虚拟机才能使配置文件生效。

5.2.6.1. 创建 CPU 配置文件

创建 CPU 配置集。此流程假设您已在集群所属的数据中心下定义了一个或多个服务条目。

过程 5.5. 创建 CPU 配置文件

  1. Clusters resource 选项卡并选择集群。
  2. 单击详细信息窗格中的 CPU Profiles 子选项卡。
  3. New
  4. Name 字段中输入 CPU 配置集的名称。
  5. Description 字段中输入 CPU 配置集的描述。
  6. QoS 列表中选择要应用到 CPU 配置集的服务质量。
  7. 点击 OK
您已创建了 CPU 配置集,并将 CPU 配置集应用到集群中的虚拟机。

5.2.6.2. 删除 CPU 配置文件

从 Red Hat Virtualization 环境中删除现有 CPU 配置集。

过程 5.6. 删除 CPU 配置文件

  1. Clusters resource 选项卡并选择集群。
  2. 单击详细信息窗格中的 CPU Profiles 子选项卡。
  3. 选择要删除的 CPU 配置集。
  4. 点击 Remove
  5. 点击 OK
您已删除了 CPU 配置集,并且 CPU 配置集不再可用。如果 CPU 配置集分配给任何虚拟机,则这些虚拟机会自动 分配默认 CPU 配置集。

5.2.7. 导入现有 Red Hat Gluster Storage 集群

您可以将一个 Red Hat Gluster Storage 集群和属于集群的所有主机都导入到 Red Hat Virtualization Manager。
当您提供集群中任何主机的 IP 地址或主机名等详情时,gluster peer status 命令将通过 SSH 在该主机上执行,然后显示属于集群一部分的主机列表。您必须手动验证每个主机的指纹,并为它们提供密码。如果集群中的一个主机停机或无法访问,您将无法导入集群。当新导入的主机没有安装 VDSM 时,bootstrap 脚本会在导入后在主机上安装所有所需的 VDSM 软件包,并重新启动它们。

过程 5.7. 将现有 Red Hat Gluster Storage 集群导入到 Red Hat Virtualization Manager

  1. 选择 Clusters resource 选项卡,以列出结果列表中的所有集群。
  2. 单击 New 以打开 New Cluster 窗口。
  3. 从下拉菜单中选择集群所属的 数据中心
  4. 输入集群 的名称和描述
  5. 选中 Enable Gluster Service 单选按钮和 Import existing gluster configuration 复选框。
    只有选择 Enable Gluster Service 单选按钮时,才会显示 Import existing gluster configuration 字段。
  6. Address 字段中,输入集群中任何服务器的主机名或 IP 地址。
    显示主机 指纹,以确保您使用正确的主机进行连接。如果主机无法访问,或者有网络错误,则在 Fingerprint 字段中会显示一个 Error in fetching fingerprint 错误。
  7. 输入 服务器的 Root 密码然后单击确定
  8. 这会打开 Add Hosts 窗口,并显示属于集群一部分的主机列表。
  9. 对于每个主机,输入 NameRoot Password
  10. 如果要对所有主机使用相同的密码,请选择 Use a Common Password 复选框,以在提供的文本字段中输入密码。
    单击 Apply 以设置输入的密码所有主机。
    通过单击 确定,确保指纹有效并提交您的更改。
启动脚本在导入后,将所有必要的 VDSM 软件包安装到主机上,然后重新启动它们。现在,您已成功将现有 Red Hat Gluster Storage 集群导入到 Red Hat Virtualization Manager 中。

5.2.8. Add Hosts 窗口中的 Settings 解释

通过 Add Hosts 窗口,您可以指定导入为启用 Gluster 集群一部分的主机的详细信息。在选择了 New Cluster 窗口中的 Enable Gluster Service 复选框后,将显示此窗口,并提供必要的主机详细信息。

表 5.10. 添加 Gluster 主机设置

字段 Description
使用通用密码 选择此复选框,对属于一个集群中的所有主机使用相同的密码。在密码 字段中输入密码,然后单击 应用 按钮在所有主机上设置密码。
Name 输入主机的名称。
Hostname/IP 此字段会自动填充您在 New Cluster 窗口中提供的主机的完全限定域名或 IP。
Root 密码 在此字段中输入密码,为每个主机使用不同的 root 密码。此字段覆盖为集群中的所有主机提供的通用密码。
指纹 此时会显示主机指纹,以确保您使用正确的主机进行连接。此字段会自动填充您在 New Cluster 窗口中提供的主机的指纹。

5.2.9. 删除集群

概述

在删除前,将所有主机从集群移出。

注意
您无法删除 Default 集群,因为它包含 空白模板。但是,您可以重命名 Default 集群并将其添加到新数据中心。

过程 5.8. 删除集群

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择集群。
  2. 确保集群中没有主机。
  3. Remove 打开 Remove Cluster (s) 确认窗口。
  4. OK

结果

集群被删除。

5.2.10. 更改集群兼容性版本

Red Hat Virtualization 集群有一个兼容版本。集群兼容性版本表示集群中所有主机支持的 Red Hat Virtualization 的功能。集群兼容性根据集群中功能最低的主机操作系统版本来设置。
注意
要更改集群兼容性版本,您必须首先将集群中的所有主机更新为支持您所需兼容性级别的。
在更新集群兼容性版本后,您需要更新所有正在运行的或暂停虚拟机的集群兼容性版本,以确保更改生效。这可以通过从 Manager 或 REST API 调用中重启虚拟机,而不是在客户机操作系统中。虚拟机将在以前的集群兼容性级别内继续运行,直到它们重启为止。需要重新启动的虚拟机标有 Next-Run 图标(带有感叹号的三角标记)。您无法更改处于预览的虚拟机快照的集群兼容性版本,您需要首先提交或撤销预览。
自托管引擎虚拟机不需要重启,请参阅 自托管引擎指南中的 维护和升级 资源,以了解有关升级自托管引擎环境的更多信息。

过程 5.9. 更改集群兼容性版本

  1. 在管理门户中,点 Clusters 选项卡。
  2. 从显示的列表中选择要更改的集群。
  3. Edit
  4. Compatibility Version 更改为所需的值。
  5. OK 以打开 Change Cluster Compatibility Version 确认窗口。
  6. OK 确认。
您已更新了集群的兼容性版本。更新数据中心中所有集群的兼容性版本后,您可以更改数据中心本身的兼容性版本。
重要
升级兼容性也将升级属于数据中心的所有存储域。

5.3. 集群和权限

5.3.1. 管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
集群管理员仅是特定数据中心的系统管理角色。这在具有多个集群的数据中心中很有用,每个集群都需要系统管理员。ClusterAdmin 角色是一种分层模型:分配了集群管理员角色的用户可以管理集群中的所有对象。使用标题栏中的 Configure 按钮,为环境中所有集群分配集群管理员。
集群管理员角色允许执行以下操作:
  • 创建和删除关联的集群。
  • 添加和删除与集群关联的主机、虚拟机和池。
  • 编辑与集群关联的虚拟机的用户权限。
注意
您只能将角色和权限分配给现有用户。
您还可以删除现有系统管理员并添加新系统管理员来更改集群的系统管理员。

5.3.2. 集群管理员角色已说明

集群权限角色

下表描述了适用于集群管理的管理角色和特权。

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

角色 权限 备注
ClusterAdmin Cluster Administrator
可以使用、创建、删除、管理特定集群中的所有物理和虚拟资源,包括主机、模板和虚拟机。可以在集群中配置网络属性,如指定显示网络,或者将网络标记为必需或非必需网络。
但是,ClusterAdmin 没有从集群附加或分离网络的权限,因此需要 NetworkAdmin 权限。
NetworkAdmin 网络管理员 可以配置和管理特定群集的网络。集群的网络管理员还继承集群中虚拟机的网络权限。

5.3.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 5.10. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

5.3.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

过程 5.11. 从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

第 6 章 逻辑网络

6.1. 逻辑网络任务

6.1.1. 使用网络选项卡

Networks 资源选项卡为用户提供一个中央位置,供用户执行逻辑网络相关的操作,并根据各个网络的属性或与其他资源关联搜索逻辑网络。
Red Hat Virtualization 环境中的所有逻辑网络都会显示在 Networks 标签页的结果列表中。通过 新建编辑和删除 按钮,您可以在数据中心内创建、更改属性和删除逻辑网络。
点每个网络名称,并使用详情窗格中的 集群主机虚拟机、模板和 权限选项卡 来执行功能,包括:
  • 将网络附加到集群和主机中
  • 从虚拟机和模板中删除网络接口
  • 为用户添加或删除权限以访问和管理网络
这些功能也可以通过每个单独的资源选项卡访问。
警告
如果有任何主机正在运行,请不要更改数据中心或集群中的网络,因为这可能导致主机无法访问。
重要
如果您计划使用 Red Hat Virtualization 节点提供任何服务,请记住,如果 Red Hat Virtualization 环境停止操作,该服务将停止。
这适用于所有服务,但您应该注意在 Red Hat Virtualization 中运行以下命令的危险:
  • 目录服务
  • DNS
  • 存储

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

创建逻辑网络,并在数据中心的或者在数据中心的集群中定义其用途。

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

  1. Data CentersClusters 资源选项卡,然后在结果列表中选择数据中心或集群。
  2. 单击详细信息窗格的 Logical Networks 选项卡,以列出现有的逻辑网络。
    • Data Centers details 窗格中,单击 New 以打开 New Logical Network 窗口。
    • Clusters details 窗格中,点 Add Network 打开 New Logical Network 窗口。
  3. 输入逻辑网络的 NameDescriptionComment
  4. (可选)选中 Create on external provider 复选框。从下拉列表中选择 External Provider,并提供 Physical Network 的 IP 地址。External Provider 下拉列表不会以只读模式列出任何外部提供程序。
    如果选择了 Create on external provider,则禁用 Network LabelVM NetworkMTU 选项。
  5. Network Label 文本字段中输入新标签或为逻辑网络选择一个现有标签。
  6. (可选) 启用 VLAN 标记
  7. (可选)禁用 虚拟机网络
  8. MTU 值设为 Default (1500)Custom
  9. Cluster 选项卡中,选择分配给网络的集群。您还可以指定逻辑网络是否是必需的网络。
  10. 如果选择了 Create on external provider,则 Subnet 选项卡将可见。从 子网 选项卡中,选择 创建子网 并输入 名称CIDR网关地址,然后为逻辑网络提供的子网选择 IP 版本。您还可以根据需要添加 DNS 服务器。
  11. vNIC Profiles 选项卡中,根据需要将 vNIC 配置集添加到逻辑网络。
  12. 点击 OK
您已将逻辑网络定义为数据中心中集群或集群所需的资源。如果您为逻辑网络输入标签,则会自动添加到具有该标签的所有主机网络接口。
注意
当创建新逻辑网络或更改用作显示网络的现有逻辑网络时,必须在网络可用或应用更改前重启使用该网络的任何正在运行的虚拟机。

6.1.3. 编辑逻辑网络

编辑逻辑网络的设置。

过程 6.2. 编辑逻辑网络

重要
如果没有与主机上的网络配置同步,则无法编辑或移动逻辑网络。有关如何同步您的网络,请参阅 第 6.5.2 节 “编辑主机网络接口并将逻辑网络分配给主机”
  1. Data Centers 资源选项卡,然后在结果列表中选择逻辑网络的数据中心。
  2. 单击详细信息窗格中 的逻辑网络 选项卡,以列出数据中心的逻辑网络。
  3. 选择逻辑网络并点 Edit 以打开 Edit Logical Network 窗口。
  4. 编辑必要的设置。
    注意
    您可以编辑新网络或现有网络的名称,但默认网络除外,而无需停止虚拟机。
  5. OK 保存更改。
注意
多主机网络配置会自动将更新的网络设置应用到分配到网络的所有主机。只有在使用网络的虚拟机停机时,才能应用更改。您不能重命名已在主机上配置的逻辑网络。您不能在使用该网络的虚拟机或模板时禁用 VM Network 选项。

6.1.4. 删除逻辑网络

您可以从 Networks 资源标签页或 Data Centers 资源选项卡中删除逻辑网络。以下步骤演示了如何删除与数据中心关联的逻辑网络。对于正常工作的 Red Hat Virtualization 环境,您必须至少有一个逻辑网络用作 ovirtmgmt 管理网络。

过程 6.3. 删除逻辑网络

  1. Data Centers 资源选项卡,然后在结果列表中选择逻辑网络的数据中心。
  2. 单击详细信息窗格中 的逻辑网络 选项卡,以列出数据中心的逻辑网络。
  3. 选择逻辑网络并单击 Remove 以打开 Remove Logical Network (s) 窗口。
  4. (可选)选中 Remove external network (s) from provider and 复选框,以将逻辑网络从 Manager 和外部提供者中删除(如果网络由外部提供者提供)。如果外部供应商处于只读模式,则复选框会被灰显。
  5. 点击 OK
逻辑网络已从 Manager 中删除,且不再可用。

6.1.5. 查看或编辑逻辑网络的网关

用户可以为逻辑网络定义网关以及 IP 地址和子网掩码。当主机上存在多个网络,并且流量应通过指定的网络而不是默认网关进行路由时需要这样做。
如果主机上存在多个网络,且未定义网关,返回的流量将通过默认网关路由,该网关可能无法到达预期的目的地。这会导致用户无法 ping 主机。
当接口上线或停机时,Red Hat Virtualization 会自动处理多个网关。

过程 6.4. 查看或编辑逻辑网络的网关

  1. 单击 Hosts resource 选项卡,然后选择所需的主机。
  2. 单击详细信息窗格中的 Network Interfaces 选项卡,以列出附加到主机及其配置的网络接口。
  3. 单击 Setup Host Networks 按钮,以打开 Setup Host Networks 窗口。
  4. 将光标悬停在分配的逻辑网络上,然后点击铅笔图标以打开 Edit Management Network 窗口。
Edit Management Network 窗口会显示网络名称、引导协议和 IP、子网掩码和网关地址。可以通过选择 Static 引导协议来手动编辑地址信息。

6.1.6. 新逻辑网络和编辑逻辑网络 Windows 中的设置和控制的说明

6.1.6.1. 逻辑网络常规设置说明

下表描述了 新建逻辑网络和编辑逻辑网络 窗口的 常规选项卡 的设置。

表 6.1. 新的逻辑网络 和编辑逻辑网络 设置

字段名称
Description
Name
逻辑网络的名称。此文本字段的限制为 15 个字符,且必须是唯一的名称,包含大写字母和小写字母、数字、连字符和下划线的任意组合。
Description
逻辑网络的描述。此文本字段的限制为 40 个字符。
注释
用于添加逻辑网络相关纯文本可读注释的字段。
在外部供应商上创建
允许您将逻辑网络创建到作为外部提供者添加到 Manager 的 OpenStack 网络实例中。
外部提供程序 - 允许您选择要在其上创建逻辑网络的外部提供程序。
启用 VLAN 标记
VLAN 标记是一种安全功能,可为逻辑网络上传输的所有网络流量具有特殊特征。VLAN 标记的流量无法被没有该特征的接口读取。在逻辑网络上使用 VLAN 还支持单个网络接口与多个网络接口关联,不同的是 VLAN 标记的逻辑网络。如果启用了 VLAN 标记,在文本条目字段中输入数字值。
VM 网络
如果只有虚拟机使用此网络,请选择这个选项。如果网络用于不涉及虚拟机(如存储通讯)的流量,请不要选中此复选框。
MTU
选择 Default,它将最大传输单元(MTU)设置为父括号()中给出的值,或 Custom 为逻辑网络设置自定义 MTU。您可以使用它来将新逻辑网络支持的 MTU 与它接口的硬件支持的 MTU 匹配。如果选择了 Custom,在文本条目字段中输入数字值。
网络标签
允许您为网络指定一个新标签,或者从已附加到主机网络接口的现有标签中选择。如果您选择了现有标签,则逻辑网络将自动分配给具有该标签的所有主机网络接口。

6.1.6.2. 逻辑网络集群设置说明

下表描述了 新建逻辑网络 窗口的集群选项卡的设置。

表 6.2. 新的逻辑网络 设置

字段名称
Description
Attach/Detach Network to/from Cluster(s)
允许您从数据中心中的集群附加或分离逻辑网络,并指定逻辑网络是否为单个集群必需的网络。
name - 设置要应用到的集群名称。此值无法编辑。
Attach All - 允许您向数据中心的所有集群附加或分离逻辑网络。或者,选择或清除每个集群名称旁边的 Attach 复选框,以向给定集群附加或分离逻辑网络。
必需的 All - 允许您指定逻辑网络是所有集群中是否需要网络。或者,选择或清除每个集群名称旁边的 Required 复选框,以指定逻辑网络是否为给定集群所需的网络。

6.1.6.3. 逻辑网络 vNIC 配置集设置说明

下表描述了 新建逻辑网络 窗口的 vNIC 配置集选项卡的设置。

表 6.3. 新的逻辑网络 设置

字段名称
Description
vNIC 配置集
允许您为逻辑网络指定一个或多个 vNIC 配置集。您可以通过单击 vNIC 配置集旁边的加号或减号按钮,向逻辑网络添加或删除 vNIC 配置集。第一个字段用于输入 vNIC 配置集的名称。
public - 允许您指定配置集是否可供所有用户使用。
QoS - 允许您将网络服务质量(QoS)配置集指定为 vNIC 配置集。

6.1.7. 使用 Manage Networks 窗口为逻辑网络指定特定流量类型

指定逻辑网络的流量类型,以优化网络流量流。

过程 6.5. 为逻辑网络指定流量类型

  1. Clusters resource 选项卡,然后从结果列表中选择集群。
  2. 选择详细信息窗格中的 Logical Networks 选项卡,以列出分配给集群的逻辑网络。
  3. 单击 Manage Networks 以打开 Manage Networks 窗口。

    图 6.1. 管理网络

    Manage Networks 窗口
  4. 选中相应的复选框。
  5. OK 保存更改并关闭窗口。
您已通过分配特定逻辑网络上的特定类型的流量来优化网络流量流。
注意
外部提供者提供的逻辑网络必须用作虚拟机网络;无法分配特殊的集群角色,如显示或迁移。

6.1.8. Manage Networks 窗口中的 Settings 解释

下表描述了 Manage Networks 窗口的设置。

表 6.4. 管理网络设置

字段
description/Action
分配
将逻辑网络分配到集群中的所有主机。
必需
标记为"必需"的网络必须保持运行,以便与之关联的主机正常工作。如果需要的网络才能够运作,与之关联的任何主机都无法正常运行。
VM 网络
标记为"VM Network"的逻辑网络传输与虚拟机网络相关的网络流量。
显示网络
标记为"Display Network"的逻辑网络执行与 SPICE 相关的网络流量和虚拟网络控制器。
迁移网络
标记为"Migration Network"的逻辑网络执行虚拟机和存储迁移流量。

6.1.9. 在 NIC 上编辑虚拟功能配置

单根 I/O 虚拟化(SR-IOV)可让单个 PCIe 端点用作多个单独的设备。这可以通过引入两个 PCIe 功能来实现:物理功能(PF)和虚拟功能(VF)。PCIe 卡可在一个到 8 个 PF 之间具有,但每个 PF 都可以支持多个 VF (取决于该设备)。
您可以通过 Red Hat Virtualization Manager 编辑支持 SR-IOV 的网络接口控制器(NIC)的配置,包括每个 NIC 上的 VF 数量,并指定允许访问 VF 的虚拟网络。
创建 VF 后,每个 VF 都可以被视为独立 NIC。这包括分配一个或多个逻辑网络,创建带有它们的绑定接口,并直接为它们分配 vNIC 以进行直接设备直通。
vNIC 必须启用 passthrough 属性,才能直接附加到 VF。请参阅 第 6.2.4 节 “在 vNIC 配置文件中启用 Passthrough”

过程 6.6. 在 NIC 上编辑虚拟功能配置

  1. 选择支持 SR-IOV 的主机,点详情窗格中的 Network Interfaces 选项卡。
  2. 单击 Setup Host Networks 以打开 Setup Host Networks 窗口。
  3. 选择支持 SR-IOV 的 NIC,标记为 ,然后点击铅笔图标以打开 NIC窗口的 Edit Virtual Functions (SR-IOV)配置
  4. 要编辑虚拟功能的数量,请点击 Number of VF 设置 下拉菜单,并编辑 Number of VF 文本字段。
    重要
    在创建新 VF 前,更改 VF 的数量将删除网络接口上的所有之前 VF。这包括直接附加虚拟机的 VF。
  5. 默认情况下会选中 All Networks 复选框,允许所有网络访问虚拟功能。要指定允许访问虚拟功能的虚拟网络,请选择 特定网络 单选按钮来列出所有网络。然后,您可以选择所需网络的复选框,也可以使用 Labels 文本字段根据一个或多个网络标签自动选择网络。
  6. 单击 OK 以关闭该窗口。请注意,只有在单击 Setup Host Networks 窗口中的 OK 按钮后,配置更改才会生效。

6.2. 虚拟网络接口卡

6.2.1. vNIC 配置文件概述

虚拟网络接口卡(vNIC)配置集是可应用于 Manager 中的单个虚拟网络接口卡的设置集合。vNIC 配置集允许您将网络 QoS 配置集应用到 vNIC,启用或禁用端口镜像,以及添加或删除自定义属性。vNIC 配置集还为特定用户授予使用(假设)这些配置集的权限增加的管理灵活性层。这样,您可以控制不同用户从给定网络接收的服务质量。

6.2.2. 创建或编辑 vNIC 配置文件

创建或编辑虚拟网络接口控制器(vNIC)配置集,以规范用户和组的网络带宽。
注意
如果您要启用或禁用端口镜像,使用相关配置集的所有虚拟机都必须处于 down 状态,然后才能编辑。

过程 6.7. 创建或编辑 vNIC 配置集

  1. 单击 Networks 资源选项卡,然后在结果列表中选择逻辑网络。
  2. 在详细信息窗格中,选择 vNIC Profiles 选项卡。如果以树形模式选择了逻辑网络,您可以在结果列表中选择 vNIC Profiles 选项卡。
  3. 点击 NewEdit 以打开 VM Interface Profile 窗口。

    图 6.2. VM 接口配置文件窗口

    VM 接口配置文件窗口
  4. 输入配置文件 的名称和描述
  5. QoS 列表中选择相关的服务质量策略。
  6. 从下拉列表中选择 Network Filter,以管理进出虚拟机的网络数据包的流量。有关网络过滤器的更多信息,请参阅 Red Hat Enterprise Linux Virtualization 部署和管理指南中的 应用网络过滤
  7. 选择 Passthrough 复选框来启用 vNIC 的透传,并允许直接分配虚拟功能。启用 passthrough 属性将禁用 QoS、网络过滤和端口镜像,因为它们不兼容。有关 passthrough 的更多信息,请参阅 第 6.2.4 节 “在 vNIC 配置文件中启用 Passthrough”
  8. 使用 Port MirroringAllow all users to use this Profile 复选框来切换这些选项。
  9. 从自定义属性列表中选择自定义属性,它默认会显示 Please select a key...。使用 +- 按钮来添加或删除自定义属性。
  10. 点击 OK
您已创建了 vNIC 配置集。将这个配置集应用到用户和组,以规范其网络带宽。请注意,如果您编辑了 vNIC 配置集,您必须重启虚拟机或热拔,然后热插 vNIC。
注意
客户机操作系统必须支持 vNIC 热插和热拔。

6.2.3. VM Interface Profile 窗口中的设置说明

表 6.5. VM 接口配置文件窗口

字段名称
Description
Network
将 vNIC 配置集应用到的可用网络下拉列表。
Name
vNIC 配置集的名称。这必须是一个唯一名称,其任意组合使用大写和小写字母、数字、连字符和下划线(1 到 50 个字符)。
Description
vNIC 配置集的描述。建议使用此字段,但不强制设置。
QoS
可用的网络服务质量策略的下拉列表,以应用到 vNIC 配置集。QoS 策略规范 vNIC 的入站和出站网络流量。
网络过滤器
应用到 vNIC 配置集的可用网络过滤器的下拉列表。网络过滤器通过过滤可发送到虚拟机的数据包类型以及从虚拟机来改善网络安全性。默认过滤器是 vdsm-no-mac-spoofing,它是 no-mac-spoofingno-arp-mac-spoofing 的组合。有关 libvirt 提供的网络过滤器的更多信息,请参阅 Red Hat Enterprise Linux Virtualization 部署和管理指南中的 预先存在的网络过滤器 部分。
<no Network Filter > 应该用于虚拟机 VLAN 和绑定。在可信虚拟机上,选择不使用网络过滤器来提高性能。
Passthrough
切换 passthrough 属性的复选框。直通允许 vNIC 直接连接到主机 NIC 的虚拟功能。如果 vNIC 配置集附加到虚拟机,则无法编辑 passthrough 属性。
如果启用了 passthrough,则 vNIC 配置集中禁用了 QoS、网络过滤器和端口镜像。
端口镜像
切换端口镜像的复选框。端口镜像将逻辑网络上的第 3 层网络流量复制到虚拟机上的虚拟接口。它默认没有被选择。详情请查看 技术参考 中的端口镜像
设备自定义属性
一个下拉菜单,用于选择要应用到 vNIC 配置集的可用自定义属性。使用 +- 按钮分别添加和删除属性。
允许所有用户使用这个配置集
将配置集可用性切换为环境中的所有用户的复选框。默认会选择它。

6.2.4. 在 vNIC 配置文件中启用 Passthrough

vNIC 配置集的 passthrough 属性可让 vNIC 直接连接到支持 SR-IOV 的 NIC 的虚拟功能(VF)。然后,vNIC 将绕过软件网络虚拟化,直接连接到 VF 进行直接设备分配。
如果 vNIC 配置集已附加到 vNIC,则无法启用 passthrough 属性,这个过程会创建一个新配置集来避免这种情况。如果 vNIC 配置集启用了 passthrough,则配置集禁用 QoS 和端口镜像。
有关 SR-IOV、直接设备分配以及在 Red Hat Virtualization 中实现这些硬件注意事项的更多信息,请参阅 实施 SR-IOV 的硬件注意事项

过程 6.8. 启用 Passthrough

  1. Networks 结果列表中选择逻辑网络,再单击详细信息窗格中的 vNIC Profiles 选项卡,以列出该逻辑网络的所有 vNIC 配置集。
  2. 单击 New 以打开 VM Interface Profile 窗口。
  3. 输入配置文件 的名称和描述
  4. 选择 Passthrough 复选框。这将禁用 QoS端口镜像
  5. 如有必要,从自定义属性列表中选择自定义属性,该属性默认显示 Please select a key...。使用 +- 按钮来添加或删除自定义属性。
  6. OK 保存配置集并关闭窗口。
vNIC 配置集现在支持 passthrough。要使用此配置集将虚拟机直接连接到 NIC 或 PCI VF,请将逻辑网络附加到 NIC,并在使用 passthrough vNIC 配置集的所需虚拟机上创建一个新的 vNIC。有关这些步骤的更多信息,请参阅虚拟机管理指南中的 第 6.5.2 节 “编辑主机网络接口并将逻辑网络分配给主机”添加新网络接口

6.2.5. 删除 vNIC 配置文件

删除 vNIC 配置集,将其从您的虚拟化环境中删除。

过程 6.9. 删除 vNIC 配置文件

  1. 单击 Networks 资源选项卡,然后在结果列表中选择逻辑网络。
  2. 选择详细信息窗格中的 Profiles 选项卡,以显示可用的 vNIC 配置集。如果以树形模式选择了逻辑网络,您可以在结果列表中选择 VNIC Profiles 选项卡。
  3. 选择一个或多个配置集并点 Remove 以打开 Remove VM Interface Profile (s) 窗口。
  4. 单击 OK 以删除配置文件并关闭该窗口。

6.2.6. 将安全组分配给 vNIC 配置集

注意
此功能仅适用于与 OpenStack Neutron 集成的用户。无法通过 Red Hat Virtualization Manager 创建安全组。您必须在 OpenStack 中创建安全组。有关更多信息,请参阅 https://access.redhat.com/documentation/en/red-hat-openstack-platform/9/single/users-and-identity-management-guide#project-security Red Hat OpenStack Platform 用户和身份管理指南中的
您可以将安全组分配给从 OpenStack Networking 实例导入的网络的 vNIC 配置集,并使用 Open vSwitch 插件。安全组是严格实施的规则的集合,允许您通过网络接口过滤入站和出站流量。以下流程概述了如何将安全组附加到 vNIC 配置集。
注意
使用 OpenStack Networking 实例中注册的该安全组的 ID 标识安全组。您可以在安装 OpenStack 网络的系统中运行以下命令来查找给定租户的安全组 ID:
# neutron security-group-list

过程 6.10. 将安全组分配给 vNIC 配置集

  1. 单击 Networks 选项卡,然后从结果列表中选择逻辑网络。
  2. 单击详细信息窗格中的 vNIC Profiles 选项卡。
  3. New,或者选择现有的 vNIC 配置集,然后点 Edit,以打开 VM Interface Profile 窗口。
  4. 从自定义属性下拉列表中,选择 SecurityGroups。使自定义属性下拉列表应用默认安全设置,允许所有出站流量和相互连接,但拒绝来自默认安全组外的所有入站流量。请注意,以后删除 SecurityGroups 属性不会影响应用的安全组。
  5. 在文本字段中,输入要附加到 vNIC 配置集的安全组 ID。
  6. 点击 OK
您已将安全组附加到 vNIC 配置集。根据为该安全组定义的规则,会过滤该配置集附加到的逻辑网络的所有流量。

6.2.7. vNIC 配置集的用户权限

配置用户权限以将用户分配到特定的 vNIC 配置集。将 VnicProfileUser 角色分配给用户,使其能够使用配置集。通过删除该配置集的权限来限制特定配置集的用户。

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

  1. 单击 Networks 选项卡,然后从结果列表中选择逻辑网络。
  2. 单击 vNIC Profiles 资源选项卡,以显示 vNIC 配置集。
  3. 单击 详细信息窗格中 的权限选项卡,以显示配置集的当前用户权限。
  4. 单击 Add 按钮,以打开 Add Permission to User 窗口,然后按 Remove 按钮打开 Remove Permission 窗口,以更改 vNIC 配置集的用户权限。
  5. Add Permissions to User 窗口中,点 My Groups 以显示您的用户组。您可以使用这个选项为组中的其他用户授予权限。
您已为 vNIC 配置集配置了用户权限。

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

Cisco 的统一计算系统(UCS)用于管理计算、网络和存储资源等数据中心方面。
vdsm-hook-vmfex-dev hook 允许虚拟机通过配置 vNIC 配置集连接到 Cisco 的 UCS 定义的端口配置文件。UCS 定义的端口配置集包含用于在 UCS 中配置虚拟接口的属性和设置。vdsm-hook-vmfex-dev hook 与 VDSM 一起安装。如需更多信息,请参阅 附录 A, VDSM 和 Hook
创建使用 vNIC 配置集的虚拟机时,它将使用 Cisco vNIC。
为 UCS 集成配置 vNIC 配置集的步骤涉及首先配置自定义 device 属性。在配置自定义 device 属性时,它包含的任何现有值都会被覆盖。在组合新的和现有的自定义属性时,请在用于设置键值的命令中包含所有自定义属性。多个自定义属性由分号分隔。
注意
在配置 vNIC 配置集前,必须在 Cisco UCS 中配置 UCS 端口配置集。

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

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

过程 6.13. 为 UCS 集成配置 vNIC 配置文件

  1. 单击 Networks 资源选项卡,然后在结果列表中选择逻辑网络。
  2. 在详细信息窗格中,选择 vNIC Profiles 选项卡。如果以树形模式选择了逻辑网络,您可以在结果列表中选择 vNIC Profiles 选项卡。
  3. 点击 NewEdit 以打开 VM Interface Profile 窗口。
  4. 输入配置文件 的名称和描述
  5. 从自定义属性列表中选择 vmfex 自定义属性,并输入 UCS 端口配置集名称。
  6. 点击 OK

6.3. 外部提供商网络

6.3.1. 从外部提供程序导入网络

要使用外部网络提供程序(OpenStack 网络或实施 OpenStack Neutron REST API 的第三方提供程序)的网络,请将该提供程序注册到 Manager。如需更多信息,请参阅 第 12.2.3 节 “为网络调配添加 OpenStack 网络(Neutron)实例”第 12.2.6 节 “添加外部网络提供程序”。然后,按照以下流程将该提供程序提供的网络导入到 Manager,以便虚拟机可以使用网络。

过程 6.14. 从外部提供程序导入网络

  1. 单击 Networks 选项卡。
  2. 单击 Import 按钮,以打开 Import Networks 窗口。

    图 6.3. Import Networks 窗口

    Import Networks 窗口
  3. Network Provider 下拉列表中选择一个外部提供程序。该提供程序提供的网络会自动发现并列在 Provider Networks 列表中。
  4. 使用复选框,选中 Provider Networks 列表中要导入的网络,然后单击向下箭头,将这些网络移到 Networks to Import 列表中。
  5. 可以自定义您要导入的网络的名称。要自定义名称,请单击 Name 列中的网络名称,然后更改文本。
  6. Data Center 下拉列表中,选择要导入到的数据中心。
  7. (可选)清除 Networks to Import 列表中的网络的 Allow All 复选框,以防止该网络可供所有用户使用。
  8. 单击 导入 按钮。
所选网络导入到目标数据中心,并可附加到虚拟机。如需更多信息,请参阅虚拟机管理指南中的 添加新网络接口

6.3.2. 使用外部提供商网络的限制

以下限制适用于使用从 Red Hat Virtualization 环境中外部提供程序导入的逻辑网络。
  • 外部提供者提供的逻辑网络必须用作虚拟机网络,不能用作显示网络。
  • 同一逻辑网络可以导入一次,但只能导入不同的数据中心。
  • 您不能编辑 Manager 中外部提供者提供的逻辑网络。要编辑外部提供者提供的逻辑网络的详细信息,您必须直接从提供该逻辑网络的外部供应商编辑逻辑网络。
  • 端口镜像不适用于连接到外部提供者提供的逻辑网络的虚拟网络接口卡。
  • 如果虚拟机使用外部提供者提供的逻辑网络,那么当逻辑网络仍在被虚拟机使用时,无法从 Manager 中删除该提供者。
  • 外部提供者提供的网络不是必需网络。因此,在主机选择期间,调度已导入此类逻辑网络的集群不会将这些逻辑网络考虑在内。此外,用户负责确保逻辑网络在已导入此类逻辑网络的集群中主机上可用。

6.3.3. 在外部提供程序逻辑网络上配置子网

6.3.3.1. 在外部提供程序逻辑网络上配置子网

如果该逻辑网络上定义了一个或多个子网,则外部提供者提供的逻辑网络只能为虚拟机分配 IP 地址。如果没有定义子网,则不会为虚拟机分配 IP 地址。如果有一个子网,则虚拟机将从该子网分配一个 IP 地址,如果存在多个子网,则虚拟机将从任何可用子网中分配一个 IP 地址。托管逻辑网络的外部网络提供商提供的 DHCP 服务负责分配这些 IP 地址。
虽然 Red Hat Virtualization Manager 在导入的逻辑网络中自动发现预定义的子网,但您也可以在 Manager 中向逻辑网络添加或删除子网。

6.3.3.2. 将子网添加到外部提供商逻辑网络

在由外部提供者提供的逻辑网络上创建子网。

过程 6.15. 将子网添加到外部提供商逻辑网络

  1. 单击 Networks 选项卡。
  2. 单击由要添加子网的外部提供者提供的逻辑网络。
  3. 单击详细信息窗格中的 Subnets 选项卡。
  4. 单击新建按钮,以打开 New External Subnet 窗口。

    图 6.4. New External Subnet 窗口

    New External Subnet 窗口
  5. 输入新子网的 NameCIDR
  6. IP Version 下拉菜单中选择 IPv4IPv6
  7. 点击 OK

6.3.3.3. 从外部提供程序逻辑网络中删除子网

从外部提供者提供的逻辑网络中删除子网。

过程 6.16. 从外部提供程序逻辑网络中删除子网

  1. 单击 Networks 选项卡。
  2. 单击由将从中删除子网的外部提供者提供的逻辑网络。
  3. 单击详细信息窗格中的 Subnets 选项卡。
  4. 单击要删除的子网。
  5. 单击删除按钮,然后 在出现提示时 单击确定。

6.4. 逻辑网络和权限

6.4.1. 管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
网络管理员是一种系统管理角色,可应用于特定网络,或数据中心、群集、主机、虚拟机或模板上的所有网络。网络用户可以执行有限的管理角色,如在特定虚拟机或模板上查看和附加网络。您可以使用标题栏中的 Configure 按钮为环境中所有网络分配网络管理员。
网络管理员角色允许执行以下操作:
  • 创建、编辑和删除网络。
  • 编辑网络的配置,包括配置端口镜像。
  • 在资源(包括集群和虚拟机)上附加和分离网络。
自动为创建网络的用户分配所创建网络上的 NetworkAdmin 权限。您还可以删除现有管理员并添加新管理员来更改网络的管理员。

6.4.2. 网络管理员和用户角色说明

网络权限角色

下表描述了适用于网络管理的管理员、用户角色和特权。

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

角色 权限 备注
NetworkAdmin 数据中心、集群、主机、虚拟机或模板的网络管理员.自动为创建网络的用户分配所创建网络上的 NetworkAdmin 权限。 可以配置和管理特定数据中心、集群、主机、虚拟机或模板的网络。数据中心或集群的网络管理员继承集群中虚拟池的网络权限。要在虚拟机网络上配置端口镜像,请在网络上应用 NetworkAdmin 角色,并在虚拟机上应用 UserVmManager 角色。
VnicProfileUser 虚拟机和模板的逻辑网络和网络接口用户。 可以将网络接口从特定逻辑网络附加或分离。

6.4.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 6.17. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

6.4.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

过程 6.18. 从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

6.5. 主机和网络

6.5.1. 刷新主机功能

当将网络接口卡添加到主机时,必须刷新主机的功能,以便在 Manager 中显示该网卡。

过程 6.19. 要刷新主机功能

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择主机。
  2. 单击 Refresh Capabilities 按钮。
所选主机的详情窗格的 Network Interfaces 选项卡中网络接口卡的列表已更新。管理器中现在可以使用任何新的网络接口卡。

6.5.2. 编辑主机网络接口并将逻辑网络分配给主机

您可以更改物理主机网络接口的设置,将管理网络从一个物理主机网络接口移到另一个,并将逻辑网络分配到物理主机网络接口。还支持 bridge 和 ethtool 自定义属性。
警告
更改 Red Hat Virtualization 中主机的 IP 地址的唯一方法是移除该主机,然后再次添加它。
要更改主机的 VLAN 设置,必须从 Manager 中删除主机、重新配置并重新添加到管理器。
要保持网络同步,请执行以下操作:将主机置于维护模式,并从主机手动删除管理网络。这将使主机能够通过新的 VLAN 访问。将主机添加到集群。在主机间可以安全地迁移没有直接连接到管理网络的虚拟机。
当管理网络的 VLAN ID 改变时,会出现以下警告信息:
Changing certain properties (e.g. VLAN, MTU) of the management network could lead to loss of connectivity to hosts in the data center, if its underlying network infrastructure isn't configured to accommodate the changes. Are you sure you want to proceed?
继续会导致数据中心中的所有主机丢失了 Manager 的连接,并导致主机迁移到新的管理网络失败。管理网络将报告为"同步"。
重要
您无法将外部提供者提供的逻辑网络分配给物理主机网络接口;此类网络会动态分配到主机,因为虚拟机需要它们。

过程 6.20. 编辑主机网络接口并将逻辑网络分配给主机

  1. 单击 Hosts resource 选项卡,然后选择所需的主机。
  2. 单击详细信息窗格中 的网络接口选项卡。
  3. 单击 Setup Host Networks 按钮,以打开 Setup Host Networks 窗口。
  4. 通过选择逻辑网络并将它拖到物理主机网络接口旁边的 分配逻辑网络 区域,将逻辑网络附加到物理主机网络接口中。
    或者,右键单击逻辑网络,然后从下拉菜单中选择一个网络接口。
  5. 配置逻辑网络:
    1. 将光标悬停在分配的逻辑网络上,然后点击铅笔图标以打开 Edit Management Network 窗口。
    2. IPv4 选项卡中,选择一个来自 NoneDHCPStaticBoot Protocol。如果您选择了 Static,请输入 IPNetmask/ Routing PrefixGateway
      注意
      每个逻辑网络都可以有一个独立的网关,由管理网络网关定义。这样可确保通过逻辑网络到达的流量将使用逻辑网络的网关进行转发,而不是管理网络使用的默认网关。
      注意
      不应使用 IPv6 选项卡,因为目前不支持它。
    3. 使用 QoS 选项卡覆盖默认主机网络服务质量。选择 Override QoS,并在以下字段中输入所需的值:
      • 加权共享 :表示应分配特定网络的逻辑链接的容量量,相对于附加到同一逻辑链接的其他网络。确切共享取决于该链接上所有网络共享的总和。默认情况下,这是 1 到 100 范围内的数字。
      • 速率限制 [Mbps] :网络使用的最大带宽。
      • 已提交率 [Mbps ]:网络需要的最小带宽。请求的提交率不能保证,并根据网络基础架构和同一逻辑链路上其他网络请求的提交率不同。
      有关配置主机网络服务质量的更多信息,请参阅。 第 3.3 节 “主机网络服务质量”
    4. 要配置网桥,点 Custom Properties 选项卡,然后从下拉列表中选择 bridge_opts。输入有效的键和值,语法如下: key=value。使用空格字符分隔多个条目。以下键有效,示例提供的值:有关这些参数的详情请参考 第 B.1 节 “bridge_opts 参数的说明”
      forward_delay=1500
      gc_timer=3765
      group_addr=1:80:c2:0:0:0
      group_fwd_mask=0x0
      hash_elasticity=4
      hash_max=512
      hello_time=200
      hello_timer=70
      max_age=2000
      multicast_last_member_count=2
      multicast_last_member_interval=100
      multicast_membership_interval=26000
      multicast_querier=0
      multicast_querier_interval=25500
      multicast_query_interval=13000
      multicast_query_response_interval=1000
      multicast_query_use_ifaddr=0
      multicast_router=1
      multicast_snooping=1
      multicast_startup_query_count=2
      multicast_startup_query_interval=3125
    5. 要配置以太网属性,点 Custom Properties 选项卡,然后从下拉列表中选择 ethtool_opts。使用 ethtool 的命令行参数格式输入有效值。例如:
      --coalesce em1 rx-usecs 14 sample-interval 3 --offload em2 rx on lro on tso off --change em1 speed 1000 duplex half
      此字段可以接受通配符。例如,要将相同的选项应用到所有网络的接口,请使用:
      --coalesce * rx-usecs 14 sample-interval 3
      ethtool_opts 选项默认不可用;您需要使用引擎配置工具添加它。如需更多信息,请参阅 第 B.2 节 “如何将 Red Hat Virtualization Manager 设置为使用 Ethtool”。有关 ethtool 属性的详情,请参考在命令行中输入 man ethtool 的手册页。
    6. 要通过以太网配置光纤通道(FCoE),点 Custom Properties 选项卡,然后从下拉列表中选择 fcoe。输入有效的键和值,语法如下: key=value。至少 enable=yes。您还可以添加 dcb=[yes|no]auto_vlan=[yes|no]。使用空格字符分隔多个条目。fcoe 选项默认不可用;您需要使用引擎配置工具添加它。如需更多信息,请参阅 第 B.3 节 “如何将 Red Hat Virtualization Manager 设置为使用 FCoE”
      注意
      建议使用单独的专用逻辑网络来与 FCoE 结合使用。
    7. 如果您的逻辑网络定义没有与主机上的网络配置同步,请选择 Sync network 复选框。在同步之前,逻辑网络无法编辑或移动到其他接口。
      注意
      如果网络有以下条件之一,则不会被视为同步:
      • 虚拟机网络 与物理主机网络不同。
      • VLAN 标识符与物理主机网络不同。
      • 逻辑网络上设置自定义 MTU,与物理主机网络不同。
  6. 选中 Verify connectivity between Host and Engine 复选框来检查网络连接;此操作仅在主机处于维护模式时才有效。
  7. 选中 Save network configuration 复选框,以在环境重启时使更改持久保留。
  8. 点击 OK
注意
如果没有显示主机的所有网络接口卡,请单击 Refresh Capabilities 按钮来更新可用于该主机的网络接口卡列表。

6.5.3. 使用逻辑网络将多个 VLAN 添加到单一网络接口

多个 VLAN 可以添加到单一网络接口中,以分隔一个主机上的流量。
重要
您必须已创建了多个逻辑网络,所有在 New Logical NetworkEdit Logical Network 窗口中选择了 Enable VLAN tagging 复选框。

过程 6.21. 使用逻辑网络将多个 VLAN 添加到网络接口

  1. Hosts resource 选项卡,然后在结果列表中选择与分配了 VLAN 标记的逻辑网络的集群关联的主机。
  2. 单击详细信息窗格中的 Network Interfaces 选项卡,以列出附加到数据中心的物理网络接口。
  3. 单击 Setup Host Networks 以打开 Setup Host Networks 窗口。
  4. 将您的 VLAN 标记的逻辑网络 拖到物理网络接口旁边的分配的逻辑网络 区域。由于 VLAN 标记,物理网络接口可以分配多个逻辑网络。
  5. 将光标悬停在分配的逻辑网络上,然后单击铅笔图标以打开 Edit Network 窗口,以编辑逻辑网络。
    如果您的逻辑网络定义没有与主机上的网络配置同步,请选择 Sync network 复选框。
    从中选择 Boot Protocol:
    • ,
    • DHCP、或
    • 静态
      提供 IP 和子网掩码
    点击 OK
  6. 选中 Verify connectivity between Host and Engine 复选框来运行网络复选框;这只有在主机处于维护模式时才有效。
  7. 选择 Save network configuration 复选框
  8. 点击 OK
通过编辑集群中的每个主机上的 NIC,将逻辑网络添加到集群中的每个主机中。完成后,网络将变为可操作
您已将多个 VLAN 标记的逻辑网络添加到单个接口。此过程可以重复多次,在每次主机上选择并编辑相同的网络接口,以将具有不同 VLAN 标签的逻辑网络添加到单个网络接口。

6.5.4. 为主机网络分配额外的 IPv4 地址

在初始设置时,仅用一个 IP 地址创建主机网络,如 ovirtmgmt 管理网络。这意味着,如果 NIC 的配置文件(例如,/etc/sysconfig/network-scripts/ifcfg-eth01/ifcfg-eth01)配置了多个 IP 地址,则只有第一个列出的 IP 地址将分配给主机网络。如果连接到存储或者使用相同的 NIC 单独专用子网上的服务器,则可能需要额外的 IP 地址。
vdsm-hook-extra-ipv4-addrs hook 允许您为主机网络配置额外的 IPv4 地址。有关 hook 的更多信息,请参阅 附录 A, VDSM 和 Hook
在以下步骤中,必须在要为其配置额外 IP 地址的每个主机上执行特定于主机的任务。

过程 6.22. 为主机网络分配额外的 IPv4 地址

  1. 在您要为其配置额外 IPv4 地址的主机上,安装 VDSM hook 软件包。软件包默认在 Red Hat Virtualization 主机上可用,但需要在 Red Hat Enterprise Linux 主机上安装。
    # yum install vdsm-hook-extra-ipv4-addrs
  2. 在 Manager 中运行以下命令添加密钥:
    # engine-config -s 'UserDefinedNetworkCustomProperties=ipv4_addrs=.*'
  3. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  4. 在管理门户中,点 Hosts resource 选项卡,然后选择必须配置额外 IP 地址的主机。
  5. 单击详细信息窗格中的 Network Interfaces 选项卡,再单击 Setup Host Networks 按钮以打开 Setup Host Networks 窗口。
  6. 将光标悬停在分配的逻辑网络上,然后单击铅笔图标以打开 Edit Management Network 窗口,以编辑主机网络接口。
  7. Custom Properties 下拉列表中选择 ipv4_addr,再添加额外的 IP 地址和前缀(如 5.5.5.5/24)。多个 IP 地址必须用逗号分开。
  8. 点击 OK
  9. 选中 Save network configuration 复选框。
  10. 点击 OK
Manager 中不会显示额外的 IP 地址,但您可以在主机上运行 ip addr show 命令,以确认它们已被添加。

6.5.5. 在主机网络接口中添加网络标签

通过使用网络标签,您可以大大简化与分配逻辑网络关联的管理工作负载,以托管网络接口。
注意
在角色网络中设置标签(例如,迁移网络或显示网络)会导致在所有主机上大规模地部署该网络。这种大规模网络通过利用 DHCP 来实现。这种大规模部署方法是通过静态地址键入的方法进行选择,因为许多静态 IP 地址中键入的任务不可评分。

过程 6.23. 在主机网络接口中添加网络标签

  1. Hosts resource 选项卡,然后在结果列表中选择与分配了 VLAN 标记的逻辑网络的集群关联的主机。
  2. 单击详细信息窗格中的 Network Interfaces 选项卡,以列出附加到数据中心的物理网络接口。
  3. 单击 Setup Host Networks 以打开 Setup Host Networks 窗口。
  4. Labels,然后右键点击 [New Label]。选择要标记的物理网络接口。
  5. Label 文本字段中输入网络标签的名称。
  6. 点击 OK
您已在主机网络接口中添加网络标签。任何新创建的具有相同标签的逻辑网络将自动分配给具有该标签的所有主机网络接口。另外,从逻辑网络中删除标签将自动从具有该标签的所有主机网络接口中删除该逻辑网络。

6.5.6. bonds

6.5.6.1. Red Hat Virtualization 中的绑定日志

Red Hat Virtualization Manager 管理门户允许您使用图形界面创建绑定设备。有几个不同的绑定创建场景,每种场景都有自己的逻辑。
影响绑定逻辑的两个因素有:
  • 任一设备是否已执行逻辑网络?
  • 具有兼容逻辑网络的设备吗?

表 6.7. 绑定场景和结果

绑定场景 结果
NIC + NIC
此时会显示 Create New Bond 窗口,您可以配置一个新的绑定设备。
如果网络接口执行不兼容的逻辑网络,则绑定操作会失败,直到您将不兼容的逻辑网络从组成新绑定的设备分离。
NIC + Bond
NIC 添加到绑定设备中。NIC 传输的逻辑网络和绑定都添加到生成的绑定设备中(如果它们兼容)。
如果绑定设备使用不兼容的逻辑网络,则绑定操作会失败,直到您将不兼容的逻辑网络与组成新绑定的设备分离。
bond + Bond
如果绑定设备没有附加到逻辑网络,或者附加到兼容的逻辑网络,则会创建一个新的绑定设备。它包含所有网络接口,并传输组件绑定设备的所有逻辑网络。此时会显示 Create New Bond 窗口,允许您配置新的绑定。
如果绑定设备使用不兼容的逻辑网络,则绑定操作会失败,直到您将不兼容的逻辑网络与组成新绑定的设备分离。

6.5.6.2. bonds

绑定 是将多个网络接口卡聚合到单个软件定义设备中。因为绑定的网络接口结合了绑定中包含的网络接口卡的传输功能,以充当单个网络接口,所以它们可以提供比单个网络接口卡更高的传输速度。另外,因为绑定中的所有网络接口卡都必须失败,因此绑定本身都会导致容错功能增加。但是,一个限制是形成绑定网络接口的网络接口卡必须相同,以确保绑定中的所有网络接口卡都支持相同的选项和模式。
绑定的数据包分布算法由使用的绑定模式决定。
重要
模式 1、2、3 和 4 支持虚拟机(桥d)和非虚拟机(无桥)网络类型。模式 0、5 和 6 仅支持非虚拟机(无网桥)网络。
绑定模式
Red Hat Virtualization 默认使用模式 4,但支持以下通用绑定模式:
模式 0 (循环策略)
按顺序通过网络接口卡传输数据包。数据包在循环中传输,该循环以绑定中的第一个可用网络接口卡开始,并以绑定中最后一个可用网络接口卡结尾。然后,所有后续循环都从第一个可用的网络接口卡开始。模式 0 提供容错,并在绑定中的所有网络接口卡之间平衡负载。但是,模式 0 无法与网桥结合使用,因此与虚拟机逻辑网络不兼容。
模式 1 (主动备份策略)
在一个网络接口卡保持活动状态时,将所有网络接口卡设置为备份状态。如果活跃网卡中的故障,其中一个备份网卡将替换网卡作为绑定中唯一活跃的网卡。模式 1 中的绑定 MAC 地址只在一个端口上可见,以防止在绑定的 MAC 地址更改了活跃网络接口卡时导致的混淆。模式 1 提供容错功能,在 Red Hat Virtualization 中受到支持。
模式 2 (XOR 策略)
选择根据源和目标 MAC 地址 modulo 网络接口卡从计数来传输数据包结果的网络接口卡。此计算可确保为每个使用的目的地 MAC 地址选择相同的网卡。模式 2 提供容错和负载平衡,在 Red Hat Virtualization 中受到支持。
模式 3 (广播策略)
将所有数据包传输到所有网络接口卡。模式 3 提供容错功能,在 Red Hat Virtualization 中受到支持。
模式 4 (IEEE 802.3ad 策略)
创建聚合组,其中接口共享相同的速度和双工设置。模式 4 根据 IEEE 802.3ad 规格,使用活跃聚合组中的所有网络接口卡,并受 Red Hat Virtualization 支持。
模式 5 (adaptive 传输负载平衡策略)
确保传出流量帐户的发布,用于绑定中的每个网络接口卡上的负载,并且当前网络接口卡接收所有传入流量。如果分配给接收流量的网络接口卡失败,则会为接收传入流量的角色分配另一个网卡。模式 5 无法与网桥结合使用,因此它与虚拟机逻辑网络不兼容。
模式 6 (adaptive 负载均衡策略)
组合模式 5 (协调传输负载平衡策略)以及 IPv4 流量的接收负载平衡,而无需任何特殊的交换机要求。ARP 协商用于平衡接收负载。模式 6 无法与网桥结合使用,因此它与虚拟机逻辑网络不兼容。

6.5.6.3. 使用管理门户创建绑定设备

您可以将兼容网络设备绑定在一起。这种配置可能会增加可用带宽和可靠性。您可以绑定多个网络接口、预先存在的绑定设备以及两者的组合。绑定可以同时处理 VLAN 标记和非 VLAN 流量。

过程 6.24. 使用管理门户创建绑定设备

  1. 单击 Hosts resource 选项卡,然后在结果列表中选择主机。
  2. 单击详细信息窗格中的 Network Interfaces 选项卡,以列出附加到主机的物理网络接口。
  3. 单击 Setup Host Networks 以打开 Setup Host Networks 窗口。
  4. 在另一个设备的顶部选择并拖动一个设备,然后将其下降,以打开 Create New Bond 窗口。或者,右键单击该设备并从下拉菜单中选择另一个设备。
    如果设备不兼容,绑定操作会失败,并建议如何更正兼容性问题。
  5. 从下拉菜单中选择 Bond NameBonding Mode
    可以选择绑定模式 1、2、4 和 5。可以使用 Custom 选项来配置任何其他模式。
  6. 单击 OK 以创建绑定并关闭 Create New Bond 窗口。
  7. 为新创建的绑定设备分配逻辑网络。
  8. (可选)选择 验证主机和引擎之间的连接,以及 保存网络配置
  9. 单击 OK 接受更改并关闭 Setup Host Networks 窗口。
您的网络设备链接到绑定设备,并可以作为一个接口编辑。绑定设备在所选主机的详情窗格的 Network Interfaces 选项卡中列出。
必须为主机使用的交换机的端口启用绑定。为每个交换机启用绑定的进程稍有不同;请参阅您的交换机提供的手册以了解有关如何启用绑定的详细信息。

6.5.6.4. 在主机接口中使用自定义绑定选项示例

您可以从 Create New Bond 窗口的 Bonding Mode 选择 Custom 来创建自定义。应根据您的需要调整以下示例。有关绑定选项及其描述的完整列表,请参阅 Kernel.org 上的 Linux 以太网绑定驱动程序 HOWTO

例 6.1. xmit_hash_policy

此选项定义绑定模式 2 和 4 的传输负载平衡策略。例如,如果大多数流量在许多不同的 IP 地址之间,您可能希望设置策略来均衡 IP 地址。您可以选择 自定义 绑定模式来设置此负载均衡策略,并在文本字段中输入以下内容:
mode=4 xmit_hash_policy=layer2+3

例 6.2. ARP Monitoring

ARP 监控器对无法通过 ethtool 正确报告 link-state 的系统很有用。通过选择 自定义 绑定模式,在主机的绑定设备上设置 arp_interval,并在文本字段中输入以下内容:
mode=1 arp_interval=1 arp_ip_target=192.168.0.2

例 6.3. 主

您可能希望指定高吞吐量的 NIC 作为绑定设备中的主接口。通过选择 自定义 绑定模式来指定哪个 NIC 是主,并在文本字段中输入以下内容:
mode=1 primary=eth0

6.5.7. 更改主机的 FQDN

使用以下步骤更改主机的完全限定域名。

过程 6.25. 更新主机的 FQDN

  1. 将主机置于维护模式,以便虚拟机实时迁移到其他主机。如需更多信息,请参阅 第 7.5.7 节 “将主机移到维护模式”。或者,手动关闭或将所有虚拟机迁移到另一台主机上。如需更多信息, 请参阅虚拟机管理指南中的 手动迁移虚拟机
  2. 单击 Remove,然后单击 OK 以在管理门户中删除主机。
  3. 使用 hostnamectl 工具更新主机名。如需了解更多选项,请参阅 Red Hat Enterprise Linux 7 网络指南中的配置主机名
    # hostnamectl set-hostname NEW_FQDN
  4. 重启主机。
  5. 使用 Manager 重新注册主机。如需更多信息,请参阅 第 7.5.1 节 “在 Red Hat Virtualization Manager 中添加主机”

第 7 章 主机

7.1. 主机简介

主机也称为虚拟机监控程序,是运行虚拟机的物理服务器。完全虚拟化通过使用名为 基于内核的虚拟机(KVM)的可加载 Linux 内核模块来提供。
KVM 可以同时托管运行 Windows 或 Linux 操作系统的多个虚拟机。虚拟机作为单独的 Linux 进程和线程运行,并由 Red Hat Virtualization Manager 远程管理。Red Hat Virtualization 环境附加有一个或多个主机。
Red Hat Virtualization 支持两种安装主机方法。您可以使用 Red Hat Virtualization Host (RHVH)安装介质,或者在标准 Red Hat Enterprise Linux 安装中安装 hypervisor 软件包。
注意
您可以通过选择主机、点击详情窗格中 常规 选项卡下的 软件 来识别 Red Hat Virtualization Manager 中个别主机类型,并检查 操作系统描述
主机使用 tuned 配置集,它提供虚拟化优化。有关 tuned 的更多信息,请参阅 Red Hat Enterprise Linux 7 性能调优指南
Red Hat Virtualization 主机启用了安全功能。安全增强型 Linux (SELinux)和 iptables 防火墙被默认配置和打开。所选主机上的 SELinux 状态会在详情窗格 常规选项卡中SELinux 模式下 报告。当管理器添加到环境中时,管理器可以在 Red Hat Enterprise Linux 主机上打开所需的端口。
主机是带有 Intel VT 或 AMD-V 扩展运行 Red Hat Enterprise Linux 7 AMD64/Intel 64 版本的物理 64 位服务器。
Red Hat Virtualization 平台上的物理主机:
  • 必须只属于系统中的一个集群。
  • 必须具有支持 AMD-V 或 Intel VT 硬件虚拟化扩展的 CPU。
  • 必须具有支持在集群创建时选择的虚拟 CPU 类型的所有功能的 CPU。
  • 至少 2 GB RAM。
  • 可以具有系统权限分配系统管理员。
管理员可以从 Red Hat Virtualization 监视列表中收到最新的安全公告。订阅 Red Hat Virtualization 监视列表,通过电子邮件接收 Red Hat Virtualization 产品的新安全公告。通过填写此表单来订阅:
警告
目前不支持通过 NetworkManager (包括 nmclinmtui 和 Cockpit 用户界面)配置网络。如果在将主机添加到管理器前需要额外的网络配置,您必须手动编写 ifcfg 文件。如需更多信息,请参阅 Red Hat Enterprise Linux 网络指南

7.2. Red Hat Virtualization Host

Red Hat Virtualization Host (RHVH)使用 Red Hat Enterprise Linux 的特殊构建来安装,且只包括托管虚拟机所需的软件包。它使用一个基于 Red Hat Enterprise Linux 主机使用的 Anaconda 安装界面,并可通过 Red Hat Virtualization Manager 或 yum 更新。但是,目前不支持安装附加软件包;每次更新 RHVH 时,都必须重新安装其他软件包。
RHVH 具有 Cockpit 用户界面,用于监控主机的资源并执行管理任务。不支持通过 SSH 或控制台直接访问 RHVH,因此 Cockpit 用户界面为主机添加到 Red Hat Virtualization Manager 之前执行的任务提供了一个图形用户界面,如 部署自托管引擎,也可用于通过 Tools > Terminal -tab 运行终端命令。
在 Web 浏览器中访问 https://HostFQDNorIP:9090 的 Cockpit 用户界面。RHVH 的 Cockpit 包含自定义 Virtualization 仪表板,其中显示主机的健康状况、SSH 主机密钥、自托管引擎状态、虚拟机和虚拟机统计信息。
注意
可以使用 grubby 工具将自定义引导内核参数添加到 Red Hat Virtualization Host 中。grubby 工具对 grub.cfg 文件进行了永久更改。导航到主机的 Cockpit 用户界面中 的工具 > Terminal 子选项卡,以使用 grubby 命令。如需更多信息,请参阅 Red Hat Enterprise Linux 系统管理员指南
警告
红帽建议不要在 RHVH 上创建不受信任的用户,因为这可能导致利用本地安全漏洞。

7.3. Red Hat Enterprise Linux Hosts

您可以在一个功能的硬件中使用 Red Hat Enterprise Linux 7 安装作为主机。Red Hat Virtualization 支持运行带有 Intel VT 或 AMD-V 扩展的 Red Hat Enterprise Linux 7 服务器 AMD64/Intel 64 版本的主机。要将 Red Hat Enterprise Linux 机器用作主机,还必须附加 Red Hat Enterprise Linux Server 权利和 Red Hat Virtualization 权利。
添加主机可能需要一些时间,因为以下步骤由平台完成:虚拟化检查、安装软件包、创建桥接和重新引导主机。使用详情窗格来监控进程作为主机和管理系统建立连接。
重要
第三方 watchdog 不应安装在 Red Hat Enterprise Linux 主机上,因为它们可能会影响到 VDSM 提供的 watchdog 守护进程。

7.4. Satellite 主机提供程序主机

Satellite 主机提供程序提供的主机也可以用作 Red Hat Virtualization Manager 的虚拟化主机。在将 Satellite 主机提供程序作为外部提供者添加到管理器后,它所提供的任何主机都可添加到 Red Hat Virtualization 中,方式与 Red Hat Virtualization 主机(RHVH)和 Red Hat Enterprise Linux 主机相同。

7.5. 主机任务

7.5.1. 在 Red Hat Virtualization Manager 中添加主机

在 Red Hat Virtualization 环境中添加主机可能需要一些时间,因为平台完成了以下步骤:虚拟化检查、软件包安装、创建网桥和主机重启。使用详情窗格来监控进程作为主机和管理器建立连接。

过程 7.1. 在 Red Hat Virtualization Manager 中添加主机

  1. 在管理门户中,单击 Hosts resource 选项卡。
  2. New
  3. 使用下拉列表为新主机选择 Data CenterHost Cluster
  4. 输入新主机的 名称和地址标准 SSH 端口(端口 22)在 SSH Port 字段中自动填充。
  5. 选择用于管理器以访问主机的身份验证方法。
    • 输入 root 用户的密码以使用密码身份验证。
    • 或者,将 SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
  6. 单击 Advanced Parameters 按钮,以展开高级主机设置。
    1. (可选)禁用自动防火墙配置。
    2. (可选)添加主机 SSH 指纹以提高安全性。您可以手动添加,或自动获取。
  7. (可选)配置电源管理、SPM控制台、网络提供程序 和内核 如需更多信息,请参阅 第 7.5.4 节 “新主机和编辑主机 Windows 中的设置和控制的说明”。在为自托管引擎部署部署或取消部署主机时使用托管引擎。
  8. 点击 OK
新主机显示在主机列表中,状态为 Installing,您可以在详情窗格中查看安装进度。在短暂延迟主机状态变为 Up 后。

7.5.2. 添加 Satellite 主机

添加 Satellite 主机的过程与添加 Red Hat Enterprise Linux 主机的过程几乎相同,但该主机在 Manager 中标识的方法几乎相同。以下流程概述了如何添加由 Satellite 主机提供程序提供的主机。

过程 7.2. 添加 Satellite 主机

  1. 单击 Hosts resource 选项卡,以列出结果列表中的主机。
  2. 单击 New 以打开 New Host 窗口。
  3. 使用下拉菜单为新主机选择 Host Cluster
  4. 选中 Foreman/Satellite 复选框,以显示添加卫星主机的选项,然后选择要添加主机的提供程序。
  5. 选择 Discovered HostsProvisioned Hosts
    • 发现的主机 (默认选项):从下拉列表中选择主机、主机组和计算资源。
    • provisioned Hosts :从 Providers Hosts 下拉列表中选择一个主机。
    有关可以从外部供应商检索的主机的任何详情都会自动设置,并可以根据需要编辑。
  6. 输入新 主机的名称 地址和 SSH 端口 (仅调配的主机)。
  7. 选择要与主机一起使用的身份验证方法。
    • 输入 root 用户的密码以使用密码身份验证。
    • SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_hosts 以使用公钥身份验证(仅限调配的主机)。
  8. 您现在已完成了添加 Red Hat Enterprise Linux 主机的强制步骤。单击 Advanced Parameters 下拉菜单,以显示高级主机设置。
    1. (可选)禁用自动防火墙配置。
    2. (可选)添加主机 SSH 指纹以提高安全性。您可以手动添加,或自动获取。
  9. 您可以使用适用的选项卡 配置电源管理SPM控制台和 网络提供程序 ;但是,由于这些选项卡不是添加 Red Hat Enterprise Linux 主机的基础,因此此流程中不涉及它们。
  10. OK 添加主机并关闭窗口。
新主机显示在主机列表中,状态为 Installing,您可以在详情窗格中查看安装进度。安装完成后,其状态将更新为 Reboot。必须激活该主机,才能使状态变为 Up

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

Red Hat Virtualization 可以配置为查看 Red Hat Satellite 中的勘误。这可让主机管理员在用于管理主机配置的同一仪表板中接收有关可用勘误表及其重要性的更新。有关 Red Hat Satellite 的更多信息,请参阅 Red Hat Satellite 用户指南
Red Hat Virtualization 4.0 支持使用 Red Hat Satellite 6.1 进行勘误管理。
重要
主机通过 FQDN 在 Satellite 服务器中标识。使用 IP 地址添加的主机将无法报告勘误表。这样可确保外部内容主机 ID 不需要在 Red Hat Virtualization 中维护。
用于管理主机的 Satellite 帐户必须具有管理员权限和默认组织集。

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

  1. 将 Satellite 服务器添加为外部提供程序。如需更多信息,请参阅 第 12.2.1 节 “为主机置备添加 Red Hat Satellite 实例”
  2. 将所需的主机与 Satellite 服务器关联。
    注意
    主机必须注册到 Satellite 服务器,并安装了 katello-agent 软件包。
    有关如何配置主机注册的更多信息,请参阅 Red Hat Satellite 用户指南中的 配置主机注册,以及有关如何注册主机并安装 katello-agent 软件包的更多信息,请参阅 Red Hat Satellite 用户指南中的 注册
    1. Hosts 选项卡中,在结果列表中选择主机。
    2. 点击 Edit 以打开 Edit Host 窗口。
    3. 选中 使用 Foreman/Satellite 复选框。
    4. 从下拉列表中选择所需的 Satellite 服务器。
    5. 点击 OK
现在,主机被配置为显示可用的勘误表及其重要性,用于管理主机配置。

7.5.4. 新主机和编辑主机 Windows 中的设置和控制的说明

7.5.4.1. 主机常规设置说明

这些设置在编辑主机详情或添加新的 Red Hat Enterprise Linux 主机和 Satellite 主机时应用。
General 设置表包含新建主机或编辑主机窗口的 常规 选项卡上所需的信息。

表 7.1. 常规设置

字段名称
Description
数据中心
主机所属的数据中心。Red Hat Virtualization Host (RHVH)无法添加到启用了 Gluster 的集群。
主机集群
主机所属的集群。
使用 Foreman/Satellite
选择或清除此复选框,以查看或隐藏用于添加由 Satellite 主机提供程序提供的主机的选项。以下选项也可用:

发现的主机

  • 发现的主机 - 填充引擎发现的 Satellite 主机名称的下拉列表。
  • 主机组 - 可用主机组的下拉列表。
  • 计算资源 - 用于提供计算资源的虚拟机监控程序下拉列表。

置备的主机

  • Provider Hosts - 填充所选外部提供程序提供的主机名称的下拉列表。此列表中的条目按照 提供程序搜索过滤器中输入的任何搜索查询过滤
  • 提供程序搜索过滤器 - 允许您搜索由所选外部提供程序提供的主机的文本字段。这个选项是特定于供应商的;请参阅供应商文档,了解为特定供应商的搜索查询的详情。将此字段留空以查看所有可用的主机。

名称
集群的名称。此文本字段的限制为 40 个字符,且必须是唯一的名称,其中含有大写字母和小写字母、数字、连字符和下划线的任意组合。
注释
用于添加有关主机的纯文本可读注释的字段。
地址
主机的 IP 地址或可解析的主机名。
密码
主机 root 用户的密码。这只能在您添加主机时给定,之后无法对其进行编辑。
SSH PublicKey
将文本框中的内容复制到主机上的 /root/.known_hosts 文件中,以使用 Manager 的 ssh 密钥,而不是使用密码与主机进行身份验证。
自动配置主机防火墙
添加新主机时,管理器可以在主机的防火墙上打开所需的端口。这默认是启用的。这是 高级参数
SSH 指纹
您可以获取主机的 SSH 指纹,并将其与预期主机返回的指纹进行比较,确保它们匹配。这是 高级参数

7.5.4.2. 主机电源管理设置说明

Power Management 设置表包含新建主机或编辑主机窗口的电源管理选项卡所需的信息。 如果主机有一个受支持的电源管理卡,您可以配置电源管理卡。

表 7.2. 电源管理 设置

字段名称
Description
启用电源管理
在主机上启用电源管理。选中此复选框以启用 Power Management 选项卡中的其余字段。
kdump 集成
在执行内核崩溃转储时防止主机隔离,以便崩溃转储不会中断。从 Red Hat Enterprise Linux 7.1 开始,默认提供 kdump。如果主机上提供了 kdump,但其配置无效(kdump 服务无法启动),启用 Kdump 集成 将导致主机(重新)安装失败。如果是这种情况,请参阅 第 7.6.4 节 “fence_kdump 高级配置”
禁用电源管理策略控制
电源 管理由主机的集群的调度策略控制如果启用了电源管理并且达到定义的低利用率值,则管理器将关闭主机机器,并在负载平衡需要或集群中没有足够的可用主机时再次重新启动。选中此复选框可禁用策略控制。
由 Sequential Order 的代理
列出主机的隔离代理。隔离代理可以是连续、并发的,也可以是这两者的组合。
  • 如果按顺序使用隔离代理,则将使用主代理来停止或启动主机,如果失败,则使用二级代理。
  • 如果同时使用隔离代理,则两个隔离代理都必须响应停止主机的 Stop 命令;如果一个代理响应 Start 命令,则主机将启动。
隔离代理默认是连续的。使用 up 和 down 按钮更改使用隔离代理的顺序。
要使两个隔离代理并发并发,请从其他隔离代理旁的 Concurrent with 下拉列表中选择一个隔离代理。通过从其他隔离代理旁的 Concurrent with 下拉列表中选择组,可以向并发隔离代理组添加额外的隔离代理。
添加隔离代理
单击加号(+)按钮来添加新的隔离代理。这会打开 Edit fence agent 窗口。有关此窗口中字段的更多信息,请查看下表。
电源管理代理首选项
默认情况下,指定管理器将在与主机相同的 集群中 搜索隔离代理,如果没有找到隔离代理,管理器将在同一 dc (数据中心)中搜索。使用上下和下移按钮来更改使用这些资源的顺序。此字段在 Advanced Parameters 下提供。
下表包含 Edit fence agent 窗口中所需的信息。

表 7.3. 编辑隔离代理 设置

字段名称
Description
地址
访问主机的电源管理设备的地址。可解析的主机名或 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 Remote Access Controller for Dell computers。
  • drac7 - Dell Remote Access Controller for Dell computers。
  • eps - ePowerSwitch 8M+ 网络电源开关。
  • hpblade - HP BladeSystem.
  • iLO,ilo 2,ilo3, ilo4 - HP Integrated Lights-Out.
  • ipmilan - Intelligent Platform Management Interface 和 Sun Integrated Lights Out Management 设备。
  • RSA - IBM Remote Supervisor Adapter。
  • rsb - Fujitsu-Siemens RSB 管理界面。
  • WTI 网络电源切换.
端口
电源管理设备用来与主机通信的端口号。
插槽
用于识别电源管理设备的刀片数。
服务配置文件
用于识别电源管理设备的刀片式服务配置文件名称。当设备类型为 cisco_ucs 时,会显示此字段而不是 Slot
选项
电源管理特定选项。将其输入为 'key=value'。有关可用选项,请查看主机电源管理设备的文档。
对于 Red Hat Enterprise Linux 7 主机,如果您使用 cisco_ucs 作为电源管理设备,您还需要将 ssl_insecure=1 附加到 Options 字段中。
安全
选中此复选框,以允许电源管理设备安全地连接到主机。这可通过 ssh、ssl 或其他身份验证协议完成,具体取决于电源管理代理。

7.5.4.3. SPM 优先级设置已说明

SPM 设置表详细介绍了新建主机或编辑主机窗口的 SPM 选项卡上所需的信息。

表 7.4. SPM 设置

字段名称
Description
SPM 优先级
定义主机将被授予存储池管理程序 (SPM) 角色的可能性。选项包括 Low,Normal, 和 High 优先级。低优先级意味着被分配 SPM 角色的主机的可能性较小,高优先级意味着会增加的可能性。默认设置为 Normal。

7.5.4.4. 主机控制台设置说明

Console 设置表详细介绍了 New HostEdit Host 窗口的 Console 选项卡中所需的信息。

表 7.5. 控制台设置

字段名称
Description
覆盖显示地址
选中此复选框来覆盖主机的显示地址。当主机由内部 IP 定义并在 NAT 防火墙后面定义时,此功能很有用。当用户从内部网络外连接到虚拟机时,而不是返回运行虚拟机的主机的专用地址时,虚拟机会返回公共 IP 或 FQDN (在外部网络中解析到公共 IP)。
显示地址
此处指定的显示地址将用于此主机上运行的所有虚拟机。地址必须是完全限定域名或 IP 的格式。

7.5.4.5. 网络供应商设置介绍

Network Provider 设置表详细介绍了 New HostEdit Host 窗口的 Network Provider 选项卡所需的信息。

表 7.6. 网络供应商 设置

字段名称
Description
外部网络提供程序
如果您添加了外部网络供应商,并且希望主机的网络由外部网络供应商置备,请从列表中选择一个。

7.5.4.6. 内核设置已说明

Kernel 设置表详细介绍了 New HostEdit Host 窗口的 内核 选项卡上所需的信息。常见内核引导参数选项被列为复选框,以便您可以轻松选择它们。对于更复杂的更改,请使用 Kernel 命令行 旁边的 free text entry 字段在所需的任何其他参数中添加。
重要
如果主机已附加到 Manager,请确保在应用任何更改前将主机置于维护模式。您需要通过点 Reinstall 来重新安装主机,然后在重新安装完成后重启主机以使更改生效。

表 7.7. 内核设置

字段名称
Description
hostdev Passthrough 和 SR-IOV
在内核中启用 IOMMU 标志,以便虚拟机使用主机设备,就像该设备是直接附加到虚拟机的设备一样。主机硬件和固件还必须支持 IOMMU。硬件上必须启用虚拟化扩展和 IOMMU 扩展。请参阅安装指南中的为 PCI Passthrough 配置主机。IBM POWER8 默认启用 IOMMU。
嵌套虚拟化
启用 vmx 或 svm 标志,以便您可以在虚拟机中运行虚拟机。这个选项仅用于评估目的,且不支持用于生产环境。主机上必须安装 vdsm-hook-nestedvt hook。
不安全的中断
如果启用了 IOMMU,但 passthrough 会失败,因为硬件不支持中断重新映射,您可以考虑启用这个选项。请注意,只有在主机上的虚拟机被信任时,您应该只启用这个选项,但该选项可能会使主机公开到虚拟机的 MSI 攻击。这个选项仅用于在将未认证硬件用于评估时用作临时解决方案。
PCI 重新分配
如果您的 SR-IOV NIC 无法因为内存问题分配虚拟功能,请考虑启用这个选项。主机硬件和固件还必须支持 PCI 重新分配。这个选项仅用于在将未认证硬件用于评估时用作临时解决方案。
内核命令行
此字段允许您将更多内核参数附加到默认参数。
注意
如果内核引导参数灰显,请单击 重置按钮,选项将可用。

7.5.4.7. 托管引擎设置说明

托管引擎设置 表详细介绍了新建主机或编辑主机窗口的 托管引擎 选项卡所需的信息。

表 7.8. 托管引擎设置

字段名称
Description
选择托管引擎部署操作
有三个选项可用:
  • none - 不需要操作。
  • deploy - 选择这个选项将主机部署为自托管引擎节点。
  • 取消部署 - 对于自托管引擎节点,您可以选择此选项来取消部署主机并移除与自托管引擎相关的配置。

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

配置主机电源管理设备设置,以从管理门户执行主机生命周期操作(停止、启动、重新启动)。
需要配置主机电源管理,以便使用主机高可用性和虚拟机高可用性。
重要
在配置电源管理设置前,请确保您的 主机处于维护模式。否则,该主机上运行的所有虚拟机都将在重启主机时不正常停止,这可能会在生产环境中造成中断。如果您还没有将主机设置为维护模式,则会出现警告对话框

过程 7.4. 配置电源管理设置

  1. Hosts 选项卡中,在结果列表中选择主机。
  2. 点击 Edit 以打开 Edit Host 窗口。
  3. Power Management 选项卡显示 Power Management 设置。
  4. 选中 Enable Power Management 复选框来启用这些字段。
  5. 选择 Kdump integration 复选框,以防止主机在执行内核崩溃转储时隔离。
    重要
    当您在现有 主机上启用 Kdump 集成时,必须重新安装主机才能配置 kdump。请参阅 第 7.5.11 节 “重新安装主机”
  6. (可选)如果您不希望主机的电源管理由主机的集群的调度策略控制,请选择 Disable policy control of of power management 复选框。
  7. 单击加号(+)按钮以添加新的电源管理设备。这会打开 Edit fence agent 窗口。
  8. 在相应的字段中 输入 电源管理设备 的地址、用户名和密码。
  9. 从下拉列表中选择电源管理设备 类型
  10. 输入电源管理设备用来与主机通信的 SSH 端口号
  11. 输入 Slot 编号,用于识别电源管理设备的刀片式。
  12. 输入电源管理设备的 Options。使用以逗号分隔的 'key=value' 条目列表。
  13. 选中 Secure 复选框,以启用电源管理设备安全地连接到主机。
  14. 单击 Test 以确保设置正确。测试 Succeeded,主机状态在成功验证后将显示:
  15. OK 关闭 Edit fence agent 窗口。
  16. Power Management 选项卡中,选择性地展开 Advanced Parameters,并使用 up 和 down 按钮指定管理器搜索主机的 集群和 dc (数据中心)用于隔离代理的顺序。
  17. 点击 OK
现在在管理门户中启用了 Power Management 下拉菜单。

7.5.6. 配置主机存储池管理程序设置

存储池管理程序 (SPM) 是针对数据中心中的一个主机的管理角色,用于维护对存储域的访问控制。SPM 必须始终可用,如果 SPM 主机不可用,则 SPM 角色将被分配给其他主机。由于 SPM 角色使用部分主机的可用资源,因此优先选择可以负担资源的主机非常重要。
主机的存储池管理器(SPM)优先级设置会改变被分配 SPM 角色的主机的可能性:在主机具有高 SPM 优先级的主机前,将被分配 SPM 角色。

过程 7.5. 配置 SPM 设置

  1. 单击 Hosts resource 选项卡,然后从结果列表中选择主机。
  2. 点击 Edit 以打开 Edit Host 窗口。
  3. 单击 SPM 选项卡,以显示 SPM 优先级 设置。
  4. 使用单选按钮为主机选择适当的 SPM 优先级。
  5. OK 保存设置并关闭窗口。
您已配置了主机的 SPM 优先级。

7.5.7. 将主机移到维护模式

许多常见的维护任务(包括网络配置和部署软件更新)都需要将主机置于维护模式。在任何可能导致 VDSM 停止正常工作的事件(如重启)或网络或存储的问题之前,应将主机置于维护模式。
当主机置于维护模式时,Red Hat Virtualization Manager 会尝试将所有正在运行的虚拟机迁移到备用主机上。实时迁移应用标准先决条件,特别是集群中必须至少有一个活动主机,且具备相应的容量才可运行迁移的虚拟机。

过程 7.6. 将主机置于维护模式

  1. 单击 Hosts resource 选项卡,然后选择所需的主机。
  2. Maintenance 打开 Maintenance Host (s) 确认窗口。
  3. (可选)在 Maintenance Host (s) 确认窗口中输入 Reason 将主机置于维护模式。这可让您解释维护,该维护将显示在日志中以及主机再次激活的时间。
    注意
    只有在集群设置中启用后,主机维护 Reason 字段才会显示。如需更多信息,请参阅 第 5.2.2.1 节 “常规集群设置说明”
  4. 单击 OK 以启动维护模式。
所有正在运行的虚拟机都迁移到备用主机。如果主机是存储池管理程序 (SPM),则 SPM 角色将迁移到其他主机。主机的 Status 字段将更改为 Preparing for Maintenance,并在操作成功完成时最终更改为 Maintenance。当主机处于维护模式时,VDSM 不会停止。
注意
如果迁移在任何虚拟机上都失败,请单击 Activate 以停止操作,将其置于维护模式,然后单击虚拟机上的 Cancel Migration 以停止迁移。

7.5.8. 从维护模式激活主机

必须先激活已置于维护模式或最近添加到环境中的主机。如果主机未就绪,激活可能会失败;确保在尝试激活主机前完成所有任务。

过程 7.7. 从维护模式激活主机

  1. 单击 Hosts resources 选项卡,再选择主机。
  2. Activate
主机状态变为 Unassigned,并在操作完成后最终变为 Up。虚拟机现在可以在主机上运行。当主机被置于维护模式时,从主机迁移的虚拟机在激活后不会自动迁移到主机,但可以手动迁移。如果主机在进入维护模式之前是存储池管理器 (SPM),则当主机激活时 SPM 角色不会自动返回。

7.5.9. 删除主机

从虚拟环境中删除主机。

过程 7.8. 删除主机

  1. 在管理门户中,点 Hosts resource 选项卡,然后在结果列表中选择主机。
  2. 将主机置于维护模式。
  3. Remove 打开 Remove Host (s) 确认窗口。
  4. 如果主机是 Red Hat Gluster Storage 集群的一部分,或者主机不响应,则选中 Force Remove 复选框。
  5. 点击 OK
您的主机已从环境中移除,在 Hosts 选项卡中不再可见。

7.5.10. 在次版本间更新主机

有关在次版本间保持主机最新的说明,请参阅升级指南中的以下章节 https://access.redhat.com/documentation/en/red-hat-virtualization/4.0/single/upgrade-guide/#chap-Updates_between_Minor_Releases

7.5.11. 重新安装主机

从管理门户重新安装 Red Hat Virtualization 主机(RHVH)和 Red Hat Enterprise Linux 主机。该流程包括停止和重启主机。如果在集群级别启用了迁移,则虚拟机将自动迁移到集群中的另一主机上;因此,建议在主机使用量相对较低时执行主机重新安装。
主机所属集群必须有足够的内存保留,以便其主机执行维护。在缺少足够内存的集群中将带有实时虚拟机的主机移至维护会导致虚拟机迁移操作挂起,然后失败。您可以通过在将主机移至维护前关闭部分或所有虚拟机来减少此操作的内存用量。
重要
在执行重新安装前,请确保集群包含多个主机。不要尝试同时重新安装所有主机,因为一个主机必须保持可用才能执行存储池管理程序(SPM)任务。

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

  1. 使用 Hosts 资源选项卡、树形模式或搜索功能在结果列表中查找和选择主机。
  2. Maintenance。如果在集群级别启用了迁移,则主机上运行的任何虚拟机都将迁移到其他主机。如果主机是 SPM,则此功能将移到另一主机上。主机的状态在进入维护模式时改变。
  3. Reinstall 打开 Install Host 窗口。
  4. 单击 OK 以重新安装主机。
成功重新安装后,主机将显示 Up 状态。所有从主机迁移的虚拟机均可迁移回该主机。
重要
在 Red Hat Virtualization Host 成功注册到 Red Hat Virtualization Manager 并重新安装后,可能会错误地出现在管理门户中,状态为 Install Failed。单击 Activate,主机将更改为 Up 状态并准备就绪。

7.5.12. 使用标签自定义主机

您可以使用标签存储主机的相关信息。然后,您可以根据标签搜索主机。

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

  1. 使用 Hosts 资源选项卡、树形模式或搜索功能在结果列表中查找和选择主机。
  2. 单击 Assign Tags,以打开 Assign Tags 窗口。

    图 7.1. 分配标签窗口

    分配标签窗口
  3. Assign Tags 窗口列出所有可用的标签。选中适用标签的复选框。
  4. 单击 OK 以分配标签并关闭窗口。
您已添加了额外的、可搜索主机的信息作为标签。

7.5.13. 查看主机勘误

主机配置为从 Red Hat Satellite 服务器接收勘误表信息后,可以查看每个主机的勘误表。有关配置主机以接收勘误信息的更多信息,请参阅 第 7.5.3 节 “为主机配置 Satellite 勘误管理”

过程 7.11. 查看主机勘误

  1. 单击 Hosts resource 选项卡,然后从结果列表中选择主机。
  2. 点详情栏中的 General 选项卡。
  3. General 选项卡中,单击 Errata 子选项卡。

7.5.14. 查看主机的健康状况

主机除了其常规 状态 外,还具有外部健康状态。外部健康状态由插件或外部系统报告,或者由管理员设置,并出现在主机 名称左侧的 以下图标之一:
  • OK: 没有图标
  • info
  • Warning
  • 错误
  • 失败
要查看主机健康状态的更多详情,请选择主机并单击 Events 子选项卡。
也可以使用 REST API 查看主机的健康状况。主机上的 GET 请求将包含 external_status 元素,其中包含健康状态。
您可以通过 事件 集合在 REST API 中设置主机的健康状况。如需更多信息,请参阅 REST API 指南中的 添加事件

7.5.15. 查看主机设备

您可以在详情窗格中查看每个主机的主机设备。如果为直接设备分配配置了主机,则这些设备可以直接附加到虚拟机,以提高性能。
有关直接设备分配的硬件要求的更多信息,请参阅 Red Hat Virtualization 硬件注意事项 中的使用设备分配的附加 硬件注意事项。https://access.redhat.com/documentation/en/red-hat-virtualization/4.0/single/hardware-considerations-for-implementing-sr-iov/#Additional_Considerations
有关将主机设备附加到虚拟机的更多信息,请参阅虚拟机管理指南中的 主机设备

过程 7.12. 查看主机设备

  1. 使用 Hosts 资源选项卡、树形模式或搜索功能查找并从结果列表中选择主机。
  2. 单击详细信息窗格中 的主机设备选项卡。
详细信息面板列出了主机设备的详细信息,包括该设备是否附加到虚拟机,并且当前由该虚拟机使用。

7.5.16. 为 GPU Passthrough 准备主机和客户机系统

主机中的图形处理单元(GPU)设备可以直接分配给虚拟机。在达到此目标前,主机和虚拟机都需要对其 grub 配置文件进行修改。您可以使用管理门户中的 Kernel 命令行 空闲文本字段字段编辑主机 grub 配置文件。主机虚拟机和虚拟机都需要重新引导才能使更改生效。
此流程与使用 x86_64 或 ppc64le 架构的主机相关。
有关直接设备分配的硬件要求的更多信息,请参阅安装指南中的 PCI 设备 要求
重要
如果主机已附加到 Manager,请确保在应用任何更改前将主机置于维护模式。

过程 7.13. 为 GPU Passthrough 准备主机

  1. 在管理门户中选择一个主机。
  2. 单击详细信息窗格中的 常规选项卡,然后单击 Hardware。找到 GPU 设备 厂商 ID:产品 ID。在本例中,ID 是 10de:13ba10de:0fbc
  3. 右键单击主机并选择 编辑。点 Kernel 标签页。
  4. Kernel 命令行 free 文本条目字段中,输入位于前面的步骤中的 ID。
    pci-stub.ids=10de:13ba,10de:0fbc
  5. 在主机上将对应的驱动程序列入黑名单。例如,要将 nVidia 的 nouveau 驱动程序列入黑名单,在 pci-stub.ids=xxxx:xxxx 旁边输入 rdblacklist=nouveau
    pci-stub.ids=10de:13ba,10de:0fbc rdblacklist=nouveau
  6. OK 保存更改。
  7. 单击 Reinstall,将更改提交到主机。
  8. 重新安装完成后重启主机。
注意
要确认该设备绑定到 pci-stub 驱动程序,请运行 lspci 命令:
# lspci -nnk
...
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107GL [Quadro K2200] [10de:13ba] (rev a2)
        Subsystem: NVIDIA Corporation Device [10de:1097]
        Kernel driver in use: pci-stub
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:1097]
        Kernel driver in use: pci-stub
...
有关如何通过手动编辑 grub 配置文件进行上述更改的说明,请参阅 3.6 管理指南中的 为 GPU Passthrough 准备主机和客户机系统
继续下一步在客户端系统端配置 GPU 透传。

过程 7.14. 为 GPU Passthrough 准备客户虚拟机

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

7.5.17. 从管理门户访问 Cockpit

Cockpit UI 插件是可在 Red Hat Virtualization 环境中安装的可选功能。该插件通过管理门户提供对 Cockpit 用户界面的访问,以用于监控和管理主机资源。选择了带有 Cockpit 的主机时,Cockpit 子选项卡将直接在管理门户的详细信息窗格中显示 Cockpit 用户界面。或者,主 Hosts 菜单中的 Cockpit 按钮将在新的浏览器标签页中打开 Cockpit 用户界面。
默认情况下,Cockpit 用户界面在 Red Hat Virtualization Host (RHVH)上可用。目前在 Red Hat Enterprise Linux 主机上不支持它。

过程 7.15. 从管理门户访问 Cockpit

  1. 在 Manager 机器上安装 Cockpit UI 插件:
    # yum install cockpit-ovirt-uiplugin
  2. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  3. 在管理门户中,点 Hosts 选项卡并选择主机。
  4. 在新标签页中打开 Cockpit 用户界面,或者直接通过管理门户查看它:
    • 右键单击主机并选择 Cockpit,以在新的浏览器标签页中打开 Cockpit 用户界面。
    • 单击 Cockpit 子选项卡,以在 Hosts 选项卡的详细信息窗格中查看 Cockpit 用户界面。
      注意
      如果所选主机上没有 Cockpit,Cockpit 子选项卡将显示基本的故障排除步骤。

7.6. 主机弹性

7.6.1. 主机高可用性

Red Hat Virtualization Manager 使用隔离来保持集群响应速度。不响应的主机 与非 操作 主机不同。非操作 主机可由 Manager 与 通信,但有不正确的配置,例如缺少的逻辑网络。不响应的主机 不能与管理器通信。
如果具有电源管理设备的主机丢失了与 Manager 的通信,则可以从管理门户隔离(重新启动)。该主机上运行的虚拟机都已停止,并且高可用性虚拟机在不同的主机上启动。
所有电源管理操作都使用代理主机完成,而不是直接由 Red Hat Virtualization Manager 进行。电源管理操作至少需要两台主机。
隔离允许集群响应意外的主机故障,并强制进行节能、负载平衡和虚拟机可用性策略。您应该为主机的电源管理设备配置隔离参数,并测试其正确性。
可以使用电源管理参数自动隔离主机,或者通过右键单击主机并使用菜单上的选项来手动隔离。在隔离操作中,会重启无响应的主机,如果主机没有在指定时间内返回活动状态,它会保持没有响应的手动干预和故障排除。
如果需要主机来运行具有高可用性的虚拟机,则必须启用和配置电源管理。

7.6.2. Red Hat Virtualization 中的代理管理

Red Hat Virtualization Manager 不直接与隔离代理通信。相反,经理使用代理向主机电源管理设备发送电源管理命令。Manager 使用 VDSM 执行电源管理设备操作,因此环境中的另一台主机用作隔离代理。
您可以选择:
  • 任何与需要隔离的主机相同的集群中的主机。
  • 任何与需要隔离的主机在同一数据中心中的主机。
可行的隔离代理主机的状态为 UPMaintenance

7.6.3. 在主机上设置隔离参数

主机隔离的参数使用 New HostEdit Host 窗口中的 Power Management 字段来设置。电源管理使系统能够使用其他接口(如远程访问卡(RAC))隔离问题的主机。
所有电源管理操作都使用代理主机完成,而不是直接由 Red Hat Virtualization Manager 进行。电源管理操作至少需要两台主机。

过程 7.16. 在主机上设置隔离参数

  1. 使用 Hosts 资源选项卡、树形模式或搜索功能在结果列表中查找和选择主机。
  2. 点击 Edit 以打开 Edit Host 窗口。
  3. Power Management 选项卡。

    图 7.2. 电源管理设置

    电源管理设置
  4. 选中 Enable Power Management 复选框来启用这些字段。
  5. 选择 Kdump integration 复选框,以防止主机在执行内核崩溃转储时隔离。
    重要
    当您在现有 主机上启用 Kdump 集成时,必须重新安装主机才能配置 kdump。请参阅 第 7.5.11 节 “重新安装主机”
  6. (可选)如果您不希望主机的电源管理由主机的集群的调度策略控制,请选择 Disable policy control of of power management 复选框。
  7. 单击加号(+)按钮以添加新的电源管理设备。这会打开 Edit fence agent 窗口。

    图 7.3. 编辑隔离代理

    编辑隔离代理
  8. 输入电源管理设备的地址、用户名 和 密码
  9. 从下拉列表中选择电源管理设备 类型
    注意
    有关如何设置自定义电源管理设备的更多信息,请参阅 https://access.redhat.com/articles/1238743
  10. 输入电源管理设备用来与主机通信的 SSH 端口号
  11. 输入 Slot 编号,用于识别电源管理设备的刀片式。
  12. 输入电源管理设备的 Options。使用以逗号分隔的 'key=value' 条目列表。
  13. 选中 Secure 复选框,以启用电源管理设备安全地连接到主机。
  14. 单击 Test 按钮,以确保设置正确。测试 Succeeded,主机状态在成功验证后将显示:
    警告
    电源管理参数(userid、password、选项等)仅在设置期间和之后手动进行测试。如果您选择忽略有关参数不正确的警报,或者在没有 Red Hat Virtualization Manager 的对应更改的情况下在电源管理硬件上更改参数,则隔离可能在需要时失败。
  15. OK 关闭 Edit fence agent 窗口。
  16. Power Management 选项卡中,选择性地展开 Advanced Parameters,并使用 up 和 down 按钮指定管理器搜索主机的 集群和 dc (数据中心)用于隔离代理的顺序。
  17. 点击 OK
您返回到主机列表。请注意,主机名旁边的感叹号现已消失,表示电源管理已被成功配置。

7.6.4. fence_kdump 高级配置

kdump

在详情窗格的 General 选项卡中,选择一个主机来查看 kdump 服务的状态:

  • 启用: kdump 已正确配置,kdump 服务正在运行。
  • 禁用: kdump 服务没有运行(在这种情况下 kdump 集成将无法正常工作)。
  • Unknown :只在带有旧的 VDSM 版本(不报告 kdump 状态)的主机发生。
有关安装和使用 kdump 的详情,请参考 Red Hat Enterprise Linux 7 Kernel Crash 转储指南

fence_kdump

New HostEdit Host 窗口的 Power Management 选项卡中启用 Kdump 集成 配置标准 fence_kdump 设置。如果环境的网络配置很简单,且管理器的 FQDN 可以在所有主机上解析,则默认的 fence_kdump 设置就可以使用。

然而,在有些情况下,需要 fence_kdump 的高级配置。更复杂的网络环境可能需要手动更改 Manager、fence_kdump 侦听器配置,或两者。例如,如果在启用了 Kdump 集成的 所有主机上无法解析 Manager 的 FQDN,您可以使用 engine-config 设置正确的主机名或 IP 地址:
engine-config -s FenceKdumpDestinationAddress=A.B.C.D
以下示例情况可能还需要配置更改:
  • 管理器有两个 NIC,其中其中一个是面向公众的,第二个是 fence_kdump 消息的首选目的地。
  • 您需要在不同的 IP 或端口上执行 fence_kdump 侦听程序。
  • 您需要为 fence_kdump 通知信息设置自定义间隔,以防止可能的数据包丢失。
建议只在高级用户中使用自定义的 fence_kdump 检测设置,因为只有更复杂的网络设置中才需要更改默认配置。有关 fence_kdump 侦听器的配置选项请参考 第 7.6.4.1 节 “fence_kdump listener Configuration”。有关在 Manager 中配置 kdump,请参考 第 7.6.4.2 节 “在 Manager 中配置 fence_kdump”

7.6.4.1. fence_kdump listener Configuration

编辑 fence_kdump 侦听器的配置。这只在默认配置不够时才需要。

过程 7.17. 手动配置 fence_kdump Listener

  1. /etc/ovirt-engine/ovirt-fence-kdump-listener.conf.d/中创建一个新文件(例如 my-fence-kdump.conf)。
  2. 使用 syntax OPTION=value 输入您的自定义,再保存文件。
    重要
    编辑的值也必须在 engine-config 中更改,如 第 7.6.4.2 节 “在 Manager 中配置 fence_kdump” 中的 fence_kdump Listener Configuration Options 表中所述。
  3. 重启 fence_kdump 侦听程序:
    # systemctl restart ovirt-fence-kdump-listener.service
如果需要,可以自定义以下选项:

表 7.9. fence_kdump Listener Configuration Options

变量 Description 默认 备注
LISTENER_ADDRESS 定义在其中接收 fence_kdump 消息的 IP 地址。 0.0.0.0 如果更改了此参数的值,它必须与 engine-config 中的 FenceKdumpDestinationAddress 的值匹配。
LISTENER_PORT 定义在其上接收 fence_kdump 消息的端口。 7410 如果更改了此参数的值,它必须与 engine-config 中的 FenceKdumpDestinationPort 的值匹配。
HEARTBEAT_INTERVAL 定义监听器的心跳更新间隔(以秒为单位)。 30 如果更改了此参数的值,它的大小必须小于 engine-config 中的 FenceKdumpListenerTimeout 的值。
SESSION_SYNC_INTERVAL 定义将监听器的主机 kdump 内存中会话与数据库同步的时间间隔(以秒为单位)。 5 如果更改了此参数的值,它的大小必须小于 engine-config 中的 KdumpStartedTimeout 的值。
REOPEN_DB_CONNECTION_INTERVAL 定义重新打开之前不可用的数据库连接的时间间隔(以秒为单位)。 30 -
KDUMP_FINISHED_TIMEOUT 定义主机 kdump 流标记为 FINISHED 的主机最后一次收到的消息后的最大超时时间(以秒为单位)。 60 如果更改了此参数的值,它的大小必须加倍于 engine-config 中的 FenceKdumpMessageInterval 的值。

7.6.4.2. 在 Manager 中配置 fence_kdump

编辑 Manager 的 kdump 配置。这只在默认配置不够时才需要。可以使用以下方法找到当前的配置值:
# engine-config -g OPTION

过程 7.18. 使用 engine-config 手动配置 Kdump

  1. 使用 engine-config 命令编辑 kdump 配置:
    # engine-config -s OPTION=value
    重要
    还必须在 fence_kdump 侦听器配置文件中更改编辑的值,如 Kdump Configuration Options 表中所述。请参阅 第 7.6.4.1 节 “fence_kdump listener Configuration”
  2. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  3. 如果需要,请重新安装启用了 Kdump 集成 的所有主机(请参阅下表)。
可使用 engine-config 配置以下选项:

表 7.10. kdump 配置选项

变量 Description 默认 备注
FenceKdumpDestinationAddress 定义要向发送 fence_kdump 消息的主机名或 IP 地址。如果为空,则使用 Manager 的 FQDN。 空字符串(使用管理器 FQDN) 如果更改了此参数的值,它必须与 fence_kdump 侦听器配置文件中的 LISTENER_ADDRESS 的值匹配,并且必须重新安装启用了 Kdump 集成 的所有主机。
FenceKdumpDestinationPort 定义发送 fence_kdump 消息的端口。 7410 如果更改了此参数的值,它必须与 fence_kdump 侦听器配置文件中的 LISTENER_PORT 的值匹配,并且必须重新安装启用了 Kdump 集成 的所有主机。
FenceKdumpMessageInterval 定义 fence_kdump 发送的消息之间的间隔(以秒为单位)。 5 如果更改了此参数的值,则必须小于 fence_kdump 侦听器配置文件中的 KDUMP_FINISHED_TIMEOUT 值的一半,且必须重新安装启用了 Kdump 集成 的所有主机。
FenceKdumpListenerTimeout 定义自最后一次心跳以来的最大超时时间(以秒为单位),以考虑 fence_kdump 侦听器处于活动状态。 90 如果更改了此参数的值,它的大小必须加倍于 fence_kdump 侦听器配置文件中的 HEARTBEAT_INTERVAL 的值。
KdumpStartedTimeout 定义在收到 kdumping 主机的第一个信息(检测主机 kdump 流已启动)前等待的最大超时时间(以秒为单位)。 30 如果更改了此参数的值,它的大小必须是 fence_kdump 侦听器配置文件中的 SESSION_SYNC_INTERVAL 的值和 FenceKdumpMessageInterval 的两倍或更大。

7.6.5. 软隔离主机

由于意外问题,主机有时可能会变得不响应,但 VDSM 无法响应请求,但依赖于 VDSM 的虚拟机仍保持有效并可访问。在这些情况下,重启 VDSM 会将 VDSM 返回到响应的状态,并解决这个问题。
"SSH 软隔离"是一个进程,管理器尝试在不响应的主机上通过 SSH 重新启动 VDSM。如果管理器无法通过 SSH 重新启动 VDSM,则隔离的责任将在配置了外部隔离代理时进入外部隔离代理。
通过 SSH 进行软隔离的工作方式如下。必须在主机上配置和启用隔离,并且数据中心必须存在有效的代理主机(第二个主机,处于 UP 状态)。当 Manager 和主机间的连接超时时,会出现以下情况:
  1. 在第一个网络失败时,主机的状态将变为"连接"。
  2. 然后,管理器会尝试询问 VDSM 的状态,或者等待由主机上的负载决定的时间间隔。确定间隔长度的公式由配置值 TimeoutToResetVdsInSeconds (默认为 60 秒)+ [DelayResetPerVmInSeconds (默认为 0.5 秒)]*(如果主机上运行虚拟机的数量) + [DelayResetForSpmInSeconds (默认为 20 秒)] 1 (如果主机运行为 SPM)或 0 (如果主机上运行为 SPM)。为了给 VDSM 给予响应的最大时间,经理可选择上述两个选项的更长时间(三个尝试检索 VDSM 的状态或以上公式决定的间隔)。
  3. 如果该主机没有响应,则通过 SSH 执行 vdsm 重启
  4. 如果 vdsm 重启 在主机和管理器之间重新建立连接时没有成功,主机的状态将变为 Non Responsive,如果配置了电源管理,则隔离将移交给外部隔离代理。
注意
可以在没有配置电源管理的主机上执行 soft-fencing。这与 "fencing": 不同的是只能在配置了电源管理的主机上执行隔离。

7.6.6. 使用主机电源管理功能

概述

为主机配置了电源管理后,您可以从管理门户界面访问多个选项。虽然每个电源管理设备都有自己的可自定义选项,但它们都支持启动、停止和重启主机的基本选项。

过程 7.19. 使用主机电源管理功能

  1. 使用 Hosts 资源选项卡、树形模式或搜索功能在结果列表中查找和选择主机。
  2. Power Management 下拉菜单。
  3. 选择以下选项之一:
    • 重新启动 :此选项将停止主机并等待主机的状态更改为 Down。当代理确认主机已停机时,高可用性虚拟机会在集群中的另一主机上重新启动。然后代理会重启这个主机。当主机准备好使用其状态时,其状态显示为 Up
    • 启动 :此选项启动主机并允许它加入集群。当准备好使用其状态显示为 Up 时。
    • 停止 :此选项关闭主机。在使用此选项前,请确保主机上运行的虚拟机已迁移到集群中的其他主机。否则,虚拟机将崩溃,并且只有高可用性虚拟机将在另一主机上重新启动。当主机停止时,其状态显示为 Non-Operational
    重要
    当主机上定义了两个隔离代理时,可以同步或按顺序使用它们。对于并行代理,两个代理都必须响应 Stop 命令,使主机被停止;当一个代理响应 Start 命令时,主机将启动。对于后续代理,要启动或停止主机,首先使用主代理;如果失败,则使用二级代理。
  4. 选择一个以上选项之一会打开确认窗口。单击 OK 以确认并继续。

结果

已执行所选操作。

7.6.7. 手动隔离或隔离非响应主机

概述

如果主机无法预测进入不响应状态,例如因为硬件故障,这可能会影响环境的性能。如果您没有电源管理设备,或者配置不正确,您可以手动重启主机。

警告
除非您手动重启主机,否则不要使用 Confirm host has rebooted 选项。在主机仍然运行时使用这个选项可能会导致虚拟机镜像崩溃。

过程 7.20. 手动隔离或隔离不响应的主机

  1. Hosts 选项卡上,选择主机。状态必须显示为 不响应
  2. 手动重启主机。这可能意味着,物理输入实验并重启主机。
  3. 在管理门户中,右键单击主机条目并选择 Confirm Host has been rebooted 按钮。
  4. 消息会显示提示您确保主机已关闭或重启。选中 Approve Operation 复选框,再单击 OK

结果

您已手动重启主机,允许在活动主机上启动高可用性虚拟机。您已在管理员门户中确认您的手动隔离操作,主机重新上线。

7.7. 主机和权限

7.7.1. 管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
主机管理员仅仅是特定主机的系统管理角色。这在有多个主机的集群中很有用,每个主机都需要系统管理员。您可以使用标题栏中的 Configure 按钮为环境中所有主机分配主机管理员。
主机管理员角色允许执行以下操作:
  • 编辑主机的配置。
  • 设置逻辑网络。
  • 删除主机。
您还可以删除现有系统管理员并添加新系统管理员来更改主机的系统管理员。

7.7.2. 主机管理员角色已说明

主机权限角色

下表描述了适用于主机管理的管理角色和特权。

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

角色 权限 备注
HostAdmin 主机管理员 可以配置、管理和删除特定主机。还可以在特定主机上执行网络相关的操作。

7.7.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 7.21. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

7.7.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

过程 7.22. 从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

第 8 章 存储

Red Hat Virtualization 使用集中存储系统用于虚拟磁盘镜像、ISO 文件和快照。可使用以下方法实现存储网络:
  • 网络文件系统(NFS)
  • GlusterFS exports
  • CephFS
  • 其他 POSIX 兼容文件系统
  • Internet Small Computer System Interface (iSCSI)
  • 直接连接到虚拟化主机的本地存储
  • 光纤通道协议(FCP)
  • 并行 NFS(pNFS)
设置存储是新数据中心的先决条件,因为除非附加并激活存储域,否则无法初始化数据中心。
作为 Red Hat Virtualization 系统管理员,您需要为虚拟化企业创建、配置、附加和维护存储。您应该熟悉存储类型及其使用。阅读您的存储阵列厂商指南,并查看 Red Hat Enterprise Linux Storage Administration Guide 以了解有关存储的概念、协议、要求或常规使用的信息。
Red Hat Virtualization 允许您使用管理门户的存储选项卡来分配和管理存储。Storage results 列表显示所有存储域,详细信息面板显示有关域的常规信息。
要添加存储域,您必须能够成功访问管理门户,并且至少有一个主机连接到 Up 状态。
Red Hat Virtualization 有三种类型的存储域:
  • 数据域: 数据域保存数据中心中所有虚拟机和模板的虚拟硬盘和 OVF 文件。此外,虚拟机的快照也存储在数据域中。
    数据域无法在数据中心间共享。多个类型的数据域(iSCSI、NFS、FC、POSIX 和 Gluster)可以添加到同一数据中心,只要它们都是共享的,而不是本地域。
    您必须将数据域附加到数据中心,然后才能将其他类型的域附加到数据中心。
  • ISO 域: ISO 域存储用于为虚拟机安装和引导操作系统和应用程序的 ISO 文件(或逻辑 CD)。ISO 域删除数据中心对物理介质的需求。ISO 域可以在不同的数据中心之间共享。ISO 域只能基于 NFS。只能将一个 ISO 域添加到数据中心。
  • 导出域: 导出域是用于在数据中心和 Red Hat Virtualization 环境之间复制和移动镜像的临时存储存储库。导出域可用于备份虚拟机。导出域可以在数据中心之间移动,但一次只能在一个数据中心内处于活动状态。导出域只能基于 NFS。只能将一个导出域添加到数据中心。
    注意
    导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘镜像和模板从导入的存储域上传到附加的数据中心。有关导入存储域的详情,请参考 第 8.6 节 “导入现有存储域”
重要
确定数据中心的存储需求后,才开始为 Red Hat Virtualization 环境配置和附加存储。

8.1. 了解存储域

存储域是一组具有通用存储接口的镜像集合。存储域包含模板和虚拟机(包括快照)或 ISO 文件的完整镜像。存储域可以由块设备(SAN - iSCSI 或 FCP)或文件系统(NAS - NFS、GlusterFS、CephFS 或其他 POSIX 兼容文件系统)组成。
在 NFS 上,所有虚拟磁盘、模板和快照都是文件。
在 SAN (iSCSI/FCP)上,每个虚拟磁盘、模板或快照都是逻辑卷。块设备聚合到名为卷组的逻辑实体中,然后由 LVM (逻辑卷管理器)划分为逻辑卷,用作虚拟硬盘。有关 LVM 的详情,请查看 Red Hat Enterprise Linux Logical Volume Manager Administration Guide
虚拟磁盘可以具有两种格式之一,可以是 QCOW2 或 RAW。存储的类型可以是 Sparse 或 Preallocated。快照始终是稀疏的,但可以为作为 RAW 或稀疏创建的磁盘获取快照。
共享相同存储域的虚拟机可以在属于同一集群的主机之间迁移。

8.2. 准备和添加 NFS 存储

8.2.1. 准备 NFS 存储

设置将充当 Red Hat Enterprise Linux 服务器上的数据域的 NFS 共享。如果在 Red Hat Virtualization Manager 安装过程中创建,则不需要创建 ISO 域。
注意
导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘镜像和模板从导入的存储域上传到附加的数据中心。有关导入存储域的详情,请参考 第 8.6 节 “导入现有存储域”
有关在 Red Hat Enterprise Linux 上设置和配置 NFS 的详情,请参考 Red Hat Enterprise Linux 6 存储管理指南网络文件系统(NFS) 中的网络文件系统(NFS)。https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Storage_Administration_Guide/index.html#ch-nfs
Red Hat Virtualization 需要特定的系统用户帐户和系统用户组,以便管理器可以将数据存储在导出的目录表示的存储域中。

过程 8.1. 配置所需的系统用户帐户和系统用户组

  1. 创建组 kvm
    # groupadd kvm -g 36
  2. 在组 kvm 中创建用户 vdsm
    # useradd vdsm -u 36 -g 36
  3. 将导出的目录的所有权设置为 36:36,这提供了 vdsm:kvm 所有权:
    # chown -R 36:36 /exports/data
    # chown -R 36:36 /exports/export
  4. 更改目录的模式,以便所有者授予读和写访问权限,以便向组和其他用户授予读和执行权限:
    # chmod 0755 /exports/data
    # chmod 0755 /exports/export
有关所需系统用户和组的详情,请参考 附录 G, 系统帐户

8.2.2. 附加 NFS 存储

将 NFS 存储域附加到 Red Hat Virtualization 环境中的数据中心。这个存储域为虚拟化客户机镜像和 ISO 引导介质提供存储。这个过程假设您已导出了共享。在创建导出域前,您必须创建数据域。使用相同的步骤创建导出域,在 Domain Function / Storage Type 列表中选择 Export / NFS
  1. 在 Red Hat Virtualization Manager 管理门户中,点 Storage resource 选项卡。
  2. 单击 New Domain

    图 8.1. 新域窗口

    新域窗口
  3. 输入存储域的名称
  4. 接受 Data Center,Domain Function,Storage Type,Format, 和 Use Host 列表的默认值。
  5. 输入要用于 存储域的导出路径。
    导出路径的格式应为 192.168.0.10:/datadomain.example.com:/data
  6. 另外,您还可以配置高级参数。
    1. 单击 Advanced Parameters
    2. Warning Low Space Indicator 字段中输入百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
    3. Critical Space Action Blocker 字段中输入 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
    4. 选中 Wipe After Delete 复选框来启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
  7. 点击 OK
    新的 NFS 数据域在 Storage 选项卡中显示,状态为 Locked,直到磁盘就绪为止。然后,数据域将自动附加到数据中心。

8.2.3. 增加 NFS 存储

要增加 NFS 存储量,您可以创建新的存储域并将其添加到现有数据中心,或者增加 NFS 服务器上的可用空间。有关以前的选项,请参考 第 8.2.2 节 “附加 NFS 存储”。下面的步骤解释了如何增加现有 NFS 服务器中的可用空间。

过程 8.2. 增加现有的 NFS 存储域

  1. Storage resource 选项卡并选择 NFS 存储域。
  2. 在详细信息窗格中,单击 数据中心选项卡,然后单击 维护 按钮,以将存储域置于维护模式。这会卸载现有的共享,并使它能够调整存储域的大小。
  3. 在 NFS 服务器中,重新定义存储大小。对于 Red Hat Enterprise Linux 6™ 系统,请参阅 Red Hat Enterprise Linux 6 存储管理指南。对于 Red Hat Enterprise Linux 7™ 系统,请参阅 Red Hat Enterprise Linux 7 存储管理指南
  4. 在详细信息窗格中,单击 数据中心选项卡,然后单击 激活按钮 来挂载存储域。

8.3. 准备和添加本地存储

8.3.1. 准备本地存储

可以在主机上设置本地存储域。当您将主机设置为使用本地存储时,主机会自动添加到新的数据中心,并且没有其他主机的集群可以添加到其中。多个主机集群要求所有主机都能够访问所有存储域,这些存储域无法进行本地存储。在单个主机集群中创建的虚拟机无法迁移、隔离或调度。有关所需系统用户和组的详情,请参考 附录 G, 系统帐户
注意
有关在重新安装 Red Hat Virtualization 主机(RHVH)时保留本地存储域的详情,请参考 升级指南中的 升级到 RHVH While Preleserving Local Storage
重要
在 Red Hat Virtualization Host (RHVH)上,用于本地存储的路径必须在 /var 目录中。对于 RHVH,在准备本地存储过程中将 /var 添加到目录中。
当重新安装 Red Hat Had Virtualization Host 时,/var 目录中的本地存储将会丢失。要避免这种情况,您可以将外部存储挂载到主机机器中,以用作本地存储域。有关挂载存储的更多信息,请参阅 Red Hat Enterprise Linux 存储管理指南

过程 8.3. 准备本地存储

  1. 在主机上,创建要用于本地存储的目录。
    # mkdir -p /data/images
  2. 确保目录具有对 vdsm 用户(UID 36)和 kvm 组(GID 36)的读/写权限。
    # chown 36:36 /data /data/images
    # chmod 0755 /data /data/images
您的本地存储已准备好添加到 Red Hat Virtualization 环境中。

8.3.2. 添加本地存储

主机本地存储已准备好。现在,使用 Manager 将其添加到主机中。
以这种方式向主机添加本地存储会导致将主机置于新的数据中心和集群中。本地存储配置窗口将数据中心的创建、集群和存储合并到一个过程中。

过程 8.4. 添加本地存储

  1. 单击 Hosts resource 选项卡,然后在结果列表中选择主机。
  2. Maintenance 打开 Maintenance Host (s) 确认窗口。
  3. 单击 OK 以启动维护模式。
  4. 单击 Configure Local Storage 以打开 Configure Local Storage 窗口。

    图 8.2. 配置本地存储窗口

    配置本地存储窗口
  5. 单击 Data CenterClusterStorage 字段旁边的编辑按钮,以配置和命名本地存储域。
  6. 在文本条目字段中设置本地存储的路径。
  7. 如果适用,选择 Optimization 选项卡来为新的本地存储集群配置内存优化策略。
  8. OK 保存设置并关闭窗口。
您的主机在其所在的数据中心上线。

8.4. 添加 POSIX Compliant 文件系统存储

POSIX 文件系统支持允许您使用与从命令行手动挂载时所用的相同挂载选项挂载文件系统。这个功能旨在允许访问没有使用 NFS、iSCSI 或 FCP 公开的存储。
在 Red Hat Virtualization 中用作存储域的所有 POSIX 兼容文件系统都支持稀疏文件和直接 I/O。例如,通用 Internet 文件系统(CIFS)不支持直接 I/O,使它与 Red Hat Virtualization 不兼容。
重要
不要 通过创建 POSIX 兼容文件系统存储域来挂载 NFS 存储。始终创建 NFS 存储域。

8.4.1. 附加 POSIX Compliant 文件系统存储

您需要使用不是使用 NFS、iSCSI 或 FCP 作为存储域公开的 POSIX 兼容文件系统。

过程 8.5. 附加 POSIX Compliant 文件系统存储

  1. Storage resource 选项卡在结果列表中列出现有存储域。
  2. 单击 New Domain 以打开 New Domain 窗口。

    图 8.3. POSIX 存储

    POSIX 存储
  3. 输入存储域的名称
  4. 选择要与存储域关联的 数据中心。所选的数据中心必须是 POSIX (POSIX 兼容 FS) 类型。或者,选择 (none)
  5. Domain Function / Storage Type 下拉菜单中选择 Data / POSIX 兼容 FS
    如果适用,从下拉菜单中选择 Format
  6. Use Host 下拉菜单中选择主机。只有所选数据中心内的主机才会被列出。您选择的主机将用于连接存储域。
  7. 输入 POSIX 文件系统的路径,因为您通常会将其提供给 mount 命令。
  8. 输入 VFS 类型,因为您通常使用 -t 参数将其提供给 mount 命令。有关有效 VFS 类型的列表,请参阅 man mount
  9. 输入其他 挂载选项,因为您通常使用 -o 参数将它们提供给 mount 命令。挂载选项应以逗号分隔列表形式提供。有关有效挂载选项列表,请参阅 man mount
  10. 另外,您还可以配置高级参数。
    1. 单击 Advanced Parameters
    2. Warning Low Space Indicator 字段中输入百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
    3. Critical Space Action Blocker 字段中输入 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
    4. 选中 Wipe After Delete 复选框来启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
  11. 单击 OK 以附加新存储域并关闭该窗口。

8.5. 添加块存储

8.5.1. 添加 iSCSI 存储

Red Hat Virtualization 通过从预先存在的 LUN 的卷组创建存储域来支持 iSCSI 存储。卷组和 LUN 不可同时附加到多个存储域。

过程 8.6. 添加 iSCSI 存储

  1. Storage resource 选项卡在结果列表中列出现有存储域。
  2. 单击 New Domain 按钮,以打开 New Domain 窗口。
  3. 输入新存储域 的名称

    图 8.4. 新的 iSCSI 域

    新的 iSCSI 域
  4. 使用 数据中心 下拉菜单选择一个数据中心。
  5. 使用下拉菜单选择 Domain FunctionStorage Type。与所选域功能不兼容的存储域类型不可用。
  6. Use Host 字段中选择一个活动主机。如果这不是数据中心中的第一个数据域,您必须选择数据中心的 SPM 主机。
    重要
    与存储域的所有通信均通过选定的主机进行,而不是直接从 Red Hat Virtualization Manager 进行。系统中必须至少有一个活动主机,并附加到所选的数据中心。所有主机都必须有权访问存储设备,然后才能配置存储域。
  7. Red Hat Virtualization Manager 可以将 iSCSI 目标映射到 LUN,或将 LUN 映射到 iSCSI 目标。当选择 iSCSI 作为存储类型时,新建域 窗口会自动显示已知带有未使用的 LUN 的目标。如果没有列出您要添加存储的目标,您可以使用目标发现来找到目标,否则继续下一步。

    iSCSI 目标发现

    1. 单击 Discover Targets 以启用目标发现选项。发现目标并登录后,新建域 窗口将自动显示环境未使用的目标。
      注意
      在环境外部使用的 LUN 也会显示。
      您可以使用 发现目标 选项在多个目标 或同一 LUN 的多个路径中添加 LUN。
    2. Address 字段中输入 iSCSI 主机的完全限定域名或 IP 地址。
    3. Port 字段中输入在浏览目标时要连接到主机的端口。默认值为 3260
    4. 如果使用 Challenge Handshake Authentication Protocol (CHAP)来保护存储,请选中 User Authentication 复选框。输入 CHAP 用户名和 CHAP 密码
      注意
      现在,可以使用 REST API 定义每个主机的每个 iSCSI 目标的特定凭证。如需更多信息 ,请参阅 REST API 指南中的 将凭证定义为 iSCSI 目标
    5. 单击 Discover 按钮。
    6. 从发现结果中选择要使用的目标,然后单击 登录 按钮。
      或者,单击 Login All 以登录所有发现的目标。
      重要
      如果需要多个路径访问,请确保通过所有必要的路径发现并登录到目标。目前不支持修改存储域以添加其他路径。
  8. 点所需目标旁边的 + 按钮。这将展开条目并显示附加到目标的所有未使用的 LUN
  9. 选中您要用来创建存储域的每个 LUN 的复选框。
  10. 另外,您还可以配置高级参数。
    1. 单击 Advanced Parameters
    2. Warning Low Space Indicator 字段中输入百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
    3. Critical Space Action Blocker 字段中输入 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
    4. 选中 Wipe After Delete 复选框来启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
  11. 单击 OK 以创建存储域并关闭该窗口。
如果您已将多个存储连接路径配置为同一目标,请按照 第 8.5.2 节 “配置 iSCSI 多路径” 中的步骤完成 iSCSI 绑定。

8.5.2. 配置 iSCSI 多路径

iSCSI 多路径 允许您创建和管理逻辑网络和 iSCSI 存储连接组。要防止主机因为网络路径失败而停机,请在主机和 iSCSI 存储之间配置多个网络路径。配置后,管理器通过与同一 iSCSI Bond 的逻辑网络相关的 NIC/VLAN 将集群中的每个主机连接到每个绑定的目标。您还可以指定将哪些网络用于存储流量,而不是允许主机通过默认网络路由流量。这个选项仅在至少有一个 iSCSI 存储域附加到数据中心后在管理门户中可用。

前提条件

  • 确保您已创建了 iSCSI 存储域,并发现并登录到到 iSCSI 目标的所有路径。
  • 确保您已创建了使用 iSCSI 存储连接的 非必需 逻辑网络来绑定。您可以配置多个逻辑网络或绑定网络,以允许网络故障切换。

过程 8.7. 配置 iSCSI 多路径

  1. 单击 Data Centers 选项卡,然后从结果列表中选择数据中心。
  2. 在详情窗格中,点 iSCSI 多路径 标签页。
  3. Add
  4. Add iSCSI Bond 窗口中,输入绑定的名称和描述。
  5. Logical Networks 列表中选择要用于绑定的网络。网络必须是 非必需网络
    注意
    要更改网络 所需的 指定,请从管理门户中选择一个网络,点 Cluster 选项卡,然后单击 Manage Networks 按钮。
  6. Storage Targets 列表中选择要通过所选网络访问的存储域。确保选择指向同一目标的所有路径。
  7. 点击 OK
数据中心中的所有主机都通过选定的逻辑网络连接到所选 iSCSI 目标。

8.5.3. 添加 FCP 存储

Red Hat Virtualization 平台通过从由预先存在的 LUN 的卷组创建存储域来支持 SAN 存储。卷组和 LUN 不可同时附加到多个存储域。
Red Hat Virtualization 系统管理员需要对存储区域网络 (SAN) 概念有较好的了解。SAN 通常使用光纤通道协议 (FCP) 作为主机和共享外部存储之间的通信。因此,SAN 有时可能会被称为 FCP 存储。
有关在 Red Hat Enterprise Linux 上设置和配置 FCP 或多路径的详情,请参考 存储管理指南DM 多路径指南
以下步骤演示了如何将现有 FCP 存储附加到 Red Hat Virtualization 环境中作为数据域。有关其他支持的存储类型的详情,请参考 第 8 章 存储

过程 8.8. 添加 FCP 存储

  1. Storage resource 选项卡列出所有存储域。
  2. 单击 New Domain 以打开 New Domain 窗口。
  3. 输入存储域的名称

    图 8.5. 添加 FCP 存储

    添加 FCP 存储
  4. 使用 Data Center 下拉菜单选择 FCP 数据中心。
    如果您还没有适当的 FCP 数据中心,请选择 (none)
  5. 使用下拉菜单选择 Domain FunctionStorage Type。与所选数据中心不兼容的存储域类型不可用。
  6. Use Host 字段中选择一个活动主机。如果这不是数据中心中的第一个数据域,您必须选择数据中心的 SPM 主机。
    重要
    与存储域的所有通信均通过选定的主机进行,而不是直接从 Red Hat Virtualization Manager 进行。系统中必须至少有一个活动主机,并附加到所选的数据中心。所有主机都必须有权访问存储设备,然后才能配置存储域。
  7. 当选择 Data / Fibre Channel 作为存储类型时,新建域 窗口会自动显示已知带有未使用的 LUN 的目标。选择 LUN ID 复选框来选择所有可用的 LUN。
  8. 另外,您还可以配置高级参数。
    1. 单击 Advanced Parameters
    2. Warning Low Space Indicator 字段中输入百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
    3. Critical Space Action Blocker 字段中输入 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
    4. 选中 Wipe After Delete 复选框来启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
  9. 单击 OK 以创建存储域并关闭该窗口。
新的 FCP 数据域在 Storage 标签页中显示。在准备好使用时,它将保持锁定状态。准备就绪后,它将自动附加到 数据中心。

8.5.4. 增加 iSCSI 或 FCP 存储

可以通过多种方式增加 iSCSI 或 FCP 存储大小:
  • 使用新 LUN 创建新存储域并将其添加到现有数据中心。请参阅 第 8.5.1 节 “添加 iSCSI 存储”
  • 创建新 LUN 并将其添加到现有存储域中。
  • 通过重新定义底层 LUN 的大小扩展存储域。
有关在 Red Hat Enterprise Linux 6™ 系统中创建、配置或重新定义 iSCSI 存储大小的详情,请参考 Red Hat Enterprise Linux 6 存储管理指南。对于 Red Hat Enterprise Linux 7™ 系统,请参阅 Red Hat Enterprise Linux 7 存储管理指南
以下流程解释了如何通过向现有存储域添加新的 LUN 来扩展存储区域网络 (SAN) 存储。

过程 8.9. 增加现有 iSCSI 或 FCP 存储域

  1. 在 SAN 上创建一个新的 LUN。
  2. Storage resource 选项卡并选择 iSCSI 或 FCP 域。
  3. 单击 管理域按钮
  4. Targets > LUNs,然后点击 Discover Targets 扩展按钮。
  5. 输入存储服务器的连接信息,然后点 Discover 按钮启动连接。
  6. LUN > Targets,并选择新可用 LUN 的复选框。
  7. OK,将 LUN 添加到所选存储域。
这将根据添加的 LUN 的大小增加存储域。
当调整底层 LUN 来扩展存储域时,还必须在 Red Hat Virtualization 管理门户中刷新 LUN。

过程 8.10. 刷新 LUN 大小

  1. Storage resource 选项卡并选择 iSCSI 或 FCP 域。
  2. 单击 管理域按钮
  3. LUNs > Targets
  4. Additional Size 列中,点 LUN 的 Add Additional_Storage_Size 按钮进行刷新。
  5. OK 刷新 LUN 以指示新的存储大小。

8.5.5. Red Hat Virtualization 中无法使用 LUN

在某些情况下,Red Hat Virtualization Manager 不允许使用 LUN 创建存储域或虚拟机硬盘。
  • 已成为当前 Red Hat Virtualization 环境一部分的 LUN 会自动阻止使用。

    图 8.6. 在 Red Hat Virtualization 管理门户中无法使用 LUN

    在 Red Hat Virtualization 管理门户中无法使用 LUN
  • SPM 主机已使用的 LUN 也将显示在使用中。您可以选择强制使用这些 LUN 的内容,但操作无法保证成功。

8.6. 导入现有存储域

8.6.1. 导入现有存储域概述

除了添加不包含数据的新存储域外,您还可以导入现有存储域并访问其包含的数据。通过导入存储域,您可以在 Manager 数据库中故障时恢复数据,并将数据从一个数据中心或环境迁移到另一个数据中心。
以下是导入每个存储域类型的概述:
data
通过导入现有数据存储域,您可以访问数据存储域包含的所有虚拟机和模板。导入存储域后,您必须手动将虚拟机、浮动磁盘镜像和模板导入目标数据中心。导入数据存储域包含的虚拟机和模板的过程与导出存储域类似的过程。但是,因为数据存储域包含给定数据中心中的所有虚拟机和模板,因此建议在数据中心或环境之间进行虚拟机恢复或大规模迁移虚拟机。
重要
您可以导入附加到数据中心的现有数据存储域,其兼容性级别为 3.5 或更高版本。
ISO
通过导入现有的 ISO 存储域,您可以访问 ISO 存储域包含的所有 ISO 文件和虚拟磁盘组。导入存储域以访问这些资源后不需要额外的操作;您可以根据需要将它们附加到虚拟机。
Export
通过导入现有的导出存储域,您可以访问导出存储域包含的所有虚拟机映像和模板。因为导出域是为导出和导入虚拟机映像和模板而设计的,建议在环境或环境之间迁移少量虚拟机和模板的方法。有关将虚拟机和模板导出到和导出存储域的详情,请参考虚拟机管理指南中的 导出和导入虚拟机和模板
注意
导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘镜像和模板从导入的存储域上传到附加的数据中心。

8.6.2. 导入存储域

导入之前附加到同一环境或不同环境中的数据中心的存储域。此流程假设存储域不再附加到任何环境中的任何数据中心,以避免数据崩溃。要导入并附加现有数据存储域到数据中心,必须初始化目标数据中心。

过程 8.11. 导入存储域

  1. Storage resource 选项卡。
  2. 单击 Import Domain

    图 8.7. Import Pre-Configured Domain 窗口

    Import Pre-Configured Domain 窗口
  3. Data Center 下拉列表中选择要将存储域附加到的数据中心。
  4. 输入存储域的名称。
  5. 从适当的下拉列表中,选择 Domain FunctionStorage Type
  6. Use host 下拉列表中选择一个主机。
    重要
    与存储域的所有通信均通过选定的主机进行,而不是直接从 Red Hat Virtualization Manager 进行。系统中必须至少有一个活动主机,并附加到所选的数据中心。所有主机都必须有权访问存储设备,然后才能配置存储域。
  7. 输入存储域的详细信息。
    注意
    根据您在 Domain Function / Storage Type 列表中选择的值来指定存储域详情的字段。这些选项与可用于添加新存储域的选项相同。有关这些选项的详情请参考 第 8.1 节 “了解存储域”
  8. 在将存储域附加到所选数据中心后,选择 Activate Domain in Data Center 复选框,以激活该存储域。
  9. 点击 OK
存储域已导入,并显示在 Storage 选项卡中。现在,您可以将虚拟机和模板从存储域导入到数据中心。

8.6.3. 在相同环境中的数据中心之间迁移存储域

将存储域从一个数据中心迁移到另一个 Red Hat Virtualization 环境中,以允许目标数据中心访问存储域中包含的数据。这个过程涉及将存储域从一个数据中心分离,并将其附加到不同的数据中心。

过程 8.12. 在相同环境中的数据中心之间迁移存储域

  1. 关闭在所需存储域上运行的所有虚拟机。
  2. 单击 Storage resource 选项卡,然后从结果列表中选择存储域。
  3. 单击详细信息窗格中的 Data Center 选项卡。
  4. 单击 Maintenance,然后单击 OK 以将存储域移到维护模式。
  5. 单击 Detach,然后单击 OK 以将存储域与源数据中心分离。
  6. 单击 Attach
  7. 选择目标数据中心 并单击确定
存储域连接到目标数据中心,并自动激活。现在,您可以将虚拟机和模板从存储域导入到目标数据中心。

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

将存储域从一个 Red Hat Virtualization 环境迁移到另一个环境,以便目标环境能够访问存储域中包含的数据。此流程涉及从一个 Red Hat Virtualization 环境中删除存储域,并将其导入到不同的环境中。要将现有数据存储域导入并附加到 Red Hat Virtualization 数据中心,存储域的源数据中心必须具有兼容性级别 3.5 或更高版本。

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

  1. 登录源环境的管理门户。
  2. 关闭在所需存储域上运行的所有虚拟机。
  3. 单击 Storage resource 选项卡,然后从结果列表中选择存储域。
  4. 单击详细信息窗格中的 Data Center 选项卡。
  5. 单击 Maintenance,然后单击 OK 以将存储域移到维护模式。
  6. 单击 Detach,然后单击 OK 以将存储域与源数据中心分离。
  7. 点击 Remove
  8. Remove Storage (s) 窗口中,确保 Format Domain, i.e. Storage Content will be lost! 复选框没有被选择。此步骤在存储域中保留数据,以备以后使用。
  9. OK 以将存储域从源环境中删除。
  10. 登录目标环境的管理门户。
  11. Storage resource 选项卡。
  12. 单击 Import Domain

    图 8.8. Import Pre-Configured Domain 窗口

    Import Pre-Configured Domain 窗口
  13. Data Center 下拉列表中选择 destination 数据中心。
  14. 输入存储域的名称。
  15. 从适当的下拉列表中,选择 Domain FunctionStorage Type
  16. Use Host 下拉列表中选择主机。
  17. 输入存储域的详细信息。
    注意
    根据您在 Storage Type 下拉列表中选择的值指定存储域详情的字段。这些选项与可用于添加新存储域的选项相同。有关这些选项的详情请参考 第 8.1 节 “了解存储域”
  18. 选中 Activate Domain in Data Center 复选框,以在连接该存储域时自动激活它。
  19. 点击 OK
存储域附加到新 Red Hat Virtualization 环境中的目标数据中心,并自动激活。现在,您可以将虚拟机和模板从导入存储域导入到目标数据中心。

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

从已导入到 Red Hat Virtualization 环境的数据存储域导入虚拟机。此流程假设导入的数据存储域已附加到数据中心,并已激活。

过程 8.14. 从导入的数据存储域导入虚拟机

  1. Storage resource 选项卡。
  2. 单击导入的数据存储域。
  3. 在详细信息窗格中,单击 VM Import 选项卡。
  4. 选择要导入的一个或多个虚拟机。
  5. Import
  6. Cluster 列表中选择导入虚拟机的集群。
  7. 点击 OK
您已将一个或多个虚拟机导入到环境中。导入的虚拟机不再显示在 VM Import 选项卡下的列表中。

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

从已导入到 Red Hat Virtualization 环境的数据存储域导入模板。此流程假设导入的数据存储域已附加到数据中心,并已激活。

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

  1. Storage resource 选项卡。
  2. 单击导入的数据存储域。
  3. 详细信息窗格中,单击模板导入选项卡。
  4. 选择要导入的一个或多个模板。
  5. Import
  6. Cluster 列表中选择导入模板的集群。
  7. 点击 OK
您已将一个或多个模板导入到环境中。导入的模板不再显示在模板 导入 选项卡下的列表中。

8.6.7. 从导入的存储域导入磁盘镜像

使用详细信息面板的 Disk Import 选项卡从导入的存储域导入浮动虚拟磁盘。
注意
只有 QEMU 兼容磁盘才能导入到 Manager 中。

过程 8.16. 导入磁盘镜像

  1. 选择已导入到数据中心的存储域。
  2. 在详细信息窗格中,单击 Disk Import
  3. 选择一个或多个磁盘镜像,然后点 Import 以打开 Import Disk (s) 窗口。
  4. 为每个磁盘选择适当的 Disk Profile
  5. 单击 OK 以导入所选磁盘。

8.6.8. 从导入的存储域导入未注册的磁盘镜像

使用详细信息面板的 Disk Import 选项卡从存储域导入浮动虚拟磁盘。在 Red Hat Virtualization 环境外创建的浮动磁盘不会向 Manager 注册。扫描存储域,以识别要导入的未注册浮动磁盘。
注意
只有 QEMU 兼容磁盘才能导入到 Manager 中。

过程 8.17. 导入磁盘镜像

  1. 选择已导入到数据中心的存储域。
  2. 右键单击存储域并选择 Scan Disks,以便 Manager 可以识别未注册的磁盘。
  3. 在详细信息窗格中,单击 Disk Import
  4. 选择一个或多个磁盘镜像,然后点 Import 以打开 Import Disk (s) 窗口。
  5. 为每个磁盘选择适当的 Disk Profile
  6. 单击 OK 以导入所选磁盘。

8.7. 存储任务

8.7.1. 填充 ISO 存储域

ISO 存储域附加到数据中心。ISO 镜像必须上传到其中。Red Hat Virtualization 提供了一个 ISO 上传程序工具,用于确保镜像以正确的用户权限上传到正确的目录路径中。
本文档中不描述从物理介质创建 ISO 镜像。假设您有权访问您的环境所需的镜像。

过程 8.18. 填充 ISO 存储域

  1. 将所需的 ISO 镜像复制到运行 Red Hat Virtualization Manager 的系统上的临时目录中。
  2. root 用户身份登录运行 Red Hat Virtualization Manager 的系统。
  3. 使用 engine-iso-uploader 命令上传 ISO 镜像。此操作将花费一些时间。时间量因上传的镜像大小和可用网络带宽的不同而有所不同。

    例 8.1. ISO Uploader Usage

    在本例中,ISO 镜像 RHEL6.iso 使用 NFS 上传到名为 ISO Domain 的 ISO 域。命令将提示输入管理用户名和密码。用户名必须以 用户名@domain 的形式提供。
    # engine-iso-uploader --iso-domain=ISODomain upload RHEL6.iso
ISO 镜像上传并出现在指定的 ISO 存储域中。在连接存储域的数据中心时,它也位于可用引导介质列表中。

8.7.2. 将存储域移到维护模式

分离和删除存储域需要处于维护模式。这需要将另一个数据域重新设计为主数据域。
只有当域处于活动状态时,才能通过添加更多 LUN 来扩展 iSCSI 域。

过程 8.19. 将存储域移到维护模式

  1. 关闭在存储域上运行的所有虚拟机。
  2. 单击 Storage resource 选项卡,再选择存储域。
  3. 单击详细信息窗格中的 Data Centers 选项卡。
  4. Maintenance 打开 Storage Domain Maintenance 确认窗口。
  5. 单击 OK 以启动维护模式。存储域已被停用,结果列表中具有 不活动状态
现在,您可以编辑、分离、删除或重新激活数据中心中不活跃的存储域。
注意
您还可以在与其关联的数据中心的详情面板中使用 Storage 选项卡激活、分离和将域置于维护模式。

8.7.3. 编辑存储域

您可以通过管理门户编辑存储域参数。根据存储域的状态(活跃或不活跃)可用于编辑不同的字段。Data Center、domainFunctionStorage TypeFormat 等字段无法更改。
  • Active :当存储域处于活动状态时,可以编辑 Name,Description,Comment,Warning Low Space Indicator (%), Critical Space Action Blocker (GB),并且可以编辑 Wipe After Delete 字段。Name 字段只能在存储域激活时编辑。还可以在存储域不活跃时编辑所有其他字段。
  • Inactive :当存储域处于维护模式或未附加状态时,您可以编辑 NameData CenterDomain FunctionStorage TypeFormat 以外的所有字段。存储域必须不活跃才能编辑存储连接、挂载选项和其他高级参数。这只支持 NFS、POSIX 和 Local 存储类型。
    注意
    iSCSI 存储连接无法通过管理门户编辑,但可通过 REST API 编辑。请参阅 REST API 指南中的更新 iSCSI 存储连接

过程 8.20. 编辑一个 Active Storage 域

  1. 单击 Storage resource 选项卡,再选择存储域。
  2. 单击 Manage Domain
  3. 根据需要编辑可用的字段。
  4. 点击 OK

过程 8.21. 编辑不活跃存储域

  1. 单击 Storage resource 选项卡,再选择存储域。
  2. 如果存储域处于活动状态,请单击详细信息窗格中的 Data Center 选项卡,然后单击 Maintenance
  3. 单击 Manage Domain
  4. 根据需要编辑存储路径和其他详情。新的连接详情必须与原始连接的存储类型相同。
  5. 点击 OK
  6. 单击详细信息窗格中的 Data Center 选项卡,然后单击 Activate

8.7.4. 从维护模式激活存储域

如果您要更改数据中心的存储,则必须将存储域置于维护模式。激活存储域以使用它恢复。
  1. Storage resource 选项卡,然后在结果列表中选择不活跃存储域。
  2. 单击详细信息窗格中的 Data Centers 选项卡。
  3. 选择适当的存储域并单击 Activate
    重要
    如果您在激活数据域之前尝试激活 ISO 域,则会显示错误消息,并且域未激活。

8.7.5. 删除存储域

在您的数据中心中有一个要从虚拟环境中删除的存储域。

过程 8.22. 删除存储域

  1. 单击 Storage resource 选项卡,然后在结果列表中选择适当的存储域。
  2. 将域移到维护模式以停用它。
  3. 将域从数据中心分离。
  4. Remove 打开 Remove Storage 确认窗口。
  5. 从列表中选择一个主机。
  6. 单击 OK 以删除存储域并关闭该窗口。
存储域从环境中永久删除。

8.7.6. 销毁存储域

存储域遇到错误可能无法通过正常流程删除。销毁存储域将强制从虚拟环境中删除存储域,而无需引用导出目录。
当存储域被销毁时,需要手动修复存储域的导出目录,然后才能再次使用。

过程 8.23. 销毁存储域

  1. 使用存储 资源选项卡、树结构模式或搜索功能在结果列表中查找和选择适当的存储域。
  2. 右键单击存储域并选择 Destroy Storage Domain 确认窗口。
  3. 选中 Approve operation 复选框,再单击 OK 以销毁存储域并关闭窗口。
存储域已被销毁。手动清理存储域的导出目录以回收它。

8.7.7. 将存储域从数据中心分离

将存储域从数据中心分离,以将虚拟机和模板迁移到另一个数据中心。

过程 8.24. 将存储域从数据中心分离

  1. Storage resource 选项卡,然后从结果列表中选择存储域。
  2. 单击详细信息窗格中的 Data Centers 选项卡,再选择存储域。
  3. Maintenance 打开 Maintenance Storage Domain (s) 确认窗口。
  4. 单击 OK 以启动维护模式。
  5. 单击 Detach 以打开 Detach Storage 确认窗口。
  6. 单击 OK 以分离存储域。
存储域已从数据中心分离,准备好连接到另一个数据中心。

8.7.8. 将存储域连接到数据中心

将存储域连接到数据中心.

过程 8.25. 将存储域连接到数据中心

  1. Storage resource 选项卡,然后从结果列表中选择存储域。
  2. 单击详细信息窗格中的 Data Centers 选项卡。
  3. Attach 打开 Attach to Data Center 窗口。
  4. 选择相应数据中心的单选按钮。
  5. 单击 OK 以附加存储域。
存储域连接到数据中心,并自动激活。

8.7.9. 磁盘配置文件

磁盘配置文件定义存储域中虚拟磁盘的最大吞吐量以及最大输入和输出操作级别。磁盘配置文件基于数据中心中定义的存储配置文件创建,必须手动分配到单独的虚拟磁盘,才能使配置文件生效。

8.7.9.1. 创建磁盘配置文件

创建磁盘配置文件。此流程假设您已在存储域所属的数据中心下定义了一个或多个服务条目的存储质量。

过程 8.26. 创建磁盘配置文件

  1. 单击 Storage 资源选项卡,再选择数据存储域。
  2. 单击详细信息窗格中的 Disk Profiles 子选项卡。
  3. New
  4. Name 字段中输入磁盘配置文件的名称。
  5. Description 字段中输入磁盘配置文件的描述。
  6. QoS 列表中选择要应用到磁盘配置集的服务质量。
  7. 点击 OK
您已创建了磁盘配置文件,并且该磁盘配置文件可应用于在数据存储域上托管的新虚拟磁盘。

8.7.9.2. 删除磁盘配置文件

从 Red Hat Virtualization 环境中删除现有磁盘配置集。

过程 8.27. 删除磁盘配置文件

  1. 单击 Storage 资源选项卡,再选择数据存储域。
  2. 单击详细信息窗格中的 Disk Profiles 子选项卡。
  3. 选择要删除的磁盘配置文件。
  4. 点击 Remove
  5. 点击 OK
您已删除了磁盘配置集,且该磁盘配置集不再可用。如果磁盘配置文件分配给任何虚拟磁盘,则会从这些虚拟磁盘中删除磁盘配置文件。

8.7.10. 查看存储域的健康状况

存储域除了常规 状态 外,还具有外部健康状态。外部健康状态由插件或外部系统报告,或者由管理员设置,并出现在存储域 名称左侧的 以下图标之一:
  • OK: 没有图标
  • info
  • Warning
  • 错误
  • 失败
要查看存储域健康状态的更多详情,请选择存储域并单击 Events 子选项卡。
也可以使用 REST API 查看存储域的健康状况。存储域上的 GET 请求将包含 external_status 元素,其中包含健康状态。
您可以通过 事件 集合在 REST API 中设置存储域的健康状况。如需更多信息,请参阅 REST API 指南中的 添加事件

8.8. 存储和权限

8.8.1. 为存储域管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
存储管理员只是特定存储域的系统管理角色。这在具有多个存储域的数据中心中很有用,每个存储域都需要系统管理员。使用标题栏中的 Configure 按钮,为环境中所有存储域分配存储管理员。
存储域管理员角色允许执行以下操作:
  • 编辑存储域的配置。
  • 将存储域移至维护模式。
  • 删除存储域。
注意
您只能将角色和权限分配给现有用户。
您还可以删除现有系统管理员并添加新系统管理员来更改存储域的系统管理员。

8.8.2. 存储管理员角色已说明

存储域权限角色

下表描述了适用于存储域管理的管理角色和特权。

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

角色 权限 备注
StorageAdmin 存储管理员 可以创建、删除、配置和管理特定的存储域.
GlusterAdmin Gluster 存储管理员 可以创建、删除、配置和管理 Gluster 存储卷。

8.8.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 8.28. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

8.8.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

过程 8.29. 从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

第 9 章 使用 Red Hat Gluster Storage

9.1. Red Hat Gluster Storage Nodes

9.1.1. Adding Red Hat Gluster Storage Nodes

将 Red Hat Gluster Storage 节点添加到启用了 Gluster 的集群,并将 GlusterFS 卷和 brick 纳入 Red Hat Virtualization 环境中。
此流程假设您有一个启用了 Gluster 的集群,它已设置了适当的 兼容性版本 和 Red Hat Gluster Storage 节点。有关设置 Red Hat Gluster Storage 节点的信息,请参阅 Red Hat Gluster Storage 安装指南。有关兼容性列表的更多信息,请参阅 Red Hat Gluster Storage 版本兼容性和支持

过程 9.1. 添加 Red Hat Gluster Storage 节点

  1. 单击 Hosts resource 选项卡,以列出结果列表中的主机。
  2. 单击 New 以打开 New Host 窗口。
  3. 使用下拉菜单为 Red Hat Gluster Storage 节点选择 Data CenterHost Cluster
  4. 输入 Red Hat Gluster Storage 节点的名称、地址和 SSH 端口
  5. 选择用于 Red Hat Gluster Storage 节点的身份验证方法。
    • 输入 root 用户的密码以使用密码身份验证。
    • SSH PublicKey 字段中显示的密钥复制到 Red Hat Gluster Storage 节点上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
  6. 单击 OK 以添加该节点并关闭该窗口。
您已在 Red Hat Virtualization 环境中添加了 Red Hat Gluster Storage 节点。现在,您可以在环境中使用节点的卷和 brick 资源。

9.1.2. 删除 Red Hat Gluster Storage 节点

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

过程 9.2. 删除 Red Hat Gluster Storage 节点

  1. 使用 Hosts 资源选项卡、树形模式或搜索功能在结果列表中查找和选择 Red Hat Gluster Storage 节点。
  2. Maintenance 打开 Maintenance Host (s) 确认窗口。
  3. 单击 OK,将主机移到维护模式。
  4. Remove 打开 Remove Host (s) 确认窗口。
  5. 如果节点上有卷 brick,或者该节点不响应,则选中 Force Remove 复选框。
  6. 单击 OK 以删除该节点并关闭该窗口。
您的 Red Hat Gluster Storage 节点已从环境中移除,在 Hosts 选项卡中不再可见。

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

9.2.1. 红帽 Gluster 存储(GlusterFS)卷简介

红帽 Gluster 存储卷将多个红帽 Gluster 存储服务器的存储组合到一个全局命名空间中。卷是 brick 的集合,其中每个 brick 是受信存储池中 Red Hat Gluster Storage Server 上的挂载点或目录。
红帽 Gluster 存储的大部分管理操作都在卷中。
您可以使用管理门户来创建和启动新卷。您可以从 Volumes 选项卡监控 Red Hat Gluster Storage 集群中的卷。
虽然可以从管理门户创建和管理卷,但必须在单独的 Red Hat Gluster Storage 节点上创建 brick,然后才能使用管理门户添加到卷

9.2.2. Gluster 存储术语

表 9.1. 数据中心属性

术语
定义
brick
brick 是 GlusterFS 基本存储单元,由受信存储池中的导出目录表示。通过在以下格式将服务器与导出目录合并来表达:
SERVER:EXPORT
例如:
myhostname:/exports/myexportdir/
块存储
块特殊文件或块设备与系统以块的形式移动数据的设备对应。这些设备节点通常代表可寻址的设备,如硬盘、CD-ROM 驱动器或内存区域。Red Hat Gluster Storage 支持带有扩展属性的 XFS 文件系统。
集群
可信链接计算机池,在许多方面紧密合作,形成一台计算机。在红帽 Gluster 存储术语中,集群称为受信存储池。
客户端
挂载卷的计算机(可能也是服务器)。
分布式文件系统
允许多个客户端同时访问在受信存储池中分散的多个服务器/bricks 的数据。多个位置的数据共享是所有分布式文件系统的基础。
geo-Replication
地域复制提供持续、异步和增量复制服务,从站点到另外的局域网(LAN)、广域网(WAN)和跨互联网。
glusterd
需要在受信存储池中的所有服务器上运行的 Gluster 管理守护进程。
元数据
元数据是数据,提供有关一个或多个数据的信息。
N-way Replication
本地同步数据复制通常部署在校园或 Amazon Web Services Availability 区域。
命名空间
Namespace 是一个抽象容器或环境,用于保存唯一标识符或符号的逻辑分组。每个 Red Hat Gluster Storage 受信存储池将单个命名空间公开为 POSIX 挂载点,其中包含受信存储池中的每个文件。
POSIX
可移植操作系统接口(用于 Unix)是 IEEE 指定的相关标准的系列名称,用于定义应用程序编程接口(API)以及与 UNIX 操作系统变体兼容的软件的 shell 和实用程序接口。Red Hat Gluster Storage 导出一个完全 POSIX 兼容文件系统。
RAID
RAID冗余阵列是一种通过冗余提高存储可靠性的技术,将多个低成本、不可靠的磁盘驱动器组件合并到阵列中的所有驱动器的逻辑单元中。
RRDNS
RRDNS 圆环域名服务(RRDNS)是一种在应用服务器之间分发负载的方法。RRDNS 通过在 DNS 服务器的区域文件中创建具有相同名称和不同 IP 地址的多个 A 记录来实现。
Server
托管要存储数据的实际文件系统的计算机(虚拟或裸机)。
扩展存储
增加存储设备的容量,但仅在单一维度中。例如,对于受信存储池中的单个计算机,可能添加额外的磁盘容量。
scale-Out Storage
在多个维度中增加存储设备的功能。例如,向受信存储池添加服务器会增加受信存储池的 CPU、磁盘容量和吞吐量。
子卷
子卷是在由至少一个转换器处理后的一个 brick。
Tranlator
转换程序连接到一个或多个子卷,与它们一同执行,并提供子卷连接。
受信存储池
存储池是存储服务器的可信网络。当您启动第一个服务器时,存储池仅由该服务器组成。
用户空间
在用户空间中运行的应用程序不会直接与硬件交互,而是使用内核来中等访问。用户空间应用程序通常比内核空间中的应用程序更可移植。Gluster 是一个用户空间应用。
虚拟文件系统(VFS)
VFS 是一个内核软件层,它处理与标准 Linux 文件系统相关的所有系统调用。它为多种文件系统提供了通用接口。
卷文件
卷文件是 GlusterFS 进程使用的配置文件。卷文件通常位于: /var/lib/glusterd/vols/VOLNAME
卷是 brick 的逻辑集合。大多数 Gluster 管理操作都在卷中。

9.2.3. 将 Red Hat Gluster Storage 卷作为存储域附加

将 Red Hat Gluster Storage 卷添加到 Red Hat Virtualization Manager 中,以直接用作存储域。这与添加 Red Hat Storage Gluster 节点不同,它允许从 Red Hat Virtualization Manager 中控制节点的卷和 brick,且不需要启用 Gluster 的集群。
主机需要安装 glusterfsglusterfs-fuseglusterfs-cli 软件包才能挂载卷。glusterfs-cli 软件包可从客户门户网站上的 rh-common-rpms 频道获得。
有关设置 Red Hat Gluster Storage 节点的信息,请参阅 Red Hat Gluster Storage 安装指南。有关准备要与 Red Hat Storage Gluster 卷一起使用的主机的更多信息,请参阅使用 Red Hat Gluster Storage 配置 Red Hat Virtualization 指南。有关兼容性列表的更多信息,请参阅 Red Hat Gluster Storage 版本兼容性和支持

过程 9.3. 将 Red Hat Gluster Storage 卷添加为存储域

  1. Storage resource 选项卡在结果列表中列出现有存储域。
  2. 单击 New Domain 以打开 New Domain 窗口。

    图 9.1. Red Hat Gluster Storage

    Red Hat Gluster Storage
  3. 输入存储域的名称
  4. 选择要与存储域关联的 数据中心
  5. Domain Function 下拉列表中选择 Data
  6. Storage Type 下拉列表中选择 GlusterFS
  7. Use Host 下拉列表中选择主机。只有所选数据中心内的主机才会被列出。要挂载卷,您选择的主机必须安装 glusterfsglusterfs-fuse 软件包。
  8. Path 字段中,输入 Red Hat Gluster Storage 服务器的 IP 地址或 FQDN,以及用冒号分开的卷名称。
  9. 输入其他 挂载选项,因为您通常使用 -o 参数将它们提供给 mount 命令。挂载选项应以逗号分隔列表形式提供。有关有效挂载选项列表,请参阅 man mount
  10. 另外,您还可以配置高级参数。
    1. 单击 Advanced Parameters
    2. Warning Low Space Indicator 字段中输入百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
    3. Critical Space Action Blocker 字段中输入 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
    4. 选中 Wipe After Delete 复选框来启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
  11. 单击 OK 以将该卷挂载到存储域并关闭窗口。

9.2.4. 创建存储卷

您可以使用管理门户创建新卷。在创建新卷时,您必须指定组成卷的 brick,并指定卷是要分发、复制或条带的。
您必须先创建 brick 目录或挂载点,然后才能将它们添加到卷中。
重要
建议您使用复制卷,其中从不同主机导出的 brick 合并到卷中。复制卷会在卷中的多个 brick 中创建文件副本,防止隔离主机时数据丢失。

过程 9.4. 创建存储卷

  1. Volumes resource 选项卡列出结果列表中的现有卷。
  2. 单击 New 以打开 New Volume 窗口。
  3. 使用下拉菜单选择数据中心和 卷集群。
  4. 输入卷的 Name
  5. 使用下拉菜单选择卷 的类型
  6. 如果为 active,请选中适当的 Transport Type 复选框。
  7. 单击 Add Bricks 按钮,选择要添加到卷的 brick。在 Red Hat Gluster Storage 节点上,必须在外部创建 brick。
  8. 若处于活动状态,请使用 GlusterNFSCIFS 复选框,选择用于该卷的适当访问协议。
  9. Allow Access From 字段中输入卷访问控制作为以逗号分隔的 IP 地址或主机名列表。
    您可以使用 * 通配符来指定 IP 地址或主机名的范围。
  10. 选择 Optimize for Virt Store 选项来设置参数,以针对虚拟机存储优化卷。如果要使用这个卷作为存储域,请选择此项。
  11. 单击 OK 以创建卷。添加新卷,并显示在 Volume 选项卡中。
您已添加了 Red Hat Gluster Storage 卷。现在,您可以将其用于存储。

9.2.5. 在卷中添加 Bricks

概述

您可以通过添加新 brick 来扩展卷。您需要在扩展存储空间时将至少一个 brick 添加到分布式卷,两个 brick 的倍数到复制卷,以及四个 brick 的倍数到条带卷。

过程 9.5. 在卷中添加 Bricks

  1. 在导航窗格中 的卷 选项卡上,选择要向其添加 brick 的卷。
  2. 单击详细信息窗格中的 Bricks 选项卡。
  3. Add Bricks 打开 Add Bricks 窗口。
  4. 使用 Server 下拉菜单选择 brick 所在的服务器。
  5. 输入 Brick Directory 的路径。目录必须已经存在。
  6. Add。该 brick 将显示在卷中 brick 列表中,其服务器地址和 brick 目录名称。
  7. 点击 OK

结果

新 brick 添加到卷中,brick 会显示在卷的 Bricks 选项卡中。

9.2.6. Add Bricks 窗口中的 Settings 说明

表 9.2. 添加 Bricks 选项卡属性

字段名称
Description
卷类型
显示卷的类型。无法更改此字段;在创建卷时设置它。
Server
托管 brick 的服务器。
Brick 目录
brick 目录或挂载点。

9.2.7. 优化红帽 Gluster 存储卷以存储虚拟机镜像

优化红帽 Gluster 存储卷,以使用管理门户存储虚拟机镜像。
要优化卷来存储虚拟机,管理器为卷设置多个特定于虚拟化的参数。
可以通过选择 Optimize for Virt Store 复选框,或者在使用 Volumes 资源选项卡中的 Optimize for Virt Store 按钮创建后,可以优化卷以在创建期间存储虚拟机。
重要
如果卷在三个或更多节点之间复制,请确保为虚拟存储优化卷,以避免节点间的数据不一致。
另一种方法是访问其中一个 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

9.2.8. 启动卷

概述

在创建了卷或现有卷停止后,需要先启动它,然后才能使用它。

过程 9.6. 启动卷

  1. 在卷选项卡 中,选择要启动的卷。
    您可以使用 ShiftCtrl 键选择要启动的多个卷。
  2. Start 按钮。
卷状态变为 Up

结果

现在,您可以将卷用于虚拟机存储。

9.2.9. 调整卷

概述

通过调优卷,您可以影响其性能。要调整卷,您可以为它们添加选项。

过程 9.7. 调整卷

  1. 单击 选项卡。
    显示卷列表。
  2. 选择您要调整的卷,然后点击 Details 窗格中的 Volume Options 选项卡。
    Volume Options 选项卡显示为卷设置的选项列表。
  3. Add 设置选项。此时会显示 Add Option 对话框。从下拉列表中选择 Option Key 并输入选项值。
  4. 点击 OK
    选项已设置并显示在 Volume Options 选项卡中。

结果

您已调整了存储卷的选项。

9.2.10. 编辑卷选项

概述

您已通过向其添加选项来调整卷。您可以更改存储卷的选项。

过程 9.8. 编辑卷选项

  1. 单击 选项卡。
    显示卷列表。
  2. 选择您要编辑的卷,然后从 Details 窗格中点击 Volume Options 选项卡。
    Volume Options 选项卡显示为卷设置的选项列表。
  3. 选择您要编辑的选项。点 Edit。此时会显示 Edit Options 对话框。为选项输入一个新值。
  4. 点击 OK
    编辑的选项会显示在 Volume Options 选项卡中。

结果

您已更改了卷的选项。

9.2.11. 重置卷选项

概述

您可以重置选项,将它们恢复为默认值。

  1. 单击 选项卡。
    显示卷列表。
  2. 选择卷,再单击 Details 窗格中的 Volume Options 选项卡。
    Volume Options 选项卡显示为卷设置的选项列表。
  3. 选择您要重置的选项。点 Reset。这时将显示一个对话框,提示您确认重置选项。
  4. 点击 OK
    已重置所选选项。
注意
您可以点击 Reset All 按钮重置所有卷选项。这时将显示一个对话框,提示您确认重置选项。点击 OK。为所选卷重置所有卷选项。

结果

您已将卷选项重置为 default。

9.2.12. 从卷中删除 Bricks

概述

当集群在线并可用时,您可以根据需要缩小卷。例如,您可能需要删除因为硬件或网络故障而在分布式卷中无法访问的 brick。

过程 9.9. 从卷中删除 Bricks

  1. 在导航窗格中 的卷 选项卡上,选择您要从中删除 brick 的卷。
  2. 单击详细信息窗格中的 Bricks 选项卡。
  3. 选择您要删除的 brick。单击 Remove Bricks
  4. 此时会打开一个窗口,提示您确认删除。单击确定以确认

结果

brick 从卷中移除。

9.2.13. Stopping Red Hat Gluster Storage Volumes

卷启动后,可以停止它。

过程 9.10. 停止卷

  1. Volumes 选项卡中,选择要停止的卷。
    您可以使用 ShiftCtrl 键选择要停止的多个卷。
  2. Stop

9.2.14. Deleting Red Hat Gluster Storage Volumes

您可以从集群中删除卷或多个卷。
  1. Volumes 选项卡中,选择要删除的卷。
  2. 点击 Remove。此时将显示一个对话框,提示您确认删除。点击 OK

9.2.15. 重新平衡卷

概述

如果卷已通过向该卷添加或删除 brick 来扩展或缩小,该卷上的数据必须在服务器间重新平衡。

过程 9.11. 重新平衡卷

  1. 单击 选项卡。
    显示卷列表。
  2. 选择要重新平衡的卷。
  3. Rebalance

结果

所选卷已重新平衡。

9.3. 集群和 Gluster Hook

9.3.1. 管理 Gluster Hook

Gluster hook 是卷生命周期扩展。您可以从 Manager 管理 Gluster hook。如果 hook 内容类型是 Text,则可以查看 hook 的内容。
通过 Manager,您可以执行以下操作:
  • 查看主机上可用的 hook 列表。
  • 查看 hook 的内容和状态。
  • 启用或禁用 hook。
  • 解决 hook 冲突。

9.3.2. 列出 Hook

概述

列出环境中的 Gluster hook。

过程 9.12. 列出 Hook

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。

结果

您已在环境中列出 Gluster hook。

9.3.3. 查看 Hook 的内容

概述

查看您环境中的 Gluster hook 的内容。

过程 9.13. 查看 Hook 的内容

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 选择内容类型文本的 hook,然后单击 View Content 按钮以打开 Hook 内容 窗口。

结果

您已在环境中查看了 hook 的内容。

9.3.4. 启用或禁用 Hook

概述

通过启用或禁用 Gluster hook,切换 Gluster hook 的活动。

过程 9.14. 启用或禁用 Hook

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 选择一个 hook,然后点 EnableDisable 按钮之一。在集群的所有节点上启用或禁用 hook。

结果

您已在环境中切换 Gluster hook 的活动。

9.3.5. 刷新 Hook

概述

默认情况下,管理器检查引擎上已安装 hook 的状态,以及集群中的所有服务器上,并通过每小时运行定期作业来检测新的 hook。您可以点 Sync 按钮手动刷新 hook。

过程 9.15. 刷新 Hook

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 单击 Sync 按钮。

结果

hook 在详情窗格中同步和更新。

9.3.6. 解决冲突

hook 显示在 Cluster 选项卡的 Gluster Hook 子选项卡中。导致冲突的 hook 会显示感叹号。这表示内容中存在冲突,或者集群中服务器中的 hook 状态或一个或多个服务器中缺少 hook 脚本。这些冲突可以通过 Manager 解决。服务器中的 hook 定期与引擎数据库同步,hook 可能会发生以下冲突:
  • 内容冲突 - hook 的内容在服务器间有所不同。
  • 缺少 Conflict - 集群的一个或多个服务器没有 hook。
  • 状态 Conflict - hook 的状态在服务器间有所不同。
  • 多个 Conflicts - hook 具有两个或更多冲突的组合。

9.3.7. 解决内容冲突

概述

在服务器和引擎之间不一致的 hook 将标记为有冲突。要解决冲突,您必须选择在所有服务器和引擎之间复制的 hook 版本。

过程 9.16. 解决内容冲突

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 选择冲突 hook 并点击 Resolve Conflicts 按钮,以打开 Resolve Conflicts 窗口。
  4. 从源列表中选择引擎或服务器,以查看该 hook 的内容并建立要复制的 hook 版本。
    注意
    hook 的内容将在所有服务器和引擎中覆盖。
  5. 从下拉菜单中选择 Use content 来选择首选的服务器或引擎。
  6. OK 解决冲突并关闭窗口。

结果

所选服务器的 hook 复制到所有服务器,并在环境中保持一致。

9.3.8. 解决 Missing Hook Conflicts

概述

所有服务器上不存在的 hook,引擎将标记为具有冲突。要解决冲突,可选择在所有服务器和引擎之间复制的 hook 版本,或者完全删除缺少的 hook。

过程 9.17. 解决 Missing Hook Conflict

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 选择冲突 hook 并点击 Resolve Conflicts 按钮,以打开 Resolve Conflicts 窗口。
  4. 选择任何状态为 Enabled 的源来查看 hook 的内容。
  5. 选择适当的单选按钮,将 hook 复制到所有服务器,也可以 删除缺少的 hook。后者将从引擎和所有服务器中删除 hook。
  6. OK 解决冲突并关闭窗口。

结果

根据您的选择的解决方案,hook 已完全从环境中移除,或者已复制到所有服务器,并在环境中保持一致。

9.3.9. 解决状态冲突

概述

在服务器间没有一致状态的 hook,引擎将被标记为具有冲突的 hook。要解决冲突,请在环境中的所有服务器中选择一个状态。

过程 9.18. 解决状态冲突

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 选择冲突 hook 并点击 Resolve Conflicts 按钮,以打开 Resolve Conflicts 窗口。
  4. Hook 状态设置为 启用或禁用
  5. OK 解决冲突并关闭窗口。

结果

hook 的所选状态在引擎之间强制执行,并在环境中保持一致的服务器。

9.3.10. 解决多个冲突

概述

hook 可能会有两个或者多个冲突。它们都可以同时解决,或者通过 Resolve Conflicts 窗口独立解析。此流程将解决 hook 的所有冲突,以便在环境中的引擎和所有服务器间保持一致。

过程 9.19. 解决多个冲突

  1. 使用 Cluster resource 选项卡、树结构模式或搜索功能在结果列表中查找和选择集群。
  2. 选择 Gluster Hook 子选项卡,以列出详细信息窗格中的 hook。
  3. 选择冲突 hook 并点击 Resolve Conflicts 按钮,以打开 Resolve Conflicts 窗口。
  4. 根据适当的流程,为每个影响冲突选择解决方案。
  5. OK 解决冲突并关闭窗口。

结果

您已解决所有冲突,以便 hook 在引擎和所有服务器间保持一致。

9.3.11. 管理 Gluster 同步

Gluster 同步功能定期从 GlusterFS 获取最新的集群配置,并与 engine DB 同步。此过程可通过 Manager 执行。选择了集群时,为用户提供了 选项,可从所选集群中导入主机或分离现有主机。如果集群中存在主机,可以执行 Gluster 同步。
注意
管理器会持续监控主机是否已添加到存储集群中或从存储集群中移除。如果检测到主机或移除主机,则在集群的 General 选项卡中显示操作项,您可以在其中选择将主机导入到集群中或 分离 主机。

第 10 章 池

10.1. 虚拟机池简介

虚拟机池是一组虚拟机,这些虚拟机都是同一模板的克隆,可由给定组中的任何用户按需使用。借助虚拟机池,管理员可以为用户快速配置一组常规虚拟机。
用户通过从池中获取虚拟机来访问虚拟机池。当用户从池中获取虚拟机时,会为它们提供池中的任何一个虚拟机(如果有的话)。该虚拟机的操作系统和配置与池所基于的模板相同,但用户每次获取虚拟机时都可能无法收到与池相同的成员。用户还可以从同一虚拟机池中获取多个虚拟机,具体取决于该池的配置。
默认情况下,虚拟机池是无状态的,这意味着虚拟机数据在重启后不会保留。但是,可以将池配置为有状态,从而允许上一个用户所做的更改保留。但是,如果用户为从虚拟机池中获取的虚拟机配置了控制台选项,则这些选项将设置为该虚拟机池针对该用户的默认设置。
注意
从管理门户访问时,从池中获取的虚拟机不无状态。这是因为管理员需要能够在必要时将更改写入到磁盘。
在原则上,池中的虚拟机会在用户获取时启动,并在用户完成时关闭。但是,虚拟机池也可以包含预先启动的虚拟机。预先启动的虚拟机会一直处于 up 状态,并保持闲置状态,直到被用户获取为止。这样,用户可以立即开始使用此类虚拟机,但由于闲置,这些虚拟机也会消耗系统资源,而这些虚拟机也会消耗系统资源。

10.2. 虚拟机池任务

10.2.1. 创建虚拟机池

您可以创建包含基于通用模板创建的多个虚拟机的虚拟机池。

过程 10.1. 创建虚拟机池

  1. 池选项卡
  2. 单击新建按钮,以打开新建池 窗口。
  3. 使用下拉菜单选择 Cluster,或使用所选默认值。
  4. 使用 Template 下拉菜单选择所需的模板和版本,或者使用所选的默认模板和版本。模板提供了池中所有虚拟机的标准设置。
  5. 使用 Operating System 下拉列表选择 Operating System,或使用模板提供的默认设置。
  6. 使用 Optimized for 下拉列表为 桌面 使用或 服务器使用 优化虚拟机。
  7. 输入 NameDescription、任何 注释 以及池的虚拟机数量。
  8. Prestarted VMs 字段中输入要预先启动的虚拟机数量。
  9. 选择 允许单个用户在会话中运行的最大虚拟机数量。最小值为 1。
  10. 选择 Delete Protection 复选框来启用删除保护。
  11. (可选)点 Show Advanced Options 按钮并执行以下步骤:
    1. Type 标签页:
      1. 选择 池类型
        • 手动 - 管理员负责将虚拟机明确返回到池。
        • Automatic - 虚拟机自动返回到虚拟机池。
      2. 选中 Stateful Pool 复选框,以确保虚拟机以有状态模式启动。这意味着之前用户所做的更改将保留在虚拟机上。
    2. Console 标签页:
      1. 选中 覆盖 SPICE 代理 复选框。
      2. Overridden SPICE 代理地址 文本字段中,指定 SPICE 代理的地址来覆盖全局 SPICE 代理。
  12. 点击 OK
您已创建并配置了指定数量的相同虚拟机的虚拟机池。您可以在 Virtual Machines 资源选项卡中查看这些虚拟机,或者在 资源选项卡的详情窗格中;池中的虚拟机通过图标与独立虚拟机区分。

10.2.2. 新池和编辑池 Windows 中的设置和控制的说明

10.2.2.1. 新池和编辑池常规设置说明

下表详述了新建池和编辑池窗口的 常规 选项卡上特定于 虚拟机池 的必需信息。所有其他设置都与 New Virtual Machine 窗口中的设置相同。

表 10.1. 常规设置

字段名称
Description
模板
虚拟机池所基于的模板和模板子版本。如果您基于模板的 最新 子版本创建池,则池中的所有虚拟机都将自动接收最新的模板版本。有关为虚拟机配置模板的更多信息,请参阅虚拟机管理指南中的新建模板和 编辑模板 Windows 中的虚拟机常规设置说明 和说明
Description
虚拟机池的有意义的描述。
注释
用于添加有关虚拟机池的纯文本可读注释的字段。
预启动的虚拟机
允许您指定虚拟机池中启动的虚拟机数量,在用户执行之前启动并保持该状态供用户获取。此字段的值必须介于 0 到虚拟机池中虚拟机总数之间。
Number of VMs/Increase number of VMs in pool by
允许您指定在虚拟机池中创建和提供的虚拟机数量。在编辑窗口中,您可以通过指定数量在虚拟机池中增加虚拟机数量。默认情况下,您可以在池中创建的虚拟机数量上限为 1000。可以使用 engine-config 命令的 MaxVmsInPool 键来配置此值。
每个用户的最大虚拟机数量
允许您指定单个用户一次可以从虚拟机池中获取的最大虚拟机数量。此字段的值必须介于 132,767 之间。
删除保护
允许您阻止池中的虚拟机被删除。

10.2.2.2. 新的和编辑池类型设置说明

下表详述了新建池和编辑池窗口的 Type 选项卡 所需的信息

表 10.2. 类型 设置

字段名称
Description
池类型
此下拉菜单允许您指定虚拟机池的类型。可用的选项如下:
  • 自动 :在用户使用完从虚拟机池中获取的虚拟机后,该虚拟机会自动返回到虚拟机池。
  • 手动 :在用户使用完从虚拟机池中获取的虚拟机后,该虚拟机仅在管理员手动返回虚拟机时返回到虚拟机池。
有状态池
指定虚拟机传递到其他用户时是否保留池中的虚拟机状态。这意味着之前用户所做的更改将保留在虚拟机上。

10.2.2.3. 新池和编辑池控制台设置说明

下表详述了 新建池 编辑池窗口 的控制台选项卡上特定于虚拟机池的必需信息。所有其他设置都与 New Virtual MachineEdit Virtual Machine 窗口中的设置相同。

表 10.3. 控制台设置

字段名称
Description
覆盖 SPICE 代理
选中此复选框可覆盖全局配置中定义的 SPICE 代理。当用户(例如,通过客户门户网站进行连接)位于主机所在的网络之外时,此功能很有用。
覆盖的 SPICE 代理地址
SPICE 客户端连接到虚拟机的代理。此代理覆盖为 Red Hat Virtualization 环境定义的全局 SPICE 代理,并为虚拟机池所属的集群定义 SPICE 代理。地址必须采用以下格式:
protocol://[host]:[port]

10.2.2.4. 虚拟机池主机设置说明

下表详述了新建池和编辑池窗口的 主机 选项卡上可用的选项

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

字段名称
子元素
Description
开始运行于
 
定义要在其上运行虚拟机的首选主机。选择:
  • 集群中的任何主机 - 虚拟机可以在集群中的任何可用主机上启动并运行。
  • specific - 虚拟机将在集群的特定主机上运行。但是,管理器或管理员可以根据虚拟机的迁移和高可用性设置,将虚拟机迁移到集群中的不同主机上。从可用的主机列表中选择特定的主机或主机组。
迁移选项
迁移模式
定义运行和迁移虚拟机的选项。如果没有在此处使用选项,则虚拟机将根据集群的策略运行或迁移。
  • 允许手动和自动迁移 - 虚拟机可根据环境状态自动从一个主机迁移到另一个主机,或者由管理员手动迁移。
  • 只允许手动迁移 - 虚拟机只能由管理员手动从一个主机迁移到另一个主机。
  • 不允许迁移 - 虚拟机无法自动或手动迁移。
 
使用自定义迁移策略
定义迁移聚合策略。如果复选框未选中,主机将确定该策略。
  • legacy - 3.6 版本的传统行为。vdsm.conf 中的覆盖仍在应用。客户机代理 hook 机制已被禁用。
  • 最小停机时间 - 允许虚拟机在典型情况下迁移。虚拟机不应遇到任何显著的停机时间。如果虚拟机迁移在很长时间后没有合并(取决于 QEMU 迭代,且最多为 500 毫秒),迁移将中止。客户机代理 hook 机制已启用。
  • 如果需要,暂停工作负载 - 允许虚拟机在大多数情况下迁移,包括在虚拟机运行繁重工作负载时。虚拟机可能会遇到更多停机时间。迁移可能仍然针对极端工作负载中止。客户机代理 hook 机制已启用。
 
使用自定义迁移停机时间
此复选框允许您指定在实时迁移期间虚拟机可以下线的最大毫秒数。根据工作负载和 SLA 要求为每个虚拟机配置不同的停机时间。输入 0 以使用 VDSM 默认值。
 
自动聚合迁移
仅用 传统迁移策略 激活。允许您设置在虚拟机实时迁移过程中是否使用 auto-convergence。具有高负载的大型虚拟机可以比实时迁移过程中实现的传输率快得多,并防止迁移聚合。QEMU 中的自动聚合功能允许您强制进行虚拟机迁移。QEMU 自动检测缺乏聚合并触发虚拟机上 vCPU 节流。auto-convergence 默认禁用。
  • 从 cluster 设置中选择 Inherit,以使用在集群级别上设置的自动协调设置。默认选择这个选项。
  • 选择 Auto Converge 来覆盖集群设置或全局设置,并为虚拟机允许自动协调。
  • 选择 Don't Auto Converge 来覆盖集群设置或全局设置,并防止虚拟机的自动协调。
 
启用迁移压缩
仅用 传统迁移策略 激活。选项允许您设置在虚拟机实时迁移过程中是否使用迁移压缩。此功能使用 Xor Binary Zero Run-Length-Encoding 以减少虚拟机停机时间,并减少了运行内存写入负载的虚拟机的实时迁移时间,或适用于具有稀疏内存更新模式的任何应用程序。默认全局禁用迁移压缩。
  • 从集群设置中选择 Inherit,以使用在集群级别上设置的压缩设置。默认选择这个选项。
  • 选择 Compress 来覆盖集群设置或全局设置,并允许虚拟机的压缩。
  • 选择 Don't compress 来覆盖集群设置或全局设置,并防止虚拟机的压缩。
 
透传主机 CPU
此复选框允许虚拟机利用其所在主机的物理 CPU 的功能。只有在选择了 Do not allow migration 时才能启用这个选项。
配置 NUMA
NUMA 节点数
分配给虚拟机的虚拟 NUMA 节点数量。如果 Tune 模式是 Preferred,则该值必须设置为 1
 
调优模式
用于分配内存的方法。
  • 严格 :如果无法在目标节点上分配内存,则内存分配将失败。
  • 首选 :从单一首选节点分配内存。如果没有足够的内存可用,可以从其他节点分配内存。
  • interleave :以轮循算法跨节点分配内存。
 
NUMA 固定
打开 NUMA Topology 窗口。此窗口显示主机的总 CPU、内存和 NUMA 节点,以及虚拟机的虚拟 NUMA 节点。点每个 vNUMA 从右侧的方框将虚拟 NUMA 节点拖到左侧的 NUMA 节点,以固定虚拟 NUMA 节点以托管 NUMA 节点。

10.2.3. 编辑虚拟机池

10.2.3.1. 编辑虚拟机池

创建虚拟机池后,可以编辑其属性。编辑虚拟机池时可用的属性与创建新虚拟机池时可用的属性相同,唯一的不同是 VM 属性的数量增大池中 VM 的数量
注意
在编辑虚拟机池时,引入的更改仅会影响新虚拟机。在引入变化时已存在的虚拟机仍不受影响。

过程 10.2. 编辑虚拟机池

  1. Pools 资源选项卡,然后从结果列表中选择一个虚拟机池。
  2. 单击 Edit 以打开 Edit Pool 窗口。
  3. 编辑虚拟机池的属性。
  4. 单击确定

10.2.3.2. 在池中启动虚拟机

虚拟机池中的虚拟机默认是关机。当用户从池中请求虚拟机时,会开启虚拟机并分配给该用户。相反,预先启动的虚拟机已在运行并等待分配给用户,减少用户必须等待的时间,然后才能访问虚拟机。当预先启动的虚拟机关闭时,它会返回到池并恢复到其原始状态。预先启动的虚拟机的最大数量是池中的虚拟机数量。
预先启动的虚拟机适合那些用户需要立即访问虚拟机(不特别分配给他们的虚拟机)的环境。只有自动池可以预先启动的虚拟机。

过程 10.3. 在池中启动虚拟机

  1. 使用池 资源选项卡、树结构模式或搜索功能在结果列表中查找和选择虚拟机池。
  2. 单击 Edit 以打开 Edit Pool 窗口。
  3. Prestarted VMs 字段中输入要预先启动的虚拟机数量。
  4. 选择 池选项卡确保池 类型设为 Automatic
  5. 点击 OK
您已在池中设置了多个预先启动的虚拟机。预先启动的机器正在运行,可供使用。

10.2.3.3. 将虚拟机添加到虚拟机池

如果您要求虚拟机数量超过最初在虚拟机池中调配的虚拟机,请将更多虚拟机添加到池中。

过程 10.4. 将虚拟机添加到虚拟机池

  1. 使用池 资源选项卡、树结构模式或搜索功能在结果列表中查找和选择虚拟机池。
  2. 单击 Edit 以打开 Edit Pool 窗口。
  3. 增大池中 VM 的数量 字段中,输入要添加的其他虚拟机数量。
  4. 点击 OK
您已将更多虚拟机添加到虚拟机池。

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

您可以从虚拟机池中分离虚拟机。分离虚拟机会将其从池中移除,从而成为独立的虚拟机。

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

  1. 使用池 资源选项卡、树结构模式或搜索功能在结果列表中查找和选择虚拟机池。
  2. 确保虚拟机的状态为 Down,因为您无法分离正在运行的虚拟机。
    单击详细信息窗格中的 虚拟机选项卡,以列出池中的虚拟机。
  3. 选择一个或多个虚拟机,再单击 Detach 以打开 Detach Virtual Machine (s) 确认窗口。
  4. 单击 OK 以将虚拟机从池中分离。
注意
虚拟机仍然存在于环境中,并可从 Virtual Machines 资源选项卡查看和访问。请注意,图标会改变,表示分离的虚拟机是一个独立的虚拟机。
您已将虚拟机从虚拟机池分离。

10.2.4. 删除虚拟机池

您可以从数据中心中删除虚拟机池。您必须先删除或分离池中的所有虚拟机。从池中分离虚拟机会将它们保留为独立的虚拟机。

过程 10.6. 删除虚拟机池

  1. 使用池 资源选项卡、树结构模式或搜索功能在结果列表中查找和选择虚拟机池。
  2. 单击 Remove 以打开 Remove Pool (s) 确认窗口。
  3. 单击 OK 以删除池。
您已从数据中心中删除了池。

10.3. 池和权限

10.3.1. 为虚拟机池管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
虚拟机池管理员是数据中心中虚拟机池的系统管理角色。此角色可以应用到特定的虚拟机池、数据中心或整个虚拟化环境;这对于允许不同的用户管理某些虚拟机池资源非常有用。
虚拟机池管理员角色允许执行以下操作:
  • 创建、编辑和删除池。
  • 将虚拟机从池中添加和分离。
注意
您只能将角色和权限分配给现有用户。

10.3.2. 虚拟机池管理员角色说明

池权限角色

下表描述了适用于池管理的管理角色和特权。

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

角色 权限 备注
VmPoolAdmin 虚拟池的系统管理员角色. 可以创建、删除和配置虚拟池,分配和删除虚拟池用户,以及对虚拟机执行基本操作。
ClusterAdmin Cluster Administrator 可以使用、创建、删除、管理特定集群中的所有虚拟机池.

10.3.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 10.7. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

10.3.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

过程 10.8. 从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

10.4. 可信计算池

可信计算池是基于 Intel Trusted Execution Technology (Intel TXT)的安全集群。可信集群只允许由 Intel 的 OpenAttestation 验证的主机,它会针对白名单数据库测量主机的硬件和软件的完整性。可以分配可信主机和其上运行的虚拟机,任务需要更高的安全性。有关 Intel TXT、可信系统和 attestation 的更多信息,请参阅 https://software.intel.com/en-us/articles/intel-trusted-execution-technology-intel-txt-enabling-guide
创建可信计算池涉及以下步骤:
  • 配置管理器以与 OpenAttestation 服务器通信。
  • 创建只能运行可信主机的可信集群。
  • 将可信主机添加到可信集群。主机必须正在运行 OpenAttestation 代理,才能验证 OpenAttestation sever。
有关安装 OpenAttestation 服务器的详情,请在主机上安装 OpenAttestation 代理,并创建白名单数据库,请参阅 https://github.com/OpenAttestation/OpenAttestation/wiki

10.4.1. 将 OpenAttestation Server 连接到 Manager

在创建可信集群前,必须配置 Red Hat Virtualization Manager 来识别 OpenAttestation 服务器。使用 engine-config 添加 OpenAttestation 服务器的 FQDN 或 IP 地址:
# engine-config -s AttestationServer=attestationserver.example.com
如果需要,也可以更改以下设置:

表 10.6. engine-config 的 OpenAttestation 设置

选项
默认值
Description
AttestationServer
oat-server
OpenAttestation 服务器的 FQDN 或 IP 地址。必须为管理器设置此项才能与 OpenAttestation 服务器通信。
AttestationPort
8443
OpenAttestation 服务器用来与管理器通信的端口。
AttestationTruststore
TrustStore.jks
用于保护与 OpenAttestation 服务器通信的信任存储。
AttestationTruststorePass
密码
用于访问信任存储的密码。
AttestationFirstStageSize
10
用于快速初始化。不建议在不造成适当原因的情况下更改这个值。
SecureConnectionWithOATServers
true
启用或禁用与 OpenAttestation 服务器的安全通信。
PollUri
AttestationService/resources/PollHosts
用于访问 OpenAttestation 服务的 URI。

10.4.2. 创建可信集群

可信集群与 OpenAttestation 服务器通信,以评估主机的安全性。当主机添加到可信集群时,OpenAttestation 服务器会针对白名单数据库来测量主机的硬件和软件。虚拟机可以在可信集群中的可信主机之间迁移,从而在安全的环境中实现高可用性。

过程 10.9. 创建可信集群

  1. 选择 Clusters 选项卡。
  2. New
  3. 输入集群的 Name
  4. 选择 Enable Virt Service 单选按钮。
  5. 调度策略 选项卡中,选中 Enable Trusted Service 复选框。
  6. 点击 OK

10.4.3. 添加可信主机

Red Hat Enterprise Linux 主机可以添加到可信集群,并根据 OpenAttestation 服务器的白名单数据库来测量。主机必须满足以下要求,才能被 OpenAttestation 服务器信任:
  • 在 BIOS 中启用了 Intel TXT。
  • OpenAttestation 代理已安装并在运行。
  • 在主机上运行的软件与 OpenAttestation 服务器的白名单数据库匹配。

过程 10.10. 添加可信主机

  1. 选择 Hosts 选项卡。
  2. New
  3. Host Cluster 下拉列表中选择一个可信集群。
  4. 输入 主机的名称
  5. 输入主机的地址
  6. 输入主机的 root 密码
  7. 点击 OK
主机添加到可信集群后,它由 OpenAttestation 服务器进行评估。如果 OpenAttestation 服务器不信任的主机,它将变为 Non Operational 状态,应该从可信集群中删除。

第 11 章 虚拟磁盘

11.1. 了解虚拟机存储

Red Hat Virtualization 支持三种存储类型:NFS、iSCSI 和 FCP。
在每种类型中,称为存储池管理程序(SPM)的主机管理主机和存储之间的访问权限。SPM 主机是唯一在存储池中具有完整访问权限的节点; SPM 可以修改存储域元数据,以及池的元数据。所有其他主机只能访问虚拟机硬盘镜像数据。
默认情况下,在 NFS、本地或远程 POSIX 兼容数据中心中,SPM 将使用精简配置的格式在文件系统中作为文件创建虚拟磁盘。
在 iSCSI 和其他基于块的数据中心中,SPM 会在所提供的逻辑单元号(LUN)之上创建一个卷组,并使逻辑卷用作虚拟磁盘。基于块的存储上的虚拟磁盘默认为预分配。
如果虚拟磁盘预先分配,则创建指定大小(以 GB 为单位)的逻辑卷。虚拟机可以使用 kpartxvgscanvgchangemount 挂载到 Red Hat Enterprise Linux 服务器上,以调查虚拟机的进程或问题。
如果虚拟磁盘被精简置备,则会创建一个 1 GB 逻辑卷。该逻辑卷由运行虚拟机的主机持续监控。使用量接近阈值后,主机就通知 SPM,SPM 会将逻辑卷扩展为 1 GB。主机负责在逻辑卷扩展后恢复虚拟机。如果虚拟机进入暂停状态,这表示 SPM 无法随时间扩展磁盘。如果 SPM 太忙或者没有足够的存储空间,就会发生这种情况。
预分配(RAW)格式的虚拟磁盘比精简配置(QCOW2)格式的虚拟磁盘要快得多。创建虚拟磁盘需要较少的时间。精简配置格式适用于非 I/O 密集型虚拟机。建议为具有高 I/O 写入的虚拟机预分配格式。如果虚拟机每四秒写入超过 1 GB,请尽可能使用预分配的磁盘。

11.2. 了解虚拟磁盘

Red Hat Virtualization 具有 Preallocated (thick provisioned)和 Sparse (thin provisioned)存储选项。
  • 预分配
    预分配的虚拟磁盘会分配虚拟机前需要的所有存储。例如,为虚拟机的数据分区创建的 20 GB 预分配逻辑卷将在创建后立即占用 20 GB 存储空间。
  • 稀疏
    稀疏分配允许管理员定义分配给虚拟机的总存储,但只有在需要时才会分配存储。
    例如,在首次创建时,一个 20 GB 的精简置备的逻辑卷会占用 0 GB 存储空间。安装操作系统时,可能需要安装的文件的大小,并将继续随着数据增长到最多 20 GB 大小而增加。
磁盘的大小列在每个虚拟机和模板的 Disks 子选项卡中。磁盘的 Virtual Size 是虚拟机可以使用的磁盘空间总量;这是在创建或编辑磁盘时在 Size (GB) 字段中输入的数量。磁盘的 Actual Size 是目前分配给虚拟机的磁盘空间量。预分配的磁盘显示这两个字段的值相同。稀疏磁盘可能会在 Virtual Size 字段的值的 Actual Size 字段中显示不同的值,具体取决于已分配的磁盘空间量。
注意
在创建 Cinder 虚拟磁盘时,磁盘的格式和类型由 Cinder 内部处理,不由 Red Hat Virtualization 管理。
下表介绍了存储类型和格式的可能组合。

表 11.1. 允许的存储组合

存储 格式 类型 备注
NFS 或 iSCSI/FCP RAW 或 QCOW2 稀疏或预分配  
NFS RAW 预分配 此文件的初始大小等于为虚拟磁盘定义的存储量,并且没有格式设置。
NFS RAW 稀疏 此文件的初始大小接近为零,并且没有格式设置。
NFS QCOW2 稀疏 此文件的初始大小接近为零,并且具有 QCOW2 格式。后续层将采用 QCOW2 格式。
SAN RAW 预分配 具有初始大小等于为虚拟磁盘定义的存储量的块设备,并且没有格式设置。
SAN QCOW2 稀疏 具有初始大小小于为虚拟磁盘定义的大小(目前为 1 GB)的块设备,并且具有根据需要分配的 QCOW2 格式(目前为 1 GB 增量)。

11.3. 设置来在删除后擦除虚拟磁盘

当虚拟磁盘被删除时,wipe_after_delete 标志会将使用的数据替换为 Wipe After Delete 复选框。如果设为 false (默认值),删除磁盘将打开这些块以供重复使用,但不会擦除数据。因此,这个数据可以被恢复,因为块没有返回到零。
wipe_after_delete 标志仅适用于块存储。在文件存储(例如 NFS)上,选项不会进行任何操作,因为文件系统会确保不存在数据。
为虚拟磁盘启用 wipe_after_delete 更安全,如果虚拟磁盘包含任何敏感数据,则建议使用。这是一个更密集的操作,用户会在性能方面造成性能下降,延长了删除时间。
注意
删除功能后擦除功能与安全删除不同,且不能保证从存储中删除数据,只是在同一存储中创建的新磁盘不会从旧磁盘中公开数据。
wipe_after_delete 标志默认为 true (请参阅安装指南中的 配置 Red Hat Virtualization Manager ),或使用 Red Hat Virtualization Manager 上的引擎配置工具。重启引擎以使设置更改生效。
注意
更改 wipe_after_delete 标志 default 不会更改已存在的磁盘的 Wipe After Delete 属性。

过程 11.1. 使用引擎配置工具将 SANWipeAfterDelete 设置为 True

  1. 使用 --set 操作运行引擎配置工具:
    # engine-config --set SANWipeAfterDelete=true
    
  2. 重启引擎以使更改生效:
    # systemctl restart ovirt-engine.service
    
您可以检查主机上的 /var/log/vdsm/vdsm.log 文件,以确认虚拟磁盘已成功擦除并删除。
为成功擦除,日志文件将包含条目 storage_domain_id/volume_id 为零,并将被删除。例如:
a9cb0625-d5dc-49ab-8ad1-72722e82b0bf/a49351a7-15d8-4932-8d67-512a369f9d61 was zeroed and will be deleted
对于删除成功,日志文件将包含条目,使用 VG 结束:storage_domain_id LVs: list_of_volume_ids, img: image_id。例如:
finished with VG:a9cb0625-d5dc-49ab-8ad1-72722e82b0bf LVs: {'a49351a7-15d8-4932-8d67-512a369f9d61': ImgsPar(imgs=['11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d'], parent='00000000-0000-0000-0000-000000000000')}, img: 11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d
失败的 wipe 会显示一个日志消息 zeroing storage_domain_id/volume_id failed。Zero and remove this volume manually,不成功删除会显示 Remove failed for some of VG: storage_domain_id zeroed volumes: list_of_volume_ids

11.4. Red Hat Virtualization 中可共享磁盘

有些应用程序需要在服务器间共享存储。Red Hat Virtualization 允许您将虚拟机硬盘标记为 可共享,并将这些磁盘附加到虚拟机。这样,可以将单个虚拟磁盘供多个群集感知型客户机使用。
在每次情况下都不会使用共享磁盘。对于集群数据库服务器和其他高可用性服务等应用程序,共享磁盘是合适的。将共享磁盘附加到多个不感知集群的客户端可能会导致数据崩溃,因为它们对磁盘的读取和写入不协调。
您不能生成共享磁盘的快照。拍摄快照的虚拟磁盘不能标记为可共享。
您可以在创建磁盘时标记磁盘可共享,也可以稍后编辑磁盘。

11.5. 阅读 Red Hat Virtualization 中的唯一磁盘

有些应用要求管理员共享具有只读权限的数据。您可以在虚拟机的详情窗格中通过 Disks 选项卡创建或编辑虚拟机时,您可以进行此操作,并选择 Read Only 复选框。这样,一个磁盘可以被多个集群感知客户机读取,而管理员维护了编写特权。
在虚拟机运行时,您无法更改磁盘的只读状态。
重要
挂载文件系统需要读写访问权限。对于包含此类文件系统(如 EXT3、 EXT 4XFS)的虚拟磁盘,不适用于使用 Read Only 选项。

11.6. 虚拟磁盘任务

11.6.1. 创建浮动虚拟磁盘

重要
创建浮动虚拟磁盘只是一个技术预览功能。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview/
您可以创建不属于任何虚拟机的虚拟磁盘。然后,您可以将此磁盘附加到单个虚拟机,或者附加到多个虚拟机(如果磁盘可共享)。
镜像 磁盘创建完全由 Manager 管理。直接 LUN 磁盘需要外部准备的目标已存在。Cinder 磁盘需要访问使用外部提供者窗口添加到 Red Hat Virtualization 环境的 OpenStack 卷实例;如需更多信息,请参阅 第 12.2.4 节 “为存储管理添加 OpenStack 卷(Cinder)实例”

过程 11.2. 创建浮动虚拟磁盘

  1. 选择 Disks resource 选项卡。
  2. New

    图 11.1. 添加虚拟磁盘窗口

    添加虚拟磁盘窗口
  3. 使用单选按钮指定虚拟磁盘是镜像、Direct LUN 还是 Cinder 磁盘。
  4. 选择虚拟磁盘所需的选项。选项会根据所选磁盘类型进行更改。有关每种磁盘类型的每个选项的详情,请查看 第 11.6.2 节 “New Virtual Disk 窗口中的 Settings 解释”
  5. 点击 OK

11.6.2. New Virtual Disk 窗口中的 Settings 解释

表 11.2. 新虚拟磁盘设置: 镜像

字段名称
Description
Size(GB)
以 GB 为单位的新虚拟磁盘大小。
Alias
虚拟磁盘的名称,限制为 40 个字符。
Description
虚拟磁盘的描述。建议使用此字段,但不强制设置。
Interface
磁盘向虚拟机呈现的虚拟接口。VirtIO 速度更快,但需要驱动程序。Red Hat Enterprise Linux 5 及更高版本包括这些驱动程序。Windows 不包括这些驱动程序,但可以从客户机工具 ISO 或虚拟软盘磁盘安装。IDE 设备不需要特殊驱动程序。
在停止磁盘所附加的所有虚拟机后,可以更新接口类型。
数据中心
提供虚拟磁盘的数据中心。
存储域
存储虚拟磁盘的存储域。下拉列表显示给定数据中心中所有可用的存储域,还显示存储域中的总空间和当前可用空间。
分配策略
新虚拟磁盘的调配策略。
  • 在创建虚拟磁盘时,预分配 存储域中磁盘的整个大小。虚拟大小和预分配磁盘的实际大小相同。与精简配置的虚拟磁盘相比,预分配的虚拟磁盘需要更长的时间,但读取和写入性能更佳。建议为服务器和其他 I/O 密集型虚拟机预分配的虚拟磁盘。如果虚拟机每四秒写入超过 1 GB,请尽可能使用预分配的磁盘。
  • 精简资源调配 会在创建虚拟磁盘时分配 1 GB,并为磁盘可增长的大小设置最大限制。磁盘的虚拟大小是最大限制;磁盘的实际大小是到目前为止已分配的空间。精简置备的磁盘比预分配的磁盘创建更快,并允许存储过量使用。对于桌面,建议使用精简配置的虚拟磁盘。
磁盘配置文件
分配给虚拟磁盘的磁盘配置文件。磁盘配置文件定义存储域中虚拟磁盘的最大吞吐量以及最大输入和输出操作级别。磁盘配置文件根据为数据中心创建的服务条目的存储质量在存储域级别定义。
删除后擦除
允许您启用增强的安全性,从而在删除虚拟磁盘时删除敏感资料。
可引导
允许您在虚拟磁盘中启用可引导标记。
可共享
允许您一次将虚拟磁盘附加到多个虚拟机。
Direct LUN 设置可以在 Targets > LUNs 或 LUNs & gt; Targets 中显示。目标 &gt; LUN 根据发现它们的主机对可用 LUN 进行排序,而 LUNs > Targets 则显示 LUN 的单一列表。

表 11.3. 新虚拟磁盘设置: Direct LUN

字段名称
Description
Alias
虚拟磁盘的名称,限制为 40 个字符。
Description
虚拟磁盘的描述。建议使用此字段,但不强制设置。默认情况下,LUN ID 的最后 4 个字符被插入到字段中。
可以使用 engine-config 命令将 PopulateDirectLUNDiskDescriptionWithLUNId 配置键设置为适当的值来配置默认行为。对于要使用的完整 LUN ID,可将配置密钥设置为 -1,对于忽略这个功能,可以将其设置为 0。正整数使用相应 LUN ID 的字符数填充描述信息。如需更多信息,请参阅 第 18.2.2 节 “engine-config 命令的语法”
Interface
磁盘向虚拟机呈现的虚拟接口。VirtIO 速度更快,但需要驱动程序。Red Hat Enterprise Linux 5 及更高版本包括这些驱动程序。Windows 不包括这些驱动程序,但可以从客户机工具 ISO 或虚拟软盘磁盘安装。IDE 设备不需要特殊驱动程序。
在停止磁盘所附加的所有虚拟机后,可以更新接口类型。
数据中心
提供虚拟磁盘的数据中心。
使用主机
挂载 LUN 的主机。您可以在数据中心中选择任何主机。
存储类型
要添加的外部 LUN 的类型。您可以从 iSCSI 或光纤通道中进行选择
发现目标
当您使用 iSCSI 外部 LUN 时,可以扩展此部分,并选择 Targets > LUNs
地址 - 目标服务器的主机名或 IP 地址。
port - 尝试连接到目标服务器的端口。默认端口为 3260。
用户身份验证 - iSCSI 服务器需要用户身份验证。使用 iSCSI 外部 LUN 时,可以看到 User Authentication 字段。
CHAP username - 有权登录到 LUN 的用户的用户名。选择了 User Authentication 复选框时,可以访问此字段。
CHAP 密码 - 有权登录到 LUN 的用户密码。选择了 User Authentication 复选框时,可以访问此字段。
可引导
允许您在虚拟磁盘中启用可引导标记。
可共享
允许您一次将虚拟磁盘附加到多个虚拟机。
启用 SCSI 透传
当接口设置为 VirtIO-SCSI 时可用。选择此复选框可启用物理 SCSI 设备的透传到虚拟磁盘。启用 SCSI 透传的 VirtIO-SCSI 接口自动包含 SCSI 丢弃支持。如果没有选择此复选框,虚拟磁盘将使用仿真 SCSI 设备。
允许 Privileged SCSI I/O
选择了 Enable SCSI Pass-Through 复选框时可用。选择此复选框可启用未过滤的 SCSI Generic I/O(SG_IO)访问,从而允许磁盘上具有特权 SG_IO 命令。这是持久保留所必需的。
填写 Discover Targets 部分中的字段,再单击 Discover 来发现目标服务器。然后,您可以点 Login All 按钮列出目标服务器上的可用 LUN,并使用每个 LUN 旁边的单选按钮,选择要添加的 LUN。
将 LUN 直接用作虚拟机硬盘映像可删除虚拟机及其数据之间的抽象层。
在将直接 LUN 用作虚拟机硬盘镜像时,您必须考虑以下事项:
  • 不支持直接 LUN 硬盘镜像的实时迁移。
  • 直接 LUN 磁盘不包括在虚拟机导出中。
  • 直接 LUN 磁盘不包含在虚拟机快照中。
如果没有可用的 OpenStack 卷存储域,则 Cinder 设置表单将被禁用,您可以在相关数据中心中创建磁盘。Cinder 磁盘需要访问使用外部提供者窗口添加到 Red Hat Virtualization 环境的 OpenStack 卷实例;如需更多信息,请参阅 第 12.2.4 节 “为存储管理添加 OpenStack 卷(Cinder)实例”

表 11.4. 新虚拟磁盘设置: Cinder

字段名称
Description
Size(GB)
以 GB 为单位的新虚拟磁盘大小。
Alias
虚拟磁盘的名称,限制为 40 个字符。
Description
虚拟磁盘的描述。建议使用此字段,但不强制设置。
Interface
磁盘向虚拟机呈现的虚拟接口。VirtIO 速度更快,但需要驱动程序。Red Hat Enterprise Linux 5 及更高版本包括这些驱动程序。Windows 不包括这些驱动程序,但可以从客户机工具 ISO 或虚拟软盘磁盘安装。IDE 设备不需要特殊驱动程序。
在停止磁盘所附加的所有虚拟机后,可以更新接口类型。
数据中心
提供虚拟磁盘的数据中心。
存储域
存储虚拟磁盘的存储域。下拉列表显示给定数据中心中所有可用的存储域,还显示存储域中的总空间和当前可用空间。
卷类型
虚拟磁盘的卷类型。下拉列表显示所有可用的卷类型。卷类型将在 OpenStack Cinder 上管理和配置。
可引导
允许您在虚拟磁盘中启用可引导标记。
可共享
允许您一次将虚拟磁盘附加到多个虚拟机。

11.6.3. 实时存储迁移概述

在其附加的虚拟机运行时,可以将虚拟磁盘从一个存储域迁移到另一个存储域。这称为实时存储迁移。当迁移连接到正在运行的虚拟机的磁盘时,源存储域中将创建该磁盘映像链的快照,并且整个映像链复制到目标存储域中。因此,请确保源存储域和目标存储域中有足够的存储空间来托管磁盘镜像链和快照。每个实时存储迁移尝试都会创建一个新快照,即使迁移失败也是如此。
在使用实时存储迁移时请考虑以下几点:
  • 您可以一次实时迁移多个磁盘。
  • 同一虚拟机的多个磁盘可以驻留在多个存储域上,但每个磁盘的镜像链必须位于单一存储域中。
  • 您可以在同一数据中心的任意两个存储域间实时迁移磁盘。
  • 您无法实时迁移直接 LUN 硬盘镜像或标记为可共享的磁盘。

11.6.4. 移动虚拟磁盘

将虚拟磁盘移到虚拟机,或作为浮动虚拟磁盘从一个存储域移动到另一个存储域。您可以移动附加到正在运行的虚拟机的虚拟磁盘;这称为实时存储迁移。或者,在继续操作前关闭虚拟机。
在移动磁盘时请考虑以下几点:
  • 您可以同时移动多个磁盘。
  • 您可以在同一数据中心的任意两个存储域之间移动磁盘。
  • 如果虚拟磁盘附加到基于模板创建的虚拟机并使用精简置备存储分配选项,您必须将虚拟机基于的模板的磁盘复制到与虚拟磁盘相同的存储域。

过程 11.3. 移动虚拟磁盘

  1. 选择 Disks 选项卡。
  2. 选择要移动的一个或多个虚拟磁盘。
  3. 单击 Move 以打开 Move Disk (s) 窗口。
  4. Target 列表中,选择要移动虚拟磁盘的存储域。
  5. Disk Profile 列表,为磁盘选择一个配置集(如果适用)。
  6. 点击 OK
虚拟磁盘将移到目标存储域,在移动时状态为 Locked

11.6.5. 更改磁盘接口类型

用户可以在磁盘创建后更改磁盘接口类型。这可让您将现有磁盘附加到需要不同接口类型的虚拟机。例如,使用 VirtIO 接口的磁盘可以连接到需要 VirtIO-SCSIIDE 接口的虚拟机。这为备份和恢复或灾难恢复提供了迁移磁盘的灵活性。也可以为每个虚拟机更新可共享磁盘的磁盘接口。这意味着,使用共享磁盘的每个虚拟机都可以使用不同的接口类型。
要更新磁盘接口类型,必须先停止使用磁盘的所有虚拟机。

过程 11.4. 更改磁盘接口类型

  1. 选择虚拟机选项卡 并停止适当的虚拟机。
  2. Disks 子选项卡中,选择磁盘并点 Edit
  3. Interface 列表中,选择新接口类型,再单击 OK
虚拟机现在将使用不同的虚拟接口作为磁盘。
以下流程演示了如何将磁盘附加到需要不同接口类型的不同虚拟机。

过程 11.5. 使用不同的接口类型将磁盘附加到不同的虚拟机

  1. 选择虚拟机选项卡 并停止适当的虚拟机。
  2. 选择要从中分离磁盘的虚拟机。
  3. Disks 子选项卡,选择磁盘并单击 删除
  4. Virtual Machines 选项卡中,选择磁盘将附加到的新虚拟机。
  5. 单击 Attach
  6. Attach Virtual Disks 窗口中选择磁盘,然后从 Interface 下拉菜单中选择适当的接口。
  7. 点击 OK

11.6.6. 复制虚拟磁盘

概述

您可以将虚拟磁盘从一个存储域复制到另一个存储域。复制的磁盘可以附加到虚拟机。

过程 11.6. 复制虚拟磁盘

  1. 选择 Disks 选项卡。
  2. 选择要复制的虚拟磁盘。
  3. Copy 按钮打开 Copy Disk (s) 窗口。
  4. (可选)在 Alias 文本字段中输入别名。
  5. 使用 Target 下拉菜单选择要复制到的存储域。
  6. 点击 OK

结果

虚拟磁盘复制到目标存储域,在复制时状态为 Locked

11.6.7. 将磁盘镜像上传到存储域

兼容 QEMU 的虚拟磁盘镜像可以从本地机器上传到 Red Hat Virtualization 存储域并附加到虚拟机。
虚拟磁盘镜像类型必须是 QCOW2 或 Raw。从 QCOW2 磁盘镜像创建的磁盘不可共享,并且 QCOW2 磁盘镜像文件不能有后备文件。

先决条件:

  • 在运行 engine-setup 时,您必须配置镜像 I/O 代理。如需更多信息 ,请参阅安装指南中的配置 Red Hat Virtualization Manager
  • 您必须将所需的证书颁发机构导入到用于访问管理门户的 Web 浏览器中。
  • 执行此上传过程需要 Internet Explorer 10、Firefox 35 或 Chrome 13 或更高版本。以前的浏览器版本不支持所需的 HTML5 API。

注意
要导入证书颁发机构,请浏览 https://engine_address/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA 并选择所有信任设置。请参阅在 FirefoxInternet ExplorerGoogle Chrome 中安装证书颁发机构的说明。

过程 11.7. 将磁盘镜像上传到存储域

  1. 打开 Upload Image 屏幕。
    • Disks 选项卡中,从 Upload 下拉菜单中选择 Start
    • 或者,从 Storage 选项卡中选择存储域,然后选择 Disks 子选项卡,然后从 Upload 下拉菜单中选择 Start

    图 11.2. 上传镜像屏幕

    上传镜像屏幕
  2. Upload Image 屏幕中,单击 Browse,再选择本地磁盘上的镜像。
  3. Image Type 设置为 QCOW2Raw
  4. 填写 Disk Option 字段。有关相关字段的描述,请参阅 第 11.6.2 节 “New Virtual Disk 窗口中的 Settings 解释”
  5. 点击 OK
进度条将指示上传的状态。您还可以暂停、取消或恢复从 Upload 下拉菜单中选择上传。

11.6.8. 从导入的存储域导入磁盘镜像

使用详细信息面板的 Disk Import 选项卡从导入的存储域导入浮动虚拟磁盘。
注意
只有 QEMU 兼容磁盘才能导入到 Manager 中。

过程 11.8. 导入磁盘镜像

  1. 选择已导入到数据中心的存储域。
  2. 在详细信息窗格中,单击 Disk Import
  3. 选择一个或多个磁盘镜像,然后点 Import 以打开 Import Disk (s) 窗口。
  4. 为每个磁盘选择适当的 Disk Profile
  5. 单击 OK 以导入所选磁盘。

11.6.9. 从导入的存储域导入未注册的磁盘镜像

使用详细信息面板的 Disk Import 选项卡从存储域导入浮动虚拟磁盘。在 Red Hat Virtualization 环境外创建的浮动磁盘不会向 Manager 注册。扫描存储域,以识别要导入的未注册浮动磁盘。
注意
只有 QEMU 兼容磁盘才能导入到 Manager 中。

过程 11.9. 导入磁盘镜像

  1. 选择已导入到数据中心的存储域。
  2. 右键单击存储域并选择 Scan Disks,以便 Manager 可以识别未注册的磁盘。
  3. 在详细信息窗格中,单击 Disk Import
  4. 选择一个或多个磁盘镜像,然后点 Import 以打开 Import Disk (s) 窗口。
  5. 为每个磁盘选择适当的 Disk Profile
  6. 单击 OK 以导入所选磁盘。

11.6.10. 从 OpenStack 镜像服务导入虚拟磁盘镜像

概述

如果 OpenStack 镜像服务作为外部提供程序添加到 Manager 中,则由 OpenStack 镜像服务管理的虚拟磁盘镜像可导入到 Red Hat Virtualization Manager 中。

  1. 单击 Storage 资源选项卡,然后从结果列表中选择 OpenStack Image Service 域。
  2. 在详情窗格的 Images 选项卡中选择要导入的镜像。
  3. 单击 Import 以打开 Import Image (s) 窗口。
  4. Data Center 下拉菜单中选择要导入虚拟磁盘镜像的数据中心。
  5. Domain Name 下拉菜单中选择存储虚拟磁盘镜像的存储域。
  6. (可选)从 Quota 下拉菜单中选择配额,以将配额应用到虚拟磁盘镜像。
  7. 单击 OK 以导入镜像。

结果

镜像作为浮动磁盘导入,显示在 Disks 资源选项卡的结果列表中。它现在可以附加到虚拟机。

11.6.11. 将虚拟磁盘导出到 OpenStack 镜像服务

概述

虚拟磁盘可以导出到作为外部提供程序添加到 Manager 中的 OpenStack 镜像服务。

  1. Disks 资源 选项卡。
  2. 选择要导出的磁盘。
  3. 单击 导出 按钮,以打开 导出镜像窗口
  4. Domain Name 下拉列表中,选择将导出磁盘的 OpenStack Image Service。
  5. Quota 下拉列表中选择一个配额(如果要应用配额)。
  6. 点击 OK

结果

虚拟磁盘导出到指定的 OpenStack 镜像服务,后者作为虚拟磁盘镜像进行管理。

重要
只有虚拟磁盘没有多个卷,才能导出虚拟磁盘,不是精简置备的,且没有任何快照。

11.7. 虚拟磁盘和权限

11.7.1. 为虚拟磁盘管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色的管理员特权仅适用于分配的数据中心,但该数据中心的存储除外,ClusterAdmin 则仅对分配的集群具有管理员特权。
Red Hat Virtualization Manager 提供两个默认虚拟磁盘用户角色,但没有默认的虚拟磁盘管理员角色。其中一个用户角色 DiskCreator 角色允许从开发人员门户管理虚拟磁盘。此角色可应用于特定的虚拟机、数据中心、特定存储域或整个虚拟化环境;这对于允许不同的用户管理不同的虚拟资源非常有用。
虚拟磁盘创建者角色允许执行以下操作:
  • 创建、编辑和删除与虚拟机或其他资源关联的虚拟磁盘。
  • 编辑虚拟磁盘的用户权限。
注意
您只能将角色和权限分配给现有用户。

11.7.2. 虚拟磁盘用户角色已说明

虚拟磁盘用户权限角色

下表描述了适用于在用户门户中使用和管理虚拟磁盘的用户角色和权限。

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

角色 权限 备注
DiskOperator 虚拟磁盘用户。 可以使用、查看和编辑虚拟磁盘.继承使用虚拟磁盘所附加虚拟机的权限。
DiskCreator 可以在分配的集群或数据中心内创建、编辑、管理和移除虚拟磁盘。 此角色不适用于特定的虚拟磁盘;使用 Configure 窗口将此角色应用到整个环境的用户。另外,也可以将这个角色应用到特定的数据中心、集群或存储域。

11.7.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

过程 11.10. 将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. Add
  4. 在搜索 文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  5. Role to Assign: 下拉列表中选择一个角色。
  6. 点击 OK
您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

11.7.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

过程 11.11. 从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击详细信息窗格中的权限选项卡,以列出所分配的用户、用户的角色以及所选资源的继承权限。
  3. 选择要从资源中删除的用户。
  4. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  5. 点击 OK
您已从资源中删除了用户的角色和关联的权限。

第 12 章 外部供应商

12.1. Red Hat Virtualization 中外部供应商简介

除了由 Red Hat Virtualization Manager 本身管理的资源外,Red Hat Virtualization 还可以利用由外部来源管理的资源。这些资源的提供程序称为外部提供程序,可以提供虚拟化主机、虚拟机镜像和网络等资源。
Red Hat Virtualization 目前支持以下外部供应商:
Red Hat Satellite for Host Provisioning
卫星是管理物理和虚拟主机生命周期的所有方面的工具。在 Red Hat Virtualization 中,由 Satellite 管理的主机可以添加到 Red Hat Virtualization Manager 作为虚拟化主机中使用。将 Satellite 实例添加到管理器后,可以通过在添加新主机时搜索 Satellite 实例上的可用主机来添加 Satellite 实例管理的主机。有关安装 Red Hat Satellite 并使用 Red Hat Satellite 管理主机的更多信息,请参阅 安装指南 和主机配置 指南
用于镜像管理的 OpenStack Image Service (Glance)
OpenStack 镜像服务提供虚拟机镜像的目录。在 Red Hat Virtualization 中,这些镜像可以导入到 Red Hat Virtualization Manager 中,并用作浮动磁盘或附加到虚拟机并转换为模板。将 OpenStack Image Service 添加到管理器后,它会显示为没有附加到任何数据中心的存储域。Red Hat Virtualization 环境中的虚拟磁盘也可以导出到 OpenStack 镜像服务作为虚拟磁盘镜像。
用于网络置备的 OpenStack 网络(Neutron)
OpenStack 网络提供软件定义的网络。在 Red Hat Virtualization 中,OpenStack 网络提供的网络可以导入到 Red Hat Virtualization Manager 中,用于执行所有类型的流量并创建复杂的网络拓扑。将 OpenStack 网络添加到管理器后,您可以手动导入 OpenStack 网络提供的网络。
用于存储管理的 OpenStack 卷(Cinder)
OpenStack 卷为虚拟硬盘提供永久块存储管理。OpenStack Cinder 卷由 Ceph 存储调配。在 Red Hat Virtualization 中,您可以在 OpenStack 卷存储上创建磁盘,这些磁盘可用作浮动磁盘或附加到虚拟机。将 OpenStack 卷添加到管理器后,您可以在 OpenStack 卷提供的存储上创建磁盘。
VMware 用于虚拟机置备
VMware 中创建的虚拟机可以使用 V2V (virt-v2v)转换,并导入到 Red Hat Virtualization 环境中。将 VMware 供应商添加到 Manager 后,您可以导入它提供的虚拟机。V2V 转换是在指定的代理主机上作为导入操作的一部分执行的。
用于网络置备的外部网络提供程序
支持外部 sofware 定义的网络提供程序包括实施 OpenStack Neutron REST API 的任何提供程序。与 OpenStack 网络(Neutron)不同,Neutron 代理不用作主机上虚拟接口驱动程序实施。相反,虚拟接口驱动程序需要由外部网络提供程序的实施者提供。
所有外部资源供应商都使用一个符合您的输入的窗口添加。在使用 Red Hat Virtualization 环境中提供的资源前,您必须添加资源供应商。

12.2. 添加外部供应商

12.2.1. 为主机置备添加 Red Hat Satellite 实例

为 Red Hat Virtualization Manager 添加主机置备的 Satellite 实例。Red Hat Virtualization 4.0 支持 Red Hat Satellite 6.1。

过程 12.1. 为主机置备添加 Satellite 实例

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 单击 Add 以打开 Add Provider 窗口。

    图 12.1. Add Provider 窗口

    Add Provider 窗口
  3. 输入名称和描述
  4. Type 列表中,确保选择了 Foreman/Satellite
  5. Provider URL 文本字段中,输入安装 Satellite 实例的机器的 URL 或完全限定域名。您不需要指定端口号。
    重要
    IP 地址不能用于添加 Satellite 实例。
  6. 为 Satellite 实例输入 UsernamePassword。您必须使用与您用来登录 Satellite 调配门户相同的用户名和密码。
  7. 测试凭证:
    1. 单击 Test,以测试您是否可以使用提供的凭据通过 Satellite 实例成功进行身份验证。
    2. 如果 Satellite 实例使用 SSL,则会打开 Import provider certificate 窗口;单击 OK 以导入 Satellite 实例提供的证书。
      重要
      您必须导入 Satellite 实例提供的证书,以确保 Manager 可以与实例通信。
  8. 点击 OK
您已将 Satellite 实例添加到 Red Hat Virtualization Manager 中,并可用于它提供的主机。

12.2.2. 为镜像管理添加 OpenStack Image (Glance)实例

将 OpenStack Image (Glance)实例添加到 Red Hat Virtualization Manager。

过程 12.2. 为镜像管理添加 OpenStack Image (Glance)实例

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 单击 Add 以打开 Add Provider 窗口。

    图 12.2. Add Provider 窗口

    Add Provider 窗口
  3. 输入名称和描述
  4. Type 列表中,选择 OpenStack Image
  5. Provider URL 文本字段中,输入安装 OpenStack Image 实例的机器的 URL 或完全限定域名。
  6. (可选)选中 Requires Authentication 复选框,再输入 OpenStack Image 实例的 UsernamePasswordTenant NameAuthentication URL。您必须使用 Keystone 中注册的 OpenStack Image 用户的用户名和密码、OpenStack 镜像实例所属的租户,以及 Keystone 服务器的 URL 和端口。
  7. 测试凭证:
    1. 单击 Test,以使用提供的凭据,测试您能否通过 OpenStack 镜像实例成功进行身份验证。
    2. 如果 OpenStack Image 实例使用 SSL,则会打开 Import provider certificate 窗口;单击 OK 以导入 OpenStack Image 实例提供的证书。
      重要
      您必须导入 OpenStack Image 实例提供的证书,以确保 Manager 可以与实例通信。
  8. 点击 OK
您已将 OpenStack Image 实例添加到 Red Hat Virtualization Manager 中,并可搭配它提供的镜像。

12.2.3. 为网络调配添加 OpenStack 网络(Neutron)实例

为 Red Hat Virtualization Manager 添加用于网络置备的 OpenStack 网络(Neutron)实例。要添加实施 OpenStack Neutron REST API 的其他第三方网络提供程序,请参阅 第 12.2.6 节 “添加外部网络提供程序”
重要
Red Hat Virtualization 支持 Red Hat OpenStack Platform 8、9 和 10 作为外部网络供应商。

过程 12.3. 为网络调配添加 OpenStack 网络(Neutron)实例

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 单击 Add 以打开 Add Provider 窗口。

    图 12.3. Add Provider 窗口

    Add Provider 窗口
  3. 输入名称和描述
  4. Type 列表,选择 OpenStack Networking
  5. 确保在 Networking Plugin 字段中选择了 Open vSwitch
  6. Provider URL 文本字段中,输入安装 OpenStack Networking 实例的机器的 URL 或完全限定域名,后跟端口号。默认选择 Read Only 复选框。这可以防止用户修改 OpenStack 网络实例。
    重要
    您必须保留选中 Read Only 复选框,以便红帽支持您的设置。
  7. (可选)选中 Requires Authentication 复选框,再输入 OpenStack Networking 实例的 UsernamePasswordTenant NameAuthentication URL。您必须使用 Keystone 中注册的 OpenStack Networking 用户的用户名和密码、OpenStack 网络实例所属的租户,以及 Keystone 服务器的 URL 和端口。
  8. 测试凭证:
    1. 单击 Test,以使用提供的凭据,测试您能否通过 OpenStack Networking 实例成功进行身份验证。
    2. 如果 OpenStack 网络实例使用 SSL,则打开 Import provider certificate 窗口;单击 OK 以导入 OpenStack 网络实例提供的证书,以确保管理器可以与实例通信。
    警告
    以下步骤仅作为技术预览提供。Red Hat Virtualization 仅支持预配置的 Neutron 主机。
  9. 单击 Agent Configuration 选项卡。

    图 12.4. 代理配置选项卡

    代理配置选项卡
  10. Interface Mappings 字段中输入 Open vSwitch 代理的接口映射列表。
  11. Broker Type 列表中选择 OpenStack Networking 实例使用的消息代理类型。
  12. Host 字段中输入托管在消息代理的主机的 URL 或完全限定域名。
  13. 输入要连接到消息代理 的端口。如果消息代理没有配置为使用 SSL,则此端口号默认为 5762,如果该端口号配置为使用 SSL,则此端口号为 5761。
  14. 输入在消息代理实例中注册的 OpenStack Networking 用户的 UsernamePassword
  15. 点击 OK
您已将 OpenStack 网络实例添加到 Red Hat Virtualization Manager 中。在使用它提供的网络之前,请将网络导入到 Manager。请参阅 第 6.3.1 节 “从外部提供程序导入网络”

12.2.4. 为存储管理添加 OpenStack 卷(Cinder)实例

重要
使用 OpenStack 卷(Cinder)实例进行存储管理只是一个技术预览功能。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview/
向 Red Hat Virtualization Manager 添加用于存储管理的 OpenStack 卷(Cinder)实例。OpenStack Cinder 卷由 Ceph 存储调配。

过程 12.4. 为存储管理添加 OpenStack 卷(Cinder)实例

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 单击 Add 以打开 Add Provider 窗口。

    图 12.5. Add Provider 窗口

    Add Provider 窗口
  3. 输入名称和描述
  4. Type 列表,选择 OpenStack Volume
  5. 选择要将 OpenStack 卷存储卷附加到 的数据中心
  6. Provider URL 文本字段中,输入安装 OpenStack Volume 实例的机器的 URL 或完全限定域名。
  7. (可选)选中 Requires Authentication 复选框,并输入 OpenStack 卷实例的 UsernamePasswordTenant NameAuthentication URL。您必须使用 Keystone 中注册的 OpenStack Volume 用户的用户名和密码、OpenStack 卷实例所属的租户,以及 Keystone 服务器的 URL、端口和 API 版本。
  8. 单击 Test,以测试您是否可以使用提供的凭据通过 OpenStack 卷实例成功进行身份验证。
  9. 点击 OK
  10. 如果启用了客户端 Ceph 身份验证(cephx),您还必须完成以下步骤。cephx 协议默认启用。
    1. 在 Ceph 服务器上,使用 ceph auth get-or-create 命令为 client.cinder 用户创建新的 secret 密钥。有关为新用户创建密钥 的更多信息 请参阅 Cephx 配置参考 。如果 client.cinder 用户已存在密钥,则使用同一命令检索密钥。
    2. 在管理门户中,从 Providers 列表中选择新创建的 Cinder 外部提供程序。
    3. 单击 Authentication Keys 子选项卡。
    4. New
    5. Value 字段中输入 secret 密钥。
    6. 复制自动生成的 UUID,或者在文本字段中输入现有 UUID。
    7. 在 Cinder 服务器上,将上一步中的 UUID 和 cinder 用户添加到 /etc/cinder/cinder.conf 中:
      rbd_secret_uuid = UUID
      rbd_user = cinder
您已将 OpenStack 卷实例添加到 Red Hat Virtualization Manager 中,并可搭配它提供的存储卷。有关创建 OpenStack 卷(Cinder)磁盘的更多信息,请参阅 第 11.6.1 节 “创建浮动虚拟磁盘”

12.2.5. 将 VMware 实例添加为虚拟机提供程序

添加 VMware vCenter 实例,将虚拟机从 VMware 导入到 Red Hat Virtualization Manager。
Red Hat Virtualization 使用 V2V 将 VMware 虚拟机转换为正确的格式,然后再导入。virt-v2v 软件包必须至少安装在一个主机上。默认情况下,virt-v2v 软件包在 Red Hat Virtualization 主机(RHVH)上可用,但必须安装在 Red Hat Enterprise Linux 主机上。Red Hat Enterprise Linux 主机必须是 Red Hat Enterprise Linux 7.2 或更高版本。

过程 12.5. 将 VMware vCenter 实例添加为虚拟机提供程序

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 单击 Add 以打开 Add Provider 窗口。

    图 12.6. Add Provider 窗口

    Add Provider 窗口
  3. 输入名称和描述
  4. Type 列表中,选择 VMware
  5. 选择要导入 VMware 虚拟机的数据中心,或者选择任何数据中心以 便在单个导入操作期间指定目标数据中心(在虚拟机选项卡中使用 Import 功能)。
  6. vCenter 字段中输入 VMware vCenter 实例的 IP 地址或完全限定域名。
  7. ESXi 字段中输入要从中导入虚拟机的主机的 IP 地址或完全限定域名。
  8. Data Center 字段中输入指定 ESXi 主机所在的数据中心的名称。
  9. 如果您已在 ESXi 主机和管理器之间交换 SSL 证书,请保留选中 Verify server 的 SSL 证书 以验证 ESXi 主机的证书。如果没有,请取消选中 选项。
  10. 在安装了 virt-v2v 的选定数据中心中选择一个主机,以便在虚拟机导入操作期间充当 Proxy 主机。此主机还必须能够连接到 VMware vCenter 外部供应商的网络。如果选择了上述任何 数据中心,则无法在这里选择主机,而是可在单个导入操作中指定主机(使用虚拟机选项卡中的 Import 功能)。
  11. 为 VMware vCenter 实例输入 UsernamePassword。用户必须有权访问包含虚拟机的 VMware 数据中心和 ESXi 主机。
  12. 测试凭证:
    1. Test 来测试您可以使用提供的凭证与 VMware vCenter 实例成功进行身份验证。
    2. 如果 VMware vCenter 实例使用 SSL,则会打开 Import provider certificate 窗口;点 OK 导入 VMware vCenter 实例提供的证书。
      重要
      您必须导入 VMware vCenter 实例提供的证书,以确保 Manager 可以与实例通信。
  13. 点击 OK
您已将 VMware vCenter 实例添加到 Red Hat Virtualization Manager 中,并可导入它提供的虚拟机。如需更多信息 ,请参阅虚拟机管理指南中的从 VMware 提供程序导入虚拟机。

12.2.6. 添加外部网络提供程序

任何实施 OpenStack Neutron REST API 的网络供应商都可以添加到 Red Hat Virtualization 中。虚拟接口驱动程序需要由外部网络提供程序的实施者提供。在 和 https://github.com/mmirecki/ovirt-provider-mock/blob/master/docs/driver_instalation 上提供了 https://github.com/mmirecki/ovirt-provider-mock 网络提供程序和虚拟接口驱动程序的参考实施。

过程 12.6. 为网络置备添加外部网络提供程序

  1. 在树形窗格中,选择 外部提供者 条目。
  2. Add

    图 12.7. Add Provider 窗口

    Add Provider 窗口
  3. 输入名称和描述
  4. Type 列表,选择 External Network Provider
  5. Provider URL 文本字段中,输入安装外部网络提供程序的机器的 URL 或完全限定域名,后跟端口号。默认选择 Read-Only 复选框。这可防止用户修改外部网络提供程序。
    重要
    您必须保留选中 Read-Only 复选框,供您的设置被红帽支持。
  6. (可选)选中 Requires Authentication 复选框,并输入外部网络提供程序的 UsernamePasswordTenant NameAuthentication URL
  7. 测试凭证:
    1. Test 来测试您可以使用提供的凭证与外部网络提供程序成功进行身份验证。
    2. 如果外部网络提供程序使用 SSL,则打开 Import provider certificate 窗口;单击 OK 以导入外部网络提供者提供的证书,以确保管理器可以与实例通信。
您已将外部网络供应商添加到 Red Hat Virtualization Manager 中。在使用它提供的网络之前,您需要在主机上安装虚拟接口驱动程序并导入网络。要导入网络,请参阅 第 6.3.1 节 “从外部提供程序导入网络”

12.2.7. 添加提供程序常规设置说明

Add Provider 窗口中的 General 选项卡允许您注册外部提供程序的核心详细信息。

表 12.1. 添加提供程序:常规设置

设置
解释
Name
代表 Manager 中的供应商的名称。
Description
提供程序的纯文本、人类可读的描述。
类型
外部提供程序的类型。更改此设置会改变用于配置供应商的可用字段。
Foreman/Satellite
  • 提供程序 URL :托管 Satellite 实例的机器的 URL 或完全限定域名。您不需要将端口号添加到 URL 或完全限定域名的末尾。
  • requires Authentication :允许您指定供应商是否需要身份验证。选择 Foreman/Satellite 时,身份验证是必需的。
  • 用户名 :用于连接 Satellite 实例的用户名。此用户名必须是用于登录卫星实例上调配门户的用户名。默认情况下,此用户名是 admin
  • Password :要对上述用户名进行身份验证的密码。此密码必须是用于登录 Satellite 实例调配门户的密码。
OpenStack Image
  • 提供商 URL :托管 OpenStack 镜像服务的机器的 URL 或完全限定域名。您必须将 OpenStack 镜像服务的端口号添加到 URL 或完全限定域名的末尾。默认情况下,此端口号为 9292。
  • 需要身份验证 :允许您指定是否需要身份验证才能访问 OpenStack 镜像服务。
  • 用户名 :用于连接 OpenStack 镜像服务的用户名。此用户名必须是 OpenStack 镜像服务在 OpenStack 镜像服务所属的 Keystone 实例中注册的 OpenStack 镜像服务的用户名。默认情况下,此用户名是 glance
  • Password :要对上述用户名进行身份验证的密码。此密码必须是 OpenStack 镜像服务所属的 Keystone 实例中注册的 OpenStack 镜像服务的密码。
  • 租户名称 :OpenStack 镜像服务所属 OpenStack 租户的名称。默认情况下,这是 服务
  • 身份验证 URL :与 OpenStack 镜像服务进行身份验证的 Keystone 服务器的 URL 和端口。
OpenStack 网络
  • 网络插件 :用于连接 OpenStack 网络服务器的网络插件。Open vSwitch 是唯一选项,默认选择。
  • 提供商 URL :托管 OpenStack 网络实例的机器的 URL 或完全限定域名。您必须将 OpenStack Networking 实例的端口号添加到 URL 或完全限定域名的末尾。默认情况下,此端口号为 9696。
  • Read Only :允许您指定是否可以从管理门户修改 OpenStack 网络实例。
  • 需要身份验证 :允许您指定是否需要身份验证才能访问 OpenStack 网络服务。
  • 用户名 :用于连接 OpenStack 网络实例的用户名。此用户名必须是 OpenStack 网络在 OpenStack 网络实例所属的 Keystone 实例中注册的用户名。默认情况下,此用户名是 neutron
  • Password :要对上述用户名进行身份验证的密码。此密码必须是 OpenStack 网络在 OpenStack 网络实例所属的 Keystone 实例中注册的密码。
  • 租户名称 :OpenStack 网络实例所属的 OpenStack 租户的名称。默认情况下,这是 服务
  • 身份验证 URL :与 OpenStack 网络实例进行身份验证的 Keystone 服务器的 URL 和端口。
OpenStack Volume
  • 数据中心 :将 OpenStack 卷存储卷附加到的数据中心。
  • 提供商 URL :托管 OpenStack 卷实例的机器的 URL 或完全限定域名。您必须将 OpenStack 卷实例的端口号添加到 URL 或完全限定域名的末尾。默认情况下,此端口号为 8776。
  • 需要身份验证 :允许您指定是否需要身份验证才能访问 OpenStack 卷服务。
  • 用户名 :用于连接 OpenStack 卷实例的用户名。此用户名必须是 OpenStack 卷在 OpenStack 卷实例所属的 Keystone 实例中注册 OpenStack 卷的用户名。默认情况下,此用户名是 cinder
  • Password :要对上述用户名进行身份验证的密码。此密码必须是 OpenStack 卷在 OpenStack 卷实例所属的 Keystone 实例中注册的 OpenStack 卷的密码。
  • 租户名称 :OpenStack 卷实例所属的 OpenStack 租户名称。默认情况下,这是 服务
  • 身份验证 URL :与 OpenStack 卷实例进行身份验证的 Keystone 服务器的 URL 和端口。
VMware
  • 数据中心 :指定将要导入 VMware 虚拟机的数据中心,或者选择任何数据中心以便在单个导入操作期间指定目标数据中心(在虚拟机选项卡中使用 Import 功能)。
  • vCenter :VMware vCenter 实例的 IP 地址或完全限定域名。
  • ESXi :导入虚拟机的主机的 IP 地址或完全限定域名。
  • 数据中心 :指定 ESXi 主机所在数据中心的名称。
  • Cluster :指定 ESXi 主机所在的集群名称。
  • 验证服务器的 SSL 证书 :指定在连接上是否验证 ESXi 主机的证书。
  • 代理主机 :选择安装有 virt-v2v 的数据中心中的主机,以便在虚拟机导入操作期间充当主机。此主机还必须能够连接到 VMware vCenter 外部供应商的网络。如果您选择了 任何数据中心,则无法在这里选择主机,而是可在单个导入操作中指定主机(使用虚拟机选项卡中的 Import 功能)。
  • 用户名 :用于连接 VMware vCenter 实例的用户名。用户必须有权访问包含虚拟机的 VMware 数据中心和 ESXi 主机。
  • Password :要对上述用户名进行身份验证的密码。
外部网络提供程序
  • Provider URL :托管外部网络提供程序的机器的 URL 或完全限定域名。您必须将外部网络提供程序的端口号添加到 URL 或完全限定域名的末尾。默认情况下,此端口号为 9696。
  • Read Only :允许您指定是否可以从管理门户修改外部网络供应商。
  • requires Authentication :允许您指定是否需要身份验证才能访问外部网络提供程序。
  • 用户名 :用于连接外部网络提供程序的用户名。
  • Password :要对上述用户名进行身份验证的密码。
  • 身份验证 URL :外部网络提供程序验证的身份验证服务器的 URL 和端口。
测试
允许用户测试指定的凭据。此按钮可用于所有提供程序类型。

12.2.8. 添加提供商代理配置设置说明

通过 Add Provider 窗口中的 Agent Configuration 选项卡,用户可以注册网络插件的详细信息。此选项卡仅适用于 OpenStack 网络 提供程序类型。

表 12.2. 添加提供程序:常规设置

设置
解释
接口映射
以逗号分隔的映射列表,格式为 : interface
代理类型
OpenStack Networking 实例使用的消息代理类型。选择 RabbitMQQpid
主机
安装消息代理的机器的 URL 或完全限定域名。
端口
需要与上述主机进行连接的远程端口。默认情况下,如果主机上没有启用 SSL,此端口为 5762,如果启用了 SSL,则为 5761。
用户名
使用上述消息代理验证 OpenStack Networking 实例的用户名。默认情况下,此用户名是 neutron
密码
上述用户名要进行身份验证的密码。

12.3. 编辑外部供应商

12.3.1. 编辑外部提供程序

过程 12.7. 编辑外部提供程序

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 选择要编辑的外部供应商。
  3. 单击 Edit 按钮,以打开 Edit Provider 窗口。
  4. 将供应商的当前值更改为首选值。
  5. 点击 OK

12.4. 删除外部供应商

12.4.1. 删除外部提供程序

过程 12.8. 删除外部提供程序

  1. 在树形窗格中,选择 外部提供者 条目。
  2. 选择要删除的外部提供程序。
  3. 点击 Remove
  4. Remove Provider (s) 窗口中,单击 OK 以确认删除此提供程序。

部分 III. 管理环境

第 13 章 备份和迁移

13.1. 备份和恢复 Red Hat Virtualization Manager

13.1.1. 备份 Red Hat Virtualization Manager - 概述

使用 engine-backup 工具对 Red Hat Virtualization Manager 进行常规备份。该工具将引擎数据库和配置文件备份到单个文件中,并可在不中断 ovirt-engine 服务的情况下运行。

13.1.2. engine-backup 命令的语法

engine-backup 命令有两种基本模式之一:
# engine-backup --mode=backup
# engine-backup --mode=restore
这些两种模式通过一组参数进一步扩展,允许您指定引擎数据库的备份范围和不同凭据的范围。运行 engine-backup --help 获取完整的参数及其功能列表。

基本选项

--mode
指定命令将执行备份操作还是恢复操作。有两个可用选项 - backuprestore。这是必需参数。
--file
指定在备份模式中要备份的文件的路径和名称,以及在恢复模式中读取备份数据的文件的路径和名称。这是 backup 模式和 restore 模式中的必要参数。
--log
指定要写入备份或恢复操作的文件的路径和名称。在 backup 模式和 restore 模式中,此参数都是必需的。
--scope
指定 backup 或 restore 操作的范围。有四个选项: 可备份或恢复所有数据库和配置数据 ; 文件,仅备份或恢复系统上的文件; db,仅备份或恢复管理器数据库;以及 dwhdb,仅备份或恢复数据仓库数据库。默认范围 都是
在相同的 engine-backup 命令中,可以多次指定 --scope 参数。

Manager 数据库选项

只有在以 restore 模式使用 engine-backup 命令时,以下选项才可用。下面的选项语法适用于恢复管理器数据库。恢复数据仓库数据库具有相同的选项。有关数据仓库选项语法,请参阅 engine-backup --help
--provision-db
为要恢复到的 Manager 数据库备份创建一个 PostgreSQL 数据库。在远程主机上恢复备份或全新安装(尚未配置 PostgreSQL 数据库)时,这是必需的参数。
--change-db-credentials
允许您指定备用凭证,以使用存储在备份本身中的凭证恢复 Manager 数据库。有关这个参数所需的附加参数,请参阅 engine-backup --help
--restore-permissions--no-restore-permissions
恢复(或不恢复)数据库用户权限。恢复备份时,需要这些参数之一。
注意
如果备份包含额外数据库用户的授权,使用 --restore-permissions--provision-db (或 --provision-dwh-db)选项恢复备份将创建具有随机密码的额外用户。如果额外用户需要访问恢复的系统,则必须手动更改这些密码。请参阅 https://access.redhat.com/articles/2686731

13.1.3. 使用 engine-backup 命令创建备份

在 Manager 处于活跃状态时,可以使用 engine-backup 命令备份 Red Hat Virtualization Manager。在 --scope 中附加以下选项之一来指定要执行的备份:
  • All :管理器中所有数据库和配置文件的完整备份
  • 文件 :仅备份系统上的文件
  • db :仅备份管理器数据库
  • dwhdb :仅备份数据仓库数据库
重要
要将数据库恢复到全新安装的 Red Hat Virtualization Manager,仅数据库备份不足;管理器还需要访问配置文件。任何指定默认范围的备份( all )都必须由 文件 范围或文件系统备份编译。

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

  1. 登录到运行 Red Hat Virtualization Manager 的机器。
  2. 创建备份:

    例 13.1. 创建完整备份

    # engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name

    例 13.2. 创建管理器数据库备份

    # engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
    db 选项替换为 dwhdb 以备份数据仓库数据库。
    使用提供的路径和文件名创建包含备份的 tar 文件。
包含备份的 tar 文件现在可以用于恢复环境。

13.1.4. 使用 engine-backup 命令恢复备份

使用 engine-backup 命令恢复备份涉及比创建备份更多的步骤,具体取决于恢复目的地。例如,engine-backup 命令可用于将备份恢复到 Red Hat Virtualization 的现有安装,并使用本地或远程数据库。
重要
备份只能恢复到与备份环境相同的主版本的环境。例如,Red Hat Virtualization 版本 4.0 环境的备份只能恢复到另一个 Red Hat Virtualization 版本 4.0 环境。要查看备份文件中所含的 Red Hat Virtualization 版本,请解压缩备份文件,并在解压缩文件的根目录下的 version 文件中读取值。

13.1.5. 将备份恢复到全新安装

engine-backup 命令可用于将备份恢复到 Red Hat Virtualization Manager 的新安装。以下流程必须在安装了基础操作系统的机器上执行,并安装了 Red Hat Virtualization Manager 所需的软件包,但尚未运行 engine-setup 命令。这个过程假设可以从要恢复备份的机器访问备份文件或文件。

过程 13.2. 将备份恢复到全新安装

  1. 登录到 Manager 机器。如果您要将 engine 数据库恢复到远程主机,则需要登录并在该主机上执行相关的操作。同样,如果也将数据仓库恢复到远程主机,则需要登录并在该主机上执行相关操作。
  2. 恢复完整的备份或仅数据库备份。
    • 恢复完整的备份:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --restore-permissions
      如果数据仓库也作为完整备份的一部分恢复,请置备额外的数据库:
      engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --provision-dwh-db --restore-permissions
    • 通过恢复配置文件和数据库备份来恢复数据库:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --restore-permissions
      上面的示例恢复 Manager 数据库的备份。
      # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --provision-dwh-db --restore-permissions
      上面的示例恢复数据仓库数据库的备份。
    如果成功,则会显示以下输出:
    You should now run engine-setup.
    Done.
  3. 运行以下命令并按照提示配置恢复的 Manager:
    # engine-setup
Red Hat Virtualization Manager 已恢复到备份中保留的版本。要更改新 Red Hat Virtualization 系统的完全限定域名,请参阅 第 18.1.1 节 “oVirt Engine Rename 工具”

13.1.6. 将备份恢复到覆盖现有安装

engine-backup 命令可将备份恢复到已安装和设置 Red Hat Virtualization Manager 的机器。当您备份安装、在该安装上执行更改,然后从备份中恢复安装时,这非常有用。
重要
当恢复备份以覆盖现有安装时,您必须使用 engine-cleanup 命令清理现有安装,然后才能使用 engine-backup 命令。因为 engine-cleanup 命令只清理引擎数据库,且不会丢弃数据库或删除拥有该数据库的用户,因此您不需要创建新数据库或指定数据库凭证,因为用户和数据库已经存在。

过程 13.3. 将备份恢复到覆盖现有安装

  1. 登录到 Red Hat Virtualization Manager 机器。
  2. 删除配置文件并清理与 Manager 关联的数据库:
    # engine-cleanup
  3. 恢复完整备份或仅数据库备份:
    • 恢复完整备份:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --restore-permissions
    • 通过恢复配置文件和数据库备份来恢复数据库备份:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --restore-permissions
      上面的示例恢复 Manager 数据库的备份。如有必要,还要恢复数据仓库数据库:
      # engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name --restore-permissions
    如果成功,则会显示以下输出:
    You should now run engine-setup.
    Done.
  4. 运行以下命令并按照提示重新配置防火墙并确保正确配置了 ovirt-engine 服务:
    # engine-setup

13.1.7. 使用不同凭证恢复备份

engine-backup 命令可将备份恢复到已安装和配置 Red Hat Virtualization Manager 的机器,但备份中的数据库凭证与要恢复备份的计算机上的数据库凭证不同。当您进行安装的备份,并希望将安装从备份恢复到不同的系统时,这非常有用。
重要
当恢复备份以覆盖现有安装时,您必须使用 engine-cleanup 命令清理现有安装,然后才能使用 engine-backup 命令。因为 engine-cleanup 命令只清理引擎数据库,且不会丢弃数据库或删除拥有该数据库的用户,因此您不需要创建新数据库或指定数据库凭证,因为用户和数据库已经存在。但是,如果引擎数据库所有者的凭据未知,您必须在恢复备份前更改它们。

过程 13.4. 使用不同凭证恢复备份

  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 运行以下命令并按照提示删除与 Manager 关联的数据库:
    # engine-cleanup
  3. 如果该用户的凭证未知,请更改引擎数据库的所有者密码:
    1. 输入 postgresql 命令行:
      # su postgres
      $ psql
    2. 更改拥有引擎数据库的用户的密码:
      postgres=# alter role user_name encrypted password 'new_password';
      如果需要,对拥有 ovirt_engine_dwh 数据库的用户重复此操作。
  4. 使用 --change-db-credentials 参数恢复完整的备份或仅数据库备份,以传递新数据库的凭证。在本地的数据库到管理器的 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 --no-restore-permissions
      如果数据仓库也作为完整备份的一部分恢复,请包括额外数据库的修订凭证:
      engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password --no-restore-permissions
    • 通过恢复配置文件和数据库备份来恢复数据库备份:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --no-restore-permissions
      上面的示例恢复 Manager 数据库的备份。
      # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password --no-restore-permissions
      上面的示例恢复数据仓库数据库的备份。
    如果成功,则会显示以下输出:
    You should now run engine-setup.
    Done.
  5. 运行以下命令并按照提示重新配置防火墙并确保正确配置了 ovirt-engine 服务:
    # engine-setup

13.1.8. 将引擎数据库迁移到远程服务器数据库

在 Red Hat Virtualization Manager 初始配置后,您可以将 engine 数据库迁移到远程数据库服务器。使用 engine-backup 创建数据库备份,并在新的数据库服务器中恢复它。此流程假设新数据库服务器安装了 Red Hat Enterprise Linux 7,并配置了适当的订阅。请参阅安装指南中的订阅所需 权利

过程 13.5. 迁移数据库

  1. 登录到 Red Hat Virtualization Manager 机器并停止 ovirt-engine 服务,使其不会影响到引擎备份:
    # systemctl stop ovirt-engine.service
  2. 创建 engine 数据库备份:
    # engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
  3. 将备份文件复制到新的数据库服务器:
    # scp /tmp/engine.dump root@new.database.server.com:/tmp
  4. 登录到新的数据库服务器并安装 engine-backup
    # yum install ovirt-engine-tools-backup
  5. 在新数据库服务器上恢复数据库。FILE_ NAME 是从 Manager 复制的备份文件。
    # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --no-restore-permissions
  6. 现在数据库已迁移,启动 ovirt-engine 服务:
    # systemctl start ovirt-engine.service

13.2. 使用备份和恢复 API 备份和恢复虚拟机

13.2.1. 备份和恢复 API

备份和恢复 API 是一个功能集合,允许您对虚拟机执行完整或文件级备份和恢复。API 结合了 Red Hat Virtualization 的多个组件,如实时快照和 REST API,用于创建和处理可附加到包含独立软件供应商提供的备份软件的临时卷。
有关支持的第三方备份供应商,请参阅 Red Hat Virtualization 生态系统
注意
有关如何使用 REST API 的详情,请参考 REST API 指南中的备份和恢复 API

13.2.2. 备份虚拟机

使用备份和恢复 API 备份虚拟机。此流程假设您有两个虚拟机:要备份的虚拟机,以及安装用于管理备份的软件的虚拟机。

过程 13.6. 备份虚拟机

  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>
    注意
    当您对虚拟机执行快照时,生成快照时虚拟机的配置数据副本将存储在快照下的 初始化时,配置属性的 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
已使用在独立虚拟机上安装的备份软件,以固定时间点备份虚拟机状态。

13.2.3. 恢复虚拟机

恢复使用备份和恢复 API 备份的虚拟机。此流程假设您有一个备份虚拟机,在其中安装用于管理之前备份的软件。

过程 13.7. 恢复虚拟机

  1. 在管理门户中,创建一个浮动磁盘来恢复备份。如需有关如何创建浮动磁盘的详细信息,请参阅 第 11.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 创建的备份恢复虚拟机。

第 14 章 使用 Red Hat Satellite 进行勘误管理

Red Hat Virtualization 可以配置为查看 Red Hat Virtualization Manager 中 Red Hat Satellite 中的勘误。这可让管理员在与 Red Hat Satellite 供应商关联后接收有关可用勘误表的更新及其重要性、主机、虚拟机和管理器的更新。然后,管理员可以选择通过在所需主机、虚拟机或管理器上运行更新来应用更新。有关 Red Hat Satellite 的更多信息,请参阅 Red Hat Satellite 用户指南
Red Hat Virtualization 4.0 支持使用 Red Hat Satellite 6.1 进行勘误管理。
重要
管理器、主机和虚拟机通过其 FQDN 在 Satellite 服务器中标识。这样可确保外部内容主机 ID 无需在 Red Hat Virtualization 中维护。
用于管理管理器、主机和虚拟机的 Satellite 帐户必须具有管理员权限和默认机构设置。

过程 14.1. Configuring Red Hat Virtualization Errata

要将 Manager、主机和虚拟机与 Red Hat Satellite 供应商相关联,必须首先将 Manager 与供应商关联。然后,主机与相同的提供程序和配置。最后,虚拟机与相同的提供程序和配置关联。
  1. 通过将所需的 Satellite 服务器添加为外部提供程序来关联管理器。如需更多信息,请参阅 第 12.2.1 节 “为主机置备添加 Red Hat Satellite 实例”
    注意
    管理器必须作为内容主机注册到 Satellite 服务器,并安装了 katello-agent 软件包。
    有关如何配置主机注册的更多信息,请参阅 Red Hat Satellite 用户指南中的 配置主机注册,以及有关如何注册主机并安装 katello-agent 软件包的更多信息,请参阅 Red Hat Satellite 用户指南中的 注册
  2. (可选)配置所需的主机以显示可用的勘误表。如需更多信息,请参阅 第 7.5.3 节 “为主机配置 Satellite 勘误管理”
  3. (可选)配置所需的虚拟机以显示可用的勘误表。在配置所需的虚拟机之前,需要配置关联的主机。如需更多信息,请参阅虚拟机管理指南中的为虚拟机配置 Red Hat Satellite 勘误 管理

过程 14.2. 查看 Red Hat Virtualization Manager 勘误

  1. 在树框中选择 Errata 条目。
  2. SecurityBugsEnhancements 复选框,以仅查看这些勘误表类型。
有关查看主机可用勘误的更多信息,请参阅虚拟机管理指南中的 查看 Red Hat Satellite Errata for a virtual machine第 7.5.13 节 “查看主机勘误”

第 15 章 用户和角色

15.1. 用户简介

在 Red Hat Virtualization 中,有两种类型的用户域:本地域和外部域。在 Manager 安装过程中,会创建一个名为 internal 域的默认本地域,并且默认用户 admin 创建。
您可以使用 ovirt-aaa-jdbc-tool内部域 上创建其他用户。在本地域中创建的用户帐户称为本地用户。您还可以将外部目录服务器、Active Directory、OpenLDAP 和许多其他支持的选项附加到 Red Hat Virtualization 环境,并将它们用作外部域。在外部域中创建的用户帐户称为目录用户。
需要通过管理门户为本地用户和目录用户分配适当的角色和权限,然后才能在环境中正常工作。用户角色主要有两种类型:最终用户和管理员。最终用户角色使用和管理开发人员门户中的虚拟资源。管理员角色使用管理门户维护系统基础架构。角色可以分配给用户,以获取虚拟机和主机等独立资源,或者在集群和数据中心等对象的层次结构中分配。

15.2. 目录服务器简介

在安装过程中,Red Hat Virtualization Manager 在内部 域中创建一个 admin 用户。用户也称为 admin@internal。此帐户供初始配置环境和故障排除时使用。连接了外部目录服务器后,添加目录用户,并为它们分配有适当的角色和权限,如果不需要 admin@internal 用户,则可以禁用 admin@internal 用户。支持的目录服务器有:
  • 389ds
  • 389ds RFC-2307 Schema
  • Active Directory
  • FreeIPA
  • Red Hat Identity Management (IdM)
  • Novell eDirectory RFC-2307 Schema
  • OpenLDAP RFC-2307 Schema
  • OpenLDAP Standard Schema
  • Oracle Unified Directory RFC-2307 Schema
  • RFC-2307 Schema (Generic)
  • Red Hat Directory Server (RHDS)
  • Red Hat Directory Server (RHDS) RFC-2307 Schema
  • iPlanet
重要
无法在同一系统上安装 Red Hat Virtualization Manager (rhevm)和 IdM (ipa-server)。IdM 与 mod_ssl 软件包不兼容,这是 Red Hat Virtualization Manager 所需的。
重要
如果您使用 Active Directory 作为您的目录服务器,且您希望在创建模板和虚拟机时使用 sysprep,那么必须将 Red Hat Virtualization 管理用户委派到域:
  • 将计算机加入到域中
  • 修改组成员资格
有关在 Active Directory 中创建用户帐户的详情,请参考 http://technet.microsoft.com/en-us/library/cc732336.aspx
有关在 Active Directory 中委派控制的信息,请参考 http://technet.microsoft.com/en-us/library/cc732524.aspx

15.3. 配置外部 LDAP 提供程序

15.3.1. 配置外部 LDAP 提供程序(交互设置)

ovirt-engine-extension-aaa-ldap 扩展允许用户轻松自定义其外部目录设置。ovirt-engine-extension-aaa-ldap 扩展支持许多不同的 LDAP 服务器类型,并且提供了交互式设置脚本来帮助您设置大多数 LDAP 类型。
如果交互式设置脚本中没有列出 LDAP 服务器类型,或者您想要进行更多自定义,则可以手动编辑配置文件。如需更多信息,请参阅 第 15.3.3 节 “配置外部 LDAP 提供程序(Manual 方法)”
有关 Active Directory 示例,请参阅 第 15.3.2 节 “附加 Active Directory”

先决条件:

  • 您需要知道 DNS 或 LDAP 服务器的域名。也支持循环和故障转移策略。
  • 要在 LDAP 服务器和管理器之间设置安全连接,请确保已准备好 PEM 编码的 CA 证书。如需更多信息,请参阅 第 D.2 节 “在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接”
  • 除非支持匿名搜索,否则在要用作搜索用户的目录服务器上必须有权限浏览所有用户和组的用户。请注意搜索用户的可分辨名称(DN)。不要将管理用户用于目录服务器。
  • 至少一组帐户名称和密码可以向 LDAP 服务器执行搜索和登录查询。

过程 15.1. 配置外部 LDAP 提供程序

  1. 在 Red Hat Virtualization Manager 上安装 LDAP 扩展软件包:
    # yum install ovirt-engine-extension-aaa-ldap-setup
  2. 运行 ovirt-engine-extension-aaa-ldap-setup 以启动交互式设置:
    # ovirt-engine-extension-aaa-ldap-setup
  3. 指定一个配置集名称。配置集名称对登录页面的用户可见。这个示例使用 redhat.com
    注意
    要在域配置后重命名配置集,请编辑 /etc/ovirt-engine/extensions.d/redhat.com-authn.properties 文件中的 ovirt.engine.aaa.authn.profile. name 属性。重启引擎服务以使更改生效。
    Please specify profile name that will be visible to users:redhat.com

    图 15.1. 管理门户登录页面

    管理门户登录页面
    注意
    首次登录时,用户需要从下拉列表中选择所需的配置集。然后,信息会存储在浏览器 Cookie 中,并在下次用户登录时预先选择这些信息。
  4. 输入对应的数字来选择 LDAP 类型。如果您不确定您的 LDAP 服务器是哪种模式,请选择 LDAP 服务器类型的标准模式。对于 Active Directory,请按照 第 15.3.2 节 “附加 Active Directory” 的步骤操作。
    Available LDAP implementations:
    1 - 389ds
    2 - 389ds RFC-2307 Schema
    3 - Active Directory
    4 - IPA
    5 - Novell eDirectory RFC-2307 Schema
    6 - OpenLDAP RFC-2307 Schema
    7 - OpenLDAP Standard Schema
    8 - Oracle Unified Directory RFC-2307 Schema
    9 - RFC-2307 Schema (Generic)
    10 - RHDS
    11 - RHDS RFC-2307 Schema
    12 - iPlanet
    Please select: 10
  5. Enter 接受默认信息并为 LDAP 服务器名称配置域名:
    It is highly recommended to use DNS resolution for LDAP server.
    If for some reason you intend to use hosts or plain address disable DNS usage.
    Use DNS (Yes, No) [Yes]:
  6. 输入对应的数字来选择 DNS 策略方法:
    1 - Single server
    2 - DNS domain LDAP SRV record
    3 - Round-robin between multiple hosts
    4 - Failover between multiple hosts
    Please select:
    • 对于选项 1,/etc/resolv.conf 中列出的 DNS 服务器用于解析 IP 地址。确保 /etc/resolv.conf 文件使用正确的 DNS 服务器更新。
      输入完全限定域名(FQDN)或 LDAP 服务器的 IP 地址。您可以使用带有 SRV 记录的 dig 命令来查找域名。SRV 记录采用以下格式:_服务._协议..域名。例如: dig _ldap._tcp.redhat.com SRV
    • 对于选项 2,请输入 DNS 服务器的域名。执行 DNS 搜索来查找 SRV 记录,以查找 LDAP 服务器的域名。
    • 对于选项 3,请输入以空格分隔的 LDAP 服务器列表。使用服务器的 FQDN 或 IP 地址。此策略在 LDAP 服务器之间提供负载平衡。查询会根据循环算法在所有 LDAP 服务器中分发。
    • 对于选项 4,请输入以空格分隔的 LDAP 服务器列表。使用服务器的 FQDN 或 IP 地址。此策略定义第一个要响应查询的默认 LDAP 服务器。如果第一个服务器不可用,查询将转至列表上的下一个 LDAP 服务器。
  7. 选择 LDAP 服务器支持的安全连接方法,并指定获取 PEM 编码的 CA 证书的方法。file 选项允许您提供证书的完整路径。URL 选项允许您指定证书的 URL。使用 inline 选项在终端中粘贴证书的内容。system 选项允许您为所有 CA 文件指定默认位置。如果选择了不安全模式,则连接仍然使用 TLS 加密,但跳过了证书验证。
    NOTE:
    It is highly recommended to use secure protocol to access the LDAP server.
    Protocol startTLS is the standard recommended method to do so.
    Only in cases in which the startTLS is not supported, fallback to non standard ldaps protocol.
    Use plain for test environments only.
    Please select protocol to use (startTLS, ldaps, plain) [startTLS]: startTLS
    Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): File
    Please enter the password:
    注意
    LDAPS 代表轻量级目录访问协议 覆盖安全套接字链接。对于 SSL 连接,请选择 ldaps 选项。
    有关创建 PEM 编码的 CA 证书的更多信息,请参阅 第 D.2 节 “在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接”
  8. 输入搜索用户可分辨名称(DN)。用户必须具有相应的权限,才能浏览目录服务器上的所有用户和组。搜索用户必须在 LDAP 注解中指定。如果允许匿名搜索,请在没有任何输入的情况下按 Enter 键。
    Enter search user DN (empty for anonymous): uid=user1,ou=Users,dc=test,dc=redhat,dc=com
    Enter search user password:
  9. 测试搜索和登录功能,以确保您的 LDAP 服务器正确连接到您的 Red Hat Virtualization 环境。对于登录查询,请输入帐户名称和密码。对于搜索查询,请为用户帐户选择 Principal,然后选择 Group for group accounts。如果您希望返回用户帐户的组帐户信息,对于 Resolve Groups 选择 Yes。选择 Done 以完成设置。在屏幕输出中创建并显示三个配置文件。
    NOTE:
    It is highly recommended to test drive the configuration before applying it into engine.
    Perform at least one Login sequence and one Search sequence.
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Login
    Enter search user name: testuser1
    Enter search user password:
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Search
    Select entity to search (Principal, Group) [Principal]:
    Term to search, trailing '*' is allowed: testuser1
    Resolve Groups (Yes, No) [No]: 
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Done
    [ INFO  ] Stage: Transaction setup
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Package installation
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Transaction commit
    [ INFO  ] Stage: Closing up
              CONFIGURATION SUMMARY
              Profile name is: redhat.com
              The following files were created:
                  /etc/ovirt-engine/aaa/redhat.com.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authz.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authn.properties
    [ INFO  ] Stage: Clean up
              Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20160114064955-1yar9i.log:
    [ INFO  ] Stage: Pre-termination
    [ INFO  ] Stage: Termination
  10. 重新启动引擎服务。您创建的配置集现在包括在管理门户和开发人员门户登录页面中。要在 LDAP 服务器上分配适当的角色和权限,例如登录到客户门户网站,请参阅 第 15.6 节 “从管理门户管理用户任务”
    # systemctl restart ovirt-engine.service
注意
如需更多信息,请参阅位于 /usr/share/doc/ovirt-engine-extension-aaa-ldap-version 的 LDAP 身份验证和授权扩展 README 文件。

15.3.2. 附加 Active Directory

先决条件:

  • 您需要知道 Active Directory 林名称。林名称也称为根域名。
  • 您需要添加可将 Active Directory 林名称解析为 Manager 上的 /etc/resolv.conf 文件的 DNS 服务器,或者记下 Active Directory DNS 服务器,并在交互式设置脚本提示时输入它们。
  • 要在 LDAP 服务器和管理器之间设置安全连接,请确保已准备好 PEM 编码的 CA 证书。如需更多信息,请参阅 第 D.2 节 “在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接”
  • 除非支持匿名搜索,否则需要有权限浏览所有用户和组的用户,才能用作搜索用户。请注意搜索用户的可分辨名称(DN)。不要将管理用户用于 Active Directory。
  • 至少一组帐户名称和密码可以向 Active Directory 执行搜索和登录查询。

过程 15.2. 配置外部 LDAP 提供程序

  1. 在 Red Hat Virtualization Manager 上安装 LDAP 扩展软件包:
    # yum install ovirt-engine-extension-aaa-ldap-setup
  2. 运行 ovirt-engine-extension-aaa-ldap-setup 以启动交互式设置:
    # ovirt-engine-extension-aaa-ldap-setup
  3. 指定一个配置集名称。配置集名称对登录页面的用户可见。这个示例使用 redhat.com
    Please specify profile name that will be visible to users:redhat.com

    图 15.2. 管理门户登录页面

    管理门户登录页面
    注意
    首次登录时,用户需要从下拉列表中选择所需的配置集。然后,信息会存储在浏览器 Cookie 中,并在下次用户登录时预先选择这些信息。
  4. 输入对应的数字来选择 LDAP 类型。此步骤后 LDAP 相关问题因不同的 LDAP 类型而异。
    Available LDAP implementations:
    1 - 389ds
    2 - 389ds RFC-2307 Schema
    3 - Active Directory
    4 - IPA
    5 - Novell eDirectory RFC-2307 Schema
    6 - OpenLDAP RFC-2307 Schema
    7 - OpenLDAP Standard Schema
    8 - Oracle Unified Directory RFC-2307 Schema
    9 - RFC-2307 Schema (Generic)
    10 - RHDS
    11 - RHDS RFC-2307 Schema
    12 - iPlanet
    Please select: 3
  5. 输入 Active Directory 林名称。如果您的管理器的 DNS 无法解析林名称,脚本会提示您输入由空格分隔的活动目录 DNS 服务器名称列表。
    Please enter Active Directory Forest name: ad-example.redhat.com
    [ INFO  ] Resolving Global Catalog SRV record for ad-example.redhat.com
    [ INFO  ] Resolving LDAP SRV record for ad-example.redhat.com
  6. 选择 LDAP 服务器支持的安全连接方法,并指定获取 PEM 编码的 CA 证书的方法。file 选项允许您提供证书的完整路径。URL 选项允许您指定证书的 URL。使用 inline 选项在终端中粘贴证书的内容。system 选项允许您指定所有 CA 文件的位置。insecure 选项允许您在不安全的模式中使用 startTLS。
    NOTE:
    It is highly recommended to use secure protocol to access the LDAP server.
    Protocol startTLS is the standard recommended method to do so.
    Only in cases in which the startTLS is not supported, fallback to non standard ldaps protocol.
    Use plain for test environments only.
    Please select protocol to use (startTLS, ldaps, plain) [startTLS]: startTLS
    Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): File
    Please enter the password:
    注意
    LDAPS 代表轻量级目录访问协议 覆盖安全套接字链接。对于 SSL 连接,请选择 ldaps 选项。
    有关创建 PEM 编码的 CA 证书的更多信息,请参阅 第 D.2 节 “在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接”
  7. 输入搜索用户可分辨名称(DN)。用户必须具有相应的权限,才能浏览目录服务器上的所有用户和组。搜索用户必须是 LDAP 注解。如果允许匿名搜索,请在没有任何输入的情况下按 Enter 键。
    Enter search user DN (empty for anonymous): uid=user1,ou=Users,dc=test,dc=redhat,dc=com
    Enter search user password:
  8. 测试搜索和登录功能,以确保 LDAP 服务器正确连接到您的 Red Hat Virtualization 环境。对于登录查询,请输入帐户名称和密码。对于搜索查询,请为用户帐户选择 Principal,然后选择 Group for group accounts。如果您希望返回用户帐户的组帐户信息,对于 Resolve Groups 选择 Yes。选择 Done 以完成设置。在屏幕输出中创建并显示三个配置文件。
    NOTE:
    It is highly recommended to test drive the configuration before applying it into engine.
    Perform at least one Login sequence and one Search sequence.
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Login
    Enter search user name: testuser1
    Enter search user password:
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Search
    Select entity to search (Principal, Group) [Principal]:
    Term to search, trailing '*' is allowed: testuser1
    Resolve Groups (Yes, No) [No]: 
    [ INFO  ] Executing login sequence...
    ...
    Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Done
    [ INFO  ] Stage: Transaction setup
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Package installation
    [ INFO  ] Stage: Misc configuration
    [ INFO  ] Stage: Transaction commit
    [ INFO  ] Stage: Closing up
              CONFIGURATION SUMMARY
              Profile name is: redhat.com
              The following files were created:
                  /etc/ovirt-engine/aaa/redhat.com.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authz.properties
                  /etc/ovirt-engine/extensions.d/redhat.com-authn.properties
    [ INFO  ] Stage: Clean up
              Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20160114064955-1yar9i.log:
    [ INFO  ] Stage: Pre-termination
    [ INFO  ] Stage: Termination
  9. 您创建的配置集现在包括在管理门户和开发人员门户登录页面中。要在 LDAP 服务器上分配适当的角色和权限,例如登录到客户门户网站,请参阅 第 15.6 节 “从管理门户管理用户任务”
注意
如需更多信息,请参阅位于 /usr/share/doc/ovirt-engine-extension-aaa-ldap-version 的 LDAP 身份验证和授权扩展 README 文件。

15.3.3. 配置外部 LDAP 提供程序(Manual 方法)

ovirt-engine-extension-aaa-ldap 扩展使用 LDAP 协议访问目录服务器并完全可自定义。除非您要对开发人员门户或管理门户功能启用单点登录,否则不需要 Kerberos 身份验证。
如果上一节中的交互式设置方法没有涵盖您的用例,您可以手动修改配置文件来附加 LDAP 服务器。以下流程使用通用详情。具体值取决于您的设置。

过程 15.3. 手动配置外部 LDAP 提供程序

  1. 在 Red Hat Virtualization Manager 上安装 LDAP 扩展软件包:
    # yum install ovirt-engine-extension-aaa-ldap
  2. 将 LDAP 配置模板文件复制到 /etc/ovirt-engine 目录中。模板文件可用于活动目录(ad)和其他目录类型(简单)。这个示例使用 simple 配置模板。
    # cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/. /etc/ovirt-engine
  3. 重命名配置文件,使其与管理门户和客户门户网站登录页面中用户可见的配置集名称匹配:
    # mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authn.properties /etc/ovirt-engine/extensions.d/example-authn.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.properties
  4. 通过取消注释 LDAP 服务器类型并更新 domain 和 password 字段来编辑 LDAP 属性配置文件:
    #  vi /etc/ovirt-engine/aaa/example.properties

    例 15.1. 配置文件示例:LDAP 服务器部分

    # Select one
    #
    include = <openldap.properties>
    #include = <389ds.properties>
    #include = <rhds.properties>
    #include = <ipa.properties>
    #include = <iplanet.properties>
    #include = <rfc2307-389ds.properties>
    #include = <rfc2307-rhds.properties>
    #include = <rfc2307-openldap.properties>
    #include = <rfc2307-edir.properties>
    #include = <rfc2307-generic.properties>
    
    # Server
    #
    vars.server = ldap1.company.com
    
    # Search user and its password.
    #
    vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com
    vars.password = 123456
    
    pool.default.serverset.single.server = ${global:vars.server}
    pool.default.auth.simple.bindDN = ${global:vars.user}
    pool.default.auth.simple.password = ${global:vars.password}
    
    要使用 TLS 或 SSL 协议与 LDAP 服务器交互,请获取 LDAP 服务器的 root CA 证书,并使用它来创建公共密钥存储文件。取消注释以下行,并指定用于访问该文件的公共密钥存储文件的完整路径。
    注意
    有关创建公共密钥存储文件的更多信息,请参阅 第 D.2 节 “在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接”

    例 15.2. profile: keystore 部分示例

    # Create keystore, import certificate chain and uncomment
    # if using tls.
    pool.default.ssl.startTLS = true
    pool.default.ssl.truststore.file = /full/path/to/myrootca.jks
    pool.default.ssl.truststore.password = password
  5. 查看身份验证配置文件。该配置集名称对管理门户中的用户可见,开发人员门户登录页面由 ovirt.engine.aaa.authn.profile.name 定义。配置配置文件位置必须与 LDAP 配置文件位置匹配。所有字段都可以保留为默认值。
    # vi /etc/ovirt-engine/extensions.d/example-authn.properties

    例 15.3. 身份验证配置文件示例

    ovirt.engine.extension.name = example-authn
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthnExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn
    ovirt.engine.aaa.authn.profile.name = example
    ovirt.engine.aaa.authn.authz.plugin = example-authz
    config.profile.file.1 = ../aaa/example.properties
  6. 检查授权配置文件。配置配置文件位置必须与 LDAP 配置文件位置匹配。所有字段都可以保留为默认值。
    # vi /etc/ovirt-engine/extensions.d/example-authz.properties

    例 15.4. 授权配置文件示例

    ovirt.engine.extension.name = example-authz
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz
    config.profile.file.1 = ../aaa/example.properties
  7. 确保配置配置文件的所有权和权限适当:
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
    # chmod 600 /etc/ovirt-engine/aaa/example.properties
  8. 重启引擎服务:
    # systemctl restart ovirt-engine.service
  9. 您创建的 示例 配置集现在在管理门户中和 User Portal 登录页面中可用。要在 LDAP 服务器上指定用户帐户,例如登录到客户门户网站,请参阅 第 15.6 节 “从管理门户管理用户任务”
注意
如需更多信息,请参阅位于 /usr/share/doc/ovirt-engine-extension-aaa-ldap-version 的 LDAP 身份验证和授权扩展 README 文件。

15.3.4. 删除外部 LDAP 提供程序

此流程演示了如何删除外部配置的 LDAP 提供程序及其用户。

过程 15.4. 删除外部 LDAP 提供程序

  1. 删除 LDAP 供应商配置文件,替换默认名称 profile1
    # rm /etc/ovirt-engine/extensions.d/profile1-authn.properties
    # rm /etc/ovirt-engine/extensions.d/profile1-authz.properties
    # rm /etc/ovirt-engine/aaa/profile1.properties
    
  2. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine
  3. 在管理门户中,在 Users 资源选项卡中,选择此提供程序的用户(其 Authorization 提供程序profile1-authz),然后单击 Remove

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

单点登录允许用户登录开发人员门户或管理门户,而无需重新输入密码。身份验证凭据从 Kerberos 服务器获取。要为管理门户和虚拟机门户配置单点登录,您需要配置两个扩展: ovirt-engine-extension-aaa-miscovirt-engine-extension-aaa-ldap; 和两个 Apache 模块: mod_auth_gssapimod_session。您可以配置不涉及 Kerberos 的单点登录,但这超出了本文档的范围。
注意
如果启用了开发人员门户单点登录,则无法对虚拟机进行单点登录。启用单点登录后,开发人员门户不需要接受密码,因此无法委派密码以登录虚拟机。
这个示例假设如下:
  • 现有密钥分发中心(KDC)服务器使用 MIT 版本的 Kerberos 5。
  • 您有对 KDC 服务器的管理权限。
  • Kerberos 客户端安装在 Red Hat Virtualization Manager 和用户机器上。
  • kadmin 实用程序用于创建 Kerberos 服务主体和 keytab 文件。
这个过程涉及以下组件:

在 KDC 服务器上

  • 在 Red Hat Virtualization Manager 上为 Apache 服务创建服务主体和 keytab 文件。

在 Red Hat Virtualization Manager 中

  • 安装身份验证和授权扩展软件包和 Apache Kerberos 身份验证模块。
  • 配置扩展文件。

过程 15.5. 为 Apache 服务配置 Kerberos

  1. 在 KDC 服务器上,使用 kadmin 工具为 Red Hat Virtualization Manager 上的 Apache 服务创建服务主体。服务主体是 Apache 服务的 KDC 的引用 ID。
    # kadmin
    kadmin> addprinc -randkey HTTP/fqdn-of-rhevm@REALM.COM
  2. 为 Apache 服务生成 keytab 文件。keytab 文件存储共享 secret 密钥。
    kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM
    kadmin> quit
  3. keytab 文件从 KDC 服务器复制到 Red Hat Virtualization Manager:
    # scp /tmp/http.keytab root@rhevm.example.com:/etc/httpd

过程 15.6. 为客户门户网站或管理门户配置单点登录

  1. 在 Red Hat Virtualization Manager 中,确保 keytab 的所有权和权限适当:
    # chown apache /etc/httpd/http.keytab
    # chmod 400 /etc/httpd/http.keytab
  2. 安装身份验证扩展软件包、LDAP 扩展软件包和 mod_auth_gssapimod_session Apache 模块:
    # yum install ovirt-engine-extension-aaa-misc ovirt-engine-extension-aaa-ldap mod_auth_gssapi mod_session
  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. ovirt-sso.conf 移到 Apache 配置目录中:
    # mv /etc/ovirt-engine/aaa/ovirt-sso.conf /etc/httpd/conf.d
  5. 检查身份验证方法文件。您不需要编辑此文件,因为域会自动从 keytab 文件中获取。
    # vi /etc/httpd/conf.d/ovirt-sso.conf

    例 15.5. 验证方法文件示例

    <LocationMatch ^/ovirt-engine/sso/(interactive-login-negotiate|oauth/token-http-auth)|^/ovirt-engine/api>
      <If "req('Authorization') !~ /^(Bearer|Basic)/i">
        RewriteEngine on
        RewriteCond %{LA-U:REMOTE_USER} ^(.*)$
        RewriteRule ^(.*)$ - [L,NS,P,E=REMOTE_USER:%1]
        RequestHeader set X-Remote-User %{REMOTE_USER}s
    
        AuthType GSSAPI
        AuthName "Kerberos Login"
    
        # Modify to match installation
        GssapiCredStore keytab:/etc/httpd/http.keytab
        GssapiUseSessions On
        Session On
        SessionCookieName ovirt_gssapi_session path=/private;httponly;secure;
    	
        Require valid-user
        ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0; url=/ovirt-engine/sso/login-unauthorized\"/><body><a href=\"/ovirt-engine/sso/login-unauthorized\">Here</a></body></html>"
      </If>
    </LocationMatch>
  6. 重命名配置文件,使其与管理门户和客户门户网站登录页面中用户可见的配置集名称匹配:
    # mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-http-authn.properties /etc/ovirt-engine/extensions.d/example-http-authn.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-http-mapping.properties /etc/ovirt-engine/extensions.d/example-http-mapping.properties
    # mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.properties
  7. 通过取消注释 LDAP 服务器类型并更新 domain 和 password 字段来编辑 LDAP 属性配置文件:
    #  vi /etc/ovirt-engine/aaa/example.properties

    例 15.6. 配置文件示例:LDAP 服务器部分

    # Select one
    include = <openldap.properties>
    #include = <389ds.properties>
    #include = <rhds.properties>
    #include = <ipa.properties>
    #include = <iplanet.properties>
    #include = <rfc2307-389ds.properties>
    #include = <rfc2307-rhds.properties>
    #include = <rfc2307-openldap.properties>
    #include = <rfc2307-edir.properties>
    #include = <rfc2307-generic.properties>
    
    # Server
    #
    vars.server = ldap1.company.com
    
    # Search user and its password.
    #
    vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com
    vars.password = 123456
    
    pool.default.serverset.single.server = ${global:vars.server}
    pool.default.auth.simple.bindDN = ${global:vars.user}
    pool.default.auth.simple.password = ${global:vars.password}
    
    要使用 TLS 或 SSL 协议与 LDAP 服务器交互,请获取 LDAP 服务器的 root CA 证书,并使用它来创建公共密钥存储文件。取消注释以下行,并指定用于访问该文件的公共密钥存储文件的完整路径。
    注意
    有关创建公共密钥存储文件的更多信息,请参阅 第 D.2 节 “在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接”

    例 15.7. profile: keystore 部分示例

    # Create keystore, import certificate chain and uncomment
    # if using ssl/tls.
    pool.default.ssl.startTLS = true
    pool.default.ssl.truststore.file = /full/path/to/myrootca.jks
    pool.default.ssl.truststore.password = password
  8. 查看身份验证配置文件。该配置集名称对管理门户中的用户可见,开发人员门户登录页面由 ovirt.engine.aaa.authn.profile.name 定义。配置配置文件位置必须与 LDAP 配置文件位置匹配。所有字段都可以保留为默认值。
    # vi /etc/ovirt-engine/extensions.d/example-http-authn.properties

    例 15.8. 身份验证配置文件示例

    ovirt.engine.extension.name = example-http-authn
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.misc
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.misc.http.AuthnExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn
    ovirt.engine.aaa.authn.profile.name = example-http
    ovirt.engine.aaa.authn.authz.plugin = example-authz
    ovirt.engine.aaa.authn.mapping.plugin = example-http-mapping
    config.artifact.name = HEADER
    config.artifact.arg = X-Remote-User
  9. 检查授权配置文件。配置配置文件位置必须与 LDAP 配置文件位置匹配。所有字段都可以保留为默认值。
    #  vi /etc/ovirt-engine/extensions.d/example-authz.properties

    例 15.9. 授权配置文件示例

    ovirt.engine.extension.name = example-authz
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz
    config.profile.file.1 = ../aaa/example.properties
  10. 查看身份验证映射文件。配置配置文件位置必须与 LDAP 配置文件位置匹配。配置配置集扩展名称必须与身份验证配置文件中的 ovirt.engine.aaa.authn.mapping.plugin 值匹配。所有字段都可以保留为默认值。
    # vi /etc/ovirt-engine/extensions.d/example-http-mapping.properties

    例 15.10. 身份验证映射配置文件示例

    ovirt.engine.extension.name = example-http-mapping
    ovirt.engine.extension.bindings.method = jbossmodule
    ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.misc
    ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.misc.mapping.MappingExtension
    ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Mapping
    config.mapAuthRecord.type = regex
    config.mapAuthRecord.regex.mustMatch = true
    config.mapAuthRecord.regex.pattern = ^(?<user>.*?)((\\\\(?<at>@)(?<suffix>.*?)@.*)|(?<realm>@.*))$
    config.mapAuthRecord.regex.replacement = ${user}${at}${suffix}
  11. 确保配置文件的所有权和权限适当:
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
    # chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-authn.properties
    # chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-mapping.properties
    # chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-authz.properties
    # chmod 600 /etc/ovirt-engine/aaa/example.properties
    # chmod 640 /etc/ovirt-engine/extensions.d/example-http-authn.properties
    # chmod 640 /etc/ovirt-engine/extensions.d/example-http-mapping.properties
    # chmod 640 /etc/ovirt-engine/extensions.d/example-authz.properties
  12. 重启 Apache 服务和 ovirt-engine 服务:
    # systemctl restart httpd.service
    # systemctl restart ovirt-engine.service

15.5. 用户权限

15.5.1. 用户授权模型

Red Hat Virtualization 根据三个组件的组合应用授权控制 :
  • 执行操作的用户
  • 要执行的操作类型
  • 执行操作的对象

15.5.2. 用户操作

要成功执行操作,用户必须具有 正在操作 的对象 的适当权限。每种类型的操作都对应一个 权限。系统中有很多不同的权限,因此为了简单起见:

图 15.3. Actions

Actions
重要
某些操作在多个对象上执行。例如,将模板复制到另一个存储域将影响模板和目标存储域。执行操作的用户必须具有操作影响的所有对象的适当权限。

15.6. 从管理门户管理用户任务

15.6.1. 添加用户和分配用户门户权限

必须先创建用户,然后才能添加和分配角色和权限。在此过程中分配的角色和权限可让用户登录到客户门户网站并启动创建虚拟机的权限。此流程也适用于组帐户。

过程 15.7. 添加用户和分配用户门户权限

  1. 在标题栏中,单击 Configure 以打开 Configure 窗口。单击 系统权限
  2. 单击 Add 以打开 Add System Permission to User 窗口。
  3. 在搜索 下选择一个配置文件。profile 是您要搜索的域。在搜索文本字段中输入名称或部分名称,然后点 GO。或者,单击 GO 以查看所有用户和组的列表。
  4. 选中相应用户或组的复选框。
  5. Role to Assign 下选择要分配的适当角色。UserRole 角色赋予用户帐户登录客户门户网站的权限。
  6. 点击 OK
登录开发人员门户,以验证用户帐户是否具有登录的权限。

15.6.2. 查看用户信息

您可以在 Users 选项卡中查看有关每个用户的详细信息。

过程 15.8. 查看用户信息

  1. 单击 Users 选项卡,以显示授权用户列表。
  2. 选择用户,如果用户无法在结果列表中可见,则执行搜索。
  3. 显示所选用户的详细信息窗格,通常使用 General 选项卡显示常规信息,如用户的域名、电子邮件和状态。
  4. 其他选项卡允许您查看用户的组、权限、配额和事件。
    例如,若要查看用户所属的组,请单击 Directory Groups 选项卡。

15.6.3. 查看资源的用户权限

可以为用户分配特定资源或资源层次结构的权限。您可以查看分配的用户及其每个资源的权限。

过程 15.9. 查看资源的用户权限

  1. 点击资源选项卡,然后在结果列表中选择资源。
  2. 单击详细信息面板的 Permissions 选项卡,以列出分配的用户、用户的角色以及所选资源的继承权限。

15.6.4. 删除用户

当不再需要用户帐户时,将其从 Red Hat Virtualization 中删除。

过程 15.10. 删除用户

  1. 单击 Users 选项卡,以显示授权用户列表。
  2. 选择要删除的用户。确保用户没有运行任何虚拟机。
  3. 单击删除按钮。消息会显示提示您确认删除。点击 OK
用户已从 Red Hat Virtualization 中删除,而不是从外部目录中删除。

15.6.5. 查看 Logged-In 用户

您可以查看当前登录的用户,以及会话时间和其他详情。单击树框中的 Active User Sessions 条目,以查看每个已登录用户的会话详细信息。
Active User Sessions 选项卡显示 Session DB ID,User Name,Authorization provider,User id,Source IP,Session Start Time, 和 Session Last Active Time

15.6.6. 终止用户会话

您可以终止当前登录的用户的会话。

过程 15.11. 终止用户会话

  1. 单击 tree 窗格中的 Active User Sessions 条目。
  2. 选择要终止的用户会话。
  3. Terminate Session
  4. 点击 OK

15.7. 从命令行管理用户任务

15.7.1. 管理用户

您可以使用 ovirt-aaa-jdbc-tool 工具管理内部域中的用户帐户。使用该工具所做的更改会立即生效,且无需重新启动 ovirt-engine 服务。如需用户选项的完整列表,请运行 ovirt-aaa-jdbc-tool user --help。本节中提供了常见示例。

过程 15.12. 创建用户

此流程演示了如何创建用户、设置用户密码,并将其添加到 Red Hat Virtualization 环境中。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 创建新用户帐户。(可选)使用 --attribute 指定帐户详情。如需完整的选项列表,请运行 ovirt-aaa-jdbc-tool user add --help
    # ovirt-aaa-jdbc-tool user add test1 --attribute=firstName=John --attribute=lastName=Doe 
    adding user test1...
    user added successfully
  3. 设置密码。您必须为 --password-valid-to 设置值,否则密码到期时间默认为当前时间。日期格式为 yyyy-MM-dd HH:mm:ssX。在这个示例中,-0800 代表 GMT 减 8 小时。如需了解更多选项,请运行 ovirt-aaa-jdbc-tool 用户 password-reset --help
    # ovirt-aaa-jdbc-tool user password-reset test1 --password-valid-to="2025-08-01 12:00:00-0800"
    Password:
    updating user test1...
    user updated successfully
    
    注意
    默认情况下,内部域上用户帐户的密码策略有以下限制:
    • 至少 6 个字符。
    • 在密码更改过程中,无法再次设置之前使用的三个密码。
    如需有关密码策略和其他默认设置的更多信息,请运行 ovirt-aaa-jdbc-tool 设置显示
  4. 在管理门户中添加新创建的用户,并分配用户适当的角色和权限。如需更多信息,请参阅 第 15.6.1 节 “添加用户和分配用户门户权限”

过程 15.13. 查看用户信息

此流程演示了如何查看用户帐户信息。与管理门户 Users 选项卡中显示更多信息。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 运行以下命令:
    # ovirt-aaa-jdbc-tool user show test1

过程 15.14. 编辑用户信息

此流程演示了如何更新用户帐户信息。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 运行以下命令来编辑用户信息。这个示例更新了电子邮件地址。
    # ovirt-aaa-jdbc-tool user edit test1 --attribute=email=jdoe@example.com

过程 15.15. 删除用户

此流程演示了如何删除用户帐户
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 删除用户:
    # ovirt-aaa-jdbc-tool user delete test1
  3. 从管理门户中删除该用户。如需更多信息,请参阅 第 15.6.4 节 “删除用户”

15.7.2. 更改内部管理用户的密码

要重置内部管理用户的密码(admin@internal),请使用 ovirt-aaa-jdbc-tool 工具。您不需要重新启动 ovirt-engine 服务,使密码更改生效。
默认情况下,内部域上用户帐户的密码策略有以下限制:
  • 至少 6 个字符。
  • 在密码更改过程中,无法再次设置之前使用的三个密码。
如需有关密码策略和其他默认设置的更多信息,请运行 ovirt-aaa-jdbc-tool 设置显示

过程 15.16. 重置内部管理用户的密码

  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 若要以交互模式更改密码,请运行以下命令:您必须为 --password-valid-to 设置值,否则密码到期时间默认为当前时间。日期格式为 yyyy-MM-dd HH:mm:ssX。在这个示例中,Z 代表 UTC 时间。如需了解更多选项,请运行 ovirt-aaa-jdbc-tool 用户 password-reset --help
    # ovirt-aaa-jdbc-tool user password-reset admin --password-valid-to="2025-08-01 12:00:00Z"

15.7.3. 禁用内部管理用户

您可以禁用本地域中的用户,包括 engine-setup 期间创建的 admin@internal 用户。在禁用默认的 admin 用户之前,请确保至少有一个用户具有完全的管理权限。

过程 15.17. 禁用内部管理用户

  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 确保在环境中添加了 SuperUser 角色的另一个用户。如需更多信息,请参阅 第 15.6.1 节 “添加用户和分配用户门户权限”
  3. 禁用默认的 admin 用户:
    # ovirt-aaa-jdbc-tool user edit admin --flag=+disabled
    注意
    要启用禁用的用户,请运行 ovirt-aaa-jdbc-tool 用户编辑 username --flag=-disabled

15.7.4. 管理组

您可以使用 ovirt-aaa-jdbc-tool 工具管理内部域中的组帐户。管理组帐户与管理用户帐户类似。如需组选项的完整列表,请运行 ovirt-aaa-jdbc-tool group --help。本节中提供了常见示例。

过程 15.18. 创建组

此流程演示了如何创建组帐户,将用户添加到组中,并查看组的详情。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 创建新组:
    # ovirt-aaa-jdbc-tool group add group1
  3. 将用户添加到组中。必须已创建该用户。
    # ovirt-aaa-jdbc-tool group-manage useradd group1 --user=test1
    注意
    如需 group-manage 选项的完整列表,请运行 ovirt-aaa-jdbc-tool group-manage --help
  4. 查看组帐户详情:
    # ovirt-aaa-jdbc-tool group show group1
  5. 在管理门户中添加新创建的组,并分配组适当的角色和权限。组中的用户继承组的角色和权限。如需更多信息,请参阅 第 15.6.1 节 “添加用户和分配用户门户权限”

过程 15.19. 创建嵌套组

此流程演示了如何在组中创建组。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 创建第一个组:
    # ovirt-aaa-jdbc-tool group add group1
  3. 创建第二个组:
    # ovirt-aaa-jdbc-tool group add group1-1
  4. 将第二个组添加到第一个组中:
    # ovirt-aaa-jdbc-tool group-manage groupadd group1 --group=group1-1
  5. 在管理门户中添加第一个组,并分配组适当的角色和权限。如需更多信息,请参阅 第 15.6.1 节 “添加用户和分配用户门户权限”

15.7.5. 查询用户和组

query 模块允许您查询用户和组信息。如需完整的选项列表,请运行 ovirt-aaa-jdbc-tool query --help

过程 15.20. 列出所有用户或组帐户详情

此流程演示了如何列出所有帐户信息。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
    • 列出所有用户帐户详情:
      # ovirt-aaa-jdbc-tool query --what=user
    • 列出所有组帐户详情:
      # ovirt-aaa-jdbc-tool query --what=group

过程 15.21. 列出过滤的帐户详情

此流程演示了如何在列出帐户信息时应用过滤器。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
    • 列出用户帐户详细信息,名称以字符 j 开头。
      # ovirt-aaa-jdbc-tool query --what=user --pattern="name=j*"
    • 列出将 department 属性设置为 marketing 的组:
      # ovirt-aaa-jdbc-tool query --what=group --pattern="department=marketing"

15.7.6. 管理帐户设置

要更改默认帐户设置,请使用 ovirt-aaa-jdbc-tool settings 模块。

过程 15.22. 更新帐户设置

此流程演示了如何更新默认帐户设置。
  1. 登录到安装 Red Hat Virtualization Manager 的机器。
  2. 运行以下命令来显示所有可用设置:
    # ovirt-aaa-jdbc-tool setting show
  3. 更改所需的设置:
    • 这个示例为所有用户帐户将默认登录时间更新为 60 分钟。默认值为 10080 分钟。
      # ovirt-aaa-jdbc-tool setting set --name=MAX_LOGIN_MINUTES --value=60
    • 这个示例更新了用户在用户帐户被锁定前可以执行的失败登录次数。默认值为 5。
      # ovirt-aaa-jdbc-tool setting set --name=MAX_FAILURES_SINCE_SUCCESS --value=3
      注意
      要解锁锁定的用户帐户,请运行 ovirt-aaa-jdbc-tool 用户解锁 test1

15.8. 配置额外的本地域

也支持创建除默认内部域以外的其他本地域。这可以通过 ovirt-engine-extension-aaa-jdbc 扩展来完成,并允许您创建多个域而无需附加外部目录服务器,但用例可能对企业环境并不常见。
另外,在标准 Red Hat Virtualization 升级过程中不会同时升级本地域,需要为每个将来的发行版本手动升级。有关创建其他本地域以及如何升级域的更多信息,请参阅位于 /usr/share/doc/ovirt-engine-extension-aaa-jdbc-version/README.admin 的 README 文件。

第 16 章 配额和服务等级协议策略

16.1. 配额简介

配额是 Red Hat Virtualization 提供的资源限制工具。配额可以被视为用户权限设定的限制层的限制层。
quota 是数据中心对象。
配额允许管理员为 Red Hat Virtualization 环境限制用户对内存、CPU 和存储的访问。配额定义管理员可以分配用户的内存资源和存储资源。因此,用户只能提取分配给它们的资源。当配额资源耗尽时,Red Hat Virtualization 不允许进一步的用户操作。
有两种不同类型的配额:

表 16.1. Quota 的两个不同 Kind

配额类型 定义
运行时配额 这个配额限制了运行时资源的消耗,如 CPU 和内存。
存储配额 此配额限制了可用的存储量。
配额(如 SELinux)有三种模式:

表 16.2. 配额模式

配额模式 功能
强制 此模式使您在审计模式中设置的配额生效,将资源限制为受配额影响的组或用户。
Audit 此模式允许您更改配额设置。选择此模式以增加或减少运行时配额的数量,以及受其影响的用户可用的存储配额量。
Disabled 这个模式会关闭配额定义的运行时和存储限制。
当用户尝试运行虚拟机时,与虚拟机的规格进行比较,与适用配额中的存储允许和运行时允许设置进行比较。
如果启动虚拟机会导致配额涵盖的所有正在运行的虚拟机的聚合资源超过配额中定义的允许,则管理器将拒绝运行虚拟机。
当用户创建新磁盘时,请求的磁盘大小将添加到适用配额涵盖的所有其他磁盘的聚合磁盘使用情况中。如果新磁盘使用超过配额允许的数量的总聚合磁盘使用量,则磁盘创建会失败。
配额允许资源共享同一硬件。它支持硬和软阈值。管理员可以使用配额来设置资源的阈值。从用户的角度来看,这些阈值显示为该资源的 100% 使用量。为了防止客户意外超过这个阈值时失败,接口支持被简单地超过阈值的"安全"数量。超过阈值会导致发送给客户的警告。
重要
配额对虚拟机运行施加限制。忽略这些限制可能会导致您无法使用虚拟机和虚拟磁盘的情况。
当配额以强制模式运行时,无法使用没有分配配额的虚拟机和磁盘。
要打开虚拟机,必须为该虚拟机分配一个配额。
要为虚拟机创建快照,与虚拟机关联的磁盘必须分配有配额。
从虚拟机创建模板时,系统会提示您选择模板要使用的配额。这可让您设置模板(以及从模板创建的所有机器)以使用与生成模板的虚拟机和磁盘不同的配额。

16.2. 共享配额和单个定义的配额

具有 SuperUser 权限的用户可以为单个用户或配额创建配额。
可以为 Active Directory 用户设置组配额。如果为一组 10 个用户赋予一个 1 TB 的存储配额,且 10 个用户之一填充了整个 terabyte,则整个组将过量配额,并且没有十个用户能够使用与其关联的任何存储。
仅针对个人设置单个用户配额。当用户使用其所有存储或运行时配额后,用户将过量配额,用户将不再能够使用与其配额关联的存储。

16.3. 配额帐户

当配额分配给消费者或资源时,由该消费者或涉及存储、vCPU 或内存的资源的每个操作都会导致配额消耗或配额发行版本。
由于配额充当限制用户对资源的访问的上限,配额计算可能与用户的实际使用不同。配额是针对最大增长潜力而非当前使用量计算的。

例 16.1. 记帐示例

用户运行具有 1 个 vCPU 和 1024 MB 内存的虚拟机。这个操作会消耗分配给该用户的配额 1 vCPU 和 1024 MB。当虚拟机停止 1 个 vCPU 且 1024 MB RAM 将被释放回分配给该用户的配额。只有在消费者的实际运行时,才会考虑运行时配额消耗。
用户创建虚拟精简调配磁盘 10 GB。实际的磁盘用量可能只表示实际正在使用该磁盘的 3 GB。但是,配额消耗将是 10 GB,即该磁盘的最大增长潜力。

16.4. 在数据中心中启用和更改配额模式

此流程在数据中心中启用或更改配额模式。在定义配额前,您必须选择配额模式。您必须登录到管理门户才能按照以下流程的步骤进行操作。
使用 Audit 模式测试配额,以确保它按预期工作。您不需要在 审计 模式中具有配额来创建或更改配额。

过程 16.1. 在数据中心中启用和更改配额

  1. 单击导航窗格的 Data Centers 选项卡。
  2. 从 Navigation Pane 中显示的数据中心列表中,选择您计划编辑的配额策略的数据中心。
  3. 点 Navigation Pane 左上角的 Edit
    这会打开 Edit Data Center 窗口。
  4. Quota Mode 下拉菜单中,将配额模式更改为 Enforced
  5. 点击 OK
您现在已在数据中心级别启用了配额模式。如果在测试过程中将配额模式设置为 Audit,则必须将其改为 Enforced 才能使配额设置生效。

16.5. 创建新配额策略

您已启用了配额模式,可以在 Audit 或 Enforcing 模式中。您需要定义一个配额策略来管理数据中心的资源使用情况。

过程 16.2. 创建新配额策略

  1. 在树形模式中,选择数据中心。Quota 选项卡会出现在 Navigation Pane 中。
  2. 在导航窗格中,单击 Quota 选项卡。
  3. 点 Navigation Pane 中的 AddNew Quota 窗口将打开。
  4. 使用有意义的名称填写 Name 字段。
    使用有意义的名称填写 Description 字段。
  5. New Quota 窗口的 Memory & CPU 部分中,使用绿色滑块来设置 Cluster Threshold
  6. New Quota 窗口的 Memory & CPU 部分中,使用蓝色滑块来设置 Cluster Grace
  7. 选择 All ClustersSpecific Clusters 单选按钮。如果选择 Specific Clusters,请选择您要添加配额策略的集群的复选框。
  8. 单击 Edit 以打开 Edit Quota 窗口。
  9. Memory 字段下,选择 Unlimited 单选按钮(允许在集群中的内存资源无限使用),或者选择 设为 单选按钮来设置此配额设置的内存量。如果您选择了 对单选按钮的限制,请在 MB 字段中输入内存配额(以 MB 为单位)。
  10. CPU 字段下,选择 Unlimited 单选按钮或 limit to 单选按钮来设置此配额设置的 CPU 数量。如果您选择了 对单选按钮的限制,请在 vCpus 字段中输入多个 vCPU。
  11. Edit Quota 窗口中,单击 OK
  12. New Quota 窗口的 Storage 部分中,使用绿色滑块来设置 Storage Threshold
  13. New Quota 窗口的 Storage 部分中,使用蓝色滑块来设置存储 Grace
  14. 选择 All Storage DomainsSpecific Storage Domains 单选按钮。如果您选择 Specific Storage Domains,请选中您要向其添加配额策略的存储域的复选框。
  15. 单击 Edit 以打开 Edit Quota 窗口。
  16. Storage Quota 字段下,选择 Unlimited 单选按钮(允许无限使用存储)或 单选按钮来设置配额将限制用户的存储量。如果您选择了 对单选按钮的限制,请在 GB 字段中输入存储配额大小(以 GB 为单位)。
  17. Edit Quota 窗口中,单击 OK。您返回到 New Quota 窗口。
  18. New Quota 窗口中,单击确定。

结果

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

16.6. 配额阈值设置的说明

表 16.3. 配额阈值和宽限期

设置 定义
cluster Threshold 每个数据中心可用的集群资源量。
集群 Grace 耗尽数据中心的 Cluster Threshold 后可用于数据中心的集群量。
Storage Threshold 每个数据中心可用的存储资源量。
Storage Grace 耗尽数据中心的 Storage Threshold 后可用于数据中心的存储量。
如果将配额设置为 100 GB 的 20% Grace,则用户在使用 120 GB 存储后阻止使用存储。如果同一配额将 Threshold 设置为 70%,则消费者在超过 70 GB 的存储消耗时收到警告(但它们仍然可以使用存储,直到它们达到 120 GB 存储消耗为止)。 "Threshold"和"Grace"设置相对于配额。"threshold"可以被视为"软限制",超过它会生成警告。"安全"可能被视为"硬限制",并超过它使其无法消耗任何更多的存储资源。

16.7. 为对象分配配额

概述

此流程解释了如何将虚拟机与配额关联。

过程 16.3. 为虚拟机分配配额

  1. 在导航窗格中,选择要向其添加配额的 Virtual Machine。
  2. Edit。此时会出现 Edit Virtual Machine 窗口。
  3. 选择您要虚拟机使用的配额。使用 Quota 下拉菜单完成此操作。
  4. 点击 OK

结果

您已为您选择的虚拟机指定配额。

概述

此流程解释了如何将虚拟磁盘与配额关联。

过程 16.4. 为虚拟磁盘分配配额

  1. 在导航窗格中,选择您计划添加配额的虚拟机。
  2. 在详细信息窗格中,选择要与配额关联的磁盘。
  3. Edit。此时会出现 Edit Virtual Disk 窗口。
  4. 选择您要使用虚拟磁盘的配额。
  5. 点击 OK

结果

您已为您选择的虚拟磁盘指定配额。

重要
必须为虚拟机关联的所有对象选择配额,才能使该虚拟机正常工作。如果您无法为虚拟机关联的对象选择配额,则虚拟机将无法正常工作。在这种情况下,管理器抛出的错误是通用的,很难知道是否抛出了错误,因为您没有将配额与与虚拟机关联的所有对象关联。无法获取没有分配配额的虚拟机快照。无法创建没有分配配额的虚拟机的模板。

16.8. 使用配额限制用户的资源

概述

这个步骤描述了如何使用配额来限制用户可访问的资源。

过程 16.5. 将用户分配给配额

  1. 在树中,单击数据中心与您要与用户关联的配额。
  2. 在导航窗格中,单击 Quota 选项卡。
  3. 在导航窗格中的列表中选择目标配额。
  4. 单击详细信息窗格中的 Consumers 选项卡。
  5. 点详情面板顶部的 Add
  6. Search 字段中,输入您要与配额关联的用户名称。
  7. 单击 "运行 "。
  8. 选中包含目标用户名称的行左侧的复选框。
  9. Assign Users and Groups to Quota 窗口右下角,单击 OK

结果

片刻之后,用户将显示在详细信息窗格的 Consumers 选项卡中。

16.9. 编辑配额

概述

这个步骤描述了如何更改现有配额。

过程 16.6. 编辑配额

  1. 在树形窗格中,单击您要编辑配额的数据中心。
  2. 单击 Navigation Pane 中的 Quota 选项卡。
  3. 点您要编辑的配额的名称。
  4. 在 Navigation 窗格中点 Edit
  5. 这会打开 Edit Quota 窗口。如果需要,在 Name 字段中输入有意义的名称。
  6. 如果需要,您可以在 Description 字段中输入有意义的描述。
  7. 选择 All Clusters 单选按钮或 特定集群 单选按钮。将 Cluster ThresholdCluster Grace sliders 移到 Memory & CPU 滑块上所需的位置。
  8. 选择 All Storage Domains 单选按钮,或者选择 Specific Storage Domains 单选按钮。将 Storage ThresholdStorage Grace sliders 移到存储滑块上的所需位置。
  9. Edit Quota 窗口中,单击 OK 以确认新的配额设置。

结果

您已更改了现有的配额。

16.10. 删除配额

概述

这个步骤描述了如何删除配额。

过程 16.7. 删除配额

  1. 在树形窗格中,单击您要编辑配额的数据中心。
  2. 单击 Navigation Pane 中的 Quota 选项卡。
  3. 点您要删除的配额的名称。
  4. 单击导航窗格顶部的 Remove,它位于选项卡行下。
  5. Remove Quota (s) 窗口中,单击 OK 以确认删除此配额。

结果

您已删除了配额。

16.11. 服务等级协议策略强制

概述

这个步骤描述了如何设置服务级别协议 CPU 功能。

过程 16.8. 设置服务级别协议 CPU 策略

  1. 在 Navigation Pane 中选择 New VM
  2. 选择 Show Advanced Options
  3. 选择 资源分配选项卡

    图 16.1. 服务等级协议策略强制 - CPU 分配菜单

    Description
  4. 指定 CPU 共享。可能的选项有 LowMediumHighCustomDisabled。虚拟机设置为高( High )作为 Medium 的共享数量相同,虚拟机设置为 Medium 接收两倍的共享,与设为 Low 的虚拟机所多的共享数量相同。disabled 指示 VDSM 使用较旧的算法来确定共享分离;通常,在这些条件下分离的共享数量为 1020。

结果

您已设置了服务级别协议 CPU 策略。用户的 CPU 消耗现在由您设定的策略管理。

第 17 章 事件通知

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

概述

当在 Red Hat Virtualization Manager 管理的环境中发生特定事件时,Red Hat Virtualization Manager 可以通过电子邮件通知指定的用户。要使用此功能,您必须设置邮件传输代理来发送邮件。只有电子邮件通知才能通过管理门户配置。必须在 Manager 计算机上配置 SNMP 陷阱。

过程 17.1. 配置事件通知

  1. 确保您已使用适当的变量设置了邮件传输代理。
  2. 使用 Users resource 选项卡、树结构模式或搜索功能来查找并选择要发送到事件通知的用户。
  3. 单击详细信息窗格中的 Event Notifier 选项卡,以列出用户收到通知的事件。如果您还没有为该用户配置任何事件通知,此列表为空。
  4. 单击 Manage Events 以打开 Add Event Notification 窗口。

    图 17.1. Add Events Notification 窗口

    Add Events Notification 窗口
  5. 使用 Expand All 按钮或主题特定的扩展按钮来查看事件。
  6. 选中相应的复选框。
  7. Mail Recipient 字段中输入电子邮件地址。
  8. OK 保存更改并关闭窗口。
  9. 在 Red Hat Virtualization Manager 中添加并启动 ovirt-engine-notifier 服务。这会激活您所做的更改:
    # systemctl daemon-reload
    # systemctl enable ovirt-engine-notifier.service
    # systemctl restart ovirt-engine-notifier.service

结果

指定用户现在根据 Red Hat Virtualization 环境中的事件接收电子邮件。所选事件显示在该用户的 Event Notifier 选项卡中。

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

概述

一个用户配置了一些不必要的电子邮件通知,并希望它们被取消。

过程 17.2. 取消事件通知

  1. Users 选项卡中,选择用户或用户组。
  2. 选择详细信息窗格中的 Event Notifier 选项卡,以列出用户接收电子邮件通知的事件。
  3. 单击 Manage Events 以打开 Add Event Notification 窗口。
  4. 使用 Expand All 按钮或特定主题的扩展按钮来查看事件。
  5. 清除适当的复选框,以删除该事件的通知。
  6. OK 保存更改并关闭窗口。

结果

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

17.3. ovirt-engine-notifier.conf 中的事件通知的参数

事件通知程序配置文件可在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf 中找到。

表 17.1. ovirt-engine-notifier.conf variables

变量名称 默认 备注
SENSITIVE_KEYS none 未记录的密钥的逗号分隔列表。
JBOSS_HOME /opt/rh/eap7/root/usr/share/wildfly Manager 使用的 JBoss 应用服务器的位置。
ENGINE_ETC /etc/ovirt-engine Manager 使用的 etc 目录的位置。
ENGINE_LOG /var/log/ovirt-engine Manager 使用 的日志 目录的位置。
ENGINE_USR /usr/share/ovirt-engine Manager 使用的 usr 目录的位置。
ENGINE_JAVA_MODULEPATH ${ENGINE_USR}/modules 附加 JBoss 模块的文件路径。
NOTIFIER_DEBUG_ADDRESS none 此机器地址可用于对通知程序使用的 Java 虚拟机执行远程调试。
NOTIFIER_STOP_TIME 30 服务将超时的时间(以秒为单位)。
NOTIFIER_STOP_INTERVAL 1 超时计数器将递增的时间(以秒为单位)。
INTERVAL_IN_SECONDS 120 将消息发送到订阅者的实例间隔(以秒为单位)。
IDLE_INTERVAL 30 执行低优先级任务的时间间隔(以秒为单位)。
DAYS_TO_KEEP_HISTORY 0 此变量设置在历史记录表中保留的天数。如果没有设置此变量,则事件会无限期保留在历史记录表中。
FAILED_QUERIES_NOTIFICATION_THRESHOLD 30 发送通知电子邮件的失败查询数量。在第一次无法获取通知后发送通知电子邮件,然后每当达到此变量指定的故障数时执行一次。如果指定值 01,则每个失败将发送一封电子邮件。
FAILED_QUERIES_NOTIFICATION_RECIPIENTS none 通知电子邮件发送到的收件人的电子邮件地址。电子邮件地址必须用逗号分开。FILTER 变量已弃用此条目。
DAYS_TO_SEND_ON_STARTUP 0 通知程序启动时将处理和发送的旧事件的天数。
FILTER exclude:* 用于确定电子邮件通知的触发器和收件人的算法。此变量的值由 includeexclude、事件和接收方的组合组成。例如,include:VDC_START (smtp:mail@example.com)${FILTER}
MAIL_SERVER none SMTP 邮件服务器地址。必需。
MAIL_PORT 25 用于通信的端口。可能的值包括 25 个用于普通 SMTP,465 用于使用 SSL 的 SMTP,使用 TLS 进行 SMTP 587
MAIL_USER none 如果启用了 SSL 来验证用户,则必须设置此变量。在未设置 MAIL_FROM 变量时,此变量也用于指定 "from" 用户地址。有些邮件服务器不支持此功能。地址采用 RFC822 格式。
SENSITIVE_KEYS ${SENSITIVE_KEYS},MAIL_PASSWORD 如果邮件服务器需要身份验证,或者启用了 SSL 或 TLS,则需要验证用户。
MAIL_PASSWORD none 如果邮件服务器需要身份验证,或者启用了 SSL 或 TLS,则需要验证用户。
MAIL_SMTP_ENCRYPTION none 通信中使用的加密类型。可能的值为 none, ssl, tls
HTML_MESSAGE_FORMAT false 如果此变量设置为 true,则邮件服务器以 HTML 格式发送消息。
MAIL_FROM none 此变量指定 RFC822 格式的发件人地址(如果由邮件服务器支持)。
MAIL_REPLY_TO none 此变量在邮件服务器支持邮件时,使用 RFC822 格式指定回复的地址。
MAIL_SEND_INTERVAL 1 要为每个 IDLE_INTERVAL 发送的 SMTP 消息数
MAIL_RETRIES 4 失败前尝试发送电子邮件的次数。
SNMP_MANAGER none 用作 SNMP 管理器的机器的 IP 地址或完全限定域名。条目必须用空格分开,且可以包含端口号。例如,manager1.example.com manager2.example.com:164
SNMP_COMMUNITY public 默认 SNMP 社区。
SNMP_OID 1.3.6.1.4.1.2312.13.1.1 警报的默认陷阱对象标识符。在定义此 OID 时,所有陷阱类型都会向 SNMP 管理器发送事件信息。请注意,更改默认陷阱可防止生成的陷阱遵守管理器的管理信息基础。
ENGINE_INTERVAL_IN_SECONDS 300 监控安装管理器的机器之间的间隔(以秒为单位)。间隔从监控完成的时间来衡量。
ENGINE_MONITOR_RETRIES 3 通知程序尝试监控在失败后以给定间隔安装 Manager 的机器状态的次数。
ENGINE_TIMEOUT_IN_SECONDS 30 在通知程序尝试监控 Manager 在失败后以给定间隔安装的机器状态前等待的时间(以秒为单位)。
IS_HTTPS_PROTOCOL false 如果 JBoss 处于安全模式运行,则此条目必须设置为 true
SSL_PROTOCOL TLS 启用 SSL 时,JBoss 配置连接器使用的协议。
SSL_IGNORE_CERTIFICATE_ERRORS false 如果 JBoss 以安全模式运行,并且忽略 SSL 错误,则该值必须设为 true
SSL_IGNORE_HOST_VERIFICATION false 如果 JBoss 以安全模式运行,并且主机名验证将被忽略,则必须将此值设置为 true
REPEAT_NON_RESPONSIVE_NOTIFICATION false 此变量指定如果安装管理器的计算机不响应,则会将重复失败消息发送到订阅者。
ENGINE_PID /var/lib/ovirt-engine/ovirt-engine.pid Manager 的 PID 的路径和文件名。

17.4. 将 Red Hat Virtualization Manager 配置为发送 SNMP Traps

配置 Red Hat Virtualization Manager,将简单网络管理协议陷阱发送到一个或多个外部 SNMP 管理器。SNMP 陷阱包含系统事件信息;它们用于监控 Red Hat Virtualization 环境。发送到 SNMP 管理器的陷阱的数量和类型可以在 Red Hat Virtualization Manager 中定义。
此流程假设您已配置了一个或多个外部 SNMP 管理器来接收陷阱,并且您有以下详情:
  • 用作 SNMP 管理器的机器的 IP 地址或完全限定域名。(可选)确定管理器接收陷阱通知的端口;默认情况下,这是 UDP 端口 162。
  • SNMP 社区.多个 SNMP 管理器可以属于单个社区。管理系统和代理只有在它们在同一个社区内时才能进行通信。默认社区为 public
  • 警报的 trap 对象标识符。Red Hat Virtualization Manager 提供 1.3.6.1.4.1.2312.13.1.1. 的默认 OID。在定义此 OID 时,所有陷阱类型都会向 SNMP 管理器发送事件信息。请注意,更改默认陷阱可防止生成的陷阱遵守管理器的管理信息基础。
注意
Red Hat Virtualization Manager 在 /usr/share/doc/ovirt-engine/mibs/OVIRT-MIB.txt/usr/share/doc/ovirt-engine/mibs/REDHAT-MIB.txt 处提供管理信息基础。在继续操作前,在 SNMP 管理器中加载 MIBs
在通知守护进程配置文件 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf 中,会存在默认的 SNMP 配置值。以下流程中所述的值基于该文件中提供的默认值或示例值。建议您定义覆盖文件,而不是编辑 ovirt-engine-notifier.conf 文件,以便在系统更改时保留配置选项,如升级。

过程 17.3. 在 Manager 上配置 SNMP Traps

  1. 在 Manager 中,创建 SNMP 配置文件:
    # vi /etc/ovirt-engine/notifier/notifier.conf.d/20-snmp.conf
  2. 以以下格式指定 SNMP 管理器、S SNMP 社区和 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 管理器的事件:

    例 17.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}"
    向默认 SNMP 配置集发送除 VDC_START 以外的所有事件:
    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 服务,并确保该服务在引导时启动:
    # systemctl start ovirt-engine-notifier.service
    # systemctl enable ovirt-engine-notifier.service
检查 SNMP Manager,以确保收到陷阱。
注意
SNMP_MANAGERSMAIL_SERVER 或必须正确定义在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf 或覆盖文件中才能运行 notifier 服务。

第 18 章 工具

18.1. oVirt Engine Rename 工具

18.1.1. oVirt Engine Rename 工具

当在干净的环境中运行 engine-setup 命令时,命令会生成多个证书和密钥,这些证书和密钥使用设置过程中提供的 Manager 的完全限定域名。如果以后必须更改 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 命令会为管理器运行的 Web 服务器创建一个新证书,但它不会影响引擎或证书颁发机构的证书。因此,使用 ovirt-engine-rename 命令有一些风险,特别是在从 Red Hat Enterprise Virtualization 3.2 及更早版本升级的环境中。因此,建议通过运行 engine-cleanupengine-setup 更改管理器的完全限定域名。

18.1.2. oVirt Engine Rename 命令的语法

ovirt-engine-rename 命令的基本语法是:
# /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename
该命令也接受以下选项:
--newname=[new name]
允许您在不用户交互的情况下为管理器指定新的完全限定域名。
--log=[file]
允许您指定要写入重命名操作的文件的路径和名称。
--config=[file]
允许您指定要加载到重命名操作中的配置文件的路径和文件名。
--config-append=[file]
允许您指定要附加到重命名操作的配置文件的路径和文件名。此选项可用于指定应答文件的路径和文件名。
--generate-answer=[file]
允许您指定答案到的文件的路径和文件名,并且记录 ovirt-engine-rename 命令更改的值。

18.1.3. 使用 oVirt Engine Rename 工具

概述

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

工具检查 Manager 是否提供本地 ISO 还是数据存储域。如果这样做,工具会提示用户弹出、关闭或置于维护模式,然后再继续操作前连接到存储的任何虚拟机或存储域。这样可确保虚拟机不会丢失其虚拟磁盘的连接,并防止 ISO 存储域在重命名过程中丢失连接。

过程 18.1. 重命名 Red Hat Virtualization Manager

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

结果

ovirt-engine-rename 命令更新 Manager 的完全限定域名的记录。

18.2. Engine 配置工具

18.2.1. Engine 配置工具

引擎配置工具是用于为您的 Red Hat Virtualization 环境配置全局设置的命令行实用程序。工具与存储在 engine 数据库中的键值映射列表交互,并允许您检索和设置单个键的值,并检索所有可用配置键和值的列表。另外,可以为 Red Hat Virtualization 环境中的每个配置级别存储不同的值。
注意
Red Hat Virtualization Manager 或 Red Hat JBoss Enterprise Application Platform 都不需要运行来检索或设置配置键的值。由于配置密钥值映射存储在 engine 数据库中,因此在 postgresql 服务运行时可以更新它们。然后,当 ovirt-engine 服务重启时应用更改。

18.2.2. engine-config 命令的语法

您可以从安装 Red Hat 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 服务才能使您的更改生效。
# systemctl restart ovirt-engine.service

18.3. 镜像上传工具

18.3.1. 镜像上传工具

注意
导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘镜像和模板从导入的存储域上传到附加的数据中心。有关导入存储域的详情,请参考 第 8.6 节 “导入现有存储域”
engine-image-uploader 命令允许您列出导出存储域,并将 OVF 或 OVA 格式的虚拟机镜像上传到导出存储域,并在 Red Hat Virtualization Manager 中自动识别它们。
OVA 是 OVF 文件的 tar 存档。
注意
镜像上传器只支持由 Red Hat Virtualization 创建的 gzip 压缩 OVF 文件或 OVA 文件。
OVF 包含以下格式的镜像和 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

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

image uploader 命令的基本语法为:
engine-image-uploader [options] list
engine-image-uploader [options] upload [file].[file]...[file]
镜像上传程序命令支持两个操作 - 列表,以及 上传
  • list 操作列出了可上传到镜像的导出存储域。
  • upload 操作将镜像上传到指定的导出存储域。
在使用 image uploader 命令时,您必须指定上述操作之一。此外,您必须至少指定一个本地文件才能使用 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
设置详细模式,提供更多控制台输出。
-f,--force
上传的源文件与目标导出域中现有文件具有相同的文件名时,需要强制模式。此选项强制覆盖现有文件。

Red Hat Virtualization Manager 选项

-u [USER], --user=[USER]
指定凭证将用于执行命令的用户。[USER][username]@[domain] 的形式指定。用户必须在指定的域中存在,且对 Red Hat Virtualization Manager 已知。
-r [FQDN], --engine=[FQDN]
指定从中上传镜像的 Red Hat Virtualization Manager 的 IP 地址或完全限定域名。假设镜像上传程序是从安装 Red Hat Virtualization Manager 的同一机器中运行。默认值为 localhost:443

导出存储域选项

以下选项指定要上传到镜像的导出域。这些选项不能一起使用;您必须使用 -e 选项或 -n 选项。
-e [EXPORT_DOMAIN], --export-domain=[EXPORT_DOMAIN]
将存储域 EXPORT_DOMAIN 设置为上传的目的地。
-n [NFSSERVER], --nfs-server=[NFSSERVER]
NFS 路径 [NFSSERVER] 设置为上传的目的地。

导入选项

通过以下选项,您可以自定义正在上传的镜像的属性,在镜像上传到导出域时。
-i, --ovf-id
指定不更新镜像的 UUID。默认情况下,命令为上传的镜像生成一个新的 UUID。这样可确保正在上传的镜像 ID 和环境中已存在的镜像之间没有冲突。
-d, --disk-instance-id
指定镜像中每个磁盘的实例 ID 不会重命名。默认情况下,命令为上传的镜像中的磁盘生成新 UUID。这样可确保镜像上的磁盘和环境中已存在的磁盘之间没有冲突。
-m,--mac-address
指定镜像中的网络组件不会从镜像中删除。默认情况下,命令会从上传的镜像中删除网络接口卡,以防止环境中其他虚拟机上与网卡冲突。如果不使用这个选项,您可以使用管理门户将网络接口卡添加到新导入的镜像中,管理器将确保没有 MAC 地址冲突。
-N [NEW_IMAGE_NAME], --name=[NEW_IMAGE_NAME]
指定正在上传的镜像的新名称。

18.3.3. 创建一个与镜像上传程序兼容的 OVF 存档

概述

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

过程 18.2. 创建一个与镜像上传程序兼容的 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 Virtualization Manager。

结果

您已创建了可以分发的压缩 OVF 镜像文件。任何人,您都可以使用 engine-image-uploader 命令将您的镜像上传到其 Red Hat Virtualization 环境中。

18.3.4. 基本 engine-image-uploader 使用示例

以下是如何使用 engine uploader 命令列出导出存储域的示例:

例 18.1. 使用镜像上传器列出导出存储域

# 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
以下是如何上传 Open Virtualization Format (OVF)文件的示例:

例 18.2. 使用镜像上传程序上传文件

# 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):

18.4. USB 过滤器编辑器

18.4.1. 安装 USB 过滤器编辑器

USB Filter Editor 是一个 Windows 工具,用于配置 usbfilter.txt 策略文件。此文件中定义的策略规则允许或拒绝特定 USB 设备的自动直通到使用 Red Hat Virtualization Manager 管理的虚拟机。策略文件位于 Red Hat Virtualization Manager 上,位于以下位置:

/etc/ovirt-engine/usbfilter.txt

对 USB 过滤器策略的更改不会生效,除非重启 Red Hat Virtualization Manager 服务器上的 ovirt-engine 服务。
从 Content Delivery Network: https://rhn.redhat.com/rhn/software/channel/downloads/Download.do?cid=20703 下载 USBFilterEditor.msi 文件。

过程 18.3. 安装 USB 过滤器编辑器

  1. 在 Windows 计算机上,启动从 Content Delivery Network 获取的 USBFilterEditor.msi 安装程序。
  2. 按照安装向导的步骤进行操作。除非另有指定,否则 USB Filter Editor 将默认安装在 C:\Program Files\ RedHat\USB Filter EditorC:\Program Files (x86)\RedHat\USB Filter Editor,具体取决于您的 Windows 版本。
  3. 在您的桌面上创建 USB 过滤器编辑器快捷方式图标。
重要
使用 Secure Copy (SCP)客户端从 Red Hat Virtualization Manager 导入和导出过滤器策略。适用于 Windows 机器的安全复制工具为 WinSCP ()http://winscp.net
默认 USB 设备策略为虚拟机提供对 USB 设备的基本访问;更新策略以允许使用其他 USB 设备。

18.4.2. USB 过滤器编辑器接口

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

    图 18.1. Red Hat USB Filter Editor

    Red Hat USB Filter Editor
Red Hat USB Filter Editor 界面显示每个 USB 设备的 Class,Vendor,Product,Revision, 和 Action。在 Action 列中将允许的 USB 设备设置为 Allow ;禁止的设备设置为 Block

表 18.1. USB 编辑器字段

Name Description
USB 设备类型;例如,打印机、主设备存储控制器。
Vendor 所选设备类型的制造商。
产品 特定的 USB 设备模型。
Revision(修订) 产品的修订。
操作 允许或阻止指定的设备。
USB 设备策略规则按照列出的顺序进行处理。使用 UpDown 按钮在列表中移动规则更高或较低规则。通用 块设备 需要保留为最低条目,以确保除非 USB 过滤器编辑器中明确允许,否则所有 USB 设备都会被拒绝。

18.4.3. 添加 USB 策略

概述

在 USB Filter Editor 中添加 USB 策略。

双击桌面上的 USB Filter Editor 快捷方式图标以打开编辑器。

过程 18.4. 添加 USB 策略

  1. 点击 Add 按钮。这会打开 Edit USB Criteria 窗口:

    图 18.2. 编辑 USB 标准

    编辑 USB 标准
  2. 使用 USB 类供应商ID、产品 IDRevision 复选框和列表来指定设备。
    单击 Allow 按钮,以允许虚拟机使用 USB 设备;单击 Block 按钮,以禁止虚拟机的 USB 设备。
    单击 OK,将选定的过滤规则添加到列表并关闭窗口。

    例 18.3. 添加设备

    以下是如何将 USB 类 智能卡、设备 EP-1427X-2 以太网适配器 (来自制造商 Acer Communications 和 Multimedia )添加到允许的设备列表中。
  3. 单击 FileSave 以保存更改。

结果

您已在 USB Filter Editor 中添加 USB 策略。USB 过滤器策略需要导出到 Red Hat Virtualization Manager 才能生效。

18.4.4. 删除 USB 策略

概述

从 USB Filter Editor 删除 USB 策略。

双击桌面上的 USB Filter Editor 快捷方式图标以打开编辑器。

过程 18.5. 删除 USB 策略

  1. 选择要删除的策略。

    图 18.3. 选择 USB 策略

    选择 USB 策略
  2. 点击 Remove。消息会显示提示您确认要删除该策略。

    图 18.4. 编辑 USB 标准

    编辑 USB 标准
  3. Yes 以确认要删除该策略。
  4. 单击 FileSave 以保存更改。

结果

您已从 USB Filter Editor 中删除了 USB 策略。USB 过滤器策略需要导出到 Red Hat Virtualization Manager 才能生效。

18.4.5. 搜索 USB 设备策略

概述

在 USB Filter Editor 中搜索连接的 USB 设备以允许或阻止它们。

双击桌面上的 USB Filter Editor 快捷方式图标以打开编辑器。

过程 18.6. 搜索 USB 设备策略

  1. SearchAttached USB Devices 窗口显示所有附加的设备列表。

    图 18.5. 连接的 USB 设备

    连接的 USB 设备
  2. 选择设备并点 AllowBlock。双击所选设备以关闭该窗口。设备的策略规则添加到列表中。
  3. 使用 UpDown 按钮更改列表中的新策略规则的位置。
  4. 单击 FileSave 以保存更改。

结果

您已搜索附加的 USB 设备。USB 过滤器策略需要导出到 Red Hat Virtualization Manager 才能生效。

18.4.6. 导出 USB 策略

概述

USB 设备策略更改需要导出并上传到 Red Hat Virtualization Manager,以便更新的策略生效。上传策略,然后重新启动 ovirt-engine 服务。

双击桌面上的 USB Filter Editor 快捷方式图标以打开编辑器。

过程 18.7. 导出 USB 策略

  1. 单击 Export; 此时会打开 Save As 窗口。
  2. 使用文件名 usbfilter.txt 保存文件。
  3. 使用 Secure Copy 客户端,如 WinSCP,将 usbfilter.txt 文件上传到运行 Red Hat Virtualization Manager 的服务器。该文件必须放在服务器上的以下目录中:

    /etc/ovirt-engine/

  4. 在运行 Red Hat Virtualization Manager 的服务器上,以 root 用户身份重新启动 ovirt-engine 服务。
    # systemctl restart ovirt-engine.service

结果

USB 设备策略现在将在 Red Hat Virtualization 环境中运行的虚拟机上实现。

18.4.7. 导入 USB 策略

概述

必须先将现有 USB 设备策略下载并导入到 USB Filter Editor 中,然后才能编辑它。

过程 18.8. 导入 USB 策略

  1. 使用 Secure Copy 客户端,如 WinSCP,将 usbfilter.txt 文件上传到运行 Red Hat Virtualization Manager 的服务器。该文件必须放在服务器上的以下目录中:

    /etc/ovirt-engine/

  2. 双击桌面上的 USB Filter Editor 快捷方式图标以打开编辑器。
  3. 单击 Import 以打开 Open 窗口。
  4. 打开从服务器下载的 usbfilter.txt 文件。

结果

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

18.5. 日志收集器工具

18.5.1. 日志收集器

Red Hat Virtualization Manager 中包含了一个日志收集工具。这可让您在请求支持时从 Red Hat Virtualization 环境中轻松收集相关日志。
log collection 命令是 ovirt-log-collector。您需要以 root 用户身份登录,并为 Red Hat Virtualization 环境提供管理凭证。ovirt-log-collector -h 命令显示用法信息,包括 ovirt-log-collector 命令的所有有效选项列表。

18.5.2. ovirt-log-collector 命令的语法

日志收集器命令的基本语法为:
ovirt-log-collector [options] list [all, clusters, datacenters]
ovirt-log-collector [options] collect
支持的操作模式是 listcollect
  • list 参数列出附加到 Red Hat Virtualization Manager 的主机、集群或数据中心。您可以根据列出的对象过滤日志集合。
  • collect 参数从 Red Hat Virtualization Manager 执行日志集合。收集的数据放置在 /tmp/logcollector 目录下的存档文件中。ovirt-log-collector 命令为每个日志分配一个特定文件名。
除非指定了另一个参数,否则默认操作是将可用的主机与数据中心和集群一起列出。系统将提示您输入用户名和密码以检索某些日志。
有大量参数可以进一步优化 ovirt-log-collector 命令。

常规选项

--version
显示正在使用的命令的版本号,并返回提示。
-h,--help
显示命令使用信息并返回提示。
--conf-file=PATH
PATH 设置为要使用的配置文件。
--local-tmp=PATH
PATH 设置为保存日志的目录。默认目录为 /tmp/logcollector
--ticket-number=TICKET
TICKET 设置为与 SOS 报告关联的票据或问题单号。
--upload=FTP_SERVER
FTP_SERVER 设置为要通过 FTP 发送检索日志的目的地。除非由红帽支持代表建议,否则不要使用这个选项。
--log-file=PATH
PATH 设置为命令用于日志输出的特定文件名。
--quiet
设置静默模式,将控制台输出减少到最小值。默认情况下,静默模式为 off。
-v,--verbose
设置详细模式,提供更多控制台输出。详细模式默认为 off。

Red Hat Virtualization Manager 选项

这些选项过滤日志集合,并指定 Red Hat Virtualization Manager 的身份验证详情。
这些参数可以针对特定的命令合并。例如,ovirt-log-collector --user=admin@internal --cluster ClusterA,ClusterB --hosts "SalesHost"* 将用户指定为 admin@internal,并将日志集合限制为集群 AB 中的 SalesHost 主机。
--no-hypervisors
从日志集合中省略虚拟化主机。
--one-hypervisor-per-cluster
从每个集群收集一个主机( SPM,如果存在)的日志。
-u USER, --user=USER
为登录设置用户名。USER 的格式为 user@domain,其中 user 是用户名,domain 是使用的目录服务域。该用户必须存在于目录服务中,且在 Red Hat Virtualization Manager 中知道。
-r FQDN, --rhevm=FQDN
设置要从中收集日志的 Red Hat Virtualization Manager 服务器的完全限定域名,其中 FQDN 替换为 Manager 的完全限定域名。假设日志收集器正在与 Red Hat Virtualization Manager 相同的本地主机上运行;默认值为 localhost
-c CLUSTER, --cluster=CLUSTER
除了 Red Hat Virtualization Manager 的日志外,还从提名的 CLUSTER 中的虚拟化主机收集日志。包含的集群必须在以逗号分隔的集群名称列表或匹配模式中指定。
-d DATACENTER, --data-center=DATACENTER
除了 Red Hat Virtualization Manager 的日志外,还从已提名的 DATACENTER 中的虚拟化主机收集日志。包含的数据中心必须在以逗号分隔的数据中心名称列表或匹配模式中指定。
-H HOSTS_LIST, --hosts=HOSTS_LIST
除了 Red Hat Virtualization Manager 的日志外,还从提名 HOSTS_LIST 中收集日志。包含的主机必须在以逗号分隔的主机名、完全限定域名或 IP 地址列表中指定。匹配模式也有效。

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
禁用数据库集合。日志收集器将连接到 Red Hat Virtualization Manager PostgreSQL 数据库,并在日志报告中包含数据,除非指定了 --no-postgresql 参数。
--pg-user=USER
USER 设置为用于与数据库服务器连接的用户名。默认为 postgres
--pg-dbname=DBNAME
DBNAME 设置为用于连接数据库服务器的数据库名称。默认值为 rhevm
--pg-dbhost=DBHOST
DBHOST 设置为数据库服务器的主机名。默认为 localhost
--pg-host-key=KEYFILE
KEYFILE 设置为数据库服务器的公共身份文件(私钥)。默认情况下不设置这个值;只需要本地主机上不存在数据库时才需要。

18.5.3. 基本日志收集器使用情况

当运行 ovirt-log-collector 命令而不指定任何附加参数时,其默认行为是从 Red Hat Virtualization Manager 及其附加主机收集所有日志。它还将收集数据库日志,除非添加了 --no-postgresql 参数。在以下示例中,运行日志收集器从 Red Hat Virtualization Manager 和三个附加的主机收集所有日志。

例 18.4. 日志收集器使用情况

# ovirt-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

18.6. ISO 上传工具

18.6.1. ISO 上传工具

ISO 上传程序是用于将 ISO 镜像上传到 ISO 存储域的工具。它作为 Red Hat Virtualization Manager 的一部分安装。
ISO uploader 命令是 engine-iso-uploader。您必须以 root 用户身份登录,并为 Red Hat Virtualization 环境提供管理凭证才能使用此命令。engine-iso-uploader -h 命令显示使用信息,包括 engine-iso-uploader 命令的所有有效选项列表。

18.6.2. engine-iso-uploader 命令的语法

ISO uploader 命令的基本语法为:
engine-iso-uploader [options] list
engine-iso-uploader [options] upload [file].[file]...[file]
ISO uploader 命令支持两个操作 - 列表,以及 上传
  • list 操作列出了可将 ISO 文件上传到的 ISO 存储域。Red Hat Virtualization Manager 在在安装过程中安装 Manager 的机器上创建此列表。
  • upload 操作将单个 ISO 文件或者多个由空格分开的 ISO 文件上传到指定的 ISO 存储域。默认情况下使用 NFS,但也可以使用 SSH。
在使用 ISO uploader 命令时,您必须指定上述操作之一。此外,您必须至少指定一个本地文件才能使用 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
设置详细模式,提供更多控制台输出。
-f,--force
上传的源文件与目标 ISO 域中的现有文件具有相同的文件名时,需要强制模式。此选项强制覆盖现有文件。

Red Hat Virtualization Manager 选项

-u [USER], --user=[USER]
指定凭证将用于执行命令的用户。[USER][username]@[domain] 的形式指定。用户必须在指定的域中存在,且对 Red Hat Virtualization Manager 已知。
-r [FQDN], --engine=[FQDN]
指定从中上传镜像的 Red Hat Virtualization Manager 的 IP 地址或完全限定域名。假设镜像上传程序是从安装 Red Hat Virtualization Manager 的同一机器中运行。默认值为 localhost:443

ISO 存储域选项

以下选项指定要上传到镜像的 ISO 域。这些选项不能一起使用;您必须使用 -i 选项或 -n 选项。
-i,--iso-domain=[ISODOMAIN]
将存储域 [ISODOMAIN] 设置为上传的目的地。
-n, --nfs-server=[NFSSERVER]
将 NFS 路径 [NFSSERVER] 设置为上传的目的地。

连接选项

ISO 上传程序默认使用 NFS 上传文件。这些选项指定 SSH 文件传输。
--ssh-user=[USER]
[USER] 设置为要用于上传的 SSH 用户名。默认值为 root
--ssh-port=[PORT]
[PORT] 设置为连接到 SSH 时使用的端口。
-k [KEYFILE], --key-file=[KEYFILE]
[KEYFILE] 设置为用于 SSH 身份验证的公钥。如果没有设置密钥,系统会提示您输入通过 --ssh-user=[USER] 指定的用户的密码。

18.6.3. 指定 NFS 服务器

例 18.5. 上传到 NFS 服务器

# engine-iso-uploader --nfs-server=storage.demo.redhat.com:/iso/path upload RHEL6.0.iso

18.6.4. 基本 ISO 上传使用

以下示例演示了 ISO 上传程序和列表参数。第一个命令列出了可用的 ISO 存储域;使用了 admin@internal 用户,因为该命令中没有指定用户。第二个命令通过 NFS 将 ISO 文件上传到指定的 ISO 域。

例 18.6. 列出域和上传镜像

# 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):

18.6.5. 将 VirtIO 和客户机工具镜像文件上传到 ISO 存储域

以下示例演示了将 virtio-win.isovirtio-win_x86.vfdvirtio-win_amd64.vfdrhev-tools-setup.iso 镜像文件上传到 ISODomain 的命令。

例 18.7. 上传 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

18.6.6. VirtIO 和客户机工具镜像文件

virtio-win ISO 和虚拟 Floppy Drive (VFD)镜像(包含 Windows 虚拟机的 VirtIO 驱动程序)和 rhev-tools-setup ISO (包含 Windows 虚拟机的 Red Hat Virtualization Guest Tools for Windows 虚拟机)在安装和配置域时被复制到 ISO 存储域中。
这些镜像文件提供可在虚拟机上安装的软件,以提高性能和可用性。最新的 virtio-winrhev-tools-setup 文件可以通过 Red Hat 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 存储域。上传后,镜像文件可以被虚拟机附加和使用。

18.7. Engine Vacuum 工具

18.7.1. Engine Vacuum 工具

Engine Vacuum 工具通过更新表和删除死行来维护 PostgreSQL 数据库,从而允许重复使用磁盘空间。有关 VACUUM 命令及其参数的详情,请查看 PostgreSQL 文档
Engine Vacuum 命令是 engine-vacuum。您需要以 root 用户身份登录,并为 Red Hat Virtualization 环境提供管理凭证。
或者,可以使用 engine-setup 命令自定义现有安装时运行 Engine Vacuum 工具:
$ engine-setup
...
[ INFO  ] Stage: Environment customization
...
Perform full vacuum on the engine database engine@localhost?
This operation may take a while depending on this setup health and the
configuration of the db vacuum process.
See https://www.postgresql.org/docs/9.2/static/sql-vacuum.html
(Yes, No) [No]:
Yes 选项以完整的 vacuum 模式运行引擎 Vacuum 工具。

18.7.2. 引擎模式

引擎变量以两种模式运行,即 Standard 和 Full。

标准 Vacuum

建议频繁使用标准 vacuuming。
标准 vacuum 删除表中的死行版本,并索引中,并将空间标记为可用于以后重复使用的空间。频繁更新的表应该定期进行讨论。但是,标准 vacuum 不会将空间返回给操作系统。
标准 vacuum (无参数)处理当前数据库中的每个表。

完整 Vacuum

不建议完整 vacuum 用于日常使用,但只有在表中需要大量空间回收时才应运行。
完整 vacuum 通过编写没有死空间的表文件的新副本来压缩表,从而使操作系统可以回收空间。完整 vacuum 可能需要很长时间。
完整 vacuum 需要额外磁盘空间用于表的新副本,直到操作完成并且旧副本被删除为止。因为完整的 vacuum 需要表上的专用锁定,所以它无法与表的其他用途并行运行。

18.7.3. Engine Vacuum 的语法

Engine Vacuum 命令的基本语法为:
engine-vacuum
engine-vacuum [option]
运行没有选项的 engine-vacuum 命令会执行标准 vacuum。
有几个参数可以进一步优化 engine-vacuum 命令。

常规选项

-h --help
显示如何使用 engine-vacuum 命令的信息。
-a
运行标准 vacuum、分析数据库并更新优化器统计信息。
-A
分析数据库并更新优化器统计信息,而无需清理。
-f
运行完整的 vacuum。
-v
以详细模式运行,提供更多控制台输出。
-t [table_name]
划分特定表或表。
engine-vacuum -f -v -t vm_dynamic -t vds_dynamic

部分 IV. 收集有关环境的信息

第 19 章 日志文件

19.1. Red Hat Virtualization Manager 安装日志文件

表 19.1. 安装

日志文件 Description
/var/log/ovirt-engine/engine-cleanup_yyyy_mm_dd_hh_mm_ss.log 来自 engine-cleanup 命令的日志。这是用于重置 Red Hat Virtualization Manager 安装的命令。每次运行命令时都会生成日志。运行的日期和时间用于文件名,以允许多个日志存在。
/var/log/ovirt-engine/engine-db-install-yyyy_mm_dd_hh_mm_ss.log engine-setup 命令的日志,详细描述了 rhevm 数据库的创建和配置。
/var/log/ovirt-engine/ovirt-engine-dwh-setup-yyyy_mm_dd_hh_mm_ss.log 来自 ovirt-engine-dwh-setup 命令的日志。这是用于创建 ovirt_engine_history 数据库用于报告的命令。每次运行命令时都会生成日志。运行的日期和时间用于文件名,以便同时存在多个日志。
/var/log/ovirt-engine/setup/ovirt-engine-setup-yyyymmddhhmms.log 来自 engine-setup 命令的日志。每次运行命令时都会生成日志。运行的日期和时间用于文件名,以便同时存在多个日志。

19.2. Red Hat Virtualization Manager 日志文件

表 19.2. 服务活动

日志文件 Description
/var/log/ovirt-engine/engine.log 反映所有 Red Hat Virtualization Manager GUI 崩溃、Active Directory 查找、数据库问题和其他事件。
/var/log/ovirt-engine/host-deploy 从 Red Hat Virtualization Manager 部署的主机的日志文件。
/var/lib/ovirt-engine/setup-history.txt 跟踪与 Red Hat Virtualization Manager 关联的软件包的安装和升级。

19.3. SPICE 日志文件

在对 SPICE 连接问题进行故障排除时,SPICE 日志文件很有用。要启动 SPICE 调试,请将日志级别更改为 调试。然后,标识日志位置。
用于访问客户虚拟机和客户机机器本身都有 SPICE 日志文件的客户端。对于客户端日志,如果某个 SPICE 客户端是使用下载 console.vv 文件的原生客户端启动的,请使用 remote-viewer 命令启用调试并生成日志输出。

19.3.1. 适用于 Hypervisor SPICE 服务器的 SPICE 日志

表 19.3. 适用于 Hypervisor SPICE 服务器的 SPICE 日志

日志类型 日志位置 要更改日志级别:
Host/Hypervisor SPICE 服务器
/var/log/libvirt/qemu/(guest_name).log
在启动客户机之前,在主机/虚拟机监控程序上运行 导出 SPICE_DEBUG_LEVEL=5。该变量由 QEMU 解析,如果运行系统范围的,则将打印系统上所有虚拟机的调试信息。此命令必须在集群中的每个主机上运行。此命令仅针对主机/虚拟机监控程序(而非按集群)运行。

19.3.2. 客户机机器的 SPICE 日志

表 19.4. 用于客户机计算机的 SPICE-vdagent 日志

日志类型 日志位置 要更改日志级别:
Windows 客户机
C:\Windows\Temp\vdagent.log
C:\Windows\Temp\vdservice.log
Not applicable
Red Hat Enterprise Linux Guest
以 root 用户身份使用 journalctl
要在调试模式下运行 spice-vdagentd 服务,以 root 用户身份创建一个带有此条目的 /etc/sysconfig/spice-vdagentd 文件: SPICE_VDAGENTD_EXTRA_ARGS="-d -d"
要在调试模式下运行 spice-vdagent,请从命令行运行:
$ killall - u $USER spice-vdagent 
$ spice-vdagent -x -d [-d] [ ∣& tee spice-vdagent.log ]

19.3.3. 使用 console.vv 文件启动的 SPICE 客户端的 SPICE 日志

对于 Linux 客户端机器:

  1. 通过运行带有 --spice-debug 选项的 remote-viewer 命令启用 SPICE 调试。出现提示时,输入连接 URL,例如 spice://[virtual_machine_IP]:[port]。
    #  remote-viewer --spice-debug
    
  2. 要使用 debug 参数运行 SPICE 客户端,并传递 .vv 文件,下载 console.vv 文件,并使用 --spice-debug 选项运行 remote-viewer 命令,并指定 console.vv 文件的完整路径。
    # remote-viewer --spice-debug /path/to/console.vv
    

对于 Windows 客户端机器:

  1. virt-viewer 2.0-11.el7ev 及更高版本版本中,virt-viewer.msi 会安装 virt-viewerdebug-viewer.exe
  2. 使用 spice-debug 参数运行 remote-viewer 命令,并将命令定向到控制台的路径:
    remote-viewer --spice-debug path\to\console.vv
    
  3. 要查看日志,请连接到虚拟机,您会看到运行 GDB 的命令提示符,该命令提示符打印 remote-viewer 的标准输出和标准错误。

19.4. Red Hat Virtualization Host 日志文件

表 19.5. 

日志文件 Description
/var/log/vdsm/libvirt.log libvirt 的日志文件。
/var/log/vdsm/spm-lock.log 日志文件详细说明主机在存储池管理程序角色上获取租用的功能。主机获取、发布、续订或无法续订租期时的日志详细信息。
/var/log/vdsm/vdsm.log VDSM 的日志文件(管理器的代理)在虚拟化主机上。
/tmp/ovirt-host-deploy-@DATE@.log 主机部署日志,作为 /var/log/ovirt-engine/host-deploy/ovirt-@DATE@-@HOST@-@CORRELATION_ID@.log 复制到引擎。

19.5. 设置虚拟化主机日志记录服务器

主机生成和更新日志文件,记录其操作和问题。集中收集这些日志文件简化了调试。
这个过程应该在您的集中式日志服务器上使用。您可以使用单独的日志记录服务器,或使用这个流程在 Red Hat Virtualization Manager 上启用主机日志记录。

过程 19.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 服务:
    # systemctl restart rsyslog.service
您的集中式日志服务器现在已配置为从虚拟化主机接收和存储 消息 和安全 日志。

第 20 章 代理

20.1. SPICE 代理

20.1.1. SPICE 代理概述

SPICE 代理是一种工具,用于在 SPICE 客户端超出连接管理程序的网络时将 SPICE 客户端连接到虚拟机。设置 SPICE 代理包括在机器上安装 Squid 并将 iptables 配置为允许通过防火墙代理流量。将 SPICE 代理打开包含使用 Manager 上的 engine-config,将键 SpiceProxyDefault 设置为由代理名称和端口组成的值。将 SPICE 代理关闭由 Manager 上的 engine-config 组成,以删除设置了键 SpiceProxyDefault 的值。
重要
SPICE 代理只能与独立的 SPICE 客户端一起使用,无法使用 SPICE HTML5 或 noVNC 连接到虚拟机。

20.1.2. SPICE 代理机器设置

此流程解释了如何将机器设置为 SPICE 代理。SPICE 代理允许从网络外部连接到 Red Hat Virtualization 网络。我们使用此流程中的 Squid 提供代理服务。

过程 20.1. 在 Red Hat Enterprise Linux 上安装 Squid

  1. 在 Proxy 机器上安装 Squid
    # yum install squid
  2. 打开 /etc/squid/squid.conf。更改:
    http_access deny CONNECT !SSL_ports
    改为:
    http_access deny CONNECT !Safe_ports
  3. 启动代理:
    # systemctl start squid.service
  4. 打开默认的 squid 端口:
    # iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
  5. 使此 iptables 规则持久:
    # service iptables save
现在,您已将机器设置为 SPICE 代理。在从网络外部连接到 Red Hat Virtualization 网络前,激活 SPICE 代理。

20.1.3. 打开 SPICE 代理

这个过程解释了如何激活(或打开)SPICE 代理。

过程 20.2. 激活 SPICE 代理

  1. 在 Manager 中,使用 engine-config 工具设置代理:
    # engine-config -s SpiceProxyDefault=someProxy
  2. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
    代理必须具有以下形式:
    protocol://[host]:[port]
    注意
    仅由 Red Hat Enterprise Linux 6.7、Red Hat Enterprise Linux 7.2 或更新的支持 HTTPS 代理提供的 SPICE 客户端。较旧的客户端仅支持 HTTP。如果为较旧的客户端指定了 HTTPS,客户端将忽略代理设置并尝试与主机直接连接。
SPICE 代理现在已激活(打开)。现在,可以通过 SPICE 代理连接到 Red Hat Virtualization 网络。

20.1.4. 关闭 SPICE 代理

这个过程解释了如何关闭(停用)SPICE 代理。

过程 20.3. 关闭 SPICE 代理

  1. 登录到 Manager:
    $ ssh root@[IP of Manager]
  2. 运行以下命令以清除 SPICE 代理:
    # engine-config -s SpiceProxyDefault=""
  3. 重启 Manager:
    # systemctl restart ovirt-engine.service
SPICE 代理现已停用(退出)。不再能够通过 SPICE 代理连接到 Red Hat Virtualization 网络。

20.2. Squid 代理

20.2.1. 安装和配置 Squid 代理

概述

这部分论述了如何在客户门户网站中安装和配置 Squid 代理。Squid 代理服务器被用作内容加速器。它缓存经常查看的内容,减少带宽并缩短响应时间。

过程 20.4. 配置 Squid 代理

  1. 为 Squid 代理服务器的 HTTPS 端口获取密钥对和证书。您可以像为另一个 SSL/TLS 服务获取密钥对一样获取此密钥对。密钥对采用两种 PEM 文件的形式,其中包含私钥和签名证书。对于此过程,我们假设它们名为 proxy.keyproxy.cer
    注意
    密钥对和证书也可以使用引擎的证书颁发机构来生成。如果您已有代理的私钥和证书,且不想使用引擎证书颁发机构生成它,请跳至下一步。
  2. 为代理选择主机名。然后,选择代理的可分辨名称的其他组件。
    注意
    最好使用相同的国家和引擎本身使用的相同组织名称。登录到安装 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
    
    重要
    您必须在证书区分名称中包含引号。node 选项可确保私钥没有加密,这意味着您不需要输入密码来启动代理服务器。
    该命令生成两个文件: 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. 将私钥和签名证书移到代理可以访问的位置 ,例如
    # 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 代理服务器:
    # systemctl restart squid.service
    
  16. 使用完整的 URL 连接到客户门户网站,例如:
    https://proxy.example.com/UserPortal/org.ovirt.engine.ui.userportal.UserPortal/UserPortal.html
    注意
    较短的 URL (如 https://proxy.example.com/UserPortal )将无法正常工作。这些较短的 URL 由应用服务器使用 302 响应代码和 Location 标头重定向到长 URL。Red Hat Enterprise Linux 中的 Squid 版本不支持重写这些标头。
注意
默认配置中的 Squid 代理将在 15 个空闲分钟后终止其连接。要在 Squid 代理终止闲置连接前增加时间,请调整 squid.conf 中的 read_timeout 选项(例如 read_timeout 10 hours)。

20.3. Websocket 代理

20.3.1. Websocket 代理概述

websocket 代理允许用户通过 noVNC 和 SPICE HTML5 控制台连接到虚拟机。在以前的版本中,websocket 代理只能在 Red Hat Virtualization Manager 机器上运行,但现在代理可以在任何可访问网络的机器上运行。
在初始配置过程中,可以在 Red Hat Virtualization Manager 机器上 安装和配置websocket 代理(请参阅安装指南中的 配置 Red Hat Virtualization Manager ),或在单独的机器上( 请参阅安装指南中的在独立机器上安装 Websocket 代理 )。
websocket 代理也可以从 Manager 机器迁移到单独的机器。请参阅 第 20.3.2 节 “将 Websocket 代理迁移到一个独立的机器”
注意
SPICE HTML5 支持是一个技术预览功能。技术预览功能不完全支持在红帽订阅服务级别协议(SLA)中,其功能可能并不完善,且不适用于生产环境。但是,这些功能可让您早期访问即将推出的产品创新,使客户能够在开发过程中测试并提供反馈意见。

20.3.2. 将 Websocket 代理迁移到一个独立的机器

为了安全起见,websocket 代理可以在不运行 Red Hat Virtualization Manager 的单独机器上运行。将 websocket 代理从 Manager 机器迁移到单独的计算机涉及从 Manager 机器中删除 websocket 代理配置,然后在单独的机器上安装代理。
engine-cleanup 命令可用于从 Manager 机器中删除 websocket 代理。

过程 20.5. 将 Websocket 代理迁移到一个独立的机器

  1. 在 Manager 机器上,运行 engine-cleanup 删除所需的配置。
    # engine-cleanup
    
  2. 当被要求删除所有组件时,键入 No,然后按 Enter 键。
    Do you want to remove all components? (Yes, No) [Yes]: No
    
  3. 当被要求删除引擎时,键入 No,然后按 Enter 键。
    Do you want to remove the engine? (Yes, No) [Yes]: No
    
  4. 当被要求删除 websocket 代理时,键入 Yes,然后按 Enter 键。
    Do you want to remove the WebSocket proxy? (Yes, No) [No]: Yes
    
    如果被要求删除任何其他组件,请选择 No
  5. 在单独的计算机上安装和配置代理。详情请参阅安装指南中的在独立机器上安装 Websocket 代理

附录 A. VDSM 和 Hook

A.1. VDSM

Red Hat Virtualization Manager 使用 VDSM 服务来管理 Red Hat Virtualization 主机(RHVH)和 Red Hat Enterprise Linux 主机。VDSM 管理和监控主机的存储、内存和网络资源。它还协调虚拟机创建、统计收集、日志收集和其他主机管理任务。VDSM 作为守护进程在由 Red Hat Virtualization Manager 管理的每个主机上运行。它应答来自客户端的 XML-RPC 调用。Red Hat Virtualization Manager 作为 VDSM 客户端运行。

A.2. VDSM Hook

VDSM 可通过 hook 进行扩展。Hook 是关键事件发生时在主机上执行的脚本。当发生支持的事件时,VDSM 以字母数字顺序在 /usr/libexec/vdsm/hooks/nn_event-name/ 中运行任何可执行 hook 脚本。按照惯例,每个 hook 脚本分配两个数字(包含在文件名前面),以确保脚本运行的顺序明确。您可以使用任何编程语言创建 hook 脚本,Python 但是将用于本章中包含的示例。
请注意,执行在用于事件的主机上定义的所有脚本。如果您需要一个给定 hook 仅对主机上运行的虚拟机子集执行,则必须通过评估与虚拟机关联的 自定义属性 来确保 hook 脚本本身处理此要求。
警告
VDSM hook 可能会干扰 Red Hat Virtualization 的操作。VDSM hook 中的一个错误可能会导致虚拟机崩溃和数据丢失。VDSM hook 应谨慎实施,并严格测试。Hook API 是新的,未来可能会有显著变化。

A.3. 使用 Hook 扩展 VDSM

本章论述了如何使用事件驱动的 hook 扩展 VDSM。使用 hook 扩展 VDSM 是一种实验性技术,本章面向有经验的开发人员。通过在虚拟机上设置自定义属性,可以将特定于给定虚拟机的附加参数传递给 hook 脚本。

A.4. 支持的 VDSM 事件

表 A.1. 支持的 VDSM 事件

Name Description
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_start 在主机上启动 VDSM 之前。before_vdsm_start hook 以 root 用户身份执行,不继承 VDSM 进程的环境。
after_vdsm_stop 在主机上停止 VDSM 后。after_vdsm_stop hook 以 root 用户身份执行,不继承 VDSM 进程的环境。
before_nic_hotplug 在 NIC 热插到虚拟机之前。
after_nic_hotplug 在 NIC 热插到虚拟机后。
before_nic_hotunplug 在从虚拟机热插 NIC 前
after_nic_hotunplug 从虚拟机热插 NIC 后。
after_nic_hotplug_fail 热插到虚拟机的 NIC 后会失败。
after_nic_hotunplug_fail 热拔出虚拟机中的 NIC 后。
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 设备迁移后,在进行迁移的源主机上运行。
after_network_setup在启动主机机器时设置网络后。
before_network_setup在启动主机机器时设置网络前。

A.5. VDSM Hook 环境

大多数 hook 脚本都以 vdsm 用户身份运行,并继承 VDSM 进程的环境。例外是 before_vdsm_startafter_vdsm_stop 事件触发的 hook 脚本。这些事件触发的钩子脚本以 root 用户身份运行,不继承 VDSM 进程的环境。

A.6. VDSM Hook 域 XML 对象

当 hook 脚本启动时,_hook_domxml 变量会附加到环境中。此变量包含相关虚拟机的 libvirt 域 XML 表示的路径。有几个 hook 是此规则的一个例外,如下所示。
以下 hook 的 _hook_domxml 变量包含 NIC 的 XML 表示,而不是虚拟机。
  • *_nic_hotplug_*
  • *_nic_hotunplug_*
  • *_update_device
  • *_device_create
  • *_device_migrate_*
重要
before_migration_destinationbefore_dehibernation hook 目前从源主机接收域的 XML。目标中域的 XML 将有不同的不同。
VDSM 使用 libvirt 域 XML 格式来定义虚拟机。有关 libvirt 域 XML 格式的详情,请参考 http://libvirt.org/formatdomain.html。可以从域 XML 中减少虚拟机的 UUID,但也可以作为环境变量 vmId 提供。

A.7. 定义自定义属性

Red Hat Virtualization Manager 接受的自定义属性 - 依次传递给自定义 hook - 使用 engine-config 命令定义。在安装了 Red Hat Virtualization Manager 的主机中以 root 用户身份运行此命令。
UserDefinedVMPropertiesCustomDeviceProperties 配置键用于存储支持的自定义属性的名称。定义每个命名自定义属性的有效值的正则表达式也包含在这些配置键中。
多个自定义属性由分号分隔。请注意,在设置配置键时,它包含的任何现有值都会被覆盖。在组合新的和现有的自定义属性时,必须包含用于设置键值的命令中的所有自定义属性。
更新配置密钥后,必须重启 ovirt-engine 服务,才能使新值生效。

例 A.1. 虚拟机属性 - 定义 智能卡 自定义属性

  1. 使用以下命令,检查 UserDefinedVMProperties 配置键定义的现有自定义属性:
    # engine-config -g UserDefinedVMProperties
    如以下输出所示,自定义属性 内存 已定义。正则表达式 ^[0-9]+$ 确保自定义属性仅包含数字字符。
    # engine-config -g UserDefinedVMProperties
    UserDefinedVMProperties:  version: 3.6
    UserDefinedVMProperties:  version: 4.0
    UserDefinedVMProperties : memory=^[0-9]+$ version: 4.0
  2. 由于 memory custom 属性已在 UserDefinedVMProperties 配置键中定义,新的自定义属性必须附加到其中。额外的自定义属性 smartcard 被添加到配置键的值中。新的自定义属性可以保存值 truefalse
    # engine-config -s UserDefinedVMProperties='memory=^[0-9]+$;smartcard=^(true|false)$' --cver=4.0
  3. 验证 UserDefinedVMProperties 配置键定义的自定义属性是否已正确更新。
    # engine-config -g UserDefinedVMProperties
    UserDefinedVMProperties:  version: 3.6
    UserDefinedVMProperties:  version: 4.0
    UserDefinedVMProperties : memory=^[0-9]+$;smartcard=^(true|false)$ version: 4.0
  4. 最后,必须重启 ovirt-engine 服务才能使配置更改生效。
    # systemctl restart ovirt-engine.service

例 A.2. 设备属性 - 定义 接口 自定义属性

  1. 使用以下命令,检查 CustomDeviceProperties 配置键定义的现有自定义属性:
    # engine-config -g CustomDeviceProperties
    如以下输出所示,还没有定义自定义属性。
    # engine-config -g CustomDeviceProperties
    CustomDeviceProperties:  version: 3.6
    CustomDeviceProperties:  version: 4.0
  2. 接口 自定义属性不存在,因此它可以附加为。在本例中,speed sub-property 的值设置为范围 0 到 99999,且 duplex 子的值被设置为 fullhalf 的选择。
    # engine-config -s CustomDeviceProperties="{type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}}" --cver=4.0
  3. 验证 CustomDeviceProperties 配置键定义的自定义属性是否已正确更新。
    # engine-config -g CustomDeviceProperties
    UserDefinedVMProperties:  version: 3.6
    UserDefinedVMProperties:  version: 4.0
    UserDefinedVMProperties : {type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}} version: 4.0
  4. 最后,必须重启 ovirt-engine 服务才能使配置更改生效。
    # systemctl restart ovirt-engine.service

A.8. 设置虚拟机自定义属性

在 Red Hat Virtualization Manager 中定义自定义属性后,您可以在虚拟机上开始设置它们。自定义属性在管理门户中新建虚拟机和编辑虚拟机窗口的 Custom Properties 选项卡上设置。
您也可以从 Run Virtual Machine (s) 对话框中设置自定义属性。从 Run Virtual Machine (s) 对话框中设置的自定义属性将仅适用于虚拟机,直到下次关闭为止。
Custom Properties 选项卡为您提供了从定义的自定义属性列表中选择的工具。选择一个自定义属性键后,会显示其他字段后,您可以为该键输入一个值。单击 + 按钮,并通过点击 - 按钮来删除它们,以添加额外的键/值对。

A.9. 在 VDSM Hook 中评估虚拟机自定义属性

自定义属性字段中为虚拟机设置 的每个键都会在调用 hook 脚本时附加为环境变量。虽然用于验证 Custom Properties 字段的正则表达式提供了一些保护,但您应该确保脚本也验证提供的输入是否与预期匹配。

例 A.3. 评估自定义属性

此短 Python 示例检查是否存在自定义属性 key1。如果设置了 custom 属性,则会将值打印到标准错误。如果没有设置自定义属性,则不执行任何操作。
#!/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 对象。然后,hook 脚本可以使用 xml.domhttp://docs.python.org/release/2.6/library/xml.dom.html()中构建的 Python 来操作对象。
然后,可以使用 hooking 模块将修改的对象保存到 libvirt XML 中。hooking 模块提供以下功能来支持 hook 开发:

表 A.2. hooking 模块功能

Name 参数 Description
tobool 字符串 将字符串 "true" 或 "false" 转换为布尔值
read_domxml - 将虚拟机的 libvirt XML 读到 DOM 对象中
write_domxml DOM 对象 DOM 对象写入虚拟机的 libvirt XML

A.11. VDSM Hook 执行

before_vm_start 脚本可以编辑域 XML,以便在达到 libvirt 之前更改虚拟机的 VDSM 定义。要这样做,必须谨慎操作。钩子脚本可能会破坏 VDSM 的操作,而 buggy 脚本可能会导致 Red Hat Virtualization 环境中断。特别是,请确保您永远不会更改域的 UUID,且不尝试在没有足够背景知识的情况下尝试从域中删除设备。
before_vdsm_startafter_vdsm_stop hook 脚本都以 root 用户身份运行。需要系统 root 访问权限的其他钩子脚本必须写为使用 sudo 命令进行特权升级。要支持此 /etc/sudoers,必须更新 /etc/sudoers,以允许 vdsm 用户在不重新输入密码的情况下使用 sudo。这是必要的,因为 hook 脚本是非交互方式执行的。

例 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 代码使用 sudo 在文件 /my_file 上以 root 用户身份执行 /bin/chown
retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
在 VDSM 的日志中收集 hook 脚本的标准错误流。此信息用于调试 hook 脚本。

A.12. VDSM Hook 返回码

钩子脚本必须返回 表 A.3 “hook 返回码” 中显示的返回代码。返回代码将确定 VDSM 是否处理进一步的 hook 脚本。

表 A.3. hook 返回码

代码 Description
0 hook 脚本已成功终止
1 hook 脚本失败,应该处理其他 hook
2 hook 脚本失败,不应处理其他 hook
>2 保留

A.13. VDSM Hook 示例

本节中提供的 hook 脚本示例严格不受红帽支持。您必须确保安装到您的系统的任何和所有 hook 脚本,无论源是什么,都对您的环境进行了全面的测试。

例 A.5. NUMA 节点调优

用途:

此 hook 脚本允许根据 numaset 自定义属性调整 NUMA 主机上的内存分配。其中 custom 属性未设置任何操作。

配置字符串:

numaset=^(interleave|strict|preferred):[\^]?\d+(-\d+)?(,[\^]?\d+(-\d+)?)*$

使用的正则表达式,允许给定虚拟机的 numaset 自定义属性来指定分配模式(interleave严格preferred)以及使用的节点。这两个值用冒号(:)分隔。正则表达式允许按以下方式指定 nodeset
  • 该特定节点(numaset=strict:1, 指定只使用节点 1)或者
  • 使用的节点范围(numaset=strict:1-4,指定使用节点 1 到 4)或
  • 不使用特定节点(numaset=strict:^3,指定不使用节点 3)或
  • 上述任意以逗号分隔的组合(numaset=strict:1-4,6,指定要使用的节点为节点 1 到 4 和节点 6)。

script:

/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. 自定义网络属性

B.1. bridge_opts 参数的说明

表 B.1. bridge_opts parameters

参数 Description
forward_delay 以秒为单位设置网桥将花费在侦听和学习状态的时间。如果此时没有发现切换循环,网桥将进入转发状态。这允许时间在普通网络操作前检查网络的流量和布局。
gc_timer 设置垃圾回收时间(以秒为单位),然后检查转发数据库并清除超时条目。
group_addr 发送常规查询时,设置为零。在发送特定于组的查询或特定于组的查询时,设置为 IP 多播地址。
group_fwd_mask 启用网桥来转发链接本地组地址。更改默认值将允许非标准桥接行为。
hash_elasticity hash 表中允许的最大链长度。在添加了下一个新的多播组后,才会生效。如果在重新哈希后无法满足这一点,则会出现哈希冲突并禁用 snooping。
hash_max hash 表中的最大 bucket 数量。这会立即生效,且不能设置为小于当前多播组条目数的值。值必须是 2 的指数。
hello_time 在发送 'hello' 消息、在网络拓扑中发布网桥位置之间设置时间间隔(以秒为单位)。仅在此网桥是生成树根网桥时才适用。
hello_timer 从上次 'hello' 消息发送后的时间(以秒为单位)。
max_age 在该网桥被视为 dead 和 takeover 之前,设置从另一个根网桥接收"hello"消息的最长时间。
multicast_last_member_count 从主机接收"leave group"消息后,设置发送到多播组的 'last member' 查询数量。
multicast_last_member_interval 以毫秒为单位设置 'last member' 查询之间的时间。
multicast_membership_interval 设置网桥将在停止向主机发送多播流量之前,从多播组成员中听到的时间(以秒为单位)。
multicast_querier 设置网桥是否主动运行多播排序器。当网桥收到另一个网络主机的"多播主机成员资格"查询时,该主机会根据收到查询的时间以及多播查询间隔时间进行跟踪。如果网桥稍后尝试转发该多播成员资格的流量,或者与查询多播路由器通信,则这个计时器确认了 querier 的有效性。如果有效,多播流量通过网桥的现有多播成员资格表交付;如果不再有效,流量将通过所有网桥端口发送。广播域或期望、多播成员资格应至少运行一个多播,以提高性能。
multicast_querier_interval 设置从主机接收的最后"多播主机成员资格"查询之间的最长时间,以确保其仍然有效。
multicast_query_use_ifaddr 布尔值.默认为 '0',在这种情况下,querier 使用 0.0.0.0 作为 IPv4 消息的源地址。更改这会将网桥 IP 设置为源地址。
multicast_query_interval 设置网桥发送的查询消息之间的时间(以秒为单位),以确保多播成员资格的有效性。此时,或者要求网桥发送该成员资格的多播查询,网桥会根据请求检查检查加上 multicast_query_interval 的时间检查自己的多播状态。如果这个成员资格的多播查询已在最后一个 multicast_query_interval 中发送,则不会再次发送它。
multicast_query_response_interval 主机允许发送后响应查询的时间长度(以秒为单位)。必须小于或等于 multicast_query_interval 的值。
multicast_router 允许您在附加多播路由器时启用或禁用端口。具有一个或多个多播路由器的端口将接收所有多播流量。值 0 可完全禁用,1 值可让系统根据查询自动检测到路由器是否存在,值 2 可让端口始终接收所有多播流量。
multicast_snooping 切换是否启用或禁用 snooping。snooping 允许网桥侦听路由器和主机之间的网络流量,以维护过滤多播流量到相应链接的映射。这个选项允许用户在因为哈希冲突而自动禁用时重新启用 snooping,但如果未解决哈希冲突,则不会重新启用snooping。
multicast_startup_query_count 设置在启动时发送的查询数量,以确定成员资格信息。
multicast_startup_query_interval 设置在启动时发送的查询之间的时间(以秒为单位),以确定成员资格信息。

B.2. 如何将 Red Hat Virtualization Manager 设置为使用 Ethtool

您可以从管理门户为主机网络接口卡配置 ethtool 属性。ethtool_opts 密钥默认不可用,需要使用引擎配置工具添加到管理器。您还需要在主机上安装所需的 VDSM hook 软件包。

过程 B.1. 在 Manager 中添加 ethtool_opts 密钥

  1. 在 Manager 中运行以下命令添加密钥:
    # engine-config -s UserDefinedNetworkCustomProperties=ethtool_opts=.* --cver=4.0
    
  2. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  3. 在您要配置 ethtool 属性的主机上,安装 VDSM hook 软件包。软件包默认在 Red Hat Virtualization 主机上可用,但需要在 Red Hat Enterprise Linux 主机上安装。
    # yum install vdsm-hook-ethtool-options
ethtool_opts 键现在在管理门户中提供。请参阅 第 6.5.2 节 “编辑主机网络接口并将逻辑网络分配给主机” 将 ethtool 属性应用到逻辑网络。

B.3. 如何将 Red Hat Virtualization Manager 设置为使用 FCoE

您可以从管理门户中为主机网络接口卡配置光纤通道(FCoE)属性。fcoe 密钥默认不可用,需要使用引擎配置工具添加到管理器中。您可以运行以下命令来检查 fcoe 是否已启用:
# engine-config -g UserDefinedNetworkCustomProperties
您还需要在主机上安装所需的 VDSM hook 软件包。根据主机上的 FCoE 卡,可能还需要特殊配置;请参阅 Red Hat Enterprise Linux Storage Administration Guide 中的 通过以太网接口配置光纤通道

过程 B.2. 在 Manager 中添加 fcoe 密钥

  1. 在 Manager 中运行以下命令添加密钥:
    # engine-config -s UserDefinedNetworkCustomProperties='fcoe=^((enable|dcb|auto_vlan)=(yes|no),?)*$'
    
  2. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  3. 在您要在其上配置 FCoE 属性的每个 Red Hat Enterprise Linux 主机上安装 VDSM hook 软件包。默认情况下,该软件包在 Red Hat Virtualization Host (RHVH)上可用。
    # yum install vdsm-hook-fcoe
fcoe 密钥现在在管理门户中提供。请参阅 第 6.5.2 节 “编辑主机网络接口并将逻辑网络分配给主机” 将 FCoE 属性应用到逻辑网络。

附录 C. Red Hat Virtualization 用户界面插件

C.1. Red Hat Virtualization 用户界面插件

Red Hat Virtualization 支持公开非标准功能的插件。这样可以更轻松地使用 Red Hat Virtualization 管理门户与其他系统集成。每个接口插件代表一组用户界面扩展,可打包并分发以用于 Red Hat Virtualization。
Red Hat Virtualization 的用户界面插件使用 JavaScript 编程语言直接与客户端上的管理门户集成。插件由管理门户调用,并在 Web 浏览器的 JavaScript 运行时中执行。用户界面插件可以使用 JavaScript 语言及其库。
在运行时的关键事件,管理门户通过代表 Administration-Portal-to-plug-in 通信的事件处理程序函数调用各个插件。虽然管理门户支持多个 event-handler 功能,但插件声明仅涉及其实施的功能。每个插件必须注册相关的事件处理程序功能,作为插件 bootstrap 序列的一部分,然后才能供管理门户使用。
为便于驱动用户界面扩展的插件到门户通信,管理门户会将插件 API 作为一个全局(顶级)插件Api JavaScript 对象公开。每个插件获取一个单独的插件Api 实例,允许管理门户控制与插件生命周期相关的每个插件 API 功能调用。

C.2. Red Hat Virtualization 用户界面插件生命周期

C.2.1. Red Hat Virtualization 用户界面插件生命周期

用户界面插件的基本生命周期分为三个阶段:
  1. 插件发现。
  2. 插件加载.
  3. 插件引导.

C.2.2. Red Hat Virtualization 用户界面插件发现

创建插件描述符是插件发现过程中的第一步。插件描述符包含重要的插件元数据和可选默认插件配置。
作为处理管理门户 HTML 页面请求(HTTP GET)的一部分,用户界面插件基础架构会尝试从本地文件系统发现和加载插件描述符。对于每个插件描述符,基础架构还会尝试加载用于覆盖默认插件配置(如果存在)和 tweak 插件运行时行为的对应插件用户配置。插件用户配置是可选的。加载描述符和对应的用户配置文件后,oVirt Engine 会聚合用户界面插件数据,并将其嵌入到管理门户 HTML 页面中以进行运行时评估。
默认情况下,插件描述符位于 $ENGINE_USR/ui-plug-ins 中,默认映射 ENGINE_USR=/usr/share/ovirt-engine,如 oVirt Engine 本地配置定义。插件描述符应遵循 JSON 格式规格,但插件描述符允许 Java/C++ 样式注释(包括 locate 和 // arieties),除了 JSON 格式规格外。
默认情况下,插件用户配置文件驻留在 $ENGINE_ETC/ui-plug-ins 中,默认映射 ENGINE_ETC=/etc/ovirt-engine,由 oVirt Engine 本地配置定义。插件用户配置文件应遵循与插件描述符相同的内容格式规则。
注意
插件用户配置文件通常遵循 < descriptorFileName>-config.json 命名约定。

C.2.3. Red Hat Virtualization 用户界面插件

在发现插件并且其数据被嵌入到管理门户 HTML 页面中后,管理门户会尝试作为应用程序启动的一部分加载插件(除非您已将插件配置为应用程序启动的一部分)。
对于已发现的每个插件,管理门户会创建一个 HTML iframe 元素,用于加载其主机页面。插件主机页面是开始插件 bootstrap 过程(bootstrap 过程)所必需的,用于评估插件的 iframe 元素上下文中的插件代码。用户界面插件基础架构支持本地文件系统中的服务插件资源文件(如插件主机页面)。插件主机页面加载到 iframe 元素中,评估插件代码。评估插件代码后,插件通过插件 API 与管理门户通信。

C.2.4. Red Hat Virtualization 用户界面插件

典型的插件 bootstrap 序列包括以下步骤:

过程 C.1. 插件 Bootstrap Sequence

  1. 为给定插件获取 pluginApi 实例
  2. 获取运行时插件配置对象(可选)
  3. 注册相关的事件处理器功能
  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();

C.4. 用户界面插件部署示例

在登录到 Red Hat Virtualization Manager 管理门户时,创建运行 Hello World! 程序的用户界面插件。

过程 C.2. 部署 Hello World!插件

  1. 通过在位于 /usr/share/ovirt-engine/ui-plugins/helloWorld.json 的 Manager 中创建以下文件来创建插件描述符:
    {
        "name": "HelloWorld",
        "url": "/ovirt-engine/webadmin/plugin/HelloWorld/start.html",
        "resourcePath": "hello-files"
    }
    
  2. 通过在位于 /usr/share/ovirt-engine/ui-plugins/hello-files/start.html 的 Manager 中创建以下文件来创建插件主机页面:
    <!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! 插件,当您登录管理门户时,您将看到此屏幕:

图 C.1. 成功实施 Hello World!插件

成功实施 Hello World!插件

C.5. Using Red Hat Support Plug-in

Red Hat Access 插件允许您使用 Red Hat Virtualization 管理门户访问服务。您必须使用您的红帽登录凭证登录。Red Hat Access Plug-in 检测到您没有登录的时间 ; 如果没有登录,则会打开一个登录窗口。
注意
Red Hat Virtualization 管理门户凭证与用户的红帽登录名不同。

图 C.2. Red Hat Support Plug-in - Login Window

红帽支持插件登录窗口
登录后,您将能够访问红帽客户门户。Red Hat Support Plug-in 在详情栏中提供,以及 Red Hat Virtualization 管理门户中的多个上下文菜单。使用搜索栏搜索红帽访问数据库。搜索结果显示在详情窗格中的左侧导航列表中。

图 C.3. 红帽支持插件 - Left-Hand 导航列表中的查询结果

查询结果是红帽支持插件的左侧导航列表
右键单击 Red Hat Virtualization 管理员门户中的上下文菜单,以访问红帽支持插件。

图 C.4. 右键单击上下文菜单以访问红帽支持插件

右键单击上下文菜单以访问红帽支持插件
选择 Open New Support CaseModify existing Case 按钮,创建新支持问题单或修改现有问题单

图 C.5. 红帽支持插件 - 创建一个新的支持问题单

红帽支持插件打开新的支持问题单
选择 Red Hat Documentation 选项卡,打开与当前屏幕中管理门户部分相关的文档。

图 C.6. 红帽支持插件 - 访问文档

红帽支持插件 - 显示如何通过红帽支持插件访问文档

附录 D. Red Hat Virtualization 和 SSL

D.1. 替换 Red Hat Virtualization Manager SSL/TLS 证书

警告
不要更改 /etc/pki 目录或任何子目录的权限和所有权。/etc/pki/etc/pki/ovirt-engine 目录的权限必须保留为默认的 755。
如果要使用您的机构的第三方 CA 证书通过 HTTPS 连接的用户,请使用以下步骤。
注意
将第三方 CA 证书用于 HTTPS 连接不会影响在 Manager 和主机之间进行身份验证的证书。它们将继续使用 Manager 生成的自签名证书。

前提条件

  • 第三方 CA 证书。这是签发您要使用的证书的 CA (Certificate Authority)的证书。它以 PEM 文件形式提供。证书链必须完成到 root 证书。链的顺序至关重要,且必须从最后一个中间证书到 root 证书。此流程假设第三方 CA 证书在 /tmp/3rd-party-ca-cert.pem 中提供。
  • 要用于 Apache httpd 的私钥。它不能有密码。此流程假定它位于 /tmp/apache.key 中。
  • CA 发布的证书。此流程假定它位于 /tmp/apache.cer 中。
如果您在 P12 文件中从 CA 收到私钥和证书,请使用以下步骤提取它们。对于其他文件格式,请联系您的 CA。提取私钥和证书后,继续 替换 Red Hat Virtualization Manager Apache SSL 证书

过程 D.1. 从 P12 捆绑包中提取证书和密钥

内部 CA 将内部生成的密钥和证书存储在 P12 文件中,该文件存储在 /etc/pki/ovirt-engine/keys/apache.p12 中。红帽建议将新文件存储在同一位置。以下步骤假定新的 P12 文件位于 /tmp/apache.p12 中。
  1. 备份当前的 apache.p12 文件:
    # cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck
  2. 使用新文件替换当前文件:
    # cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12
  3. 将私钥和证书提取到所需的位置。如果文件受密码保护,您必须添加 -passin pass:password,将 password 替换为所需的密码。
    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nocerts -nodes > /tmp/apache.key
    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nokeys > /tmp/apache.cer
    
重要
对于新的 Red Hat Virtualization 安装,您必须完成此流程中的所有步骤。如果您从已经配置了商业签名证书的 Red Hat Enterprise Virtualization 3.6 环境升级,则只需要步骤 1、8 和 9。

过程 D.2. 替换 Red Hat Virtualization Manager Apache SSL 证书

  1. 将您的 CA 证书添加到主机范围的信任存储中:
    # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ca-trust/source/anchors
    # update-ca-trust
  2. 管理器已配置为使用 /etc/pki/ovirt-engine/apache-ca.pem,它是符号链接到 /etc/pki/ovirt-engine/ca.pem。删除符号链接:
    # rm /etc/pki/ovirt-engine/apache-ca.pem
  3. 将您的 CA 证书保存为 /etc/pki/ovirt-engine/apache-ca.pem
    # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ovirt-engine/apache-ca.pem
  4. 备份现有的私钥和证书:
    # cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.bck
    # cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.bck
  5. 将私钥复制到所需位置:
    # cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass
  6. 将证书复制到所需位置:
    # cp /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer
  7. 重启 Apache 服务器:
    # systemctl restart httpd.service
  8. 创建新的信任存储配置文件:
    # vi /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf
    添加以下内容并保存文件:
    ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
    ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""
  9. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  10. 替换证书可能会导致日志收集器失败。要防止这种情况,请创建一个新的日志收集器配置文件:
    # vi /etc/ovirt-engine/logcollector.conf.d/99-custom-ca-cert.conf
    添加以下内容并保存文件:
    [LogCollector]
    cert-file=/etc/pki/ovirt-engine/apache-ca.pem
您的用户现在可以连接到管理和门户网站,而不会警告用于加密 HTTPS 流量的证书的真实性。

D.2. 在 Manager 和 LDAP 服务器之间设置 SSL 或 TLS 连接

要在 Red Hat Enterpriser Virtualization Manager 和 LDAP 服务器之间设置安全连接,获取 LDAP 服务器的 root CA 证书,将 root CA 证书复制到管理器,并创建 PEM 编码的 CA 证书。密钥存储类型可以是任何 Java 支持的类型。以下流程使用 Java KeyStore (JKS)格式。
注意
有关创建 PEM 编码的 CA 证书和导入证书的更多信息,请参阅 README 文件的 X.509 CERTIFICATE TRUST STORE 部分,网址为 /usr/share/doc/ovirt-engine-extension-aaa-ldap-version

过程 D.3. 创建 PEM 编码的 CA 证书

  1. 在 Red Hat Virtualization Manager 中,将 LDAP 服务器的 root CA 证书复制到 /tmp 目录中,并使用 keytool 创建 PEM 编码的 CA 证书。以下命令在 /tmp/myrootca.pem 中导入 root CA 证书,并在 /etc/ovirt-engine/aaa/ 下创建 PEM 编码的 CA 证书 myrootca.jks。请注意证书的位置和密码。如果您使用交互式设置工具,这是您需要的所有信息。如果您要手动配置 LDAP 服务器,请按照剩余的步骤来更新配置文件。
    $ keytool -importcert -noprompt -trustcacerts -alias myrootca -file /tmp/myrootca.pem -keystore /etc/ovirt-engine/aaa/myrootca.jks -storepass password
  2. 使用证书信息更新 /etc/ovirt-engine/aaa/profile1.properties 文件:
    注意
    ${local:_basedir} 是 LDAP 属性配置文件所在的目录,并指向 /etc/ovirt-engine/aaa 目录。如果您在不同的目录中创建 PEM 编码的 CA 证书,请将 ${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 = password
    • 使用 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 = password
要继续配置外部 LDAP 供应商,请参阅 第 15.3.1 节 “配置外部 LDAP 提供程序(交互设置)”。要继续为单点登录配置 LDAP 和 Kerberos,请参阅 第 15.4 节 “为单点登录配置 LDAP 和 Kerberos”

附录 E. 使用搜索、书签和标签

E.1. 搜索

E.1.1. 在 Red Hat Virtualization 中执行搜索

管理门户支持管理数千种资源,如虚拟机、主机、用户等。 要执行搜索,请在搜索栏中输入搜索查询(自由文本或语法)。搜索查询可以保存为书签以供以后重复使用,因此您不必在每次需要特定搜索结果时重新设置搜索查询。搜索不区分大小写。

E.1.2. 搜索语法和示例

对 Red Hat Virtualization 资源的搜索查询的语法如下:
结果类型:{criteria} [sortby sort_spec]

语法示例

以下示例描述了如何使用搜索查询并帮助您了解 Red Hat Virtualization 如何协助构建搜索查询。

表 E.1. 搜索查询示例

Example 结果
hosts: Vms.status = up 显示所有运行状态为 up 的虚拟机的主机的列表。
虚拟机:domain = qa.company.com 显示在指定域中运行的所有虚拟机的列表。
vm: users.name = Mary 显示属于用户名为 Mary 的所有虚拟机的列表。
Events: severity > normal sortby time 显示所有严重性高于 Normal 的事件的列表,按时间排序。

E.1.3. 搜索自动完成

管理门户提供了自动完成功能,以帮助您创建有效、强大的搜索查询。当您输入搜索查询的每个部分时,搜索的下一部分的下拉列表会在搜索栏下打开。您可以从列表中选择,然后继续键入/选择搜索的下一部分,或者忽略选项并继续手动输入查询。
下表指定管理门户自动完成如何协助构建查询的示例:
Hosts: Vms.status = down

表 E.2. 使用 Auto-Completion 的搜索查询示例

输入 列出已显示的项目 操作
h Hosts (仅 1 个选项)
选择 Hosts 或;
type Hosts
Hosts:
所有主机属性
type v
Hosts: v v开头的主机属性 选择 Vms 或 type Vms
Hosts: Vms 所有虚拟机属性 type s
Hosts: Vms.s 所有以 s开头的虚拟机属性 选择 状态 或类型 status
Hosts: Vms.status
=
=!
选择或类型 =
Hosts: Vms.status = 所有状态值 选择或类型 down

E.1.4. 搜索结果类型选项

结果类型允许您搜索以下类型的资源:
  • vms 虚拟机列表
  • Host 主机列表
  • 池列表
  • Template 模板列表
  • event 列表
  • Users 用户列表
  • Cluster 集群列表
  • DataCenter 数据中心 列表
  • Storage 存储域列表
由于每种资源类型都有一组唯一的属性,以及与之关联的其他资源类型集合,每种搜索类型都有一组有效的语法组合。您还可以使用自动完成功能轻松创建有效的查询。

E.1.5. 搜索标准

您可以在查询中的冒号后指定搜索条件。{criteria} 的语法如下:
<prop><operator><value>
或者
<obj-type><prop><operator><value>

例子

下表描述了语法的部分:

表 E.3. 搜索标准示例

Part Description Example 备注
prop search-for 资源的属性。也可以是资源类型的属性(请参阅 obj-type)或 tag (自定义标签)。 使用特定属性将搜索限制为对象。例如,搜索具有 status 属性的对象。 状态 N/A
obj-type 可以与 search-for 资源关联的资源类型。 这些是系统对象,如数据中心和虚拟机。 用户 N/A
operator 比较运算符。
=
!= (not equal)
>
<
>=
<=
N/A 值选项取决于 obj-type。
将表达式与.
字符串
整数
等级
日期(根据区域设置格式化)
jones
256
normal
  • 通配符可以在字符串中使用。
  • "" (两个一组没有空格的引号),可用于表示未初始化(空字符串)字符串。
  • 双引号应该在包含空格的字符串或日期后面使用

E.1.6. 搜索:多个标准和通配符

通配符可以在字符串的语法的 <value > 部分中使用。例如,要查找以 m 开头的所有用户,请输入 m*
您可以使用布尔值运算符 AND 和 或 执行具有两个条件的 搜索。例如:
Vms: users.name = m* AND status = Up
此查询会返回所有运行的虚拟机,适用于名称以"m"开头的用户。
Vms: users.name = m* AND tag = "paris-loc"
对于名称以"m"开头的用户,此查询会返回带有"paris-loc"标记的所有虚拟机。
在没有使用 ANDOR 的情况下指定了两个条件,代表 ANDAND 的优先级高于 OROR 的优先级高于没有明确指定的 AND

E.1.7. 搜索:确定搜索顺序

您可以使用 sortby 确定返回的信息的排序顺序。可以包括排序方向(asc 代表升序,desc 代表降序)。
例如:
events: severity > normal sortby time desc
此查询会返回所有严重性高于 Normal 的事件,按时间排序(降序)。

E.1.8. 搜索数据中心

下表描述了数据中心的所有搜索选项。

表 E.4. 搜索数据中心

属性(资源或资源类型) 类型 描述(参考)
Clusters.clusters-prop 取决于属性类型 与数据中心关联的集群的属性。
name 字符串 数据中心的名称。
description 字符串 数据中心的描述。
type 字符串 数据中心的类型。
status list 数据中心的可用性。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Datacenter: type = nfs and status != up

这个示例返回带有以下内容的数据中心列表:
  • 存储类型为 NFS 和状态

E.1.9. 搜索集群

下表描述了集群的所有搜索选项。

表 E.5. 搜索集群

属性(资源或资源类型) 类型 描述(参考)
Datacenter.datacenter-prop 取决于属性类型 与集群关联的数据中心的属性。
Datacenter 字符串 集群所属的数据中心。
name 字符串 标识网络上的集群的唯一名称。
description 字符串 集群的描述。
initialized 字符串 true 或 False 表示集群的状态。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Clusters: initialized = true or name = Default

这个示例返回如下集群列表:
  • 初始化的; 或
  • 命名的默认

E.1.10. 搜索主机

下表描述了主机的所有搜索选项。

表 E.6. 搜索主机

属性(资源或资源类型) 类型 描述(参考)
Vms.Vms-prop 取决于属性类型 与主机关联的虚拟机的属性。
Templates.templates-prop 取决于属性类型 与主机关联的模板的属性。
Events.events-prop 取决于属性类型 与主机关联的事件的属性。
Users.users-prop 取决于属性类型 与主机关联的用户的属性。
name 字符串 主机的名称。
status list 主机的可用性。
external_status 字符串 外部系统和插件报告的主机健康状态。
cluster 字符串 主机所属的集群。
address 字符串 标识网络上主机的唯一名称。
cpu_usage 整数 使用的处理能力百分比。
mem_usage 整数 使用的内存百分比。
network_usage 整数 网络用量百分比。
load 整数 在给定时间片段中,等待每个处理器的 run-queue 中执行的作业。
version 整数 操作系统的版本号。
cpus 整数 主机上的 CPU 数量。
memory 整数 可用内存量。
cpu_speed 整数 CPU 的处理速度。
cpu_model 字符串 CPU 的类型。
active_vms 整数 当前正在运行的虚拟机数量。
migrating_vms 整数 当前正在迁移的虚拟机数量。
committed_mem 整数 提交的内存百分比。
tag 字符串 分配给主机的标签。
type 字符串 主机的类型。
datacenter 字符串 主机所属的数据中心。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Hosts: cluster = Default and Vms.os = rhel6

这个示例返回主机列表:
  • 是运行 Red Hat Enterprise Linux 6 操作系统的默认集群和主机虚拟机的一部分。

E.1.11. 搜索网络

下表描述了网络的所有搜索选项。

表 E.7. 搜索网络

属性(资源或资源类型) 类型 描述(参考)
Cluster_network.clusternetwork-prop 取决于属性类型 与网络关联的集群的属性。
Host_Network.hostnetwork-prop 取决于属性类型 与网络关联的主机的属性。
name 字符串 标识网络的人类可读名称。
description 字符串 描述网络的关键字或文本(在创建网络时可选使用)。
vlanid 整数 网络的 VLAN ID。
stp 字符串 是否为网络启用或禁用生成树协议(STP)。
mtu 整数 逻辑网络的最大传输单元。
vmnetwork 字符串 网络是否仅用于虚拟机流量。
datacenter 字符串 网络附加到的数据中心。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Network: mtu > 1500 and vmnetwork = true

这个示例返回网络列表:
  • 最大传输单元大于 1500 字节
  • 设置的用户仅供虚拟机使用。

E.1.12. 搜索存储

下表描述了存储的所有搜索选项。

表 E.8. 搜索存储

属性(资源或资源类型) 类型 描述(参考)
Hosts.hosts-prop 取决于属性类型 与存储关联的主机的属性。
Clusters.clusters-prop 取决于属性类型 与存储关联的集群的属性。
name 字符串 标识网络上存储的唯一名称。
status 字符串 存储域的状态。
external_status 字符串 外部系统和插件报告的存储域的健康状况。
datacenter 字符串 存储所属的数据中心。
type 字符串 存储的类型。
size 整数 存储的大小。
used 整数 使用的存储量。
committed 整数 提交的存储量。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Storage: size > 200 or used < 50

这个示例返回了一个存储列表:
  • 存储空间总量超过 200 GB;或者
  • 使用的存储空间小于 50 GB。

E.1.13. 搜索磁盘

下表描述了磁盘的所有搜索选项。

表 E.9. 搜索磁盘

属性(资源或资源类型) 类型 描述(参考)
Datacenters.datacenters-prop 取决于属性类型 与磁盘关联的数据中心的属性。
Storages.storages-prop 取决于属性类型 与磁盘关联的存储的属性。
alias 字符串 标识网络上存储的人类可读名称。
description 字符串 描述磁盘时使用的关键字或文本(可选)。
provisioned_size 整数 磁盘的虚拟大小。
size 整数 磁盘大小。
actual_size 整数 分配给磁盘的实际大小。
creation_date 整数 磁盘创建的日期。
bootable 字符串 磁盘是否可以引导。有效值为 0, 1, yes, 或 no 之一
shareable 字符串 磁盘是否能一次连接到多个虚拟机。有效值为 0, 1, yes, 或 no 之一
format 字符串 磁盘格式。可以是 unused, unassigned, cow, 或 raw 之一。
status 字符串 磁盘状态。可以是 unassigned, ok, locked, invalid, 或 illegal 之一。
disk_type 字符串 磁盘的类型。可以是 imagelun 之一。
number_of_vms 整数 附加磁盘的虚拟机数量。
vm_names 字符串 附加磁盘的虚拟机的名称。
quota 字符串 虚拟磁盘上强制配额的名称。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Disks: format = cow and provisioned_size > 8

这个示例返回虚拟磁盘列表:
  • QCOW,也称为精简配置、格式和
  • 分配的磁盘大小大于 8 GB。

E.1.14. 搜索卷

下表描述了卷的所有搜索选项。

表 E.10. 搜索卷

属性(资源或资源类型) 类型 描述(参考)
Volume.cluster-prop 取决于属性类型 与卷关联的集群的属性。
Cluster 字符串 与卷关联的集群名称。
name 字符串 标识卷的人类可读名称。
type 字符串 可以是 distribute, copy, distributed_replicate, stripe, 或 distributed_stripe 之一。
transport_type 整数 可以是 TCP 或 RDMA 之一。
replica_count 整数 副本数。
stripe_count 整数 条带数。
status 字符串 卷的状态。可以是 Up 或 Down 之一。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Volume: transport_type = rdma and stripe_count >= 2

这个示例返回了一个卷列表:
  • 传输类型设置为 RDMA; 和
  • 带 2 个或更多条。

E.1.15. 搜索虚拟机

下表描述了虚拟机的所有搜索选项。

表 E.11. 搜索虚拟机

属性(资源或资源类型) 类型 描述(参考)
Hosts.hosts-prop 取决于属性类型 与虚拟机关联的主机的属性。
Templates.templates-prop 取决于属性类型 与虚拟机关联的模板的属性。
Events.events-prop 取决于属性类型 与虚拟机关联的事件的属性。
Users.users-prop 取决于属性类型 与虚拟机关联的用户的属性。
Storage.storage-prop 取决于属性类型 与虚拟机关联的存储设备的属性。
Vnic.mac-prop 取决于属性类型 与虚拟机关联的 MAC 地址的属性。
name 字符串 虚拟机的名称。
status list 虚拟机可用性。
ip 整数 虚拟机的 IP 地址。
uptime 整数 虚拟机运行了几分钟的时间。
domain 字符串 对这些机器进行分组的域(通常是 Active Directory 域)。
os 字符串 创建虚拟机时选择的操作系统。
creationdate Date 创建虚拟机的日期。
address 字符串 标识网络上的虚拟机的唯一名称。
cpu_usage 整数 使用的处理能力百分比。
mem_usage 整数 使用的内存百分比。
network_usage 整数 使用的网络的百分比。
memory 整数 定义的最大内存。
apps 字符串 当前在虚拟机上安装的应用程序。
cluster list 虚拟机所属的集群。
pool list 虚拟机所属的虚拟机池。
loggedinuser 字符串 当前登录到虚拟机的用户的名称。
tag list 虚拟机所属的标签。
datacenter 字符串 虚拟机所属的数据中心。
type list 虚拟机类型(服务器或桌面)。
quota 字符串 与虚拟机关联的配额名称。
description 字符串 描述虚拟机的关键字或文本,可以选择创建虚拟机时使用。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。
next_run_configuration_exists 布尔值 虚拟机有待处理的配置更改。

Example

Vms: template.name = Win* and user.name = ""

这个示例返回虚拟机列表,其中:
  • 虚拟机基于的模板以 Win 开始,虚拟机将被分配给任何用户。

Example

Vms: cluster = Default and os = windows7

这个示例返回虚拟机列表,其中:
  • 虚拟机所属的集群名为 Default,虚拟机运行 Windows 7 操作系统。

E.1.16. 搜索池

下表描述了池的所有搜索选项。

表 E.12. 搜索池

属性(资源或资源类型) 类型 描述(参考)
name 字符串 池的名称。
description 字符串 池的描述。
type list 池的类型。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Pools: type = automatic

这个示例返回带有以下内容的池列表:
  • 自动类型

E.1.17. 搜索模板

下表描述了模板的所有搜索选项。

表 E.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 list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Template: Events.severity >= normal and Vms.uptime > 0

这个示例返回模板列表,其中:
  • 从模板派生的虚拟机上发生了正常或更高严重性的事件,并且虚拟机仍在运行。

E.1.18. 搜索用户

下表描述了用户的所有搜索选项。

表 E.14. 搜索用户

属性(资源或资源类型) 类型 描述(参考)
Vms.Vms-prop 取决于属性类型 与用户关联的虚拟机的属性。
Hosts.hosts-prop 取决于属性类型 与用户关联的主机的属性。
Templates.templates-prop 取决于属性类型 与用户关联的模板的属性。
Events.events-prop 取决于属性类型 与用户关联的事件的属性。
name 字符串 用户名称。
lastname 字符串 用户的姓氏。
usrname 字符串 用户的唯一名称。
department 字符串 用户所属的部门。
group 字符串 用户所属的组。
title 字符串 用户的标题。
status 字符串 用户的状态。
role 字符串 用户的角色。
tag 字符串 用户所属的标签。
pool 字符串 用户所属的池。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Users: Events.severity > normal and Vms.status = up or Vms.status = pause

这个示例返回一组用户,其中:
  • 大于正常严重性的事件在其虚拟机上发生,且虚拟机仍在运行;或者
  • 用户的虚拟机已暂停。

E.1.19. 搜索事件

下表描述了可用于搜索事件的所有搜索选项。会根据情况,为许多选项提供自动完成功能。

表 E.15. 搜索事件

属性(资源或资源类型) 类型 描述(参考)
Vms.Vms-prop 取决于属性类型 与事件关联的虚拟机的属性。
Hosts.hosts-prop 取决于属性类型 与事件关联的主机的属性。
Templates.templates-prop 取决于属性类型 与事件关联的模板的属性。
Users.users-prop 取决于属性类型 与事件关联的用户的属性。
Clusters.clusters-prop 取决于属性类型 与事件关联的集群的属性。
Volumes.Volumes-prop 取决于属性类型 与事件关联的卷的属性。
type list 事件的类型。
severity list 事件的严重性: Warning/Error/Normal.
message 字符串 事件类型的描述。
time list 事件发生日。
usrname 字符串 与事件关联的用户名。
event_host 字符串 与事件关联的主机。
event_vm 字符串 与事件关联的虚拟机。
event_template 字符串 与事件关联的模板。
event_storage 字符串 与事件关联的存储。
event_datacenter 字符串 与事件关联的数据中心。
event_volume 字符串 与事件关联的卷。
correlation_id 整数 事件的标识号。
sortby list 将返回的结果按照其中一个资源属性对结果进行排序。
page 整数 要显示的结果数。

Example

Events: Vms.name = testdesktop and Hosts.name = gonzo.example.com

这个示例返回事件列表,其中:
  • 当事件在主机 gonzo.example.com 上运行时,会发生在名为 testdesktop 的虚拟机上。

E.2. 书签

E.2.1. 将查询字符串保存为书签

书签 可用于记住搜索查询,并与其他用户共享。

过程 E.1. 将查询字符串保存为书签

  1. 在搜索栏中输入所需的搜索查询并执行搜索。
  2. 点搜索栏右侧的 star-shaped Bookmark 按钮打开 New Bookmark 窗口。

    图 E.1. 书签 Icon

    书签 Icon
  3. 输入书签 的名称
  4. 编辑 搜索字符串 字段(如果适用)。
  5. 单击 OK 以保存查询作为书签并关闭该窗口。
  6. 搜索查询已保存,并显示在 Bookmarks 窗格中。
您已将搜索查询保存为书签以供以后重复使用。使用 Bookmark 窗格查找并选择书签。

E.2.2. 编辑书签

您可以修改书签的名称和搜索字符串。

过程 E.2. 编辑书签

  1. 单击屏幕最左侧的 Bookmarks 选项卡。
  2. 选择您要编辑的书签。
  3. 点击 Edit 按钮,打开 Edit Bookmark 窗口。
  4. 根据需要更改 NameSearch string 字段。
  5. 单击 OK 以保存编辑的书签。
您已编辑了书签的搜索查询。

E.2.3. 删除书签

当不再需要书签时,请删除它。

过程 E.3. 删除书签

  1. 单击屏幕最左侧的 Bookmarks 选项卡。
  2. 选择您要删除的书签。
  3. 单击 Remove 按钮,打开 Remove Bookmark 窗口。
  4. 单击 OK 以删除所选书签。
您已删除了书签的搜索查询。

E.3. Tags

E.3.1. 使用标签在 Red Hat Virtualization 中自定义交互

在您的 Red Hat Virtualization 平台设置并配置为您的要求后,您可以使用标签自定义您的操作方法。 标签为系统管理员提供了一大优势:它们允许将系统资源排列成组或类别。当虚拟化环境中有很多对象,并且管理员希望集中于一组特定的对象时,这非常有用。
本节论述了如何创建和编辑标签,将它们分配到主机或虚拟机,并使用标签作为条件进行搜索。标签可以按照结构的层次结构排列,以满足企业的需求。
可以使用标签窗格创建、修改和删除管理门户 标签

E.3.2. 创建标签

创建标签,以便您可以使用标签过滤搜索结果。

过程 E.4. 创建标签

  1. 点屏幕左侧的 Tags 选项卡。
  2. 选择您要在其中创建标签的节点。例如,要在最高级别创建它,请单击 root 节点。
  3. 单击 New 按钮,以打开 New Tag 窗口。
  4. 输入新标签 的名称和描述
  5. 单击 OK 以创建该标签。
新标签已创建并显示在 标签 选项卡上。

E.3.3. 修改标签

您可以编辑标签的名称和描述。

过程 E.5. 修改标签

  1. 点屏幕左侧的 Tags 选项卡。
  2. 选择要修改的标签。
  3. 点击 Edit 以打开 Edit Tag 窗口。
  4. 根据需要更改 NameDescription 字段。
  5. 单击 OK 以保存编辑的标签。
您已修改了标签的属性。

E.3.4. 删除标签

当不再需要标签时,请删除它。

过程 E.6. 删除标签

  1. 点屏幕左侧的 Tags 选项卡。
  2. 选择您要删除的标签。
  3. 单击 Remove 以打开 Remove Tag (s) 窗口。消息警告,删除标签也会同时删除标签的所有后代。
  4. 单击 OK 以删除选定的标签。
您已删除了该标签及其所有子目录。该标签也会从它所附加的所有对象中删除。

E.3.5. 在对象中添加和删除标签

您可以分配标签到并从主机、虚拟机和用户中删除标签。

过程 E.7. 在对象中添加和删除标签

  1. 点 resource 选项卡,然后选择您想要标记或取消标签的对象。
  2. 单击分配标签按钮,以打开 Assign Tags 窗口。
  3. 选中复选框,以分配标签到对象,或者清除要从对象中分离标签的复选框。
  4. 点击 OK
指定的标签现在作为所选对象的自定义属性添加或删除。

E.3.6. 使用标签搜索对象

  • 使用 tag 作为属性以及所需值或值集作为搜索条件输入搜索查询。
    带有指定条件的对象列在结果列表中。

附录 F. 品牌

F.1. 品牌

F.1.1. 重新执行管理器

Red Hat Virtualization Manager 的各个方面可以自定义,如在弹出窗口中显示的图标和文本使用的图标以及 Welcome Page 中显示的链接。这样,您可以重新利用 Manager,并提供对管理员和用户提供的最终外观和感觉的精细控制。
自定义管理器所需的文件位于安装 Manager 的系统上的 /etc/ovirt-engine/branding/ 目录中。文件组成一组级联风格表文件,这些文件用于风格图形用户界面的各个方面,以及包含融合到管理器不同组件的消息和链接的一组属性文件。
要自定义组件,请编辑组件的 文件并保存更改。下次打开或刷新该组件时,会应用更改。

F.1.2. 登录屏幕

登录屏幕是管理门户和虚拟机门户使用的登录屏幕。可以自定义的登录屏幕的元素如下:
  • 边框
  • 左侧的标头镜像
  • 右侧的标头镜像
  • 标头文本
登录屏幕的类位于 common.css 中。

F.1.3. 管理门户屏幕

管理门户屏幕是登录管理门户时显示的主要屏幕。可以自定义的管理门户屏幕的元素如下:
  • 徽标
  • 左侧背景镜像
  • 中心背景镜像
  • 正确的背景镜像
  • 徽标右侧的文本
管理门户屏幕的类位于 web_admin.css 中。

F.1.4. 开发者门户屏幕

用户访问屏幕,当您登录客户门户网站时显示的屏幕。可自定义的用户门户屏幕的元素如下:
  • 徽标
  • 中心背景镜像
  • 正确的背景镜像
  • 主网格的边框
  • Logged in user 标签上方的文本
用户条目屏幕的类位于 user_portal.css 中。

F.1.5. 弹出 Windows

弹出窗口是 Manager 中的所有窗口,允许您创建、编辑或更新实体,如主机或虚拟机。可以自定义的弹出窗口的元素如下:
  • 边框
  • 左侧的标头镜像
  • 标头中心镜像(重复)
弹出窗口的类位于 common.css 中。

F.1.6. 标签页

开发人员门户中有两种标签页元素 - 在选择扩展视图时,在基本视图和扩展视图之间切换的主要标签页。在管理门户中的许多弹出窗口还包括标签页。可以自定义这些标签页的元素如下:
  • Active
  • Inactive
选项卡的类位于 common.cssuser_portal.css 中。

F.1.7. 欢迎页面

欢迎页面是您访问 Manager 主页时最初显示的页面。除了自定义整个外观和感觉外,您还可以进行其他更改,如通过编辑模板文件为其他文档或内部网站添加链接。可以自定义的 Welcome Page 的元素如下:
  • 页面标题
  • 标头(左、中心和右)
  • 错误消息
  • 转发的链接以及该链接的相关消息
Welcome Page 的类位于 welcome_style.css 中。

模板文件

Welcome Page 的模板文件是名称 welcome_page.template 的常规 HTML 文件,不包含 HTMLHEADBODY 标签。此文件直接插入到 Welcome Page 本身,并充当 Welcome Page 中显示的内容的容器。因此,您必须编辑此文件来添加新链接或更改内容本身。模板文件的另一个功能是它包含占位符文本,如 {user_portal},在处理 Welcome Page 时由 messages.properties 文件中的相应文本替换。

F.1.8. 未找到页面

Page Not Found 页面是一个页面,当您打开到无法在 Red Hat Virtualization Manager 中找到的页面时显示。可以自定义的 Page Not Found 页面的元素如下:
  • 页面标题
  • 标头(左、中心和右)
  • 错误消息
  • 转发的链接以及该链接的相关消息
Page Not Found 页面的类位于 welcome_style.css 中。

附录 G. 系统帐户

G.1. 系统帐户

G.1.1. Red Hat Virtualization Manager 用户帐户

安装 rhevm 软件包时,会创建多个系统用户帐户来支持 Red Hat Virtualization。每个系统用户都有一个默认的用户标识符(UID)。创建的系统用户帐户有:
  • vdsm 用户(UID 36)。支持挂载和访问 NFS 存储域的工具需要。
  • ovirt 用户(UID 108)。ovirt-engine Red Hat JBoss Enterprise Application Platform 实例的所有者。
  • ovirt-vmconsole 用户(UID 498)。客户机串行控制台需要。

G.1.2. Red Hat Virtualization Manager Groups

在安装 rhevm 软件包时,会创建多个系统用户组来支持 Red Hat Virtualization。每个系统用户组都有一个默认组群标识符(GID)。创建的系统用户组是:
  • kvm 组(GID 36)。组成员包括:
    • vdsm 用户。
  • ovirt 组(GID 108)。组成员包括:
    • ovirt 用户。
  • ovirt-vmconsole 组(GID 498)。组成员包括:
    • ovirt-vmconsole 用户。

G.1.3. 虚拟化主机用户帐户

安装 vdsmqemu-kvm-rhev 软件包时,在虚拟化主机上创建多个系统用户帐户。每个系统用户都有一个默认的用户标识符(UID)。创建的系统用户帐户有:
  • vdsm 用户(UID 36)。
  • qemu 用户(UID 107)。
  • sanlock 用户(UID 179)。
  • ovirt-vmconsole 用户(UID 498)。
重要
分配的用户标识符(UID)和组群标识符(GID)可能因系统而异。vdsm 用户已固定到 UID 36kvm 组被固定到 GID 36
如果系统上已使用了 UID 36 或 GID 36,则安装 vdsmqemu-kvm-rhev 软件包过程中会出现冲突。

G.1.4. 虚拟化主机组

安装 vdsmqemu-kvm-rhev 软件包时,在虚拟化主机上创建多个系统用户组。每个系统用户组都有一个默认组群标识符(GID)。创建的系统用户组是:
  • kvm 组(GID 36)。组成员包括:
    • qemu 用户。
    • sanlock 用户。
  • qemu 组(GID 107)。组成员包括:
    • vdsm 用户。
    • sanlock 用户。
  • ovirt-vmconsole 组(GID 498)。组成员包括:
    • ovirt-vmconsole 用户。
重要
分配的用户标识符(UID)和组群标识符(GID)可能因系统而异。vdsm 用户已固定到 UID 36kvm 组被固定到 GID 36
如果系统上已使用了 UID 36 或 GID 36,则安装 vdsmqemu-kvm-rhev 软件包过程中会出现冲突。