使用命令行将 Red Hat Virtualization 安装为自托管引擎

Red Hat Virtualization 4.3

替代方法:使用命令行将 Red Hat Virtualization Manager 安装为在它管理的同一主机上运行的虚拟机

摘要

本文档描述了如何安装自托管引擎环境,其中 Red Hat Virtualization Manager (或"引擎")安装在其管理的同一环境中的专用主机上运行的虚拟机上,以使用命令行进行配置和运行自动安装。如果这不是您想要使用的配置,请参阅产品指南中的其他安装选项。

前言

使用 Ansible 自动安装自托管引擎。安装脚本 (host-engine --deploy) 在初始部署主机上运行,并在部署主机上创建的虚拟机上安装并配置 Red Hat Virtualization Manager(或"引擎")。Manager 和 Data Warehouse 数据库安装在 Manager 虚拟机上,但在需要时可在安装后迁移到单独的服务器。

可以运行管理器虚拟机的主机被称为自托管引擎节点。至少需要两个自托管引擎节点来支持高可用性功能。

专用于管理器虚拟机的存储域称为自托管引擎存储域。此存储域由安装脚本创建,因此在开始安装之前必须准备底层存储。

有关环境选项和推荐配置的信息,请参阅规划和前提条件指南。有关特定于自托管引擎环境的配置,请参阅自托管引擎建议

表 1. Red Hat Virtualization Key 组件

组件名称描述

Red Hat Virtualization Manager

此服务提供图形用户界面和 REST API,用于管理环境中的资源。Manager 安装在运行 Red Hat Enterprise Linux 的物理或虚拟机上。

主机

Red Hat Enterprise Linux 主机(RHEL 主机)和 Red Hat Virtualization 主机(基于镜像的 hypervisor)是两种受支持的主机类型。主机使用基于内核的虚拟机 (KVM) 技术,并提供用于运行虚拟机的资源。

共享存储

存储服务用于存储与虚拟机关联的数据。

Data Warehouse(数据仓库)

从管理器收集配置信息和统计数据的服务。

自托管引擎架构

Red Hat Virtualization Manager 在它管理的同一环境中的自托管引擎节点(专用主机)上作为虚拟机运行。自托管引擎环境所需要的物理服务器会少一个,但需要更多的管理开销来部署和管理。管理器本身具有高可用性,无需外部 HA 管理。

自托管引擎环境的最小设置包括:

  • 一个在自托管引擎节点上托管的 Red Hat Virtualization Manager 虚拟机。RHV-M 设备用于自动安装 Red Hat Enterprise Linux 7 虚拟机和该虚拟机上的 Manager。
  • 至少两个自托管引擎节点以实现虚拟机高可用性。您可以使用 Red Hat Enterprise Linux 主机或 Red Hat Virtualization Manager 主机 (RHVH)。VDSM(主机代理)需要在所有主机上运行,以便与 Red Hat Virtualization Manager 进行通信。HA 服务在所有自托管引擎节点上运行,以管理管理器虚拟机的高可用性。
  • 一个存储服务,可根据所使用的存储类型,运行在本地或远程服务器上。存储服务必须能被所有主机访问。

图 1. 自托管引擎 Red Hat Virtualization 架构

自托管引擎 Red Hat Virtualization 架构

第 1 章 安装概述

自托管引擎安装使用 Ansible 和 RHV-M 设备(预配置的 Manager 虚拟机镜像)来自动执行以下任务:

  • 配置第一个自托管引擎节点
  • 在该节点上安装 Red Hat Enterprise Linux 虚拟机
  • 在该虚拟机上安装并配置 Red Hat Virtualization Manager
  • 配置自托管引擎存储域
注意

RHV-M Appliance 仅在安装过程中使用。它不用于升级管理器。

安装自托管引擎环境涉及以下步骤:

重要

使环境保持最新。如需更多信息,请参阅 https://access.redhat.com/articles/2974891。由于对已知问题的程序错误修复会频繁发布,因此红帽建议使用调度任务来更新主机和管理器。

第 2 章 要求

2.1. Red Hat Virtualization Manager 要求

2.1.1. 硬件要求

此处概述的最低硬件要求和推荐的硬件要求基于典型的中小型安装。根据大小和负载,部署的确切要求会有所不同。

Red Hat Enterprise Linux 的硬件认证涵盖了 Red Hat Enterprise Linux 的硬件认证。如需更多信息,请参阅 https://access.redhat.com/solutions/725243。要确认特定的硬件项目是否已认证可与 Red Hat Enterprise Linux 一起使用,请参阅 https://access.redhat.com/ecosystem/#certifiedHardware

表 2.1. Red Hat Virtualization Manager 硬件要求

资源最小值推荐的

CPU

双核 CPU。

四核 CPU 或多个双核 CPU。

内存

如果没有安装数据仓库,并且现有进程没有使用内存,则有 4 GB 的可用系统 RAM。

16 GB 系统内存。

硬盘

25 GB 本地可访问、可写入磁盘空间。

50 GB 本地可访问、可写入磁盘空间。

您可以使用 RHV Manager History Database Size Calculator 计算管理器历史记录数据库大小的适当磁盘空间。

网络接口

1 个网络接口卡 (NIC),带宽至少为 1 Gbps.

1 个网络接口卡 (NIC),带宽至少为 1 Gbps.

2.1.2. 浏览器要求

以下浏览器版本和操作系统可用于访问管理门户和虚拟机门户。

浏览器支持分为几个层次:

  • 1 级:经过全面测试且完全支持的浏览器和操作系统组合。红帽工程致力于修复此一级浏览器的问题。
  • 2 级:浏览器和操作系统组合经过部分测试,可能起作用。为此级的浏览器提供有限的支持。红帽工程将尝试修复此级浏览器的问题。
  • 3 级:浏览器和操作系统组合未经测试,但可能有效.对这个级的浏览器提供最少的支持。红帽工程将尝试仅修复此级别的浏览器上的小问题。

表 2.2. 浏览器要求

支持级别操作系统系列浏览器

1 级

Red Hat Enterprise Linux

Mozilla Firefox 扩展支持版本 (ESR)

 

任意

Google Chrome、Mozilla Firefox 或 Microsoft Edge 的最新版本

2 级

  

3 级

任意

Google Chrome 或 Mozilla Firefox 的早期版本

 

任意

其他浏览器

2.1.3. 客户端要求

虚拟机控制台只能使用 Red Hat Enterprise Linux 和 Windows 上的受支持的远程查看器 (virt-viewer) 客户端访问。要安装 virt-viewer,请参阅虚拟机管理指南中的在客户端机器上安装支持组件。安装 virt-viewer 需要管理员特权。

虚拟机控制台可通过 SPICE、VNC 或 RDP(仅限 Windows)协议访问。可以在客户端操作系统中安装 QXL 图形驱动程序,以便改进/增强的 SPICE 功能。SPICE 目前支持最大分辨率 2560x1600 像素。

Red Hat Enterprise Linux、Windows XP 和 Windows 7 提供了受支持的 QXL 驱动程序。

SPICE 支持分为几个级别:

  • 第 1 层:完全测试了远程查看器(Remote Viewer )并被支持的操作系统。
  • 第 2 层:被部分测试的远程查看器的操作系统,可能可以正常工作。为此级的浏览器提供有限的支持。红帽工程团队将尝试修复此层上 remote-viewer 的问题。

表 2.3. 客户端操作系统 SPICE 支持

支持级别操作系统

1 级

Red Hat Enterprise Linux 7.2 及更新的版本

 

Microsoft Windows 7

2 级

Microsoft Windows 8

 

Microsoft Windows 10

2.1.4. 操作系统要求

Red Hat Virtualization Manager 必须在 Red Hat Enterprise Linux 7 的基本安装上安装,该安装已更新至最新的次版本。

不要在基础安装后安装任何其他软件包,因为它们在尝试安装管理器所需的软件包时可能会导致依赖项问题。

不要启用管理器安装所需的额外软件仓库。

2.2. 主机要求

Red Hat Enterprise Linux 的硬件认证涵盖了 Red Hat Enterprise Linux 的硬件认证。如需更多信息,请参阅 https://access.redhat.com/solutions/725243。要确认特定的硬件项目是否已认证可与 Red Hat Enterprise Linux 一起使用,请参阅 https://access.redhat.com/ecosystem/#certifiedHardware

有关适用于客户机的要求和限制的详情请参考 https://access.redhat.com/articles/rhel-limitshttps://access.redhat.com/articles/906543

2.2.1. CPU 要求

所有 CPU 必须支持 Intel® 64 或 AMD64 CPU 扩展,并且已启用 AMD-V™ 或 Intel VT® 硬件虚拟化扩展。还需要支持 No eXecute 标志 (NX)。

支持以下 CPU 型号:

  • AMD

    • Opteron G4
    • Opteron G5
    • EPYC
  • Intel

    • Nehalem
    • Westmere
    • Sandybridge
    • Haswell
    • Haswell-noTSX
    • Broadwell
    • Broadwell-noTSX
    • Skylake (client)
    • Skylake (server)
  • IBM POWER8

2.2.1.1. 检查处理器是否支持所需的标记

您必须在 BIOS 中启用虚拟化。关闭并在进行此更改后重新启动主机,以确保更改已被应用。

  1. 在 Red Hat Enterprise Linux 或 Red Hat Virtualization Host 引导屏幕中,按任意键,然后从列表中选择 BootBoot with serial console 条目。
  2. Tab 编辑所选选项的内核参数。
  3. 确保列出的最后一个内核参数后有一个空格,并附加参数 rescue
  4. Enter 键引导进入救援模式。
  5. 在提示符处,确定您的处理器有所需的扩展,并通过运行以下命令启用它们:

    # grep -E 'svm|vmx' /proc/cpuinfo | grep nx

如果显示任何输出,处理器将支持硬件虚拟化。如果没有显示输出,您的处理器可能仍然支持硬件虚拟化;在某些情况下,制造商会禁用 BIOS 中的虚拟化扩展。如果您认为情况确实如此,请查阅系统 BIOS 和制造商提供的主板手册。

2.2.2. 内存要求

RAM 的最小要求为 2 GB。Red Hat Virtualization Host 中每个虚拟机最多支持 4 TB。

但是,所需的 RAM 量因客户机操作系统要求、客户机应用程序要求以及客户机内存活动与使用情况而异。KVM 还可以为虚拟客户机过量使用物理 RAM,允许您配置 RAM 要求大于实际存在的客户机,假设客户机并非全部在高峰负载同时工作。KVM 仅根据需要为 guest 分配 RAM,并将利用率不足的 guest 转移至交换。

2.2.3. 存储要求

主机需要存储来存储配置、日志、内核转储,并用作交换空间。存储可以是本地存储,也可以基于网络.Red Hat Virtualization Host (RHVH) 可以使用在网络存储中默认分配的一个或多个进行引导。如果出现断网的情况,则从网络存储引导可能会导致冻结。添加置入多路径配置文件可帮助解决网络连接中断的问题。如果 RHVH 从 SAN 存储引导并丢失连接,则文件将变为只读,直到网络连接恢复为止。使用网络存储可能会导致性能下降。

RHVH 的最低存储要求记录在本节中。Red Hat Enterprise Linux 主机的存储要求根据其现有配置所使用的磁盘空间量而有所不同,但应该大于 RHVH。

下方列出了主机安装的最低存储要求。但是,红帽建议使用默认分配,这会使用更多存储空间。

  • / (root) - 6 GB
  • /home - 1 GB
  • /tmp - 1 GB
  • /boot - 1 GB
  • /var - 15 GB
  • /var/crash - 10 GB
  • /var/log - 8 GB
  • /var/log/audit - 2 GB
  • swap - 1 GB(推荐的 swap 大小,请参阅 https://access.redhat.com/solutions/15244
  • Anaconda 在卷组中保留 20% 的精简池大小,以便将来进行元数据扩展。这是为了避免开箱即用的配置在正常使用条件下耗尽空间。还不支持在安装过程中过度置备精简池。
  • 最小总数 - 55 GB

如果您还安装用于自托管引擎安装的 RHV-M 设备,/var/tmp 必须至少为 5 GB。

如果您计划使用内存过量分配功能,请添加足够的交换空间为所有虚拟机提供虚拟内存。请参阅内存优化

2.2.4. PCI 设备要求

主机必须至少有一个网络接口,最小带宽为 1 Gbps。红帽建议,每个主机应具有两个网络接口,一个专用于支持网络密集型活动,如虚拟机迁移。此类操作的性能受可用带宽的限制。

有关如何使用 PCI Express 和传统 PCI 设备及基于 Intel Q35 的虚拟机的信息,请参阅使用 PCI Express 和带有 Q35 虚拟机的约定 PCI 设备

2.2.5. 设备分配要求

如果您计划实施设备分配和 PCI 直通,以便虚拟机可以使用主机中的特定 PCIe 设备,请确保满足以下要求:

  • CPU 必须支持 IOMMU(如 VT-d 或 AMD-Vi)。IBM POWER8 默认支持 IOMMU。
  • 固件必须支持 IOMMU。
  • 使用的 CPU 根端口必须支持 ACS 或 ACS 等效功能。
  • PCIe 设备必须支持 ACS 或 ACS 等效功能。
  • 红帽建议在 PCIe 设备和 root 端口支持 ACS 间的所有 PCIe 交换机和桥接。例如,如果交换机不支持 ACS,该交换机后面的所有设备共享同一个 IOMMU 组,并且只能分配到同一虚拟机。
  • 对于 GPU 支持,Red Hat Enterprise Linux 7 支持 PCIe 的基于 PCIe 的 NVIDIA K-Series Quadro(model 2000 系列或更高版本)、GRID 和 Tesla 作为非 VGA 图形设备分配。目前,除其中一个标准模拟 VGA 接口外,还最多可将两个 GPU 附加到虚拟机。模拟的 VGA 用于预引导和安装,在加载 NVIDIA 图形驱动程序时,NVIDIA GPU 将接管。请注意,不支持 NVIDIA Quadro 2000 卡,也不支持 Quadro K420 卡。

检查供应商规格和产品规格说明,以确认您的硬件是否满足这些要求。lspci -v 命令可用于打印系统上已安装的 PCI 设备的信息。

2.2.6. vGPU 要求

主机必须满足以下要求才能使该主机上的虚拟机使用 vGPU:

  • vGPU-compatible GPU
  • 启用 GPU 的主机内核
  • 安装了带有正确驱动程序的 GPU
  • 预定义的 mdev_type 设置为与设备支持的其中一个 mdev 类型对应
  • 在集群中的每个主机上安装支持 vGPU 的驱动程序
  • 安装了 vGPU 驱动程序的 vGPU 支持的虚拟机操作系统

2.3. 网络要求

2.3.1. 常规要求

Red Hat Virtualization 要求在运行 Manager(也称为" Manager 机器")的计算机或虚拟机上保持启用 IPv6。不要在 Manager 机器上禁用 IPv6,即使您的系统没有使用它。

2.3.2. DNS、NTP、IPMI 隔离和指标存储的防火墙要求

以下所有主题的防火墙要求都是需要单独考虑的特例。

DNS 和 NTP

Red Hat Virtualization 不会创建 DNS 或 NTP 服务器,因此防火墙不需要开放端口用于传入流量。

默认情况下,Red Hat Enterprise Linux 允许到任何目标地址上的 DNS 和 NTP 的出站流量。如果您禁用传出流量,请为发送到 DNS 和 NTP 服务器的请求定义例外。

重要
  • Red Hat Virtualization Manager 和所有主机(Red Hat Virtualization Host 和 Red Hat Enterprise Linux 主机)必须具有完全限定域名和完整、完全对齐和反向名称解析。
  • 不支持在 Red Hat Virtualization 环境中将 DNS 服务作为虚拟机运行。Red Hat Virtualization 环境使用的所有 DNS 服务都必须托管在环境之外。
  • 红帽强烈建议使用 DNS 而不是 /etc/hosts 文件进行名称解析。使用主机文件通常需要更多工作,并且更容易出错。

IPMI 和其他隔离机制(可选)

对于 IPMI(智能平台管理接口)和其他隔离机制,防火墙不需要开放传入流量的端口。

默认情况下,Red Hat Enterprise Linux 允许到任何目标地址上的端口出站 IPMI 流量。如果您禁用传出流量,请对发送到 IPMI 或隔离服务器的请求进行例外处理。

集群中的每个 Red Hat Virtualization Host 和 Red Hat Enterprise Linux 主机都必须能够连接到集群中所有其他主机的隔离设备。如果集群主机遇到错误(网络错误,存储错误……)且无法作为主机运行,它们必须能够连接到数据中心中的其他主机。

具体端口号取决于您使用的隔离代理的类型以及配置方式。

以下部分中的防火墙要求表不代表这个选项。

Metrics Store, Kibana, 和 ElasticSearch

有关 Metrics Store、Kibana 和 ElasticSearch,请参阅 Metrics Store 虚拟机的网络配置

2.3.3. Red Hat Virtualization Manager 防火墙要求

Red Hat Virtualization Manager 要求打开多个端口以允许通过系统的防火墙网络流量。

engine-setup 脚本可以自动配置防火墙,但如果您使用 iptables,则会覆盖任何已存在的防火墙配置。如果要保留现有的防火墙配置,则必须手动插入 Manager 所需的防火墙规则。engine-setup 命令会保存在 /etc/ovirt-engine/iptables.example 文件中需要的 iptables 规则列表。如果您使用 firewalldengine-setup 不会覆盖现有的配置。

此处记录的防火墙配置假定默认配置。

注意

这些防火墙要求图请参考 https://access.redhat.com/articles/3932211。您可以使用表中的 ID 来查找图中的连接。

表 2.4. Red Hat Virtualization Manager 防火墙要求

ID端口协议目的地用途默认加密

M1

-

ICMP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization Manager

可选。

可以帮助诊断.

M2

22

TCP

用于维护管理器的系统,包括后端配置和软件升级。

Red Hat Virtualization Manager

SSH 访问。

可选。

M3

2222

TCP

访问虚拟机串行控制台的客户端.

Red Hat Virtualization Manager

SSH 访问,以启用与虚拟机串行控制台的连接。

M4

80, 443

TCP

管理门户客户端

虚拟机门户客户端

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

REST API 客户端

Red Hat Virtualization Manager

提供对 Manager 的 HTTP(端口 80,未加密)和 HTTPS(端口 443、加密)访问。HTTP 将连接重定向到 HTTPS。

M5

6100

TCP

管理门户客户端

虚拟机门户客户端

Red Hat Virtualization Manager

当 websocket 代理在 Manager 上运行时,为基于 Web 的控制台客户端 noVNC 提供 websocket 代理访问。如果 websocket 代理在不同主机上运行,则不会使用此端口。

M6

7410

UDP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization Manager

如果在主机上启用了 Kdump,在 Manager 中为 fence_kdump 侦听程序打开此端口。请参阅 fence_kdump 高级配置fence_kdump 不提供加密连接的方法。但是,您可以将此端口手动配置为阻止来自不符合条件的主机的访问。

M7

54323

TCP

管理门户客户端

Red Hat Virtualization Manager(ImageIO 代理服务器)

与 ImageIO 代理通信需要此项 (ovirt-imageio-proxy)。

M8

6442

TCP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

开放虚拟网络 (OVN) 南向数据库

连接到开放虚拟网络 (OVN) 数据库

M9

9696

TCP

OVN 外部网络提供程序的客户端

OVN 的外部网络供应商

OpenStack 网络 API

是,使用 engine-setup 生成的配置。

M10

35357

TCP

OVN 外部网络提供程序的客户端

OVN 的外部网络供应商

OpenStack Identity API

是,使用 engine-setup 生成的配置。

M11

53

TCP, UDP

Red Hat Virtualization Manager

DNS 服务器

从 1023 以上端口到端口 53 的 DNS 查找请求,以及响应。默认打开。

M12

123

UDP

Red Hat Virtualization Manager

NTP 服务器

从 1023 以上端口到端口 123 的 NTP 请求,以及响应.默认打开。

注意
  • OVN 北向数据库 (6641) 的端口没有列出,因为在默认配置中,OVN 北向数据库 (6641) 的唯一客户端是 ovirt-provider-ovn。由于它们在同一主机上运行,因此它们的通信对网络不可见。
  • 默认情况下,Red Hat Enterprise Linux 允许到任何目标地址上的 DNS 和 NTP 的出站流量。如果您禁用传出流量,请为 Manager 异常向 DNS 和 NTP 服务器发送请求。其他节点可能还需要 DNS 和 NTP。在这种情况下,请查看这些节点的要求并相应地配置防火墙。

2.3.4. 主机防火墙要求

Red Hat Enterprise Linux 主机和 Red Hat Virtualization 主机 (RHVH) 需要打开多个端口,以允许通过系统的防火墙网络流量。在向 Manager 添加新主机时,默认自动配置防火墙规则,覆盖任何预先存在的防火墙配置。

要在添加新主机时禁用自动防火墙配置,请清除 Advanced Parameters 下的 Automatically configure host firewall 复选框。

要自定义主机防火墙规则,请参阅 https://access.redhat.com/solutions/2772331

注意

这些防火墙要求图请参考 https://access.redhat.com/articles/3932211。您可以使用表中的 ID 来查找图中的连接。

表 2.5. 虚拟化主机防火墙要求

ID端口协议目的地用途默认加密

H1

22

TCP

Red Hat Virtualization Manager

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

SSH 访问。

可选。

H2

2223

TCP

Red Hat Virtualization Manager

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

SSH 访问,以启用与虚拟机串行控制台的连接。

H3

161

UDP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization Manager

简单的网络管理协议 (SNMP)。只有在您想要简单网络管理协议从主机发送到一个或多个外部 SNMP 管理器时才需要。

可选。

H4

111

TCP

NFS 存储服务器

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

NFS 连接。

可选。

H5

5900 - 6923

TCP

管理门户客户端

虚拟机门户客户端

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

通过 VNC 和 SPICE 访问远程客户机控制台.必须打开这些端口,以便于客户端访问虚拟机。

是(可选)

H6

5989

TCP, UDP

Common Information Model Object Manager (CIMOM)

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

CIMOM 用于监控主机上运行的虚拟机。只有在您想要使用 CIMOM 监控虚拟化环境中的虚拟机时才需要。

可选。

H7

9090

TCP

Red Hat Virtualization Manager

客户端机器

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

需要此项以访问 Cockpit Web 界面(如果已安装)。

H8

16514

TCP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

使用 libvirt 进行虚拟机迁移。

H9

49152 - 49215

TCP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

使用 VDSM 进行虚拟机迁移和隔离.这些端口必须处于打开状态,以促进虚拟机的自动化和手动迁移。

是。根据隔离代理,通过 libvirt 进行迁移。

H10

54321

TCP

Red Hat Virtualization Manager

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

VDSM 与管理器和其他虚拟化主机的通信。

H11

54322

TCP

Red Hat Virtualization Manager(ImageIO 代理服务器)

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

与 ImageIO 守护进程 (ovirt-imageio-daemon) 进行通信需要。

H12

6081

UDP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

当将开放虚拟网络 (OVN) 用作网络提供程序时,需要允许 OVN 在主机之间创建隧道。

H13

53

TCP, UDP

Red Hat Virtualization 主机

Red Hat Enterprise Linux 主机

DNS 服务器

从 1023 以上端口到端口 53 的 DNS 查找请求,以及响应。此端口是必需的并默认打开。

注意

默认情况下,Red Hat Enterprise Linux 允许到任何目标地址上的 DNS 和 NTP 的出站流量。如果您禁用传出流量,请对 Red Hat Virtualization 主机进行例外处理

Red Hat Enterprise Linux 主机向 DNS 和 NTP 服务器发送请求。其他节点可能还需要 DNS 和 NTP。在这种情况下,请查看这些节点的要求并相应地配置防火墙。

2.3.5. 数据库服务器防火墙要求

Red Hat Virtualization 支持将远程数据库服务器用于管理器数据库(引擎)和数据仓库数据库 (ovirt-engine-history)。如果您计划使用远程数据库服务器,则必须允许与管理器和数据仓库服务(它们可以独立于管理器)的连接。

同样,如果您计划从外部系统访问本地或远程数据仓库数据库,数据库必须允许来自该系统的连接。

重要

不支持从外部系统访问 Manager 数据库。

注意

这些防火墙要求图请参考 https://access.redhat.com/articles/3932211。您可以使用表中的 ID 来查找图中的连接。

表 2.6. 数据库服务器防火墙要求

ID端口协议目的地用途默认加密

D1

5432

TCP, UDP

Red Hat Virtualization Manager

数据仓库服务

管理器(引擎)数据库服务器

数据仓库 (ovirt-engine-history) 数据库服务器

PostgreSQL 数据库连接的默认端口。

否,但可以启用

D2

5432

TCP, UDP

外部系统

数据仓库 (ovirt-engine-history) 数据库服务器

PostgreSQL 数据库连接的默认端口。

默认禁用此选项。否,但可以启用

第 3 章 为 Red Hat Virtualization 准备存储

准备要用于新环境中的存储域的存储。Red Hat Virtualization 环境必须至少有一个数据存储域,但建议添加更多存储域。

数据域保管数据中心中所有虚拟机和模板的虚拟硬盘和 OVF 文件,并且在激活的情况下无法在数据中心间共享(但可以在数据中心之间迁移)。多个存储类型的数据域可以添加到同一数据中心,只要它们都是共享的,而不是本地域。

自托管引擎必须具有额外的数据域,专用于 Manager 虚拟机。这个域是在自托管引擎部署期间创建的,且必须至少为 74 GiB。在开始部署前,您必须为这个域准备存储。

您可以使用以下存储类型之一:

重要

如果您使用的是 iSCSI 存储,则自托管引擎存储域必须使用自己的 iSCSI 目标。任何额外的存储域都必须使用不同的 iSCSI 目标。

警告

强烈建议您在与自托管引擎存储域相同的数据中心内创建额外的数据存储域。如果您在只有一个活动数据存储域的数据中心部署自托管引擎,并且该存储域已损坏,您将无法添加新的存储域或删除损坏的存储域;您必须重新部署自托管引擎。

3.1. 准备 NFS 存储

在您的文件存储或远程服务器上设置 NFS 共享,以充当 Red Hat Enterprise Virtualization 主机系统上的存储域。在远程存储上导出共享并在 Red Hat Virtualization Manager 中配置共享后,将在 Red Hat Virtualization 主机上自动导入共享。

有关设置和配置 NFS 的详情,请参考 Red Hat Enterprise Linux 7 存储管理指南中的网络文件系统(NFS)

有关如何导出"NFS"共享的信息,请参阅如何在 Red Hat Virtualization 中从 NetApp Storage / EMC SAN 导出"NFS"共享

Red Hat Virtualization 需要特定的系统用户帐户和系统用户组,以便管理器可以将数据存储在导出的目录表示的存储域中。以下流程为一个目录设置权限。您必须为 Red Hat Virtualization 中用作存储域的所有目录重复 chownchmod 步骤。

流程

  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
  4. 更改目录的模式,以便所有者授予读和写访问权限,以便向组和其他用户授予读和执行权限:

    # chmod 0755 /exports/data

3.2. 准备 iSCSI 存储

Red Hat Virtualization 支持 iSCSI 存储,这是从由 LUN 组成的卷组创建的存储域。卷组和 LUN 一次不能附加到多个存储域。

有关设置和配置 iSCSI 存储的详情,请参考 Red Hat Enterprise Linux 7 存储管理指南中的 在线存储管理

重要

如果您使用的是块存储,并且打算在裸设备上部署虚拟机或直接 LUN 并用逻辑卷管理器 (LVM) 管理它们,您必须创建一个过滤器来隐藏 guest 逻辑卷。这将防止在主机引导时激活 guest 逻辑卷,这种情况可能会导致逻辑卷过时并导致数据崩溃。详情请查看 https://access.redhat.com/solutions/2662261

重要

Red Hat Virtualization 目前不支持块大小为 4K 的块存储。您必须以旧模式(512b 块)配置块存储。

重要

如果您的主机从 SAN 存储引导并丢失与存储的连接,则存储文件系统将变为只读并在恢复连接后保持此状态。

要防止这种情况,红帽推荐在 SAN 的根文件系统中为引导 LUN 添加下拉多路径配置文件以确保它在连接时已在队列中:

# cat /etc/multipath/conf.d/host.conf
multipaths {
    multipath {
        wwid boot_LUN_wwid
        no_path_retry queue
    }

3.3. 准备 FCP 存储

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

Red Hat Virtualization 系统管理员需要对存储区域网络 (SAN) 概念有较好的了解。SAN 通常使用光纤通道协议 (FCP) 作为主机和共享外部存储之间的通信。因此,SAN 有时可能会被称为 FCP 存储。

有关在 Red Hat Enterprise Linux 上设置和配置 FCP 或多路径的详情,请参考存储管理指南DM 多路径指南

重要

如果您使用的是块存储,并且打算在裸设备上部署虚拟机或直接 LUN 并用逻辑卷管理器 (LVM) 管理它们,您必须创建一个过滤器来隐藏 guest 逻辑卷。这将防止在主机引导时激活 guest 逻辑卷,这种情况可能会导致逻辑卷过时并导致数据崩溃。详情请查看 https://access.redhat.com/solutions/2662261

重要

Red Hat Virtualization 目前不支持块大小为 4K 的块存储。您必须以旧模式(512b 块)配置块存储。

重要

如果您的主机从 SAN 存储引导并丢失与存储的连接,则存储文件系统将变为只读并在恢复连接后保持此状态。

要防止这种情况,红帽推荐在 SAN 的根文件系统中为引导 LUN 添加下拉多路径配置文件以确保它在连接时已在队列中:

# cat /etc/multipath/conf.d/host.conf
multipaths {
    multipath {
        wwid boot_LUN_wwid
        no_path_retry queue
    }

3.4. 准备 Red Hat Gluster Storage

有关设置和配置 Red Hat Gluster Storage 的信息,请参阅 Red Hat Gluster Storage 安装指南

有关 Red Hat Virtualization 支持的 Red Hat Gluster Storage 版本,请参阅 https://access.redhat.com/articles/2356261

3.5. 为 SAN 供应商自定义多路径配置

要自定义多路径配置设置,请不要修改 /etc/multipath.conf。而是应该创建新的配置文件,它会覆盖 /etc/multipath.conf

警告

升级虚拟桌面和服务器管理器(VDSM)会覆盖 /etc/multipath.conf 文件。如果 multipath.conf 包含自定义项,则覆盖它可能会触发存储问题。

先决条件

流程

  1. 要覆盖 /etc/multipath.conf 中的设置值,请在 /etc/multipath/conf.d/ 目录中创建一个新配置文件。

    注意

    /etc/multipath/conf.d/ 中的文件按字母顺序执行。按照文件命名惯例,在文件名称的开头加上数字。例如: /etc/multipath/conf.d/90-myfile.conf

  2. 将您要覆盖的设置从 /etc/multipath.conf 复制到 /etc/multipath/conf.d/ 中的新配置文件。编辑设置值并保存您的更改。
  3. 输入 systemctl reload multipathd 命令来应用新的配置设置。

    注意

    避免重启 multipathd 服务。这样做会在 VDSM 日志中生成错误。

验证步骤

如果您覆盖 /etc/multipath.conf 中的 VDSM 生成的设置,请验证在各种失败场景中新配置按预期执行。

例如,禁用所有存储连接。然后,一次启用一个连接,并验证存储域可以被访问。

故障排除

如果 Red Hat Virtualization 主机访问共享存储时遇到问题,请检查 /etc/multipath/conf.d/ 下的 /etc/multpath.conf 和文件,以便与 SAN 不兼容的值。

其他资源

第 4 章 安装自托管引擎部署主机

自托管引擎可从 Red Hat Virtualization HostRed Hat Enterprise Linux 主机部署。

重要

如果您计划使用绑定接口来实现高可用性或 VLAN 来分隔不同类型的流量(例如,用于存储或管理连接),您应该在主机上配置它们,然后再开始自托管引擎部署。请参阅规划和前提条件指南中的网络建议

4.1. 安装 Red Hat Virtualization 主机

Red Hat Virtualization Host (RHVH) 是一个基于 Red Hat Enterprise Linux 的最小操作系统,旨在提供一种简单的方法来设置物理机以充当 Red Hat Virtualization 的 hypervisor。最小操作系统仅包含计算机充当虚拟机监控程序所需的软件包,并提供 Cockpit Web 界面来监控主机和执行管理任务。有关浏览器的最低要求,请查看 http://cockpit-project.org/running.html

RHVH 支持 NIST 800-53 分区要求以提高安全性。RHVH 默认使用 NIST 800-53 分区布局。

主机必须满足最低主机要求

流程

  1. 从客户门户网站下载 RHVH ISO 镜像:

    1. 登录到客户门户网站 https://access.redhat.com
    2. 点菜单栏中的 Downloads
    3. Red Hat Virtualization。向上滚动并点 Download Latest 以访问产品下载页面。
    4. 进入 Hypervisor Image for RHV 4.3 并点 Download Now
    5. 创建可引导介质设备。如需更多信息,请参阅 Red Hat Enterprise Linux 安装指南中的复制介质
  2. 启动您要安装 RHVH 的机器,从准备的安装介质启动。
  3. 在引导菜单中,选择 Install RHVH 4.3 并按 Enter

    注意

    您还可以按 Tab 键编辑内核参数。内核参数必须以空格分开,您可以通过按 Enter 键使用指定的内核参数引导系统。按 Esc 键清除对内核参数的任何更改并返回到引导菜单。

  4. 选择语言,然后点 Continue
  5. Date & Time 屏幕中选择一个时区,然后点 Done
  6. 从键盘菜单中选择 键盘布局,再单击 Done
  7. Installation Destination 屏幕中选择要在其上安装 RHV 的设备。(可选)启用加密。点 Done

    重要

    红帽强烈建议使用 Automatically configure partitioning 选项。

  8. Network & Host Name 屏幕选择一个网络,然后点击 Configure…​ 来配置连接详情。

    注意

    要在每次系统引导时使用连接,选择 Automatically connect to this network when it is available 复选框。如需更多信息,请参阅 Red Hat Enterprise Linux 7 安装指南中的编辑网络连接

    Host name 字段中输入主机名,然后单击 Done

  9. (可选)配置语言支持安全策略Kdump。有关安装概述界面中的每个部分的更多信息,请参阅 Red Hat Enterprise Linux 7 安装指南中的使用 Anaconda进行安装
  10. Begin Installation
  11. 设置 root 密码,并选择性地在 RHVH 安装时创建额外的用户。

    警告

    红帽建议不要在 RHVH 上创建不受信任的用户,因为这可能导致利用本地安全漏洞。

  12. 单击 Reboot 以完成安装。

    注意

    当 RHVH 重新启动时,nodectl check 会在主机上执行健康检查,并在您在命令行中登录时显示结果。消息 node status: OKnode status: DEGRADED 代表了健康状态。运行 nodectl check 以了解更多信息。该服务默认启用。

4.1.1. 启用 Red Hat Virtualization 主机存储库

注册系统以接收更新。Red Hat Virtualization Host 只需要一个软件仓库。本节提供有关将 RHVH 注册到内容交付网络Red Hat Satellite 6 的说明。

将 RHVH 注册到内容交付网络

  1. 登录位于 https://HostFQDNorIP:9090 的 Cockpit Web 界面。
  2. 进入 Subscriptions,点 Register System,并输入您的客户门户网站用户名和密码。Red Hat Virtualization Host 订阅会自动附加到系统。
  3. Terminal
  4. 启用 Red Hat Virtualization Host 7 软件仓库,以便稍后对 Red Hat Virtualization 主机进行更新:

    # subscription-manager repos --enable=rhel-7-server-rhvh-4-rpms

将 RHVH 注册到 Red Hat Satellite 6

  1. 登录位于 https://HostFQDNorIP:9090 的 Cockpit Web 界面。
  2. Terminal
  3. 使用 Red Hat Satellite 6 注册 RHVH:

      # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
      # subscription-manager register --org="org_id"
      # subscription-manager list --available
      # subscription-manager attach --pool=pool_id
      # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhvh-4-rpms

4.2. 安装 Red Hat Enterprise Linux 主机

Red Hat Enterprise Linux 主机基于在物理服务器中的 Red Hat Enterprise Linux 7 的标准基本安装,并附加 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅。

有关具体安装说明,请参阅 执行标准 {enterprise-linux-shortname} 安装

主机必须满足最低主机要求

重要

虚拟化必须在主机的 BIOS 设置中启用。有关更改主机的 BIOS 设置的详情,请参考主机的硬件文档。

重要

第三方 watchdog 不应安装在 Red Hat Enterprise Linux 主机上,因为它们可能会影响到 VDSM 提供的 watchdog 守护进程。

4.2.1. 启用 Red Hat Enterprise Linux 主机存储库

要使用 Red Hat Enterprise Linux 机器作为主机,需要为主机注册 Content Delivery Network,附加 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅,并启用主机仓库。

流程

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
  2. 查找 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅池,并记录池 ID:

    # subscription-manager list --available
  3. 使用池 ID 将订阅附加到系统:

    # subscription-manager attach --pool=poolid
    注意

    查看当前附加的订阅:

    # subscription-manager list --consumed

    列出所有启用的软件仓库:

    # yum repolist
  4. 配置存储库:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rpms \
        --enable=rhel-7-server-rhv-4-mgmt-agent-rpms \
        --enable=rhel-7-server-ansible-2.9-rpms

    对于 Red Hat Enterprise Linux 7 主机、little endian、在 IBM POWER8 硬件上:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhv-4-mgmt-agent-for-power-le-rpms \
        --enable=rhel-7-for-power-le-rpms

    对于 Red Hat Enterprise Linux 7 主机, little endian 在 IBM POWER9 硬件上:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhv-4-mgmt-agent-for-power-9-rpms \
        --enable=rhel-7-for-power-9-rpms
  5. 确保当前安装的所有软件包都为最新版本:

    # yum update
  6. 重启机器。

第 5 章 安装 Red Hat Virtualization Manager

RHV-M 设备是在部署过程中安装的;但是,如果需要,您可以在开始安装前在部署主机上安装它:

# yum install rhvm-appliance

不支持手动安装 Manager 虚拟机。

5.1. 使用命令行部署自托管引擎

您可以从命令行部署自托管引擎。安装设置软件包后,您将运行 hosted-engine --deploy 命令,而脚本则收集环境的详细信息,并使用它们来配置主机和管理器。

先决条件

  • FQDN 为您的管理器和主机做好准备。正向和反向查找记录必须在 DNS 中设置。

流程

  1. 安装部署工具:

    # yum install ovirt-hosted-engine-setup
  2. 红帽建议使用 screen 工具程序运行该脚本,以避免在网络或终端中断时丢失会话。安装并启动 screen

    # yum install screen
    # screen
  3. 启动部署脚本:

    # hosted-engine --deploy
    注意

    要随时退出脚本,使用 Ctrl+D组合键中止部署。如果发生会话超时或连接中断,请运行 screen -d -r 来恢复部署会话。

  4. 出现提示时,输入 Yes 以开始部署:

    Continuing will configure this host for serving as hypervisor and will create a local VM with a running engine.
    The locally running engine will be used to configure a new storage domain and create a VM there.
    At the end the disk of the local VM will be moved to the shared storage.
    Are you sure you want to continue? (Yes, No)[Yes]:
  5. 配置网络。检查显示的网关是否正确并按 Enter。在同一个子网中输入可 ping 地址,以便脚本可以检查主机的连通性。

    Please indicate a pingable gateway IP address [X.X.X.X]:
  6. 脚本会检测可能的 NIC,以用作环境的管理网桥。输入其中之一或按 Enter 以接受默认值。

    Please indicate a nic to set ovirtmgmt bridge on: (eth1, eth0) [eth1]:
  7. 如果要使用自定义设备进行虚拟机安装,请输入 OVA 存档的路径。否则,将此字段留空,以使用 RHV-M Appliance。

    If you want to deploy with a custom engine appliance image,
    please specify the path to the OVA archive you would like to use
    (leave it empty to skip, the setup will use rhvm-appliance rpm installing it if missing):
  8. 输入虚拟机的 CPU 和内存配置:

    Please specify the number of virtual CPUs for the VM (Defaults to appliance OVF value): [4]:
    Please specify the memory size of the VM in MB (Defaults to maximum available): [7267]:
  9. 为 Manager 虚拟机指定 FQDN,如 manager.example.com

    Please provide the FQDN you would like to use for the engine appliance.
    Note: This will be the FQDN of the engine VM you are now going to launch,
    it should not point to the base host or to any other existing machine.
    Engine VM FQDN:
  10. 指定 Manager 虚拟机的域。例如,如果 FQDN 是 manager.example.com,则输入 example.com

    Please provide the domain name you would like to use for the engine appliance.
    Engine VM domain: [example.com]
  11. 为 Manager 创建 root 密码,并重新输入它以确认:

    Enter root password that will be used for the engine appliance:
    Confirm appliance root password:
  12. (可选)输入 SSH 公钥可让您以 root 用户身份登录 Manager,而无需输入密码,并指定是否为 root 用户启用 SSH 访问:

    Enter ssh public key for the root user that will be used for the engine appliance (leave it empty to skip):
    Do you want to enable ssh access for the root user (yes, no, without-password) [yes]:
  13. 输入 Manager 虚拟机的 MAC 地址,或接受随机生成的地址。如果要通过 DHCP 为 Manager 虚拟机提供 IP 地址,请确保此 MAC 地址具有有效的 DHCP 保留。部署脚本将不会为您配置 DHCP 服务器。

    You may specify a unicast MAC address for the VM or accept a randomly generated default [00:16:3e:3d:34:47]:
  14. 输入虚拟机的网络详情:

    How should the engine VM network be configured (DHCP, Static)[DHCP]?

    如果指定了 Static,请输入 Manager 的 IP 地址:

    重要
    • 静态 IP 地址必须属于与主机相同的子网。例如,如果主机在 10.1.1.0/24 中,则管理器虚拟机的 IP 必须位于同一子网范围 (10.1.1.1-254/24) 中。
    • 对于 IPv6,Red Hat Virtualization 仅支持静态寻址。
    Please enter the IP address to be used for the engine VM [x.x.x.x]:
    Please provide a comma-separated list (max 3) of IP addresses of domain name servers for the engine VM
    Engine VM DNS (leave it empty to skip):
  15. 指定是否将 Manager 虚拟机和基础主机的条目添加到虚拟机的 /etc/hosts 文件中。您必须确保主机名可以被解析。

    Add lines for the appliance itself and for this host to /etc/hosts on the engine VM?
    Note: ensuring that this host could resolve the engine VM hostname is still up to you (Yes, No)[No]
  16. 提供 SMTP 服务器的名称和 TCP 端口号、用于发送电子邮件通知的电子邮件地址,以及用于接收这些通知的电子邮件地址列表。或者,按 Enter 接受默认值:

    Please provide the name of the SMTP server through which we will send notifications [localhost]:
    Please provide the TCP port number of the SMTP server [25]:
    Please provide the email address from which notifications will be sent [root@localhost]:
    Please provide a comma-separated list of email addresses which will get notifications [root@localhost]:
  17. admin@internal 用户创建一个密码,以访问管理门户并重新输入它以确认:

    Enter engine admin password:
    Confirm engine admin password:

    该脚本将创建虚拟机。如果需要安装 RHV-M 设备,这可能需要一些时间。创建虚拟机后,脚本将继续收集信息。

  18. 选择要使用的存储类型:

    Please specify the storage you would like to use (glusterfs, iscsi, fc, nfs)[nfs]:
    • 对于 NFS,输入版本、存储的完整地址和路径,以及任何挂载选项:

      Please specify the nfs version you would like to use (auto, v3, v4, v4_1)[auto]:
      Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/nfs
      If needed, specify additional mount options for the connection to the hosted-engine storage domain []:
    • 对于 iSCSI,请输入门户详情并从自动检测的列表中选择目标和 LUN。您只能在部署期间选择一个 iSCSI 目标,但支持多路径连接同一门户组的所有门户。

      注意

      要指定多个 iSCSI 目标,您必须先启用多路径,然后才能部署自托管引擎。详情请查看 Red Hat Enterprise Linux DM 多路径。另外,还有一个多路径帮助程序工具,它生成脚本来安装和配置使用不同选项的多路径。

      Please specify the iSCSI portal IP address:
      Please specify the iSCSI portal port [3260]:
      Please specify the iSCSI discover user:
      Please specify the iSCSI discover password:
      Please specify the iSCSI portal login user:
      Please specify the iSCSI portal login password:
      
      The following targets have been found:
      	[1]	iqn.2017-10.com.redhat.example:he
      		TPGT: 1, portals:
      			192.168.1.xxx:3260
      			192.168.2.xxx:3260
      			192.168.3.xxx:3260
      
      Please select a target (1) [1]: 1
      
      The following luns have been found on the requested target:
        [1] 360003ff44dc75adcb5046390a16b4beb   199GiB  MSFT   Virtual HD
            status: free, paths: 1 active
      
      Please select the destination LUN (1) [1]:
    • 对于 Gluster 存储,输入存储的完整地址和路径,以及任何挂载选项:

      重要

      仅支持副本 3 Gluster 存储。确定您有以下配置:

      • 在所有三个 Gluster 服务器上的 /etc/glusterfs/glusterd.vol 文件中,将 rpc-auth-allow-insecure 设置为 on

        option rpc-auth-allow-insecure on
      • 配置卷,如下所示:

        gluster volume set _volume_ cluster.quorum-type auto
        gluster volume set _volume_ network.ping-timeout 10
        gluster volume set _volume_ auth.allow \*
        gluster volume set _volume_ group virt
        gluster volume set _volume_ storage.owner-uid 36
        gluster volume set _volume_ storage.owner-gid 36
        gluster volume set _volume_ server.allow-insecure on
      Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/gluster_volume
      If needed, specify additional mount options for the connection to the hosted-engine storage domain []:
    • 对于光纤通道,从自动检测的列表中选择 LUN。必须配置并连接主机总线适配器,而且 LUN 不得包含任何现有数据。要重复使用现有的 LUN,请参阅 管理指南中的重新使用 LUN

      The following luns have been found on the requested target:
      [1] 3514f0c5447600351   30GiB   XtremIO XtremApp
      		status: used, paths: 2 active
      
      [2] 3514f0c5447600352   30GiB   XtremIO XtremApp
      		status: used, paths: 2 active
      
      Please select the destination LUN (1, 2) [1]:
  19. 输入 Manager 磁盘大小:

    Please specify the size of the VM disk in GB: [50]:

    当部署成功完成时,一个数据中心、集群、主机、存储域和管理器虚拟机已在运行。您可以登录到管理门户来添加任何其他资源。

  20. (可选)使用 ovirt-engine-extension-aaa-ldap-setup 交互式设置脚本添加目录服务器,以便您可以将其他用户添加到环境中。如需更多信息,请参阅管理指南 中的配置外部 LDAP 提供程序

Manager 虚拟机、运行它的主机以及自托管引擎存储域在管理门户中标有金色标牌。

启用 Red Hat Virtualization Manager 软件仓库不是自动安装的一部分。登录到 Manager 虚拟机,将其注册到 Content Delivery Network 中:

5.2. 启用 Red Hat Virtualization Manager 存储库

在 Red Hat Subscription Manager 中注册系统,附加 Red Hat Virtualization Manager 订阅并启用 Manager 软件仓库。

流程

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
    注意

    如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。

  2. 查找 Red Hat Virtualization Manager 订阅池并记录池 ID:

    # subscription-manager list --available
  3. 使用池 ID 将订阅附加到系统:

    # subscription-manager attach --pool=pool_id
    注意

    查看当前附加的订阅:

    # subscription-manager list --consumed

    列出所有启用的软件仓库:

    # yum repolist
  4. 配置存储库:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rpms \
        --enable=rhel-7-server-supplementary-rpms \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=rhel-7-server-rhv-4-manager-tools-rpms \
        --enable=rhel-7-server-ansible-2.9-rpms \
        --enable=jb-eap-7.2-for-rhel-7-server-rpms

登录到管理门户,您可以在其中添加主机和存储到环境中:

5.3. 连接到管理门户

使用 Web 浏览器访问管理门户。

  1. 在 Web 浏览器中,导航到 https://manager-fqdn/ovirt-engine,将 manager-fqdn 替换为您在安装过程中提供的 FQDN。

    注意

    您可以使用备用主机名或 IP 地址访问管理门户。为此,您需要在 /etc/ovirt-engine/engine.conf.d/ 下添加一个配置文件。例如:

    # vi /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.conf
    SSO_ALTERNATE_ENGINE_FQDNS="alias1.example.com alias2.example.com"

    备用主机名列表需要用空格分开。您还可以将 Manager 的 IP 地址添加到列表中,但不建议使用 IP 地址而不是 DNS 可解析的主机名。

  2. 单击 Administration Portal。将显示 SSO 登录页面。通过 SSO 登录,您可以同时登录管理和虚拟机门户。
  3. 输入您的用户名密码。如果您是第一次登录,请使用用户名 admin 以及安装期间指定的密码。
  4. 选择要对其进行身份验证的。如果使用内部 admin 用户名进行登录,请选择 internal 域。
  5. Log In
  6. 您可以使用多种语言查看管理门户。默认选择会根据 Web 浏览器的区域设置进行选择。如果要使用非默认语言查看管理门户,请从欢迎页面的下拉列表中选择您首选的语言。

要从 Red Hat Virtualization 管理门户注销,请单击标题栏中的用户名并单击 Sign Out。您已注销所有门户,并显示 Manager 欢迎屏幕。

第 6 章 为 Red Hat Virtualization 安装主机

Red Hat Virtualization 支持两类主机:Red Hat Virtualization Hosts (RHVH)Red Hat Enterprise Linux 主机。根据您的环境,您可能只使用一种类型,或两者都使用。迁移和高可用性等功能至少需要两个主机。

如需网络信息,请参阅 第 6.3 节 “配置主机网络的建议做法”

重要

安装时 SELinux 处于 enforcing 模式。要进行验证,请运行 getenforce。SELinux 必须在所有主机和管理器上处于 enforcing 模式,才能支持您的 Red Hat Virtualization 环境。

表 6.1. 主机类型

主机类型其他名称描述

Red Hat Virtualization Host

RHVH,一个精简的主机

这是基于 Red Hat Enterprise Linux 的最小操作系统。它作为 ISO 文件从客户门户分发,仅包含计算机充当主机所需的软件包。

Red Hat Enterprise Linux 主机

RHEL 主机,一个完全的主机

附加了适当订阅的 Red Hat Enterprise Linux 系统可用作主机。

主机兼容性

创建新数据中心时,您可以设置兼容性版本。选择适合数据中心所有主机的兼容性版本。设置之后,不允许版本回归。对于全新的 Red Hat Virtualization 安装,在默认数据中心和默认集群中设置了最新的兼容性版本 ; 要使用较早的兼容性版本,您必须创建额外的数据中心和集群。有关兼容性版本的更多信息,请参阅 Red Hat Virtualization 生命周期中的 Red Hat Virtualization Manager 兼容性

6.1. Red Hat Virtualization 主机

6.1.1. 安装 Red Hat Virtualization 主机

Red Hat Virtualization Host (RHVH) 是一个基于 Red Hat Enterprise Linux 的最小操作系统,旨在提供一种简单的方法来设置物理机以充当 Red Hat Virtualization 的 hypervisor。最小操作系统仅包含计算机充当虚拟机监控程序所需的软件包,并提供 Cockpit Web 界面来监控主机和执行管理任务。有关浏览器的最低要求,请查看 http://cockpit-project.org/running.html

RHVH 支持 NIST 800-53 分区要求以提高安全性。RHVH 默认使用 NIST 800-53 分区布局。

主机必须满足最低主机要求

流程

  1. 从客户门户网站下载 RHVH ISO 镜像:

    1. 登录到客户门户网站 https://access.redhat.com
    2. 点菜单栏中的 Downloads
    3. Red Hat Virtualization。向上滚动并点 Download Latest 以访问产品下载页面。
    4. 进入 Hypervisor Image for RHV 4.3 并点 Download Now
    5. 创建可引导介质设备。如需更多信息,请参阅 Red Hat Enterprise Linux 安装指南中的复制介质
  2. 启动您要安装 RHVH 的机器,从准备的安装介质启动。
  3. 在引导菜单中,选择 Install RHVH 4.3 并按 Enter

    注意

    您还可以按 Tab 键编辑内核参数。内核参数必须以空格分开,您可以通过按 Enter 键使用指定的内核参数引导系统。按 Esc 键清除对内核参数的任何更改并返回到引导菜单。

  4. 选择语言,然后点 Continue
  5. Date & Time 屏幕中选择一个时区,然后点 Done
  6. 从键盘菜单中选择 键盘布局,再单击 Done
  7. Installation Destination 屏幕中选择要在其上安装 RHV 的设备。(可选)启用加密。点 Done

    重要

    红帽强烈建议使用 Automatically configure partitioning 选项。

  8. Network & Host Name 屏幕选择一个网络,然后点击 Configure…​ 来配置连接详情。

    注意

    要在每次系统引导时使用连接,选择 Automatically connect to this network when it is available 复选框。如需更多信息,请参阅 Red Hat Enterprise Linux 7 安装指南中的编辑网络连接

    Host name 字段中输入主机名,然后单击 Done

  9. (可选)配置语言支持安全策略Kdump。有关安装概述界面中的每个部分的更多信息,请参阅 Red Hat Enterprise Linux 7 安装指南中的使用 Anaconda进行安装
  10. Begin Installation
  11. 设置 root 密码,并选择性地在 RHVH 安装时创建额外的用户。

    警告

    红帽建议不要在 RHVH 上创建不受信任的用户,因为这可能导致利用本地安全漏洞。

  12. 单击 Reboot 以完成安装。

    注意

    当 RHVH 重新启动时,nodectl check 会在主机上执行健康检查,并在您在命令行中登录时显示结果。消息 node status: OKnode status: DEGRADED 代表了健康状态。运行 nodectl check 以了解更多信息。该服务默认启用。

6.1.2. 启用 Red Hat Virtualization 主机存储库

注册系统以接收更新。Red Hat Virtualization Host 只需要一个软件仓库。本节提供有关将 RHVH 注册到内容交付网络Red Hat Satellite 6 的说明。

将 RHVH 注册到内容交付网络

  1. 登录位于 https://HostFQDNorIP:9090 的 Cockpit Web 界面。
  2. 进入 Subscriptions,点 Register System,并输入您的客户门户网站用户名和密码。Red Hat Virtualization Host 订阅会自动附加到系统。
  3. Terminal
  4. 启用 Red Hat Virtualization Host 7 软件仓库,以便稍后对 Red Hat Virtualization 主机进行更新:

    # subscription-manager repos --enable=rhel-7-server-rhvh-4-rpms

将 RHVH 注册到 Red Hat Satellite 6

  1. 登录位于 https://HostFQDNorIP:9090 的 Cockpit Web 界面。
  2. Terminal
  3. 使用 Red Hat Satellite 6 注册 RHVH:

      # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
      # subscription-manager register --org="org_id"
      # subscription-manager list --available
      # subscription-manager attach --pool=pool_id
      # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhvh-4-rpms

6.1.3. 高级安装

6.1.3.1. 自定义分区

不建议在 Red Hat Virtualization Host (RHVH) 上自定义分区。红帽强烈建议在 Installation Destination 窗口中使用 Automatically configure partitioning 选项。

如果您的安装需要自定义分区,在安装过程中选择 I will configure partitioning 选项,请注意这有以下限制:

  • 确定在 Manual Partitioning 窗口中选择了默认 LVM Thin Provisioning 选项。
  • 以下目录是必需的,且必须在精简置备的逻辑卷中:

    • root (/)
    • /home
    • /tmp
    • /var
    • /var/crash
    • /var/log
    • /var/log/audit

      重要

      不要为 /usr 创建单独的分区。这样做将导致安装失败。

      /usr 必须位于可以更改版本与 RHVH 的逻辑卷中,因此应保留在 root (/) 上。

      有关每个分区所需的存储大小的详情请参考 第 2.2.3 节 “存储要求”

  • /boot 目录应定义为标准分区。
  • /var 目录必须位于单独的卷或磁盘中。
  • 仅支持 XFS 或 Ext4 文件系统。

在 Kickstart 文件中配置手动分区

以下示例演示了如何在 Kickstart 文件中配置手动分区。

clearpart --all
part /boot --fstype xfs --size=1000 --ondisk=sda
part pv.01 --size=42000 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40000 --grow
logvol / --vgname=HostVG --name=root --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=6000 --grow
logvol /var --vgname=HostVG --name=var --thin --fstype=ext4 --poolname=HostPool
--fsoptions="defaults,discard" --size=15000
logvol /var/crash --vgname=HostVG --name=var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10000
logvol /var/log --vgname=HostVG --name=var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8000
logvol /var/log/audit --vgname=HostVG --name=var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2000
logvol /home --vgname=HostVG --name=home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1000
logvol /tmp --vgname=HostVG --name=tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1000
注意

如果使用 logvol --thinpool --grow,还必须包含 volgroup --reserved-spacevolgroup --reserved-percent,以在卷组中保留空间,以便精简池增长。

6.1.3.2. 自动部署 Red Hat Virtualization 主机

您可以在没有物理介质设备的情况下安装 Red Hat Virtualization Host (RHVH),方法是使用包含安装问题的答案的 Kickstart 文件通过网络从 PXE 服务器引导。

Red Hat Enterprise Linux 安装指南中提供了使用 Kickstart 文件从 PXE 服务器安装的一般说明,因为 RHVH 的安装方式与 Red Hat Enterprise Linux 非常相似。下面介绍了 RHVH 的特定说明,以及使用 Red Hat Satellite 部署 RHVH 的示例。

自动化 RHVH 部署有 3 个阶段:

6.1.3.2.1. 准备安装环境
  1. 登录客户门户网站
  2. 点菜单栏中的 Downloads
  3. Red Hat Virtualization。向上滚动并点 Download Latest 以访问产品下载页面。
  4. 进入 Hypervisor Image for RHV 4.3 并点 Download Now
  5. 通过网络提供 RHVH ISO 镜像。请参阅 Red Hat Enterprise Linux 安装指南中的网络安装源
  6. 从 RHVH ISO 中提取 squashfs.img 虚拟机监控程序镜像文件:

    # mount -o loop /path/to/RHVH-ISO /mnt/rhvh
    # cp /mnt/rhvh/Packages/redhat-virtualization-host-image-update* /tmp
    # cd /tmp
    # rpm2cpio redhat-virtualization-host-image-update* | cpio -idmv
    注意

    squashfs.img 文件位于 /tmp/usr/share/redhat-virtualization-host/image/ 目录中,名为 redhat-virtualization-host-version_number_version.squashfs.img。它包含用于在物理机上安装的虚拟机监控程序镜像。它不应与 /LiveOS/squashfs.img 文件(由 Anaconda inst.stage2 选项使用)混淆。

6.1.3.2.2. 配置 PXE 服务器和 Boot Loader
  1. 配置 PXE 服务器。请参阅 Red Hat Enterprise Linux 安装指南中的准备网络安装
  2. 将 RHVH 引导镜像复制到 /tftpboot 目录中:

    # cp mnt/rhvh/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
  3. 创建一个 rhvh 标签,在引导装载程序配置中指定 RHVH 引导镜像:

    LABEL rhvh
    MENU LABEL Install Red Hat Virtualization Host
    KERNEL /var/lib/tftpboot/pxelinux/vmlinuz
    APPEND initrd=/var/lib/tftpboot/pxelinux/initrd.img inst.stage2=URL/to/RHVH-ISO

    Red Hat Satellite 的 RHVH Boot Loader 配置示例

    如果您使用 Red Hat Satellite 中的信息来置备主机,您必须创建一个名为 rhvh_image 的全局或主机组级别参数,并使用挂载或提取 ISO 的目录 URL 填充它:

    <%#
    kind: PXELinux
    name: RHVH PXELinux
    %>
    # Created for booting new hosts
    #
    
    DEFAULT rhvh
    
    LABEL rhvh
    KERNEL <%= @kernel %>
    APPEND initrd=<%= @initrd %> inst.ks=<%= foreman_url("provision") %> inst.stage2=<%= @host.params["rhvh_image"] %> intel_iommu=on console=tty0 console=ttyS1,115200n8 ssh_pwauth=1 local_boot_trigger=<%= foreman_url("built") %>
    IPAPPEND 2
  4. 使 RHVH ISO 的内容在本地可用,并使用 HTTPD 服务器将其导出到网络中:

    # cp -a /mnt/rhvh/ /var/www/html/rhvh-install
    # curl URL/to/RHVH-ISO/rhvh-install
6.1.3.2.3. 创建并运行 Kickstart 文件
  1. 创建 Kickstart 文件,并使其可通过网络使用。请参阅 Red Hat Enterprise Linux 安装指南中的 Kickstart 安装
  2. 确保 Kickstart 文件满足以下 RHV 特定要求:

    • RHVH 不需要 %packages 部分。使用 liveimg 选项并指定 RHVH ISO 镜像中的 redhat-virtualization-host-version_number_version.squashfs.img 文件:

      liveimg --url=example.com/tmp/usr/share/redhat-virtualization-host/image/redhat-virtualization-host-version_number_version.squashfs.img
    • 强烈推荐自动分区:

      autopart --type=thinp
      注意

      精简配置必须与自动分区一起使用。

      --no-home 选项无法在 RHVH 中工作,因为 /home 是一个必需的目录。

      如果您的安装需要手动分区,请参阅 第 6.1.3.1 节 “自定义分区” 了解适用于分区的限制列表以及 Kickstart 文件中的手动分区示例。

    • 需要一个调用 nodectl init 命令的 %post 部分:

      %post
      nodectl init
      %end

      在其上部署 RHVH 的 Kickstart 示例

      此 Kickstart 示例演示了如何部署 RHVH。您可以根据需要包含其他命令和选项。

      liveimg --url=http://FQDN/tmp/usr/share/redhat-virtualization-host/image/redhat-virtualization-host-version_number_version.squashfs.img
      clearpart --all
      autopart --type=thinp
      rootpw --plaintext ovirt
      timezone --utc America/Phoenix
      zerombr
      text
      
      reboot
      
      %post --erroronfail
      nodectl init
      %end

      从 Satellite 部署 RHVH 的 Kickstart 示例

      此 Kickstart 示例使用 Red Hat Satellite 中的信息来配置主机网络,并将主机注册到 Satellite 服务器。您必须创建一个名为 rhvh_image 的全局或主机组级别参数,并为它填充 squashfs.img 文件的目录 URL。ntp_server1 也是全局或主机组级别变量。

      <%#
      kind: provision
      name: RHVH Kickstart default
      oses:
      - RHVH
      %>
      install
      liveimg --url=<%= @host.params['rhvh_image'] %>squashfs.img
      
      network --bootproto static --ip=<%= @host.ip %> --netmask=<%= @host.subnet.mask %> --gateway=<%= @host.subnet.gateway %> --nameserver=<%= @host.subnet.dns_primary %> --hostname <%= @host.name %>
      
      zerombr
      clearpart --all
      autopart --type=thinp
      
      rootpw --iscrypted <%= root_pass %>
      
      # installation answers
      lang en_US.UTF-8
      timezone <%= @host.params['time-zone'] || 'UTC' %>
      keyboard us
      firewall --service=ssh
      services --enabled=sshd
      
      text
      reboot
      
      %post --log=/root/ks.post.log --erroronfail
      nodectl init
      <%= snippet 'subscription_manager_registration' %>
      <%= snippet 'kickstart_networking_setup' %>
      /usr/sbin/ntpdate -sub <%= @host.params['ntp_server1'] || '0.fedora.pool.ntp.org' %>
      /usr/sbin/hwclock --systohc
      
      /usr/bin/curl <%= foreman_url('built') %>
      
      sync
      systemctl reboot
      %end
  3. 将 Kickstart 文件位置添加到 PXE 服务器的引导装载程序配置文件中:

    APPEND initrd=/var/tftpboot/pxelinux/initrd.img inst.stage2=URL/to/RHVH-ISO inst.ks=URL/to/RHVH-ks.cfg
  4. 按照 Red Hat Enterprise Linux 安装指南中的使用 PXE 从网络引导中的内容,安装 RHVH。

6.2. Red Hat Enterprise Linux 主机

6.2.1. 安装 Red Hat Enterprise Linux 主机

Red Hat Enterprise Linux 主机基于在物理服务器中的 Red Hat Enterprise Linux 7 的标准基本安装,并附加 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅。

有关具体安装说明,请参阅 执行标准 {enterprise-linux-shortname} 安装

主机必须满足最低主机要求

重要

虚拟化必须在主机的 BIOS 设置中启用。有关更改主机的 BIOS 设置的详情,请参考主机的硬件文档。

重要

第三方 watchdog 不应安装在 Red Hat Enterprise Linux 主机上,因为它们可能会影响到 VDSM 提供的 watchdog 守护进程。

6.2.2. 启用 Red Hat Enterprise Linux 主机存储库

要使用 Red Hat Enterprise Linux 机器作为主机,需要为主机注册 Content Delivery Network,附加 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅,并启用主机仓库。

流程

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
  2. 查找 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅池,并记录池 ID:

    # subscription-manager list --available
  3. 使用池 ID 将订阅附加到系统:

    # subscription-manager attach --pool=poolid
    注意

    查看当前附加的订阅:

    # subscription-manager list --consumed

    列出所有启用的软件仓库:

    # yum repolist
  4. 配置存储库:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rpms \
        --enable=rhel-7-server-rhv-4-mgmt-agent-rpms \
        --enable=rhel-7-server-ansible-2.9-rpms

    对于 Red Hat Enterprise Linux 7 主机、little endian、在 IBM POWER8 硬件上:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhv-4-mgmt-agent-for-power-le-rpms \
        --enable=rhel-7-for-power-le-rpms

    对于 Red Hat Enterprise Linux 7 主机, little endian 在 IBM POWER9 硬件上:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhv-4-mgmt-agent-for-power-9-rpms \
        --enable=rhel-7-for-power-9-rpms
  5. 确保当前安装的所有软件包都为最新版本:

    # yum update
  6. 重启机器。

6.2.3. 在 Red Hat Enterprise Linux 主机上安装 Cockpit

您可以安装 Cockpit 来监控主机的资源并执行管理任务。

流程

  1. 安装仪表板软件包:

    # yum install cockpit-ovirt-dashboard
  2. 启用并启动 cockpit.socket 服务:

    # systemctl enable cockpit.socket
    # systemctl start cockpit.socket
  3. 检查 Cockpit 是否在防火墙中是活跃的服务:

    # firewall-cmd --list-services

    您应看到 Cockpit 列出。如果没有,使用 root 权限输入以下内容,将 cockpit 添加为服务到防火墙:

    # firewall-cmd --permanent --add-service=cockpit

    使用 --permanent 选项可在重新启动后保持 cockpit 服务处于活动状态。

您可以在 https://HostFQDNorIP:9090 上登录到 Cockpit Web 界面。

6.4. 在 Red Hat Virtualization Manager 中添加自托管引擎节点

添加自托管引擎节点的方式与标准主机相同,需要额外的步骤将主机部署为自托管引擎节点。可自动检测共享存储域,并在需要时将节点用作故障转移主机来托管管理器虚拟机。您还可以将标准主机附加到自托管引擎环境中,但不能托管管理器虚拟机。红帽建议至少有两个自托管引擎节点,以确保 Manager 虚拟机高度可用。也可以使用 REST API 添加其他主机。请参阅 REST API 指南中的主机

先决条件

重要

在创建使用静态 IPv6 地址的管理网桥时,请在添加主机前禁用其接口配置(ifcfg)文件中的网络管理器控制。如需更多信息,请参阅 https://access.redhat.com/solutions/3981311

流程

  1. 在管理门户中,点 ComputeHosts
  2. New

    有关其他主机设置的详情,请参考管理指南中的新主机和编辑主机 Windows 中的设置和控制说明

  3. 使用下拉列表为新主机选择 Data CenterHost Cluster
  4. 输入新主机的名称地址。标准 SSH 端口(端口 22)在 SSH Port 字段中自动填充。
  5. 选择用于管理器以访问主机的身份验证方法。

    • 输入 root 用户的密码以使用密码身份验证。
    • 或者,将 SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
  6. (可选)配置电源管理,其中主机具有受支持的电源管理卡。有关电源管理配置的详情,请参阅管理指南中的主机电源管理设置说明
  7. 托管引擎选项卡。
  8. 选择 Deploy
  9. 点击 确定

6.5. 在 Red Hat Virtualization Manager 中添加标准主机

在您的 Red Hat Virtualization 环境中添加主机可能需要一些时间,因为平台将完成下列步骤:虚拟化检查、软件包安装和创建网桥。

重要

在创建使用静态 IPv6 地址的管理网桥时,请在添加主机前禁用其接口配置(ifcfg)文件中的网络管理器控制。如需更多信息,请参阅 https://access.redhat.com/solutions/3981311

流程

  1. 在管理门户中,单击 ComputeHosts
  2. New
  3. 使用下拉列表为新主机选择 Data CenterHost Cluster
  4. 输入新主机的名称地址。标准 SSH 端口(端口 22)在 SSH Port 字段中自动填充。
  5. 选择用于管理器以访问主机的身份验证方法。

    • 输入 root 用户的密码以使用密码身份验证。
    • 或者,将 SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
  6. (可选)点 Advanced Parameters 按钮更改以下高级主机设置:

    • 禁用自动防火墙配置。
    • 添加主机 SSH 指纹以提高安全性。您可以手动添加,或自动获取。
  7. (可选)配置电源管理,其中主机有一个受支持的电源管理卡。有关电源管理配置的详情,请参阅管理指南中的主机电源管理设置说明
  8. 点击 确定

新主机显示在主机列表中,状态为 Installing,您可以在 通知 DrawerEvents 部分查看安装进度( EventsIcon )。在短暂延迟主机状态变为 Up 后。

第 7 章 为 Red Hat Virtualization 添加存储

在新环境中添加存储作为数据域。Red Hat Virtualization 环境必须至少有一个数据域,但建议添加更多。

添加您之前准备的存储:

重要

如果您使用的是 iSCSI 存储,新的数据域不能使用与自托管引擎存储域相同的 iSCSI 目标。

警告

强烈建议您在与自托管引擎存储域相同的数据中心内创建其他数据域。如果您在只有一个活动数据存储域的数据中心部署自托管引擎,并且该存储域已损坏,您将无法添加新的存储域或删除损坏的存储域;您必须重新部署自托管引擎。

7.1. 添加 NFS 存储

此流程演示了如何将现有 NFS 存储附加到 Red Hat Virtualization 环境作为数据域。

如果您需要 ISO 或导出域,请使用此流程,但从 Domain Function 列表中选择 ISOExport

流程

  1. 在管理门户中,点StorageDomains
  2. New Domain
  3. 输入存储域的名称
  4. 接受 Data Center, Domain Function, Storage Type, Format, 和 Host 列表的默认值。
  5. 输入要用于存储域的导出路径。导出路径的格式应为 123.123.0.10:/data (IPv4), [2001:0:0:0:0:0:0:5db1]:/data (IPv6), 或 domain.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. 点击 确定

新 NFS 数据域的状态为 Locked,直到准备好磁盘为止。然后,数据域将自动附加到数据中心。

7.2. 添加 iSCSI 存储

此流程演示了如何将现有 iSCSI 存储附加到 Red Hat Virtualization 环境中作为数据域。

流程

  1. StorageDomains
  2. New Domain
  3. 输入新存储域的名称
  4. 从下拉列表中选择数据中心
  5. 选择 Data 作为 Domain FunctioniSCSI 作为 Storage Type
  6. 选择活动主机作为主机

    重要

    与存储域的通信来自选定的主机,而不是直接从管理器通信。因此,所有主机都必须有权访问存储设备,然后才能配置存储域。

  7. 管理器可以将 iSCSI 目标映射到 LUN 或 LUN,以将 iSCSI 目标映射到 iSCSI 目标。当选择了 iSCSI 存储类型时,新建域窗口会自动显示已知带有未使用的 LUN 的目标。如果没有显示您要添加存储的目标,您可以使用目标发现来查找它;否则,继续下一步。

    1. 单击 Discover Targets 以启用目标发现选项。发现目标并登录后,新建域窗口将自动显示环境未使用的目标。

      注意

      在环境外部使用的 LUN 也会显示。

      您可以使用 发现目标 选项在多个目标或同一 LUN 的多个路径中添加 LUN。

    2. Address 字段中输入 iSCSI 主机的 FQDN 或 IP 地址。
    3. Port 字段中,输入在浏览目标时要连接到主机的端口。默认值为 3260
    4. 如果使用 CHAP 保护存储,请选中 User Authentication 复选框。输入 CHAP 用户名CHAP 密码

      注意

      您可以使用 REST API 为特定主机的 iSCSI 目标定义凭据。如需更多信息,请参阅 REST API 指南中的 StorageServerConnectionExtensions: add

    5. Discover
    6. 从发现结果中选择一个或多个目标,再点 Login(一个目标)或 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 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
    5. 选中 Discard After Delete 复选框,以在删除后启用丢弃选项。可在创建域后编辑此选项。此选项仅适用于块存储域。
  11. 点击 确定

如果您已配置了多个存储连接路径到同一目标,请按照配置 iSCSI 多路径以完成 iSCSI 绑定的步骤进行操作。

如果要将当前存储网络迁移到 iSCSI 绑定,请参阅将逻辑网络迁移到 iSCSI Bond

7.3. 添加 FCP 存储

此流程演示了如何将现有 FCP 存储附加到 Red Hat Virtualization 环境作为数据域。

流程

  1. StorageDomains
  2. New Domain
  3. 输入存储域的名称
  4. 从下拉列表中选择 FCP Data Center

    如果您还没有适当的 FCP 数据中心,请选择 (none)

  5. 从下拉列表中选择 Domain FunctionStorage Type。与所选数据中心不兼容的存储域类型不可用。
  6. Host 字段中选择一个活动主机。如果这不是数据中心中的第一个数据域,您必须选择数据中心的 SPM 主机。

    重要

    与存储域的所有通信均通过选定的主机进行,而不是直接从 Red Hat Virtualization Manager 进行。系统中必须至少有一个活动主机,并附加到所选的数据中心。所有主机都必须有权访问存储设备,然后才能配置存储域。

  7. 当选择 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 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
    5. 选中 Discard After Delete 复选框,以在删除后启用丢弃选项。可在创建域后编辑此选项。此选项仅适用于块存储域。
  9. 点击 确定

新的 FCP 数据域在准备使用时仍然处于 Locked 状态。准备就绪后,它将自动附加到 数据中心。

7.4. 添加 Red Hat Gluster Storage

要在 Red Hat Virtualization 中使用 Red Hat Gluster Storage,请参阅 配置 Red Hat Virtualization 使用 Red Hat Gluster Storage

有关 Red Hat Virtualization 支持的 Red Hat Gluster Storage 版本,请参阅 https://access.redhat.com/articles/2356261

附录 A. 对自托管引擎部署进行故障排除

若要确认自托管引擎是否已部署,请运行 hosted-engine --check-deployed。只有尚未部署自托管引擎,才会显示错误。

A.1. Manager 虚拟机故障排除

运行 hosted-engine --vm-status,检查管理器虚拟机的状态。

注意

对 Manager 虚拟机所做的任何更改都将花费大约 20 秒时间才能反映到 status 命令输出中。

根据输出中的引擎状态,请查看以下建议来查找或修复问题。

引擎状态:"health": "good", "vm": "up" "detail": "up"

  1. 如果 Manager 虚拟机已启动并正常运行,您会看到以下输出:

    --== Host 1 status ==--
    
    Status up-to-date              : True
    Hostname                       : hypervisor.example.com
    Host ID                        : 1
    Engine status                  : {"health": "good", "vm": "up", "detail": "up"}
    Score                          : 3400
    stopped                        : False
    Local maintenance              : False
    crc32                          : 99e57eba
    Host timestamp                 : 248542
  2. 如果输出为正常但无法连接到 Manager,请检查网络连接。

引擎状态:"reason": "failed liveliness check", "health": "bad", "vm": "up", "detail": "up"

  1. 如果健康状况badvmup,HA 服务将尝试重新启动 Manager 虚拟机,以使管理器返回。如果几分钟内不成功,请从命令行启用全局维护模式,以便主机不再由 HA 服务管理。

    # hosted-engine --set-maintenance --mode=global
  2. 连接到控制台。出现提示时,输入操作系统的 root 密码。如需了解更多控制台选项,请参阅 https://access.redhat.com/solutions/2221461

    # hosted-engine --console
  3. 登录,确保管理器虚拟机的操作系统正在运行。
  4. 检查 ovirt-engine 服务的状态:

    # systemctl status -l ovirt-engine
    # journalctl -u ovirt-engine
  5. 检查以下日志:/var/log/messages/var/log/ovirt-engine/engine.log,/var/log/ovirt-engine/server.log
  6. 修复这个问题后,从其中一个自托管引擎节点手动重启 Manager 虚拟机:

    # hosted-engine --vm-shutdown
    # hosted-engine --vm-start
    注意

    当自托管引擎节点处于全局维护模式时,必须手动重启管理器虚拟机。如果您尝试通过从命令行发送 reboot 命令重新启动 Manager 虚拟机,则 Manager 虚拟机将保持关闭状态。这是设计中的。

  7. 在 Manager 虚拟机上,验证 ovirt-engine 服务是否已启动并在运行:

     # systemctl status ovirt-engine.service
  8. 确保 Manager 虚拟机启动并运行后,关闭控制台会话并禁用维护模式以再次启用 HA 服务:

    # hosted-engine --set-maintenance --mode=none

引擎状态:"vm": "down", "health": "bad", "detail": "unknown", "reason": "vm not running on this host"

  1. 如果您的环境中有多个主机,请确保另一个主机当前没有尝试重启 Manager 虚拟机。
  2. 确保您不在全局维护模式。
  3. 检查 /var/log/ovirt-hosted-engine-ha/agent.log 中的 ovirt-ha-agent 日志。
  4. 尝试从其中一个自托管引擎节点手动重启 Manager 虚拟机:

    # hosted-engine --vm-shutdown
    # hosted-engine --vm-start

引擎状态:"vm": "unknown", "health": "unknown", "detail": "unknown", "reason": "failed to getVmStats"

此状态表示 ovirt-ha-agent 无法从 VDSM 获取虚拟机的详细信息。

  1. 检查 /var/log/vdsm/vdsm.log 中的 VDSM 日志。
  2. 检查 /var/log/ovirt-hosted-engine-ha/agent.log 中的 ovirt-ha-agent 日志。

引擎状态:自托管引擎的配置尚未从共享存储中检索

如果您的状态为 The hosted engine configuration has not been retrieved from shared storage.Please ensure that ovirt-ha-agent is running and the storage server is reachable,这代表 ovirt-ha-agent 服务或存储有问题,或两者都有问题。

  1. 检查主机上的 ovirt-ha-agent 状态:

    # systemctl status -l ovirt-ha-agent
    # journalctl -u ovirt-ha-agent
  2. 如果 ovirt-ha-agent 停机,重启它:

    # systemctl start ovirt-ha-agent
  3. /var/log/ovirt-hosted-engine-ha/agent.log 中检查 ovirt-ha-agent 日志。
  4. 检查您可以 ping 共享存储。
  5. 检查是否挂载了共享存储。

其他故障排除命令

重要

如果您认为需要运行任何这些命令对自托管引擎环境进行故障排除,请联系红帽支持团队。

  • hosted-engine --reinitialize-lockspace:当 sanlock 锁定空间出现问题时,将使用此命令。确保已启用全局维护模式,并在重新初始化 sanlock 锁定空间前停止 Manager 虚拟机。
  • hosted-engine --clean-metadata:从全局状态数据库中删除主机的代理元数据。这可以使得所有其他主机忘记这个主机。确保目标主机已停机,并且启用了全局维护模式。
  • hosted-engine --check-liveliness:该命令检查 ovirt-engine 服务的存活度页面。您还可以在 Web 浏览器中连接到 https://engine-fqdn/ovirt-engine/services/health/ 来检查。
  • hosted-engine --connect-storage:该命令指示 VDSM 准备主机和管理器虚拟机所需的所有存储连接。这通常在自托管引擎部署期间在后端运行。如果您需要运行此命令来排除存储问题,请确保已启用全局维护模式。

A.2. 清理失败的自托管引擎部署

如果自动托管引擎部署中断,后续的部署将失败,并显示错误消息。该错误将根据部署失败的阶段而有所不同。

如果收到错误消息,您可以在部署主机上运行清理脚本来清理失败的部署。但是,最好重新安装您的基本操作系统并从头进行部署。

注意

清理脚本有以下限制:

  • 运行脚本期间网络连接中断可能会导致脚本无法删除管理网桥或重新创建正常工作的网络配置。
  • 该脚本不设计用于清理部署失败期间使用的任何共享存储设备。您需要先清理共享存储设备,然后才能在后续部署中重复利用。

流程

  1. 运行 /usr/sbin/ovirt-hosted-engine-cleanup,然后选择 y 以删除失败的自托管引擎部署中的任何内容。

    # /usr/sbin/ovirt-hosted-engine-cleanup
    This will de-configure the host to run ovirt-hosted-engine-setup from scratch.
    Caution, this operation should be used with care.
    Are you sure you want to proceed? [y/n]
  2. 定义要在同一共享存储设备中重新安装,还是选择不同的共享存储设备。

    • 要在同一存储域上部署安装,请在服务器中为 NFS、Gluster、PosixFS 或本地存储域的适当目录中运行以下命令清理存储域:

      # rm -rf storage_location/*
    • 有关如何清理存储的详情,请参考 https://access.redhat.com/solutions/2121581
    • 或者,选择不同的共享存储设备。
  3. 重新部署自托管引擎。

附录 B. 将数据库和服务迁移到远程服务器

虽然您无法在自动安装过程中配置远程数据库和服务,但您可以在安装后将其迁移到单独的服务器。

B.1. 将自托管引擎数据库迁移到远程服务器

在对 Red Hat Virtualization Manager 进行了初始配置后,也可以将自托管引擎的 engine 数据库迁移到远程数据库服务器。使用 engine-backup 创建数据库备份,并在新的数据库服务器中恢复它。

新的数据库服务器必须安装有 Red Hat Enterprise Linux 7 并启用所需的存储库:

启用 Red Hat Virtualization Manager 存储库

在 Red Hat Subscription Manager 中注册系统,附加 Red Hat Virtualization Manager 订阅并启用 Manager 软件仓库。

流程

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
    注意

    如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。

  2. 查找 Red Hat Virtualization Manager 订阅池并记录池 ID:

    # subscription-manager list --available
  3. 使用池 ID 将订阅附加到系统:

    # subscription-manager attach --pool=pool_id
    注意

    查看当前附加的订阅:

    # subscription-manager list --consumed

    列出所有启用的软件仓库:

    # yum repolist
  4. 配置存储库:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rpms \
        --enable=rhel-7-server-supplementary-rpms \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=rhel-7-server-rhv-4-manager-tools-rpms \
        --enable=rhel-7-server-ansible-2.9-rpms \
        --enable=jb-eap-7.2-for-rhel-7-server-rpms

将自托管引擎数据库迁移到远程服务器

  1. 登录自托管引擎节点,并将环境置于全局维护模式。这会禁用高可用性代理,并防止 Manager 虚拟机在流程中迁移:

    # hosted-engine --set-maintenance --mode=global
  2. 登录到 Red Hat Virtualization Manager 机器并停止 ovirt-engine 服务,使其不会影响到引擎备份:

    # systemctl stop ovirt-engine.service
  3. 创建 engine 数据库备份:

    # engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=backup_log_name
  4. 将备份文件复制到新的数据库服务器:

    # scp /tmp/engine.dump root@new.database.server.com:/tmp
  5. 登录到新的数据库服务器并安装 engine-backup

    # yum install ovirt-engine-tools-backup
  6. 在新数据库服务器上恢复数据库。file_name 是从 Manager 复制的备份文件。

    # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=restore_log_name --provision-db --no-restore-permissions
  7. 现在数据库已迁移,启动 ovirt-engine 服务:

    # systemctl start ovirt-engine.service
  8. 登录到自托管引擎节点并关闭维护模式,启用高可用性代理:

    # hosted-engine --set-maintenance --mode=none

B.2. 将数据仓库迁移到独立机器

本节论述了如何将数据仓库数据库和服务从 Red Hat Virtualization Manager 迁移到单独的机器。在单独的计算机上托管数据仓库服务可减少每台计算机的负载,并可以使每个服务避免与其他进程共享 CPU 和内存资源导致的潜在冲突。

您可以迁移数据仓库服务,并将它与现有的数据仓库数据库(ovirt_engine_history)连接,也可以在迁移数据仓库服务之前将数据仓库数据库迁移到单独的计算机。如果数据仓库数据库托管在 Manager 上,在 Data Warehouse 服务之外迁移数据库也会进一步降低 Manager 计算机上资源的竞争。您可以将数据库迁移到将数据仓库服务迁移到与 Manager 机器和新数据仓库服务机器独立的机器上。

B.2.1. 将数据仓库数据库迁移到独立机器

在迁移数据仓库服务之前,迁移数据仓库数据库 (ovirt_engine_history)。使用 engine-backup 创建数据库备份,并在新数据库计算机上恢复它。有关 engine-backup 的更多信息,请运行 engine-backup --help

要只迁移数据仓库服务,请参阅 第 B.2.2 节 “将数据仓库服务迁移到独立机器”

新的数据库服务器必须安装有 Red Hat Enterprise Linux 7。在新数据库服务器上启用所需的存储库。

启用 Red Hat Virtualization Manager 存储库

在 Red Hat Subscription Manager 中注册系统,附加 Red Hat Virtualization Manager 订阅并启用 Manager 软件仓库。

流程

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
    注意

    如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。

  2. 查找 Red Hat Virtualization Manager 订阅池并记录池 ID:

    # subscription-manager list --available
  3. 使用池 ID 将订阅附加到系统:

    # subscription-manager attach --pool=pool_id
    注意

    查看当前附加的订阅:

    # subscription-manager list --consumed

    列出所有启用的软件仓库:

    # yum repolist
  4. 配置存储库:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rpms \
        --enable=rhel-7-server-supplementary-rpms \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=rhel-7-server-rhv-4-manager-tools-rpms \
        --enable=rhel-7-server-ansible-2.9-rpms \
        --enable=jb-eap-7.2-for-rhel-7-server-rpms
将数据仓库数据库迁移到独立机器
  1. 在 Manager 中创建数据仓库数据库和配置文件的备份:

    # engine-backup --mode=backup --scope=dwhdb --scope=files --file=file_name --log=log_file_name
  2. 将备份文件从 Manager 复制到新机器:

    # scp /tmp/file_name root@new.dwh.server.com:/tmp
  3. 在新机器上安装 engine-backup

    # yum install ovirt-engine-tools-backup
  4. 安装 PostgreSQL 服务器软件包:

    # yum install rh-postgresql10 rh-postgresql10-postgresql-contrib
  5. 初始化 PostgreSQL 数据库,启动 postgresql 服务,并确保该服务在引导时启动:

    # scl enable rh-postgresql10 -- postgresql-setup --initdb
    # systemctl enable rh-postgresql10-postgresql
    # systemctl start rh-postgresql10-postgresql
  6. 在新计算机上恢复数据仓库数据库。file_name 是从 Manager 复制的备份文件。

    # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --provision-dwh-db --no-restore-permissions

数据仓库数据库现在托管在与管理器托管的独立计算机上。成功恢复数据仓库数据库后,提示您运行 engine-setup 命令。在运行此命令之前,请先迁移数据仓库服务。

B.2.2. 将数据仓库服务迁移到独立机器

您可以将 Red Hat Virtualization Manager 上安装并配置的数据仓库服务迁移到单独的机器。在单独的计算机上托管数据仓库服务有助于减少管理器计算机上的负载。

请注意,这个过程仅迁移数据仓库服务。

要在迁移数据仓库服务前迁移数据仓库数据库 (ovirt_engine_history),请参阅 第 B.2.1 节 “将数据仓库数据库迁移到独立机器”

先决条件

  • 您必须在同一台机器上安装并配置了管理器和数据仓库。
  • 要设置新的数据仓库机器,您必须有以下内容:

    • Manager 的 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 文件中的密码。
    • 允许从数据仓库计算机访问 Manager 数据库计算机的 TCP 端口 5432.
    • 数据仓库数据库中的 /etc/ovirt-engine-dwh/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-database.conf 文件中的用户名和密码。如果您使用 第 B.2.1 节 “将数据仓库数据库迁移到独立机器” 迁移了 ovirt_engine_history 数据库,备份包括这些凭证,您可以在该机器的数据库设置过程中定义这些凭证。

安装此场景需要四个步骤:

B.2.2.1. 设置新的数据仓库机器

启用 Red Hat Virtualization 软件仓库并在 Red Hat Enterprise Linux 7 机器上安装 Data Warehouse setup 软件包:

  1. 启用所需的软件仓库:

    1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

      # subscription-manager register
    2. 查找 Red Hat Virtualization Manager 订阅池并记录池 ID:

      # subscription-manager list --available
    3. 使用池 ID 将订阅附加到系统:

      # subscription-manager attach --pool=pool_id
    4. 配置存储库:

      # subscription-manager repos \
          --disable='*' \
          --enable=rhel-7-server-rpms \
          --enable=rhel-7-server-supplementary-rpms \
          --enable=rhel-7-server-rhv-4.3-manager-rpms \
          --enable=rhel-7-server-rhv-4-manager-tools-rpms \
          --enable=rhel-7-server-ansible-2.9-rpms \
          --enable=jb-eap-7.2-for-rhel-7-server-rpms
  2. 确保当前安装的所有软件包都为最新版本:

    # yum update
  3. 安装 ovirt-engine-dwh-setup 软件包:

    # yum install ovirt-engine-dwh-setup

B.2.2.2. 在 Manager 机器上停止数据仓库服务

  1. 停止数据仓库服务:

    # systemctl stop ovirt-engine-dwhd.service
  2. 如果数据库托管在远程计算机上,您必须通过编辑 postgres.conf 文件来手动授予访问权限。编辑 /var/opt/rh/rh-postgresql10/lib/pgsql/data/postgresql.conf 文件并修改 listen_addresses 行,使其与以下内容匹配:

    listen_addresses = '*'

    如果该行不存在或已被注释掉,请手动添加。

    如果数据库托管在 Manager 机器上,且是在 Red Hat Virtualization Manager 完全设置过程中配置的,则默认授予访问权限。

    有关如何配置和迁移数据仓库数据库的更多信息,请参阅 第 B.2.1 节 “将数据仓库数据库迁移到独立机器”

  3. 重启 postgresql 服务:

    # systemctl restart rh-postgresql10-postgresql

B.2.2.3. 配置新的数据仓库(Data Warehouse 机器)

本节中显示的选项或设置顺序可能因您的环境而异。

  1. 如果您要同时将 ovirt_engine_history 数据库和数据仓库服务迁移到同一个计算机上,请运行以下命令,否则继续下一步。

    # sed -i '/^ENGINE_DB_/d' \
            /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-database.conf
    
    # sed -i \
         -e 's;^\(OVESETUP_ENGINE_CORE/enable=bool\):True;\1:False;' \
         -e '/^OVESETUP_CONFIG\/fqdn/d' \
         /etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf
  2. 运行 engine-setup 命令,开始在机器上配置数据仓库:

    # engine-setup
  3. Enter 键配置数据仓库:

    Configure Data Warehouse on this host (Yes, No) [Yes]:
  4. Enter 接受自动检测到的主机名,或者输入替代主机名并按 Enter

    Host fully qualified DNS name of this server [autodetected host name]:
  5. Enter 键自动配置防火墙,或者键入 No 并按 Enter 来维护现有设置:

    Setup can automatically configure the firewall on this system.
    Note: automatic configuration of the firewall may overwrite current settings.
    Do you want Setup to configure the firewall? (Yes, No) [Yes]:

    如果您选择自动配置防火墙,且没有防火墙管理器处于活动状态,系统会提示您从支持的选项列表中选择您所选的防火墙管理器。输入防火墙管理器的名称,然后按 Enter。即使只列出了一个选项,也是如此。

  6. 为 Manager 输入完全限定域名和密码。按 Enter 键接受其他字段中的默认值:

    Host fully qualified DNS name of the engine server []: engine-fqdn
    Setup needs to do some actions on the remote engine server. Either automatically, using ssh as root to access it, or you will be prompted to manually perform each such action.
    Please choose one of the following:
    1 - Access remote engine server using ssh as root
    2 - Perform each action manually, use files to copy content around
    (1, 2) [1]:
    ssh port on remote engine server [22]:
    root password on remote engine server engine-fqdn: password
  7. 输入 Manager 数据库计算机的 FQDN 和密码。按 Enter 键接受其他字段中的默认值:

    Engine database host []: manager-db-fqdn
    Engine database port [5432]:
    Engine database secured connection (Yes, No) [No]:
    Engine database name [engine]:
    Engine database user [engine]:
    Engine database password: password
  8. 确认安装设置:

    Please confirm installation settings (OK, Cancel) [OK]:

数据仓库服务现在在远程计算机上配置。继续在管理器计算机上禁用数据仓库服务。

B.2.2.4. 在 Manager 机器上禁用数据仓库服务

  1. 在 Manager 机器中重启 Manager:

    # service ovirt-engine restart
  2. 运行以下命令修改文件 /etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf,并将选项设置为 False:

    # sed -i \
         -e 's;^\(OVESETUP_DWH_CORE/enable=bool\):True;\1:False;' \
         -e 's;^\(OVESETUP_DWH_CONFIG/remoteEngineConfigured=bool\):True;\1:False;' \
         /etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf
  3. 禁用数据仓库服务:

    # systemctl disable ovirt-engine-dwhd.service
  4. 删除数据仓库文件:

    # rm -f /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/* .conf /var/lib/ovirt-engine-dwh/backups/*

数据仓库服务现在托管在管理器之外的独立机器上。

B.3. 将 Websocket 代理迁移到一个独立的机器

重要

websocket 代理和 noVNC 只是一个技术预览功能。技术预览功能不被红帽产品服务级别协议(SLA)支持,且可能无法完成。红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需更多信息,请参阅红帽技术预览功能支持范围

为了安全起见,websocket 代理可以在不运行 Red Hat Virtualization Manager 的单独机器上运行。将 websocket 代理从 Manager 机器迁移到单独的计算机涉及从 Manager 机器中删除 websocket 代理配置,然后在单独的机器上安装代理。

engine-cleanup 命令可用于从 Manager 机器中删除 websocket 代理:

从 Manager 机器中删除 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

在独立的机器中安装 Websocket 代理

重要

websocket 代理和 noVNC 只是一个技术预览功能。技术预览功能不被红帽产品服务级别协议(SLA)支持,且可能无法完成。红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需更多信息,请参阅红帽技术预览功能支持范围

websocket 代理允许用户通过 noVNC 控制台连接到虚拟机。noVNC 客户端使用 websocket 传递 VNC 数据。但是,QEMU 中的 VNC 服务器不提供 websocket 支持,因此必须在客户端和 VNC 服务器之间放置 websocket 代理。代理可以在任何可访问网络的机器中运行,包括 Manager 机器。

出于安全性和性能的原因,用户可能希望在单独的计算机上配置 websocket 代理。

流程

  1. 安装 websocket 代理:

    # yum install ovirt-engine-websocket-proxy
  2. 运行 engine-setup 命令以配置 websocket 代理。

    # engine-setup
    注意

    如果也安装了 rhvm 软件包,则在要求在此主机上配置管理器(Engine)时,请选择 No

  3. Enter 键,允许 engine-setup 在机器上配置 websocket 代理服务器。

    Configure WebSocket Proxy on this machine? (Yes, No) [Yes]:
  4. Enter 接受自动检测到的主机名,或者输入备用主机名,然后按 Enter 键。请注意,如果您使用虚拟主机,则自动检测主机名可能不正确:

    Host fully qualified DNS name of this server [host.example.com]:
  5. Enter 键允许 engine-setup 配置防火墙并打开外部通信所需的端口。如果不允许 engine-setup 修改防火墙配置,则必须手动打开所需端口。

    Setup can automatically configure the firewall on this system.
    Note: automatic configuration of the firewall may overwrite current settings.
    Do you want Setup to configure the firewall? (Yes, No) [Yes]:
  6. 输入 Manager 机器的 FQDN,然后按 Enter 键。

    Host fully qualified DNS name of the engine server []: manager.example.com
  7. Enter 键,允许 engine-setup 在 Manager 机器上执行操作,或按 2 以手动执行操作。

    Setup will need to do some actions on the remote engine server. Either automatically, using ssh as root to access it, or you will be prompted to manually perform each such action.
    Please choose one of the following:
    1 - Access remote engine server using ssh as root
    2 - Perform each action manually, use files to copy content around
    (1, 2) [1]:
    1. Enter 接受默认的 SSH 端口号,或者输入 Manager 机器的端口号。

      ssh port on remote engine server [22]:
    2. 输入 root 密码以登录到 Manager 计算机,然后按 Enter 键。

      root password on remote engine server engine_host.example.com:
  8. 选择是否查看 iptables 规则与当前设置不同。

    Generated iptables rules are different from current ones.
    Do you want to review them? (Yes, No) [No]:
  9. Enter 键确认配置设置。

    --== CONFIGURATION PREVIEW ==--
    
    Firewall manager                        : iptables
    Update Firewall                         : True
    Host FQDN                               : host.example.com
    Configure WebSocket Proxy               : True
    Engine Host FQDN                        : engine_host.example.com
    
    Please confirm installation settings (OK, Cancel) [OK]:

    提供了相应的说明,将 Manager 计算机配置为使用配置的 websocket 代理。

    Manual actions are required on the engine host
    in order to enroll certs for this host and configure the engine about it.
    
    Please execute this command on the engine host:
       engine-config -s WebSocketProxy=host.example.com:6100
    and than restart the engine service to make it effective
  10. 登录 Manager 机器并执行提供的说明。

    # engine-config -s WebSocketProxy=host.example.com:6100
    # systemctl restart ovirt-engine.service

附录 C. 为 PCI Passthrough 配置主机

注意

这是显示如何在 Red Hat Virtualization 上设置和配置 SR-IOV 的一系列主题中的一个。如需更多信息,请参阅设置和配置 SR-IOV

启用 PCI 透传(passthrough)可让虚拟机使用主机上的设备,就好像设备直接附加到虚拟机一样。要启用 PCI passthrough 功能,您必须启用虚拟化扩展和 IOMMU 功能。以下流程要求您重新引导主机。如果主机已附加到管理器,请务必先将主机置于维护模式。

先决条件

  • 确保主机硬件满足 PCI 设备直通和分配的要求。如需更多信息,请参阅 PCI 设备要求

为 PCI Passthrough 配置主机

  1. 在 BIOS 中启用虚拟化扩展和 IOMMU 扩展。如需更多信息,请参阅 Red Hat Enterprise Linux 虚拟化部署和管理指南中的在 BIOS 中启用 Intel VT-x 和 AMD-V 虚拟化硬件扩展
  2. 在将主机添加到 Manager 或手动编辑 grub 配置文件时,选择 Hostdev Passthrough & SR-IOV 复选框,在内核中启用 IOMMU 标志。

  3. 对于 GPU 直通,您需要在主机和客户机系统上运行其他配置步骤。请参阅 GPU device passthrough: Assigning a host GPU to a single virtual machine in Setting up an NVIDIA GPU for a virtual machine in Red Hat Virtualization

手动启用 IOMMU

  1. 通过编辑 grub 配置文件启用 IOMMU。

    注意

    如果您使用 IBM POWER8 硬件,请跳过此步骤,因为默认启用 IOMMU。

    • 对于 Intel,引导计算机,并在 grub 配置文件中的 GRUB_CMDLINE_LINUX 行的末尾附加 intel_iommu=on

      # vi /etc/default/grub
      ...
      GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... intel_iommu=on
      ...
    • 对于 AMD,引导计算机,并将 amd_iommu=on 附加到 grub 配置文件中的 GRUB_CMDLINE_LINUX 行的末尾。

      # vi /etc/default/grub
      ...
      GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... amd_iommu=on
      ...
      注意

      如果 intel_iommu=onamd_iommu=on 可以正常工作,您可以尝试添加 iommu=ptamd_iommu=ptpt 选项只为用于透传的设备启用 IOMMU,并提供更好的主机性能。但是,该选项可能并不在所有硬件上受到支持。如果 pt 选项不适用于您的主机,则恢复为上一选项。

      如果因为硬件不支持中断重新映射而导致 passthrough 失败,您可以考虑启用 allow_unsafe_interrupts 选项(如果虚拟机受信任)。默认情况下不启用 allow_unsafe_interrupts,因为它可能会使主机暴露于来自虚拟机的 MSI 攻击。启用该选项:

      # vi /etc/modprobe.d
      options vfio_iommu_type1 allow_unsafe_interrupts=1
  2. 刷新 grub.cfg 文件并重启主机以使这些更改生效:

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    # reboot

要启用 SR-IOV 并将专用虚拟 NIC 分配给虚拟机,请参阅 https://access.redhat.com/articles/2335291

附录 D. 删除 Red Hat Virtualization Manager

您可以使用 engine-cleanup 命令删除 Red Hat Virtualization Manager 的特定组件或所有组件。

注意

总是自动创建 Manager 数据库和 PKI 密钥的压缩存档和配置。这些文件保存在 /var/lib/ovirt-engine/backups/ 下,并分别在相应的文件名中包含 engine-engine-pki- 数据。

流程

  1. 在 Manager 机器中运行以下命令:

    # engine-cleanup
  2. 系统将提示您删除所有 Red Hat Virtualization Manager 组件:

    • 输入 Yes 并按 Enter 删除所有组件:

      Do you want to remove all components? (Yes, No) [Yes]:
    • 键入 No,然后按 Enter 键选择要删除的组件。您可以选择单独保留或删除每个组件:

      Do you want to remove Engine database content? All data will be lost (Yes, No) [No]:
      Do you want to remove PKI keys? (Yes, No) [No]:
      Do you want to remove PKI configuration? (Yes, No) [No]:
      Do you want to remove Apache SSL configuration? (Yes, No) [No]:
  3. 您会给另一个机会更改您的想法,并取消删除 Red Hat Virtualization Manager。如果选择继续,则 ovirt-engine 服务将停止,并且根据您选择的选项删除您的环境配置。

    During execution engine service will be stopped (OK, Cancel) [OK]:
    ovirt-engine is about to be removed, data will be lost (OK, Cancel) [Cancel]:OK
  4. 删除 Red Hat Virtualization 软件包:

    # yum remove rhvm* vdsm-bootstrap

附录 E. 保护 Red Hat Virtualization

此主题包括如何保护 Red Hat Virtualization 的有限信息。此信息随着时间的推移会增加。

这些信息特定于 Red Hat Virtualization,它不包括与以下相关的基本安全实践:

  • 禁用不必要的服务
  • 身份验证
  • 授权
  • Accounting
  • 非 RHV 服务的渗透测试和强化
  • 加密敏感应用程序数据

先决条件

  • 您应精通机构的安全标准和实践。如果可能,请咨询机构的负责安全的人员。
  • 部署 RHEL 主机前,请参阅 Red Hat Enterprise Linux 安全指南

E.1. Red Hat Linux 7 的 DISA STIG

国防信息系统局(DISA)为各种平台和操作系统发布安全技术实施指南(STIG)。

安装 Red Hat Virtualization 主机 (RHVH) 时,DISA STIG for Red Hat Linux 7 是可用的安全策略之一。在安装过程中启用此配置集不再需要重新生成 SSH 密钥、SSL 证书,或者稍后在部署过程中重新配置主机。

重要

DISA STIG 安全策略是红帽官方测试和认证的唯一安全策略。

DISA STIG 是 DOD IA 和支持 IA 的设备/系统的配置标准自 1998 年以来,DISA 通过提供安全技术实施指南 (STIG) 在增强国防部安全系统的安全形象方面发挥了重要作用。STIG 含有有关"锁定"信息系统/软件的技术指导,否则可能容易遭受恶意计算机攻击"。

这些 STIG 基于国家标准与技术协会 (NIST) 800-53 提出的要求,这是美国联邦信息系统安全控制目录(美国联邦信息系统除外)。

要确定哪些配置文件重叠,红帽指的是云安全联盟的云控制矩阵(CCM)。此 CCM 指定一组全面的云安全控制,并将每一控制映射到领先标准、最佳实践和法规的要求。

为了帮助您验证安全策略,红帽为各种红帽平台(包括 RHEL 和 RHV)提供了 OpenSCAP 工具和安全内容自动化协议 (SCAP) 配置集。

红帽的 OpenSCAP 项目为管理员和审计员提供开源工具,用于评估、测量和执行 SCAP 基准。NIST 于 2014 年向 OpenSCAP 授予 SCAP 1.2 认证。

NIST 维护 SCAP 标准。SCAP 兼容配置集提供有关设置操作系统和应用程序安全配置的详细低级别指导。

红帽将各种产品和平台的 SCAP 基准发布到两个位置:

  • NIST 国家检查清单 (NCP),是公开提供的安全检查清单(或基准测试)美国政府存储库。
  • Department of Defense (DoD) Cyber Exchange

E.2. 为 Red Hat Linux 7 Profile 应用 DISA STIG

本节介绍如何在安装 Red Hat Virtualization (RHV) 管理器("Manager")、Red Hat Virtualization 主机 (RHVH) 和 Red Hat Enterprise Linux 主机时为 Red Hat Linux 7 安全配置集启用 DISA STIG

为 RHVH Red Hat Linux 7 启用 DISA STIG

以下流程适用于为两个不同的目的安装 Red Hat Virtualization Host (RHVH):

  • 将 Manager 部署为自托管引擎时,使用 RHVH 作为 Manager 虚拟机的主机。
  • 在 RHV 集群中将 RHVH 用作普通主机.

如果您使用 Anaconda 安装程序安装 RHVH:

  1. 安装概述屏幕上选择安全策略security policy
  2. 在打开的 Security Policy 屏幕上,将 Apply security policy 设置切换为 On
  3. 在 profiles 滚动列表中选择 DISA STIG for Red Hat Linux 7
  4. Select profile 按钮。此操作在配置集旁边添加一个绿色勾号,并将软件包添加到已完成或需要完成的更改列表中。

    注意

    这些软件包已经是 RHVH 镜像的一部分。RHVH 作为单一系统镜像提供。安装不属于 RHVH 镜像的其他所选安全配置集所需的软件包可能无法安装。有关所含软件包的列表,请参阅 RHVH 软件包清单。 security policy selected

  5. Done
  6. 安装概述屏幕上,验证 Security Policy 的状态是否为 Everything。
  7. 稍后,当您登录 RHVH 时,命令行会显示以下信息。 security policy rhvh login
注意

如果您使用命令行将 RHV 部署为自托管引擎,在一系列提示中输入 ovirt-hosted-engine-setup 后的,您会被提问 Do you want to apply a default OpenSCAP security profile?输入 Yes,并按照说明选择 DISA STIG for Red Hat Linux 7 配置集。