使用命令行将 Red Hat Virtualization 安装为自托管引擎
使用命令行将 Red Hat Virtualization Manager 安装为在其管理的同一主机上运行的虚拟机
摘要
前言 复制链接链接已复制到粘贴板!
使用 Ansible 自动安装自托管引擎。安装脚本 (host-engine --deploy) 在初始部署主机上运行,并在部署主机上创建的虚拟机上安装并配置 Red Hat Virtualization Manager(或"引擎")。Manager 和 Data Warehouse 数据库安装在 Manager 虚拟机上,但在需要时可在安装后迁移到单独的服务器。
可以运行管理器虚拟机的主机被称为自托管引擎节点。至少需要两个自托管引擎节点来支持高可用性功能。
专用于管理器虚拟机的存储域称为自托管引擎存储域。此存储域由安装脚本创建,因此在开始安装之前必须准备底层存储。
有关环境选项和推荐配置的信息,请参阅规划和前提条件指南。有关特定于自托管引擎环境的配置,请参阅自托管引擎建议。
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 8 虚拟机和该虚拟机上的 Manager。
- 至少两个自托管引擎节点以实现虚拟机高可用性。您可以使用 Red Hat Enterprise Linux 主机或 Red Hat Virtualization Manager 主机 (RHVH)。VDSM(主机代理)需要在所有主机上运行,以便与 Red Hat Virtualization Manager 进行通信。HA 服务在所有自托管引擎节点上运行,以管理管理器虚拟机的高可用性。
- 一个存储服务,可根据所使用的存储类型,运行在本地或远程服务器上。存储服务必须能被所有主机访问。
图 1. 自托管引擎 Red Hat Virtualization 架构
第 1 章 安装概述 复制链接链接已复制到粘贴板!
自托管引擎安装使用 Ansible 和 RHV-M 设备(预配置的 Manager 虚拟机镜像)来自动执行以下任务:
- 配置第一个自托管引擎节点
- 在该节点上安装 Red Hat Enterprise Linux 虚拟机
- 在该虚拟机上安装并配置 Red Hat Virtualization Manager
- 配置自托管引擎存储域
RHV-M Appliance 仅在安装过程中使用。它不用于升级管理器。
安装自托管引擎环境涉及以下步骤:
准备用于自托管引擎存储域和标准存储域的存储。您可以使用以下存储类型之一:
安装部署主机以在其上运行安装。此主机将成为第一个自托管引擎节点。您可以使用其中任一个主机类型:
向管理器添加更多自托管引擎节点和标准主机。自托管引擎节点可以运行管理器虚拟机和其他虚拟机。标准主机可以运行所有其他虚拟机,但不能运行管理器虚拟机。
- 向 Manager 添加更多存储域。除了管理器虚拟机之外,不建议使用自托管引擎存储域。
- 如果要在独立于管理器的服务器中托管任何数据库或服务,您可以在安装完成后迁移它们。
使环境保持最新。如需更多信息,请参阅如何更新我的 Red Hat Virtualization 系统?由于常见问题的程序错误修复频繁发布,因此请使用计划中的任务来更新主机和管理器。
第 2 章 要求 复制链接链接已复制到粘贴板!
2.1. Red Hat Virtualization Manager 要求 复制链接链接已复制到粘贴板!
2.1.1. 硬件要求 复制链接链接已复制到粘贴板!
此处概述的最低硬件要求和推荐的硬件要求基于典型的中小型安装。根据大小和负载,部署的确切要求会有所不同。
Red Hat Enterprise Linux 的硬件认证涵盖了 Red Hat Enterprise Linux 的硬件认证。如需更多信息,请参阅 Red Hat Virtualization 是否也具有硬件认证?要确认特定硬件项目是否已经过 Red Hat Enterprise Linux 认证,请参阅红帽 认证硬件。
| 资源 | 最小值 | 推荐的 |
|---|---|---|
| CPU | 一个双核 x86_64 CPU。 | 一个四核 x86_64 CPU 或多个双核 x86_64 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 级:浏览器和操作系统组合未经测试,但可能有效.对这个级的浏览器提供最少的支持。红帽工程将尝试仅修复此级别的浏览器上的小问题。
| 支持级别 | 操作系统系列 | 浏览器 |
|---|---|---|
| 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)协议访问虚拟机控制台。您可以在客户机操作系统中安装 QXLDOD 图形驱动程序以提高 SPICE 的功能。SPICE 目前支持最大分辨率 2560x1600 像素。
客户端操作系统 SPICE 支持
Red Hat Enterprise Linux 7.2 及更新的版本以及 Windows 10 上提供了受支持的 QXLDOD 驱动程序。
SPICE 可以使用 QXLDOD 驱动程序与 Windows 8 或 8.1 配合使用,但它并没有经过认证或测试。
2.1.4. 操作系统要求 复制链接链接已复制到粘贴板!
Red Hat Virtualization Manager 必须安装到 Red Hat Enterprise Linux 8.6 的基本安装中。
不要在基础安装后安装任何其他软件包,因为它们在尝试安装管理器所需的软件包时可能会导致依赖项问题。
不要启用管理器安装所需的额外软件仓库。
2.2. 主机要求 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux 的硬件认证涵盖了 Red Hat Enterprise Linux 的硬件认证。如需更多信息,请参阅 Red Hat Virtualization 是否也具有硬件认证?要确认特定硬件项目是否已经过 Red Hat Enterprise Linux 认证,请查看 查找认证解决方案。
有关适用于客户机的要求和限制的更多信息,请参阅 Red Hat Enterprise Linux 技术能力和限制 以及支持 的限制。
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
- IvyBridge
- Haswell
- Broadwell
- Skylake Client
- Skylake Server
- Cascadelake Server
对于带有安全更新的每个 CPU 型号,CPU Type 会列出基本类型和安全类型。例如:
- Intel Cascadelake Server 系列
- Secure Intel Cascadelake Server 系列
Secure CPU 类型包含最新的更新。详情请参阅 BZ#1731395
2.2.1.1. 检查处理器是否支持所需的标记 复制链接链接已复制到粘贴板!
您必须在 BIOS 中启用虚拟化。关闭并在进行此更改后重新启动主机,以确保更改已被应用。
流程
- 在 Red Hat Enterprise Linux 或 Red Hat Virtualization Host 引导屏幕中,按任意键,然后从列表中选择 Boot 或 Boot with serial console 条目。
-
按
Tab编辑所选选项的内核参数。 -
确保列出的最后一个内核参数后有一个空格,并附加参数
rescue。 -
按
Enter键引导进入救援模式。 在提示符处,确定您的处理器有所需的扩展,并通过运行以下命令启用它们:
# grep -E 'svm|vmx' /proc/cpuinfo | grep nx
如果显示任何输出,处理器将支持硬件虚拟化。如果没有显示输出,您的处理器可能仍然支持硬件虚拟化;在某些情况下,制造商会禁用 BIOS 中的虚拟化扩展。如果您认为情况确实如此,请查阅系统 BIOS 和制造商提供的主板手册。
2.2.2. 内存要求 复制链接链接已复制到粘贴板!
RAM 的最小要求为 2 GB。对于集群级别 4.2 到 4.5,Red Hat Virtualization Host 中每个虚拟机的最大支持 RAM 为 6 TB。对于集群级别 4.6 到 4.7,Red Hat Virtualization Host 中每个虚拟机的最大支持 RAM 为 16 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 - 5 GB
- /var/crash - 10 GB
- /var/log - 8 GB
- /var/log/audit - 2 GB
- /var/tmp - 10 GB
- swap - 1 GB.详情请查看 Red Hat 平台推荐的 swap 大小是什么?
- Anaconda 在卷组中保留 20% 的精简池大小,以便将来进行元数据扩展。这是为了避免开箱即用的配置在正常使用条件下耗尽空间。还不支持在安装过程中过度置备精简池。
- 最小总量 - 64 GiB
如果您还安装了用于自托管引擎安装的 RHV-M 设备,/var/tmp 必须是 10 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 设备和根端口之间的所有 PCIe 交换机和网桥都应支持 ACS。例如,如果交换机不支持 ACS,该交换机后面的所有设备共享同一个 IOMMU 组,并且只能分配到同一虚拟机。
- 对于 GPU 支持,Red Hat Enterprise Linux 8 支持 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
- 选择 vGPU 类型以及您要通过虚拟机的 Administration Portal Host Devices 选项卡中的 Manage vGPU 对话框用于此虚拟机的实例数量。
- 在集群中的每个主机上安装支持 vGPU 的驱动程序
- 安装了 vGPU 驱动程序的 vGPU 支持的虚拟机操作系统
2.3. 网络要求 复制链接链接已复制到粘贴板!
2.3.1. 常规要求 复制链接链接已复制到粘贴板!
Red Hat Virtualization 要求在运行 Manager 的物理或虚拟机中保持 IPv6 处于启用状态。不要在 Manager 机器上禁用 IPv6,即使您的系统没有使用它。
2.3.2. 自托管引擎部署的网络范围 复制链接链接已复制到粘贴板!
自托管引擎部署流程临时使用 192.168 下的 /24 网络地址。默认为 192.168.222.0/24,如果使用此地址,它将尝试 192.168 下的其他 /24 地址,直到找到不使用的地址。如果此范围内找不到未使用的网络地址,部署会失败。
使用命令行安装自托管引擎时,您可以将部署脚本设置为使用备用 /24 网络范围,选项为 --ansible-extra-vars=he_ipv4_subnet_prefix=PREFIX,其中 PREFIX 是默认范围的前缀。例如:
# hosted-engine --deploy --ansible-extra-vars=he_ipv4_subnet_prefix=192.168.222
您只能通过使用命令行将 Red Hat Virtualization 安装为自托管引擎来设置另一个范围。
2.3.3. 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 主机都必须能够连接到集群中所有其他主机的隔离设备。如果集群主机遇到错误(网络错误,存储错误……)且无法作为主机运行,它们必须能够连接到数据中心中的其他主机。
具体端口号取决于您使用的隔离代理的类型以及配置方式。
以下部分中的防火墙要求表不代表这个选项。
2.3.4. Red Hat Virtualization Manager 防火墙要求 复制链接链接已复制到粘贴板!
Red Hat Virtualization Manager 要求打开多个端口以允许通过系统的防火墙网络流量。
engine-setup 脚本可以自动配置防火墙。
此处记录的防火墙配置假定默认配置。
这些防火墙要求图请参考 https://access.redhat.com/articles/3932211。您可以使用表中的 ID 来查找图中的连接。
| 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 的控制台客户端 | 否 |
| M6 | 7410 | UDP | Red Hat Virtualization 主机 Red Hat Enterprise Linux 主机 | Red Hat Virtualization Manager |
如果在主机上启用了 Kdump,在 Manager 中为 fence_kdump 侦听程序打开此端口。请参阅 fence_kdump 高级配置。 | 否 |
| M7 | 54323 | TCP | 管理门户客户端 |
Red Hat Virtualization Manager( |
与 | 是 |
| M8 | 6642 | 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.5. 主机防火墙要求 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux 主机和 Red Hat Virtualization 主机 (RHVH) 需要打开多个端口,以允许通过系统的防火墙网络流量。在向 Manager 添加新主机时,默认自动配置防火墙规则,覆盖任何预先存在的防火墙配置。
要在添加新主机时禁用自动防火墙配置,请清除 Advanced Parameters 下的 Automatically configure host firewall 复选框。
要自定义主机防火墙规则,请参阅 RHV:如何自定义主机的防火墙规则?
Red Hat Virtualization: Firewall Requirements Diagram 为这些防火墙要求图。您可以使用表中的 ID 来查找图中的连接。
| 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 | Red Hat Virtualization 主机 Red Hat Enterprise Linux 主机 |
与 | 是 |
| 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 查找请求,以及响应。此端口是必需的并默认打开。 | 否 |
| H14 | 123 | UDP | Red Hat Virtualization 主机 Red Hat Enterprise Linux 主机 | NTP 服务器 | 从 1023 以上端口到端口 123 的 NTP 请求,以及响应.此端口是必需的并默认打开。 | |
| H15 | 4500 | TCP, UDP | Red Hat Virtualization 主机 | Red Hat Virtualization 主机 | Internet 安全协议(IPSec) | 是 |
| H16 | 500 | UDP | Red Hat Virtualization 主机 | Red Hat Virtualization 主机 | Internet 安全协议(IPSec) | 是 |
| H17 | - | AH, ESP | Red Hat Virtualization 主机 | Red Hat Virtualization 主机 | Internet 安全协议(IPSec) | 是 |
默认情况下,Red Hat Enterprise Linux 允许到任何目标地址上的 DNS 和 NTP 的出站流量。如果您禁用传出流量,请对 Red Hat Virtualization 主机进行例外处理
Red Hat Enterprise Linux 主机向 DNS 和 NTP 服务器发送请求。其他节点可能还需要 DNS 和 NTP。在这种情况下,请查看这些节点的要求并相应地配置防火墙。
2.3.6. 数据库服务器防火墙要求 复制链接链接已复制到粘贴板!
Red Hat Virtualization 支持将远程数据库服务器用于管理器数据库(引擎)和数据仓库数据库 (ovirt-engine-history)。如果您计划使用远程数据库服务器,则必须允许与管理器和数据仓库服务(它们可以独立于管理器)的连接。
同样,如果您计划从外部系统访问本地或远程数据仓库数据库,数据库必须允许来自该系统的连接。
不支持从外部系统访问 Manager 数据库。
这些防火墙要求图请参考 https://access.redhat.com/articles/3932211。您可以使用表中的 ID 来查找图中的连接。
2.3.7. 最大传输单元要求 复制链接链接已复制到粘贴板!
部署期间,推荐的主机最大传输单位(MTU)设置是 1500。在环境设置为不同的 MTU 后,可以更新此设置。如需有关更改 MTU 设置的更多信息,请参阅 如何更改托管引擎虚拟机网络 MTU。
第 3 章 为 Red Hat Virtualization 准备存储 复制链接链接已复制到粘贴板!
您需要准备要用于新环境中的存储域的存储。Red Hat Virtualization 环境必须至少有一个数据存储域,但建议添加更多存储域。
安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。
数据域保管数据中心中所有虚拟机和模板的虚拟硬盘和 OVF 文件,并且在激活的情况下无法在数据中心间共享(但可以在数据中心之间迁移)。多个存储类型的数据域可以添加到同一数据中心,只要它们都是共享的,而不是本地域。
您可以使用以下存储类型之一:
先决条件
自托管引擎必须具有额外的数据域,其至少 74 GiB 专用于 Manager 虚拟机。自托管引擎安装程序会创建此域。安装之前,为此域准备存储。
警告不支持在部署自托管引擎后扩展或更改自托管引擎存储域。任何此类更改都可能会阻止自托管引擎引导。
- 使用 FCP 或 iSCSI 块存储域时,单个目标 LUN 是自托管引擎唯一支持的设置。
- 如果使用 iSCSI 存储,自托管引擎存储域必须使用专用 iSCSI 目标。任何额外的存储域都必须使用不同的 iSCSI 目标。
- 强烈建议您在与自托管引擎存储域相同的数据中心中创建额外的数据存储域。如果您在只有一个活动数据存储域的数据中心内部署自托管引擎,并且该存储域已损坏,则无法添加新存储域或删除损坏的存储域。您必须重新部署自托管引擎。
3.1. 准备 NFS 存储 复制链接链接已复制到粘贴板!
在您的文件存储或远程服务器上设置 NFS 共享,以充当 Red Hat Enterprise Virtualization 主机系统上的存储域。在远程存储上导出共享并在 Red Hat Virtualization Manager 中配置共享后,将在 Red Hat Virtualization 主机上自动导入共享。
有关设置、配置、挂载和导出 NFS 的详情,请参考为 Red Hat Enterprise Linux 8 管理文件系统。
Red Hat Virtualization 需要特定的系统用户帐户和系统用户组,以便管理器可以将数据存储在导出的目录表示的存储域中。以下流程为一个目录设置权限。您必须为 Red Hat Virtualization 中用作存储域的所有目录重复 chown 和 chmod 步骤。
先决条件
安装 NFS
utils软件包。# dnf install nfs-utils -y检查启用的版本:
# cat /proc/fs/nfsd/versions启用以下服务:
# systemctl enable nfs-server # systemctl enable rpcbind
流程
创建组
kvm:# groupadd kvm -g 36在组
kvm中创建用户vdsm:# useradd vdsm -u 36 -g kvm创建
storage目录并修改访问权限。# mkdir /storage # chmod 0755 /storage # chown 36:36 /storage/将
storage目录添加到具有相关权限的/etc/exports中。# vi /etc/exports # cat /etc/exports /storage *(rw)重启以下服务:
# systemctl restart rpcbind # systemctl restart nfs-server查看哪个导出可用于特定 IP 地址:
# exportfs /nfs_server/srv 10.46.11.3/24 /nfs_server <world>
如果在启动服务后 /etc/exports 中进行了更改,则可以使用 exportfs -ra 命令重新加载更改。执行上述所有阶段后,导出目录应已就绪,并可在其他主机上进行测试,以检查其是否可用。
3.2. 准备 iSCSI 存储 复制链接链接已复制到粘贴板!
Red Hat Virtualization 支持 iSCSI 存储,这是从由 LUN 组成的卷组创建的存储域。卷组和 LUN 一次不能附加到多个存储域。
有关设置和配置 iSCSI 存储的详情,请参考为 Red Hat Enterprise Linux 8 管理存储设备 中的 配置 iSCSI 目标。
如果您使用的是块存储,并且打算在裸设备上部署虚拟机或直接 LUN 并用逻辑卷管理器 (LVM) 管理它们,您必须创建一个过滤器来隐藏 guest 逻辑卷。这将防止在主机引导时激活 guest 逻辑卷,这种情况可能会导致逻辑卷过时并导致数据崩溃。使用 vdsm-tool config-lvm-filter 命令创建 LVM 的过滤器。请参阅创建 LVM 过滤器
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 逻辑卷,这种情况可能会导致逻辑卷过时并导致数据崩溃。使用 vdsm-tool config-lvm-filter 命令创建 LVM 的过滤器。请参阅创建 LVM 过滤器
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 版本,请参阅 Red Hat Gluster Storage 版本兼容性和支持。
3.5. 为 SAN 供应商自定义多路径配置 复制链接链接已复制到粘贴板!
如果您的 RHV 环境配置为使用 SAN 的多路径连接,您可以自定义多路径配置设置以满足您的存储供应商指定的要求。这些自定义可覆盖 /etc/multipath.conf 中指定的默认设置和设置。
要覆盖多路径设置,请不要自定义 /etc/multipath.conf。因为 VDSM 拥有 /etc/multipath.conf,因此安装或升级 VDSM 或 Red Hat Virtualization 可能会覆盖此文件,包括其包含的任何自定义。这种覆盖可能会导致严重存储失败。
取而代之,您可以在 /etc/multipath/conf.d 目录中创建一个文件,其中包含您要自定义或覆盖的设置。
VDSM 按字母顺序执行 /etc/multipath/conf.d 中的文件。因此,为了控制执行顺序,您可以从使文件名进入最后一个的数字开始。例如: /etc/multipath/conf.d/90-myfile.conf。
要避免造成严重的存储失败,请遵循以下准则:
-
不要修改
/etc/multipath.conf。如果文件包含用户修改,且文件被覆盖,则可能会导致意外的存储问题。 -
不要覆盖
user_friendly_names和find_multipaths设置。详情请参阅 Multipath.conf 的建议设置。 -
除非存储供应商特别要求您这样做,否则请避免覆盖
no_path_retry和poll_interval设置。详情请参阅 Multipath.conf 的建议设置。
不遵循上述准则可能会导致灾难性存储错误。
先决条件
VDSM 配置为使用 multipath 模块。要验证这一点,请输入:
# vdsm-tool is-configured --module multipath
流程
-
在
/etc/multipath/conf.d目录中创建新的配置文件。 -
将您要从
/etc/multipath.conf中覆盖的单独设置复制到/etc/multipath/conf.d/<my_device>.conf中的新配置文件。删除任何注释标记、编辑设置值并保存您的更改。 输入以下内容应用新的配置设置:
# systemctl reload multipathd注意不要重启 multipathd 服务。这样做会在 VDSM 日志中生成错误。
验证步骤
- 测试新配置是否在各种故障场景中在非生产集群中按预期执行。例如,禁用所有存储连接。
- 一次启用一个连接,并验证这样做是否使存储域可访问。
3.6. 推荐的 Multipath.conf 设置 复制链接链接已复制到粘贴板!
不要覆盖以下设置:
- user_friendly_names no
设备名称在所有管理程序之间必须一致.例如:
/dev/mapper/{WWID}。此设置的默认值no可防止在不同虚拟机监控程序上分配任意和不一致的设备名称,如/dev/mapper/mpath{N},这会导致系统行为不可预测。警告不要将此设置更改为
user_friendly_names yes。用户友好的名称可能会导致系统行为或故障无法预测,且不受支持。find_multipaths no此设置控制 RHVH 是否仅在有多个路径可用时尝试通过多路径访问设备。当前值
no允许 RHV 通过多路径访问设备,即使只有一个路径可用。警告不要覆盖此设置。
除非存储系统厂商需要,否则请避免覆盖以下设置:
no_path_retry 4-
此设置控制无路径可用时尝试重试的轮询数量。在 RHV 版本 4.2 之前,
no_path_retry的值为fail,因为在没有路径可用时, QEMU 和 I/O 队列可能会遇到问题。fail值使其快速失败并暂停虚拟机。RHV 版本 4.2 将此值更改为4,因此当多路径检测到最后一个路径失败时,它会检查所有路径四次。假设默认的 5 秒轮询间隔,这个检查路径的过程需要 20 秒。如果没有启动路径,multipathd 会告知内核停止排队并出现故障,直到路径恢复。恢复路径后,下次所有路径都失败时重置 20 秒延迟。如需了解更多详细信息,请参阅更改此设置的提交。 polling_interval 5- 此设置决定了轮询尝试检测路径是打开还是失败之间的秒数。除非供应商提供了增加这个值的明确原因,请保留 VDSM 生成的默认值,以便系统更快地响应路径失败。
第 4 章 安装自托管引擎部署主机 复制链接链接已复制到粘贴板!
自托管引擎可从 Red Hat Virtualization Host 或 Red Hat Enterprise Linux 主机部署。
如果您计划使用绑定接口来实现高可用性或 VLAN 来分隔不同类型的流量(例如,用于存储或管理连接),您应该在主机上配置它们,然后再开始自托管引擎部署。请参阅规划和前提条件指南中的网络建议。
4.1. 安装 Red Hat Virtualization 主机 复制链接链接已复制到粘贴板!
Red Hat Virtualization Host (RHVH) 是一个基于 Red Hat Enterprise Linux 的最小操作系统,旨在提供一种简单的方法来设置物理机以充当 Red Hat Virtualization 的 hypervisor。最小操作系统仅包含计算机充当虚拟机监控程序所需的软件包,并提供 Cockpit Web 界面来监控主机和执行管理任务。有关最低浏览器要求,请参阅 运行 Cockpit。
RHVH 支持 NIST 800-53 分区要求以提高安全性。RHVH 默认使用 NIST 800-53 分区布局。
主机必须满足最低主机要求。
安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。
流程
- 请访问红帽客户门户上的 Red Hat Virtualization 入门并登录。
- 单击 Download Latest 以访问产品下载页面。
- 从列表中选择适当的 Hypervisor Image for RHV,然后单击 Download Now。
- 启动您要安装 RHVH 的机器,从准备的安装介质启动。
在引导菜单中选择 Install RHVH 4.4 并按
Enter。注意您还可以按
Tab键编辑内核参数。内核参数必须以空格分开,您可以通过按Enter键使用指定的内核参数引导系统。按Esc键清除对内核参数的任何更改并返回到引导菜单。- 选择语言,点 。
- 从键盘布局屏幕中选择键盘布局,然后点 。
从 Installation Destination 屏幕中选择要在其上安装 RHV 的设备。(可选)启用加密。点 。
重要使用 Automatically configure partitioning 选项。
- 从 Time & Date 屏幕中选择一个时区,然后点 。
从 Network & Host Name 屏幕选择一个网络,然后点击 Configure… 来配置连接详情。
注意要在系统每次启动时使用连接,请选择 Connect automatically with priority 复选框。如需更多信息,请参阅 Red Hat Enterprise Linux 8 安装指南中的配置网络和主机名选项。
在 Host Name 字段中输入主机名,然后单击 Done。
- 可选: 配置安全策略和 Kdump。有关安装 概述 屏幕中的每个部分的更多信息,请参阅 为 Red Hat Enterprise Linux 8 执行标准 RHEL 安装中的 GUI 定制您的 RHEL 安装。
- 点 Begin Installation。
设置 root 密码,并选择性地在 RHVH 安装时创建额外的用户。
警告不要在 RHVH 上创建不受信任的用户,因为这可能导致利用本地安全漏洞。
单击 Reboot 以完成安装。
注意当 RHVH 重新启动时,
nodectl check会在主机上执行健康检查,并在您在命令行中登录时显示结果。消息node status: OK或node status: DEGRADED代表了健康状态。运行nodectl check以了解更多信息。注意如有必要,您可以防止内核模块自动载入。
4.1.1. 启用 Red Hat Virtualization 主机存储库 复制链接链接已复制到粘贴板!
注册系统以接收更新。Red Hat Virtualization Host 只需要一个软件仓库。本节提供有关将 RHVH 注册到内容交付网络或 Red Hat Satellite 6 的说明。
将 RHVH 注册到内容交付网络
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register启用
Red Hat Virtualization Host 8存储库,以便以后更新 Red Hat Virtualization 主机:# subscription-manager repos --enable=rhvh-4-for-rhel-8-x86_64-rpms
将 RHVH 注册到 Red Hat Satellite 6
-
登录位于
https://HostFQDNorIP:9090的 Cockpit Web 界面。 - 点 Terminal。
使用 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=rhvh-4-for-rhel-8-x86_64-rpms
您还可以使用 virt-who 在 Red Hat Satellite 中配置虚拟机订阅。请参阅使用 virt-who 管理基于主机的订阅。
4.2. 安装 Red Hat Enterprise Linux 主机 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux 主机基于在物理服务器中的 Red Hat Enterprise Linux 8 的标准基本安装,并附加 Red Hat Enterprise Linux Server 和 Red Hat Virtualization 订阅。
有关详细的安装说明,请参阅执行标准 RHEL 安装。
主机必须满足最低主机要求。
安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。
虚拟化必须在主机的 BIOS 设置中启用。有关更改主机的 BIOS 设置的详情,请参考主机的硬件文档。
不要在 Red Hat Enterprise Linux 主机上安装第三方 watchdog 系统。它们可能会干扰 VDSM 提供的 watchdog 守护进程。
4.2.1. 启用 Red Hat Enterprise Linux 主机存储库 复制链接链接已复制到粘贴板!
要使用 Red Hat Enterprise Linux 机器作为主机,需要为主机注册 Content Delivery Network,附加 Red Hat Enterprise Linux Server 和 Red Hat Virtualization 订阅,并启用主机仓库。
流程
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register查找
Red Hat Enterprise Linux Server和Red Hat Virtualization订阅池,并记录池 ID:# subscription-manager list --available使用池 ID 将订阅附加到系统:
# subscription-manager attach --pool=poolid注意查看当前附加的订阅:
# subscription-manager list --consumed列出所有启用的软件仓库:
# dnf repolist配置存储库:
# subscription-manager repos \ --disable='*' \ --enable=rhel-8-for-x86_64-baseos-eus-rpms \ --enable=rhel-8-for-x86_64-appstream-eus-rpms \ --enable=rhv-4-mgmt-agent-for-rhel-8-x86_64-rpms \ --enable=fast-datapath-for-rhel-8-x86_64-rpms \ --enable=advanced-virt-for-rhel-8-x86_64-rpms \ --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \ --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms \ --enable=rhel-8-for-x86_64-appstream-tus-rpms \ --enable=rhel-8-for-x86_64-baseos-tus-rpms将 RHEL 版本设置为 8.6:
# subscription-manager release --set=8.6重置
virt模块:# dnf module reset virt注意如果在 Advanced Virtualization 流中已启用此模块,则不需要这一步骤,但它不会造成负面影响。
您可以输入以下内容来查看流的值:
# dnf module list virt-
使用以下命令在高级虚拟化流中启用
virt模块:
RHV 4.4.2:
# dnf module enable virt:8.2RHV 4.4.3 到 4.4.5:
# dnf module enable virt:8.3对于 RHV 4.4.6 到 4.4.10:
# dnf module enable virt:av对于 RHV 4.4 及更新的版本:
# dnf module enable virt:rhel注意从 RHEL 8.6 开始,高级虚拟化软件包将使用标准
virt:rhel模块。对于 RHEL 8.4 和 8.5,只使用一个高级虚拟化流,rhel:av。确保当前安装的所有软件包都为最新版本:
# dnf upgrade --nobest重启机器。
注意如有必要,您可以防止内核模块自动载入。
第 5 章 安装 Red Hat Virtualization Manager 复制链接链接已复制到粘贴板!
5.1. 手动安装 RHV-M 设备 复制链接链接已复制到粘贴板!
当您部署自托管引擎时,会发生以下事件序列:
- 安装程序将 RHV-M 设备安装到部署主机。
- 设备将安装 Manager 虚拟机。
- 设备在 Manager 虚拟机上安装 Manager。
但是,您可以提前手动在部署主机上手动安装设备。在设备非常大且网络连接可能会出现问题的情况下,可能会导致设备安装花费很长时间,或者可能失败。
流程
在 Red Hat Enterprise Linux 主机上:
重置
virt模块:# dnf module reset virt注意如果在 Advanced Virtualization 流中已启用此模块,则不需要这一步骤,但它不会造成负面影响。
您可以输入以下内容来查看流的值:
# dnf module list virt-
使用以下命令在高级虚拟化流中启用
virt模块:
RHV 4.4.2:
# dnf module enable virt:8.2RHV 4.4.3 到 4.4.5:
# dnf module enable virt:8.3对于 RHV 4.4.6 到 4.4.10:
# dnf module enable virt:av对于 RHV 4.4 及更新的版本:
# dnf module enable virt:rhel注意从 RHEL 8.6 开始,高级虚拟化软件包将使用标准
virt:rhel模块。对于 RHEL 8.4 和 8.5,只使用一个高级虚拟化流,rhel:av。同步安装的软件包,将其更新至最新可用版本:
# dnf distro-sync --nobest手动将 RHV-M 设备安装到主机:
# dnf install rhvm-appliance
现在,当您部署自托管引擎时,安装程序会检测到设备已经安装。
5.2. 启用和配置防火墙 复制链接链接已复制到粘贴板!
在运行自托管部署脚本之前,必须安装并运行 firewalld。您还必须有一个配置了接口的活动区。
先决条件
-
已安装
firewalld。hosted-engine-setup需要firewalld软件包,因此您不需要执行任何其他步骤。
流程
启动
firewalld:# systemctl unmask firewalld # systemctl start firewalld要确保 firewalld 在系统启动时自动启动,以 root 用户身份输入以下命令:
# systemctl enable firewalld确保 firewalld 正在运行:
# systemctl status firewalld通过确保您的管理接口位于防火墙区域中
# firewall-cmd --get-active-zones
现在,您已准备好部署自托管引擎。
5.3. 使用命令行部署自托管引擎 复制链接链接已复制到粘贴板!
您可以从命令行部署自托管引擎。安装设置软件包后,您将运行 hosted-engine --deploy 命令,而脚本则收集环境的详细信息,并使用它们来配置主机和管理器。
您可以在部署期间通过手动、暂停部署或使用自动化来自定义 Manager 虚拟机。
-
在安装 Manager 并将部署主机添加到管理器后,将变量
he_pause_host设置为true会暂停部署。 将变量
he_pause_before_engine_setup设置为true,在安装管理器之前暂停部署,并在使用he_restore_from_file时恢复管理器之前暂停部署。注意当将部署主机上的
he_pause_host或he_pause_before_engine_setup变量设置为 true 时,会在/tmp中创建带有后缀_he_setup_lock的锁定文件。然后,您可以根据需要手动自定义虚拟机。在您删除锁定文件或 24 小时之后(以先到者为准),部署将继续。将 Ansible playbook 添加到部署主机上的以下任一目录会自动运行该 playbook。将 playbook 添加到
/usr/share/ansible/collections/ansible_collections/redhat/rhv/roles/hosted_engine_setup/hooks/中的以下目录之一下:-
enginevm_before_engine_setup -
enginevm_after_engine_setup -
after_add_host -
after_setup
-
先决条件
在执行
engine-setup之前,将设备内容升级到最新的产品版本。-
要手动执行此操作,请暂停使用
he_pause_before_engine_setup并执行dnf 更新的部署。 -
要自动执行此操作,请应用
enginevm_before_engine_setuphook。
-
要手动执行此操作,请暂停使用
- FQDN 为您的管理器和主机做好准备。正向和反向查找记录必须在 DNS 中设置。
- 使用 FCP 或 iSCSI 块存储域时,单个目标 LUN 是自托管引擎唯一支持的设置。
- 可选:如果您要在使用自动化部署期间自定义管理器虚拟机,则必须添加一个 Ansible playbook。请参阅 在部署过程中使用自动化自定义引擎虚拟机。
自托管引擎设置脚本要求使用引擎虚拟机到其裸机主机的 root 帐户的 2048 位 RSA 密钥进行 ssh 公钥访问。在
/etc/ssh/sshd_config中,这些值必须设置为如下:PubkeyAcceptedKeyTypes必须允许 2048 位 RSA 密钥或更强大的密钥。默认情况下,此设置使用系统范围的加密策略。如需更多信息,请参阅 manual page
crypto-policies(7)。注意在 4.4.5.5 之前的版本中使用 Manager 注册的 RHVH 主机需要 RSA 2048 进行向后兼容,直到迁移了所有密钥。
RHVH 主机注册了 4.4.5.5,之后使用 Manager 和 RHVH 支持的最强算法。
PubkeyAcceptedKeyTypes设置可帮助确定使用哪一种算法。-
PermitRootLogin设置为without-password或yes -
PubkeyAuthentication设置为yes
流程
安装部署工具:
# dnf install ovirt-hosted-engine-setup使用
tmux窗口管理器运行脚本,以避免在出现网络或终端中断时丢失会话。安装并运行
tmux:# dnf -y install tmux # tmux启动部署脚本:
# hosted-engine --deploy或者,要在将部署主机添加到管理器后暂停部署,请使用命令行选项
--ansible-extra-vars=he_pause_host=true:# hosted-engine --deploy --ansible-extra-vars=he_pause_host=true注意要随时退出脚本,使用 Ctrl+D组合键中止部署。在会话超时或连接中断时,运行
tmux attach来恢复部署会话。出现提示时,输入 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]:配置网络。检查显示的网关是否正确并按 Enter。在同一个子网中输入可 ping 地址,以便脚本可以检查主机的连通性。
Please indicate a pingable gateway IP address [X.X.X.X]:脚本会检测可能的 NIC,以用作环境的管理网桥。输入其中之一或按 Enter 以接受默认值。
Please indicate a nic to set ovirtmgmt bridge on: (ens1, ens0) [ens1]:指定如何检查网络连接。默认值为
dns。Please specify which way the network connectivity should be checked (ping, dns, tcp, none) [dns]:ping- 尝试 ping 网关。
dns- 检查与 DNS 服务器的连接。
tcp- 创建到主机和端口组合的 TCP 连接。您需要指定目标 IP 地址和端口。连接成功创建后,网络就被视为处于活动状态。确保给定主机能够接受给定端口上传入的 TCP 连接。
none- 网络始终被视为已连接。
输入数据中心的名称,在其中为自托管引擎部署主机。默认名称为 Default。
Please enter the name of the data center where you want to deploy this hosted-engine host. Data center [Default]:输入集群的名称,在其中为自托管引擎部署主机。默认名称为 Default。
Please enter the name of the cluster where you want to deploy this hosted-engine host. Cluster [Default]:- 如果要使用自定义设备进行虚拟机安装,请输入 OVA 存档的路径。否则,将此字段留空,以使用 RHV-M Appliance。
要使用自定义 RHV-M 设备设备镜像进行部署,请指定 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. Entering no value will use the image from the rhvm-appliance rpm, installing it if needed. Appliance image path []:为 Manager 虚拟机输入 CPU 和内存配置:
Please specify the number of virtual CPUs for the VM. The default is the appliance OVF value [4]: Please specify the memory size of the VM in MB. The default is the maximum available [6824]:为 Manager 虚拟机指定 FQDN,如
manager.example.com:Please provide the FQDN you would like to use for the engine. 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 []:指定 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]为 Manager 创建 root 密码,并重新输入它以确认:
Enter root password that will be used for the engine appliance: Confirm appliance root password:可选:输入 SSH 公钥,可让您在不输入密码的情况下以 root 用户身份登录 Manager 虚拟机,并指定是否为 root 用户启用 SSH 访问:
You may provide an SSH public key, that will be added by the deployment script to the authorized_keys file of the root user in the engine appliance. This should allow you passwordless login to the engine machine after deployment. If you provide no key, authorized_keys will not be touched. SSH public key []: Do you want to enable ssh access for the root user (yes, no, without-password) [yes]:可选:您可以在 Manager 虚拟机上应用 DISA STIG 安全配置集。DISA STIG 配置文件是默认的 OpenSCAP 配置文件。
Do you want to apply a default OpenSCAP security profile? (Yes, No) [No]:输入 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]:输入 Manager 虚拟机的网络详情:
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):指定是否将 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. Add lines to /etc/hosts? (Yes, No)[Yes]:提供 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]:为
admin@internal用户创建一个密码,以访问管理门户并重新输入它以确认:Enter engine admin password: Confirm engine admin password:指定部署主机的主机名:
Please provide the hostname of this host on the management network [hostname.example.com]:该脚本将创建虚拟机。默认情况下,脚本会先下载并安装 RHV-M 设备,这将增加安装时间。
可选:如果您设置了变量
he_pause_host: true,部署会在将部署主机添加到 Manager 后暂停。现在,您可以从部署主机登录到 Manager 虚拟机,以自定义它。您可以使用 FQDN 或 Manager 的 IP 地址登录。例如,如果 Manager 的 FQDN 是manager.example.com:$ ssh root@manager.example.com提示在安装日志中,其 IP 地址位于
local_vm_ip中。安装日志是/var/log/ovirt-hosted-engine-setup/ovirt-hosted-engine-setup-ansible-bootstrap_local_vm*的最新实例。- 根据需要自定义 Manager 虚拟机。
- 完成后,使用带有管理器 FQDN 的浏览器登录管理门户,并确保主机的状态为 Up。
- 通过配置 Manager 虚拟机,删除锁定文件和部署脚本自动继续。
选择要使用的存储类型:
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 存储,输入存储的完整地址和路径,以及任何挂载选项:
重要仅支持副本 1 和副本 3 Gluster 存储。确保您按如下方式配置卷:
gluster volume set VOLUME_NAME group virt gluster volume set VOLUME_NAME performance.strict-o-direct on gluster volume set VOLUME_NAME network.remote-dio off gluster volume set VOLUME_NAME storage.owner-uid 36 gluster volume set VOLUME_NAME storage.owner-gid 36 gluster volume set VOLUME_NAME network.ping-timeout 30Please 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]:
输入 Manager 虚拟机的磁盘大小:
Please specify the size of the VM disk in GB: [50]:当部署成功完成时,一个数据中心、集群、主机、存储域和管理器虚拟机已在运行。您可以登录到管理门户来添加任何其他资源。
- 可选:安装和配置 Red Hat Single Sign On,以便您可以向环境中添加其他用户。如需更多信息,请参阅 管理指南 中的 安装和配置红帽单点登录。
- 可选: 部署 Grafana,以便您可以监控和显示来自 RHV 环境的报告。如需更多信息,请参阅管理指南中的配置 Grafana。
Manager 虚拟机、运行它的主机以及自托管引擎存储域在管理门户中标有金色标牌。
管理器的 I/O 调度程序和托管 Manager 的 I/O 请求重新排序 I/O 请求。这种双重重新排序可能会延迟 I/O 请求到存储层,从而影响性能。
根据您的数据中心,您可以通过将 I/O 调度程序更改为 none 来提高性能。如需更多信息,请参阅 RHEL 监控和管理系统状态中的可用磁盘调度程序。
下一步是启用 Red Hat Virtualization Manager 存储库。
5.4. 启用 Red Hat Virtualization Manager 存储库 复制链接链接已复制到粘贴板!
您需要使用 Red Hat Subscription Manager 登录并注册 Manager 机器,附加 Red Hat Virtualization Manager 订阅并启用 Manager 存储库。
流程
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register注意如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。
查找
Red Hat Virtualization Manager订阅池并记录池 ID:# subscription-manager list --available使用池 ID 将订阅附加到系统:
# subscription-manager attach --pool=pool_id注意查看当前附加的订阅:
# subscription-manager list --consumed列出所有启用的软件仓库:
# dnf repolist配置存储库:
# subscription-manager repos \ --disable='*' \ --enable=rhel-8-for-x86_64-baseos-eus-rpms \ --enable=rhel-8-for-x86_64-appstream-eus-rpms \ --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms \ --enable=fast-datapath-for-rhel-8-x86_64-rpms \ --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms \ --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \ --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms \ --enable=rhel-8-for-x86_64-appstream-tus-rpms \ --enable=rhel-8-for-x86_64-baseos-tus-rpms将 RHEL 版本设置为 8.6:
# subscription-manager release --set=8.6启用
pki-deps模块。# dnf module -y enable pki-deps启用
postgresql模块的版本 12。# dnf module -y enable postgresql:12启用
nodejs模块的版本 14:# dnf module -y enable nodejs:14- 使用 升级指南 中的更新 自托管引擎的步骤更新自托管引擎。
其它资源
有关模块和模块流的详情,请参考安装、管理和删除用户空间组件中的以下部分。
登录到管理门户,您可以在其中添加主机和存储到环境中:
5.5. 连接到管理门户 复制链接链接已复制到粘贴板!
使用 Web 浏览器访问管理门户。
在 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 可解析的主机名。
- 单击 Administration Portal。将显示 SSO 登录页面。通过 SSO 登录,您可以同时登录管理和虚拟机门户。
- 输入您的用户名和密码。如果您是第一次登录,请使用用户名 admin 以及安装期间指定的密码。
- 选择要对其进行身份验证的域。如果使用内部 admin 用户名进行登录,请选择 internal 域。
- 点 Log In。
- 您可以使用多种语言查看管理门户。默认选择会根据 Web 浏览器的区域设置进行选择。如果要使用非默认语言查看管理门户,请从欢迎页面的下拉列表中选择您首选的语言。
要从 Red Hat Virtualization 管理门户注销,请单击标题栏中的用户名并单击 Sign Out。您已注销所有门户,并显示 Manager 欢迎屏幕。
第 6 章 为 Red Hat Virtualization 安装主机 复制链接链接已复制到粘贴板!
Red Hat Virtualization 支持两类主机:Red Hat Virtualization Hosts (RHVH) 和 Red Hat Enterprise Linux 主机。根据您的环境,您可能只使用一种类型,或两者都使用。迁移和高可用性等功能至少需要两个主机。
有关为网络信息配置主机网络,请参阅推荐的实践。
安装时 SELinux 处于 enforcing 模式。要进行验证,请运行 getenforce。SELinux 必须在所有主机和管理器上处于 enforcing 模式,才能支持您的 Red Hat Virtualization 环境。
| 主机类型 | 其他名称 | 描述 |
|---|---|---|
| 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 界面来监控主机和执行管理任务。有关最低浏览器要求,请参阅 运行 Cockpit。
RHVH 支持 NIST 800-53 分区要求以提高安全性。RHVH 默认使用 NIST 800-53 分区布局。
主机必须满足最低主机要求。
安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。
流程
- 请访问红帽客户门户上的 Red Hat Virtualization 入门并登录。
- 单击 Download Latest 以访问产品下载页面。
- 从列表中选择适当的 Hypervisor Image for RHV,然后单击 Download Now。
- 启动您要安装 RHVH 的机器,从准备的安装介质启动。
在引导菜单中选择 Install RHVH 4.4 并按
Enter。注意您还可以按
Tab键编辑内核参数。内核参数必须以空格分开,您可以通过按Enter键使用指定的内核参数引导系统。按Esc键清除对内核参数的任何更改并返回到引导菜单。- 选择语言,点 。
- 从键盘布局屏幕中选择键盘布局,然后点 。
从 Installation Destination 屏幕中选择要在其上安装 RHV 的设备。(可选)启用加密。点 。
重要使用 Automatically configure partitioning 选项。
- 从 Time & Date 屏幕中选择一个时区,然后点 。
从 Network & Host Name 屏幕选择一个网络,然后点击 Configure… 来配置连接详情。
注意要在系统每次启动时使用连接,请选择 Connect automatically with priority 复选框。如需更多信息,请参阅 Red Hat Enterprise Linux 8 安装指南中的配置网络和主机名选项。
在 Host Name 字段中输入主机名,然后单击 Done。
- 可选: 配置安全策略和 Kdump。有关安装 概述 屏幕中的每个部分的更多信息,请参阅 为 Red Hat Enterprise Linux 8 执行标准 RHEL 安装中的 GUI 定制您的 RHEL 安装。
- 点 Begin Installation。
设置 root 密码,并选择性地在 RHVH 安装时创建额外的用户。
警告不要在 RHVH 上创建不受信任的用户,因为这可能导致利用本地安全漏洞。
单击 Reboot 以完成安装。
注意当 RHVH 重新启动时,
nodectl check会在主机上执行健康检查,并在您在命令行中登录时显示结果。消息node status: OK或node status: DEGRADED代表了健康状态。运行nodectl check以了解更多信息。注意如有必要,您可以防止内核模块自动载入。
6.1.2. 启用 Red Hat Virtualization 主机存储库 复制链接链接已复制到粘贴板!
注册系统以接收更新。Red Hat Virtualization Host 只需要一个软件仓库。本节提供有关将 RHVH 注册到内容交付网络或 Red Hat Satellite 6 的说明。
将 RHVH 注册到内容交付网络
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register启用
Red Hat Virtualization Host 8存储库,以便以后更新 Red Hat Virtualization 主机:# subscription-manager repos --enable=rhvh-4-for-rhel-8-x86_64-rpms
将 RHVH 注册到 Red Hat Satellite 6
-
登录位于
https://HostFQDNorIP:9090的 Cockpit Web 界面。 - 点 Terminal。
使用 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=rhvh-4-for-rhel-8-x86_64-rpms
您还可以使用 virt-who 在 Red Hat Satellite 中配置虚拟机订阅。请参阅使用 virt-who 管理基于主机的订阅。
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 (/) 上。有关每个分区所需的存储大小的详情,请参考存储要求。
-
root (
-
/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-space 或 volgroup --reserved-percent,以在卷组中保留空间,以便精简池增长。
6.1.3.2. 在没有安装程序支持的主机上安装 DUD 驱动程序 复制链接链接已复制到粘贴板!
安装 Red Hat Virtualization Host(RHVH)有时需要一个 Driver Update Disk(DUD),比如使用 RHVH 默认配置不支持的硬件 RAID 设备。与 Red Hat Enterprise Linux 主机相比,RHVH 并不完全支持使用 DUD。因此,主机在安装后无法正常引导,因为它没有看到 RAID。相反,它引导进入紧急模式。
输出示例:
Warning: /dev/test/rhvh-4.4-20210202.0+1 does not exist
Warning: /dev/test/swap does not exist
Entering emergency mode. Exit the shell to continue.
在这种情况下,您可以在完成安装前手动添加驱动程序。
先决条件
- 您要在其上安装 RHVH 的计算机。
- 一个 DUD。
- 如果您将 USB 驱动器用于 DUD 和 RHVH,则必须至少有两个可用的 USB 端口。
流程
- 在主机上加载 DUD。
安装 RHVH。请参阅 使用命令行将 Red Hat Virtualization 安装为自托管引擎中的安装 Red Hat Virtualization 主机。
重要安装完成后,请勿重启系统。
提示如果要使用 SSH 访问 DUD,请执行以下操作:
在内核命令行中添加字符串
inst.sshd:<kernel_command_line> inst.sshd- 在安装过程中启用网络。
- 按 Ctrl + Alt + F3 进入控制台模式。或者,您也可以使用 SSH 连接到它。
挂载 DUD:
# mkdir /mnt/dud # mount -r /dev/<dud_device> /mnt/dud将 DUD 中的 RPM 文件复制到目标机器的磁盘中:
# cp /mnt/dud/rpms/<path>/<rpm_file>.rpm /mnt/sysroot/root/例如:
# cp /mnt/dud/rpms/x86_64/kmod-3w-9xxx-2.26.02.014-5.el8_3.elrepo.x86_64.rpm /mnt/sysroot/root/将根目录改为
/mnt/sysroot:# chroot /mnt/sysroot备份当前的 initrd 镜像。例如:
# cp -p /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img.bck1 # cp -p /boot/rhvh-4.4.5.1-0.20210323.0+1/initramfs-4.18.0-240.15.1.el8_3.x86_64.img /boot/rhvh-4.4.5.1-0.20210323.0+1/initramfs-4.18.0-240.15.1.el8_3.x86_64.img.bck1从您之前创建的副本中为驱动程序安装 RPM 文件。
例如:
# dnf install /root/kmod-3w-9xxx-2.26.02.014-5.el8_3.elrepo.x86_64.rpm注意在重新引导安装环境后,此软件包在系统中不可见。因此,如果您需要它才能重新构建
initramfs,您需要再次安装该软件包,之后该软件包仍会保留。如果使用
dnf更新主机,驱动程序更新会保留,因此您不需要重复此过程。提示如果您没有互联网连接,请使用
rpm命令而不是dnf:# rpm -ivh /root/kmod-3w-9xxx-2.26.02.014-5.el8_3.elrepo.x86_64.rpm创建新镜像,强制添加驱动程序:
# dracut --force --add-drivers <module_name> --kver <kernel_version>例如:
# dracut --force --add-drivers 3w-9xxx --kver 4.18.0-240.15.1.el8_3.x86_64检查结果。新镜像应该更大,并且包含驱动程序。例如,比较原始备份镜像文件的大小和新镜像文件的大小。
在本例中,新镜像文件是 88739013 字节,大于原始 88717417 字节:
# ls -ltr /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img* -rw-------. 1 root root 88717417 Jun 2 14:29 /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img.bck1 -rw-------. 1 root root 88739013 Jun 2 17:47 /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img新驱动程序应该是镜像文件的一部分。例如,应包含 3w-9xxx 模块:
# lsinitrd /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img | grep 3w-9xxx drwxr-xr-x 2 root root 0 Feb 22 15:57 usr/lib/modules/4.18.0-240.15.1.el8_3.x86_64/weak-updates/3w-9xxx lrwxrwxrwx 1 root root 55 Feb 22 15:57 usr/lib/modules/4.18.0-240.15.1.el8_3.x86_64/weak-updates/3w-9xxx/3w-9xxx.ko-../../../4.18.0-240.el8.x86_64/extra/3w-9xxx/3w-9xxx.ko drwxr-xr-x 2 root root 0 Feb 22 15:57 usr/lib/modules/4.18.0-240.el8.x86_64/extra/3w-9xxx -rw-r--r-- 1 root root 80121 Nov 10 2020 usr/lib/modules/4.18.0-240.el8.x86_64/extra/3w-9xxx/3w-9xxx.ko将镜像复制到
/boot下的目录中,其中包含正在安装的层中使用的内核,例如:# cp -p /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img /boot/rhvh-4.4.5.1-0.20210323.0+1/initramfs-4.18.0-240.15.1.el8_3.x86_64.img- 退出 chroot。
- 退出 shell。
- 如果您使用 Ctrl + Alt + F3 访问虚拟终端,则请按 Ctrl + Alt + F_<n>_,通常为 F1 或 F5来返回到安装程序。
- 在安装程序屏幕中,重新启动.
验证
计算机应成功重新引导。
6.1.3.3. 自动执行 Red Hat Virtualization Host 部署 复制链接链接已复制到粘贴板!
您可以在没有物理介质设备的情况下安装 Red Hat Virtualization Host (RHVH),方法是使用包含安装问题的答案的 Kickstart 文件通过网络从 PXE 服务器引导。
安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。
Red Hat Enterprise Linux 安装指南中提供了使用 Kickstart 文件从 PXE 服务器安装的一般说明,因为 RHVH 的安装方式与 Red Hat Enterprise Linux 非常相似。下面介绍了 RHVH 的特定说明,以及使用 Red Hat Satellite 部署 RHVH 的示例。
自动化 RHVH 部署有 3 个阶段:
6.1.3.3.1. 准备安装环境 复制链接链接已复制到粘贴板!
- 请访问红帽客户门户上的 Red Hat Virtualization 入门并登录。
- 单击 Download Latest 以访问产品下载页面。
- 从列表中选择适当的 Hypervisor Image for RHV,然后单击 Download Now。
- 通过网络提供 RHVH ISO 镜像。请参阅 Red Hat Enterprise Linux 安装指南中的网络安装源。
从 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 文件(由 Anacondainst.stage2选项使用)混淆。
6.1.3.3.2. 配置 PXE 服务器和引导装载程序 复制链接链接已复制到粘贴板!
- 配置 PXE 服务器。请参阅 Red Hat Enterprise Linux 安装指南中的准备网络安装。
将 RHVH 引导镜像复制到
/tftpboot目录中:# cp mnt/rhvh/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/创建一个
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-ISORed Hat Satellite 的 RHVH 引导装载程序配置示例
如果您使用 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使 RHVH ISO 的内容在本地可用,并使用 HTTPD 服务器将其导出到网络中:
# cp -a /mnt/rhvh/ /var/www/html/rhvh-install # curl URL/to/RHVH-ISO/rhvh-install
6.1.3.3.3. 创建并运行 Kickstart 文件 复制链接链接已复制到粘贴板!
- 创建 Kickstart 文件,并使其可通过网络使用。请参阅 Red Hat Enterprise Linux 安装指南中的 Kickstart 安装。
确保 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强烈建议自动分区,但请谨慎操作:确保首先检测到本地磁盘,包含
ignoredisk命令,并指定要忽略的本地磁盘,如sda。为确保使用特定的驱动器,红帽建议使用ignoredisk --only-use=/dev/disk/<path>或ignoredisk --only-use=/dev/disk/<ID>:autopart --type=thinp ignoredisk --only-use=sda ignoredisk --only-use=/dev/disk/<path> ignoredisk --only-use=/dev/disk/<ID>注意自动分区需要精简配置。
--no-home选项无法在 RHVH 中工作,因为/home是一个必需的目录。如果您的安装需要手动分区,请参阅 Custom Partitioning 以了解适用于分区的限制列表,并在 Kickstart 文件中手动分区示例。
需要一个调用
nodectl init命令的%post部分:%post nodectl init %end注意确保
nodectl init命令位于%post部分的结尾,但如果存在,则在重新引导代码之前。自行部署 RHVH 的 Kickstart 示例
此 Kickstart 示例演示了如何部署 RHVH。您可以根据需要包含其他命令和选项。
警告本例假定所有磁盘均为空,可以初始化。如果您使用数据附加了磁盘,请将其删除或添加到
ignoredisks属性中。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 %endKickstart 示例,部署来自 Satellite 的注册和网络配置的 RHVH。
此 Kickstart 示例使用 Red Hat Satellite 中的信息来配置主机网络,并将主机注册到 Satellite 服务器。您必须创建一个名为
rhvh_image的全局或主机组级别参数,并为它填充 squashfs.img 文件的目录 URL。ntp_server1也是全局或主机组级别变量。警告本例假定所有磁盘均为空,可以初始化。如果您使用数据附加了磁盘,请将其删除或添加到
ignoredisks属性中。<%# 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
将 Kickstart 文件位置添加到 PXE 服务器的引导装载程序配置文件中:
APPEND initrd=/var/tftpboot/pxelinux/initrd.img inst.stage2=URL/to/RHVH-ISO inst.ks=URL/to/RHVH-ks.cfg- 按照 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 8 的标准基本安装,并附加 Red Hat Enterprise Linux Server 和 Red Hat Virtualization 订阅。
有关详细的安装说明,请参阅执行标准 RHEL 安装。
主机必须满足最低主机要求。
安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。
虚拟化必须在主机的 BIOS 设置中启用。有关更改主机的 BIOS 设置的详情,请参考主机的硬件文档。
不要在 Red Hat Enterprise Linux 主机上安装第三方 watchdog 系统。它们可能会干扰 VDSM 提供的 watchdog 守护进程。
6.2.2. 启用 Red Hat Enterprise Linux 主机存储库 复制链接链接已复制到粘贴板!
要使用 Red Hat Enterprise Linux 机器作为主机,需要为主机注册 Content Delivery Network,附加 Red Hat Enterprise Linux Server 和 Red Hat Virtualization 订阅,并启用主机仓库。
流程
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register查找
Red Hat Enterprise Linux Server和Red Hat Virtualization订阅池,并记录池 ID:# subscription-manager list --available使用池 ID 将订阅附加到系统:
# subscription-manager attach --pool=poolid注意查看当前附加的订阅:
# subscription-manager list --consumed列出所有启用的软件仓库:
# dnf repolist配置存储库:
# subscription-manager repos \ --disable='*' \ --enable=rhel-8-for-x86_64-baseos-eus-rpms \ --enable=rhel-8-for-x86_64-appstream-eus-rpms \ --enable=rhv-4-mgmt-agent-for-rhel-8-x86_64-rpms \ --enable=fast-datapath-for-rhel-8-x86_64-rpms \ --enable=advanced-virt-for-rhel-8-x86_64-rpms \ --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \ --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms \ --enable=rhel-8-for-x86_64-appstream-tus-rpms \ --enable=rhel-8-for-x86_64-baseos-tus-rpms将 RHEL 版本设置为 8.6:
# subscription-manager release --set=8.6确保当前安装的所有软件包都为最新版本:
# dnf upgrade --nobest重启机器。
注意如有必要,您可以防止内核模块自动载入。
6.2.3. 在 Red Hat Enterprise Linux 主机上安装 Cockpit 复制链接链接已复制到粘贴板!
您可以安装 Cockpit 来监控主机的资源并执行管理任务。
流程
安装仪表板软件包:
# dnf install cockpit-ovirt-dashboard启用并启动
cockpit.socket服务:# systemctl enable cockpit.socket # systemctl start cockpit.socket检查 Cockpit 是否在防火墙中是活跃的服务:
# firewall-cmd --list-services您应看到
Cockpit列出。如果没有,使用 root 权限输入以下内容,将cockpit添加为服务到防火墙:# firewall-cmd --permanent --add-service=cockpit使用
--permanent选项可在重新启动后保持cockpit服务处于活动状态。
您可以在 https://HostFQDNorIP:9090 上登录到 Cockpit Web 界面。
6.3. 配置主机网络的建议做法 复制链接链接已复制到粘贴板!
始终使用 RHV Manager 来修改集群中的主机的网络配置。否则,您可能创建不受支持的配置。详情请查看 Network Manager Stateful Configuration (nmstate)。
如果您的网络环境比较复杂,您可能需要在将主机添加到 Red Hat Virtualization Manager 之前手动配置主机网络。
在配置主机网络时请考虑以下做法:
-
使用 Cockpit 配置网络。或者,您可以使用
nmtui或nmcli。 - 如果自托管引擎部署或将主机添加到管理器时不需要网络,请在将主机添加到管理器后在管理门户中配置网络。请参阅在数据中心或集群中创建新逻辑网络。
使用以下命名约定:
-
VLAN 设备:
VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD -
VLAN 接口:
physical_device.VLAN_ID(例如eth0.23,eth1.128,enp3s0.50) -
绑定接口:
bondnumber(for example,bond0,bond1) -
绑定接口上的 VLAN:
bondnumber.VLAN_ID(例如,bond0.50,bond1.128)
-
VLAN 设备:
- 使用网络绑定.Red Hat Virtualization 不支持网络合作,如果主机用于部署自托管引擎或添加到管理器,则会导致错误。
使用推荐的绑定模式:
-
如果虚拟机不使用
ovirtmgmt网络,则网络可以使用任何支持的绑定模式。 -
如果虚拟机使用了
ovirtmgmt网络,请参阅 哪种绑定模式与虚拟机客户机或容器连接的网桥一起使用?。 -
Red Hat Virtualization 的默认绑定模式是
(Mode 4)Dynamic Link Aggregation。如果您的交换机不支持链路聚合控制协议 (LACP),请使用(Mode 1)Active-Backup。详情请查看绑定模式。
-
如果虚拟机不使用
如以下示例所示,在物理 NIC 上配置 VLAN(尽管使用了
nmcli,但您可以使用任何工具):# nmcli connection add type vlan con-name vlan50 ifname eth0.50 dev eth0 id 50 # nmcli con mod vlan50 +ipv4.dns 8.8.8.8 +ipv4.addresses 123.123.0.1/24 +ipv4.gateway 123.123.0.254在绑定上配置 VLAN,如下例中所示(尽管使用了
nmcli,但您可以使用任何工具):# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=100" ipv4.method disabled ipv6.method ignore # nmcli connection add type ethernet con-name eth0 ifname eth0 master bond0 slave-type bond # nmcli connection add type ethernet con-name eth1 ifname eth1 master bond0 slave-type bond # nmcli connection add type vlan con-name vlan50 ifname bond0.50 dev bond0 id 50 # nmcli con mod vlan50 +ipv4.dns 8.8.8.8 +ipv4.addresses 123.123.0.1/24 +ipv4.gateway 123.123.0.254-
不要禁用
firewalld。 - 将主机添加到管理器后,自定义管理门户中的防火墙规则。请参阅配置主机防火墙规则。
6.4. 在 Red Hat Virtualization Manager 中添加自托管引擎节点 复制链接链接已复制到粘贴板!
添加自托管引擎节点的方式与标准主机相同,另外一步用于将主机部署为自托管引擎节点。可自动检测共享存储域,并在需要时将节点用作故障转移主机来托管管理器虚拟机。您还可以将标准主机附加到自托管引擎环境中,但不能托管管理器虚拟机。至少有两个自托管引擎节点,以确保 Manager 虚拟机高度可用。您还可以使用 REST API 添加其他主机。请参阅 REST API 指南中的主机。
先决条件
- 所有自托管引擎节点必须位于同一群集中。
- 如果您要重复使用自托管引擎节点,请删除其现有的自托管引擎配置。请参阅从自托管引擎环境中删除主机。
流程
- 在管理门户中,点 → 。
点 。
有关其他主机设置的详情,请参考管理指南中的新主机和编辑主机 Windows 中的设置和控制说明。
- 使用下拉列表为新主机选择 Data Center 和 Host Cluster。
- 输入新主机的名称和地址。标准 SSH 端口(端口 22)在 SSH Port 字段中自动填充。
选择用于管理器以访问主机的身份验证方法。
- 输入 root 用户的密码以使用密码身份验证。
- 或者,将 SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
- (可选)配置电源管理,其中主机具有受支持的电源管理卡。有关电源管理配置的详情,请参阅管理指南中的主机电源管理设置说明。
- 点托管引擎选项卡。
- 选择 Deploy。
- 点击 。
6.5. 在 Red Hat Virtualization Manager 中添加标准主机 复制链接链接已复制到粘贴板!
始终使用 RHV Manager 来修改集群中的主机的网络配置。否则,您可能创建不受支持的配置。详情请查看 Network Manager Stateful Configuration (nmstate)。
在您的 Red Hat Virtualization 环境中添加主机可能需要一些时间,因为平台将完成下列步骤:虚拟化检查、软件包安装和创建网桥。
流程
- 在管理门户中,单击 → 。
- 点 。
- 使用下拉列表为新主机选择 Data Center 和 Host Cluster。
- 输入新主机的名称和地址。标准 SSH 端口(端口 22)在 SSH Port 字段中自动填充。
选择用于管理器以访问主机的身份验证方法。
- 输入 root 用户的密码以使用密码身份验证。
- 或者,将 SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
(可选)点 Advanced Parameters 按钮更改以下高级主机设置:
- 禁用自动防火墙配置。
- 添加主机 SSH 指纹以提高安全性。您可以手动添加,或自动获取。
- (可选)配置电源管理,其中主机有一个受支持的电源管理卡。有关电源管理配置的详情,请参阅管理指南中的主机电源管理设置说明。
- 点击 。
新主机显示在主机列表中,状态为 Installing,您可以在 通知 Drawer 的 Events 部分查看安装进度(
)。在短暂延迟主机状态变为 Up 后。
第 7 章 为 Red Hat Virtualization 添加存储 复制链接链接已复制到粘贴板!
在新环境中添加存储作为数据域。Red Hat Virtualization 环境必须至少有一个数据域,但建议添加更多。
添加您之前准备的存储:
如果您使用的是 iSCSI 存储,新的数据域不能使用与自托管引擎存储域相同的 iSCSI 目标。
强烈建议您在与自托管引擎存储域相同的数据中心内创建其他数据域。如果您在只有一个活动数据存储域的数据中心部署自托管引擎,并且该存储域已损坏,您将无法添加新的存储域或删除损坏的存储域;您必须重新部署自托管引擎。
7.1. 添加 NFS 存储 复制链接链接已复制到粘贴板!
此流程演示了如何将现有 NFS 存储附加到 Red Hat Virtualization 环境作为数据域。
如果您需要 ISO 或导出域,请使用此流程,但从 Domain Function 列表中选择 ISO 或 Export。
流程
- 在管理门户中,点 → 。
- 点 New Domain。
- 输入存储域的名称。
- 接受 Data Center, Domain Function, Storage Type, Format, 和 Host 列表的默认值。
- 输入要用于存储域的导出路径。导出路径的格式应为 123.123.0.10:/data (IPv4), [2001:0:0:0:0:0:0:5db1]:/data (IPv6), 或 domain.example.com:/data。
另外,您可以配置高级参数:
- 点 Advanced Parameters。
- 在 Warning Low Space Indicator 字段中输入一个百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
- 在 Critical Space Action Blocker 字段中输入一个 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
- 选中 Wipe After Delete 复选框以启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
- 点击 。
新 NFS 数据域的状态为 Locked,直到准备好磁盘为止。然后,数据域将自动附加到数据中心。
7.2. 添加 iSCSI 存储 复制链接链接已复制到粘贴板!
此流程演示了如何将现有 iSCSI 存储附加到 Red Hat Virtualization 环境中作为数据域。
流程
- 点 → 。
- 点 New Domain。
- 输入新存储域的名称。
- 从下拉列表中选择数据中心。
- 选择 Data 作为 Domain Function,iSCSI 作为 Storage Type。
选择活动主机作为主机。
重要与存储域的通信来自选定的主机,而不是直接从管理器通信。因此,所有主机都必须有权访问存储设备,然后才能配置存储域。
管理器可以将 iSCSI 目标映射到 LUN 或 LUN,以将 iSCSI 目标映射到 iSCSI 目标。当选择了 iSCSI 存储类型时,新建域窗口会自动显示已知带有未使用的 LUN 的目标。如果没有显示您要添加存储的目标,您可以使用目标发现来查找它;否则,继续下一步。
单击 Discover Targets 以启用目标发现选项。发现目标并登录后,新建域窗口将自动显示环境未使用的目标。
注意外部用于环境的 LUN 也会显示。
您可以使用 发现目标 选项在多个目标或同一 LUN 的多个路径中添加 LUN。
重要如果您使用 REST API 方法
discoveriscsi发现 iscsi 目标,您可以使用 FQDN 或 IP 地址,但您必须使用发现的目标结果中的 iscsi 详细信息才能使用 REST API 方法iscsilogin进行登录。如需更多信息,请参阅 REST API 指南中的 发现iscsi。- 在 Address 字段中输入 iSCSI 主机的 FQDN 或 IP 地址。
-
在 Port 字段中,输入在浏览目标时要连接到主机的端口。默认值为
3260。 如果使用 CHAP 保护存储,请选中 User Authentication 复选框。输入 CHAP 用户名和 CHAP 密码。
注意您可以使用 REST API 为特定主机的 iSCSI 目标定义凭据。如需更多信息,请参阅 REST API 指南中的 StorageServerConnectionExtensions:add。
- 点 Discover。
从发现结果中选择一个或多个目标,再点 Login(一个目标)或 Login All(多个目标)。
重要如果需要多个路径访问,您必须通过所有必要的路径发现并登录到目标。目前不支持修改存储域以添加其他路径。
重要在使用 REST API
iscsilogin方法登录时,您必须使用发现的目标中的 iscsi 详细信息生成discoveriscsi方法。如需更多信息,请参阅 REST API 指南中的 iscsilogin。
- 点所需目标旁边的 + 按钮。这会展开条目并显示附加到目标的所有未使用的 LUN。
- 选中您正在使用的每个 LUN 的复选框,以创建存储域。
另外,您可以配置高级参数:
- 点 Advanced Parameters。
- 在 Warning Low Space Indicator 字段中输入一个百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
- 在 Critical Space Action Blocker 字段中输入一个 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
- 选中 Wipe After Delete 复选框以启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
- 选中 Discard After Delete 复选框,以在删除后启用丢弃选项。可在创建域后编辑此选项。此选项仅适用于块存储域。
- 点击 。
如果您已配置了多个存储连接路径到同一目标,请按照配置 iSCSI 多路径以完成 iSCSI 绑定的步骤进行操作。
如果要将当前存储网络迁移到 iSCSI 绑定,请参阅将逻辑网络迁移到 iSCSI Bond。
7.3. 添加 FCP 存储 复制链接链接已复制到粘贴板!
此流程演示了如何将现有 FCP 存储附加到 Red Hat Virtualization 环境作为数据域。
流程
- 点 → 。
- 点 New Domain。
- 输入存储域的名称。
从下拉列表中选择 FCP Data Center。
如果您还没有适当的 FCP 数据中心,请选择
(none)。- 从下拉列表中选择 Domain Function 和 Storage Type。与所选数据中心不兼容的存储域类型不可用。
在 Host 字段中选择一个活动主机。如果这不是数据中心中的第一个数据域,您必须选择数据中心的 SPM 主机。
重要与存储域的所有通信均通过选定的主机进行,而不是直接从 Red Hat Virtualization Manager 进行。系统中必须至少有一个活动主机,并附加到所选的数据中心。所有主机都必须有权访问存储设备,然后才能配置存储域。
- 当选择 Fibre Channel 作为存储类型时,新建域 窗口会自动显示已知带有未使用的 LUN 的目标。选择 LUN ID 复选框来选择所有可用的 LUN。
另外,您还可以配置高级参数。
- 点 Advanced Parameters。
- 在 Warning Low Space Indicator 字段中输入一个百分比值。如果存储域中的可用空间低于这个百分比,则会向用户显示警告消息并记录日志。
- 在 Critical Space Action Blocker 字段中输入一个 GB 值。如果存储域中可用的可用空间低于此值,则会向用户和记录错误消息显示,并且任何占用空间的新操作(即便是临时使用)都会被阻止。
- 选中 Wipe After Delete 复选框以启用 wipe after delete 选项。可以在创建域后编辑此选项,但是这样做不会在删除已存在的磁盘属性后更改擦除。
- 选中 Discard After Delete 复选框,以在删除后启用丢弃选项。可在创建域后编辑此选项。此选项仅适用于块存储域。
- 点击 。
新的 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 版本,请参阅 Red Hat Gluster Storage 版本兼容性和支持。
附录 A. 对自托管引擎部署进行故障排除 复制链接链接已复制到粘贴板!
若要确认自托管引擎是否已部署,请运行 hosted-engine --check-deployed。只有尚未部署自托管引擎,才会显示错误。
A.1. Manager 虚拟机故障排除 复制链接链接已复制到粘贴板!
运行 hosted-engine --vm-status,检查管理器虚拟机的状态。
对 Manager 虚拟机所做的任何更改都将花费大约 20 秒时间才能反映到 status 命令输出中。
根据输出中的引擎状态,请查看以下建议来查找或修复问题。
引擎状态:"health": "good", "vm": "up" "detail": "up"
如果 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- 如果输出为正常但无法连接到 Manager,请检查网络连接。
引擎状态:"reason": "failed liveliness check", "health": "bad", "vm": "up", "detail": "up"
如果
健康状况为bad,vm为up,HA 服务将尝试重新启动 Manager 虚拟机,以使管理器返回。如果几分钟内不成功,请从命令行启用全局维护模式,以便主机不再由 HA 服务管理。# hosted-engine --set-maintenance --mode=global连接到控制台。出现提示时,输入操作系统的 root 密码。如需了解更多控制台选项,请参阅 如何从 RHEV-H 主机访问托管引擎虚拟机控制台?
# hosted-engine --console- 登录,确保管理器虚拟机的操作系统正在运行。
检查
ovirt-engine服务的状态:# systemctl status -l ovirt-engine # journalctl -u ovirt-engine- 检查以下日志:/var/log/messages、/var/log/ovirt-engine/engine.log, 和 /var/log/ovirt-engine/server.log。
修复这个问题后,从其中一个自托管引擎节点手动重启 Manager 虚拟机:
# hosted-engine --vm-shutdown # hosted-engine --vm-start注意当自托管引擎节点处于全局维护模式时,必须手动重启管理器虚拟机。如果您尝试通过从命令行发送
reboot命令重新启动 Manager 虚拟机,则 Manager 虚拟机将保持关闭状态。这是设计中的。在 Manager 虚拟机上,验证
ovirt-engine服务是否已启动并在运行:# systemctl status ovirt-engine.service确保 Manager 虚拟机启动并运行后,关闭控制台会话并禁用维护模式以再次启用 HA 服务:
# hosted-engine --set-maintenance --mode=none
引擎状态:"vm": "down", "health": "bad", "detail": "unknown", "reason": "vm not running on this host"
此消息预期在当前没有运行 Manager 虚拟机的主机上。
- 如果您的环境中有多个主机,请确保另一个主机当前没有尝试重启 Manager 虚拟机。
- 确保您不在全局维护模式。
- 检查 /var/log/ovirt-hosted-engine-ha/agent.log 中的 ovirt-ha-agent 日志。
尝试从其中一个自托管引擎节点手动重启 Manager 虚拟机:
# hosted-engine --vm-shutdown # hosted-engine --vm-start
引擎状态:"vm": "unknown", "health": "unknown", "detail": "unknown", "reason": "failed to getVmStats"
此状态表示 ovirt-ha-agent 无法从 VDSM 获取虚拟机的详细信息。
- 检查 /var/log/vdsm/vdsm.log 中的 VDSM 日志。
- 检查 /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 服务或存储有问题,或两者都有问题。
检查主机上的
ovirt-ha-agent状态:# systemctl status -l ovirt-ha-agent # journalctl -u ovirt-ha-agent如果
ovirt-ha-agent停机,重启它:# systemctl start ovirt-ha-agent-
在 /var/log/ovirt-hosted-engine-ha/agent.log 中检查
ovirt-ha-agent日志。 - 检查您可以 ping 共享存储。
- 检查是否挂载了共享存储。
其他故障排除命令
如果您认为需要运行任何这些命令对自托管引擎环境进行故障排除,请联系红帽支持团队。
-
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. 清理失败的自托管引擎部署 复制链接链接已复制到粘贴板!
如果自动托管引擎部署中断,后续的部署将失败,并显示错误消息。该错误将根据部署失败的阶段而有所不同。
如果收到错误消息,您可以在部署主机上运行清理脚本来清理失败的部署。但是,最好重新安装您的基本操作系统并从头进行部署。
清理脚本有以下限制:
- 运行脚本期间网络连接中断可能会导致脚本无法删除管理网桥或重新创建正常工作的网络配置。
- 该脚本不设计用于清理部署失败期间使用的任何共享存储设备。您需要先清理共享存储设备,然后才能在后续部署中重复利用。
流程
运行
/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]定义要在同一共享存储设备中重新安装,还是选择不同的共享存储设备。
要在同一存储域上部署安装,请在服务器中为 NFS、Gluster、PosixFS 或本地存储域的适当目录中运行以下命令清理存储域:
# rm -rf storage_location/*- 对于 iSCSI 或光纤通道协议(FCP)存储 ,请参阅如何清理 Failed 自托管引擎部署? 来获得如何清理存储的信息。
重新引导自托管引擎主机或选择不同的共享存储设备。
注意需要重新启动,以确保在下次尝试之前清理到存储的所有连接。
- 重新部署自托管引擎。
附录 B. 在部署过程中使用自动化自定义 Manager 虚拟机 复制链接链接已复制到粘贴板!
您可以使用一个或多个 Ansible playbook 在部署期间使用自动化来调整或自定义 Manager 虚拟机。您可以在部署期间的以下位置运行 playbook:
- 自托管引擎设置前
- 自托管引擎设置后,但在配置存储之前
- 将部署主机添加到 Manager 后
- 部署完成后
流程
- 编写一个或多个 Ansible playbook,以在部署过程中的特定点在管理器虚拟机上运行。
将 playbook 添加到
/usr/share/ansible/collections/ansible_collections/redhat/rhv/roles/hosted_engine_setup/hooks/下:enginevm_before_engine_setup- 在自托管引擎设置之前运行 playbook。
enginevm_after_engine_setup- 在自托管引擎设置之后、配置存储之前运行 playbook。
after_add_host- 在将部署主机添加到管理器后运行 playbook。
after_setup- 部署完成后运行 playbook。
运行 self-hosted-engine 安装程序时,部署脚本将运行 ovirt-engine-setup 角色,该角色会在其中任何一个目录中自动运行任何 playbook。
附录 C. 将数据库和服务迁移到远程服务器 复制链接链接已复制到粘贴板!
虽然您无法在自动安装过程中配置远程数据库和服务,但您可以在安装后将其迁移到单独的服务器。
C.1. 将数据仓库迁移到 9 月的机器 复制链接链接已复制到粘贴板!
本节论述了如何将数据仓库数据库和服务从 Red Hat Virtualization Manager 机器迁移到单独的机器。在单独的计算机上托管数据仓库服务可减少每台计算机的负载,并避免与其他进程共享 CPU 和内存资源导致的潜在冲突。
红帽只支持安装数据仓库数据库、数据仓库服务和 Grafana,它们都与彼此相同,尽管您可以在独立的机器上分别安装这些组件。
您有以下迁移选项:
-
您可以从管理器计算机迁移数据仓库服务,并将其与现有数据仓库数据库 (
ovirt_engine_history) 连接。 - 您可以从 Manager 机器迁移数据仓库数据库,然后迁移数据仓库服务。
C.1.1. 将数据仓库数据库迁移到独立机器 复制链接链接已复制到粘贴板!
在迁移数据仓库服务之前,迁移数据仓库数据库 (ovirt_engine_history)。使用 engine-backup 创建数据库备份,并在新数据库计算机上恢复它。有关 engine-backup 的更多信息,请运行 engine-backup --help。
红帽只支持安装数据仓库数据库、数据仓库服务和 Grafana,它们都与彼此相同,尽管您可以在独立的机器上分别安装这些组件。
新数据库服务器必须安装了 Red Hat Enterprise Linux 8。
在新数据库服务器上启用所需的存储库。
C.1.1.1. 启用 Red Hat Virtualization Manager 存储库 复制链接链接已复制到粘贴板!
您需要使用 Red Hat Subscription Manager 登录并注册数据仓库,附加 Red Hat Virtualization Manager 订阅并启用 Manager 存储库。
流程
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register注意如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。
查找
Red Hat Virtualization Manager订阅池并记录池 ID:# subscription-manager list --available使用池 ID 将订阅附加到系统:
# subscription-manager attach --pool=pool_id注意查看当前附加的订阅:
# subscription-manager list --consumed列出所有启用的软件仓库:
# dnf repolist配置存储库:
# subscription-manager repos \ --disable='*' \ --enable=rhel-8-for-x86_64-baseos-eus-rpms \ --enable=rhel-8-for-x86_64-appstream-eus-rpms \ --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms \ --enable=fast-datapath-for-rhel-8-x86_64-rpms \ --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms \ --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \ --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms \ --enable=rhel-8-for-x86_64-appstream-tus-rpms \ --enable=rhel-8-for-x86_64-baseos-tus-rpms将 RHEL 版本设置为 8.6:
# subscription-manager release --set=8.6启用
postgresql模块的版本 12。# dnf module -y enable postgresql:12启用
nodejs模块的版本 14:# dnf module -y enable nodejs:14- 使用 升级指南 中的更新 自托管引擎的步骤更新自托管引擎。
其它资源
有关模块和模块流的详情,请参考安装、管理和删除用户空间组件中的以下部分。
C.1.1.2. 将数据仓库数据库迁移到独立机器 复制链接链接已复制到粘贴板!
流程
在 Manager 中创建数据仓库数据库和配置文件的备份:
# engine-backup --mode=backup --scope=grafanadb --scope=dwhdb --scope=files --file=file_name --log=log_file_name将备份文件从 Manager 复制到新机器:
# scp /tmp/file_name root@new.dwh.server.com:/tmp在新机器上安装
engine-backup:# dnf install ovirt-engine-tools-backup安装 PostgreSQL 服务器软件包:
# dnf install postgresql-server postgresql-contrib初始化 PostgreSQL 数据库,启动
postgresql服务,并确保该服务在引导时启动:# su - postgres -c 'initdb' # systemctl enable postgresql # systemctl start postgresql在新计算机上恢复数据仓库数据库。file_name 是从 Manager 复制的备份文件。
# engine-backup --mode=restore --scope=files --scope=grafanadb --scope=dwhdb --file=file_name --log=log_file_name --provision-dwh-db当在恢复
模式中使用 --provision598 选项时,默认应用--restore-permissions。
数据仓库数据库现在托管在与管理器托管的独立计算机上。成功恢复数据仓库数据库后,提示您运行 engine-setup 命令。在运行此命令之前,请先迁移数据仓库服务。
C.1.2. 将数据仓库服务迁移到独立机器 复制链接链接已复制到粘贴板!
您可以将 Red Hat Virtualization Manager 上安装并配置的数据仓库服务迁移到单独的机器。在单独的计算机上托管数据仓库服务有助于减少管理器计算机上的负载。
请注意,这个过程仅迁移数据仓库服务。
要在迁移数据仓库服务之前迁移数据仓库数据库(ovirt_engine_history),请参阅将 数据仓库数据库迁移到 9 月机器。
红帽只支持安装数据仓库数据库、数据仓库服务和 Grafana,它们都与彼此相同,尽管您可以在独立的机器上分别安装这些组件。
先决条件
- 您必须在同一台机器上安装并配置了管理器和数据仓库。
要设置新的数据仓库机器,您必须有以下内容:
- 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 文件中的用户名和密码。
如果您使用将 Data Warehouse 数据库迁移到 909arate Machine 中介绍的步骤将
ovirt_engine_history数据库迁移到 9ed 机器,则备份中包含您在该机器上数据库设置过程中定义的这些凭证。
安装此场景需要四个步骤:
- 设置新的数据仓库机器
- 在管理器机器上停止数据仓库服务
- 配置新的数据仓库
- 在 Manager 计算机上禁用数据仓库软件包
C.1.2.1. 设置新的数据仓库机器 复制链接链接已复制到粘贴板!
启用 Red Hat Virtualization 软件仓库并在 Red Hat Enterprise Linux 8 机器上安装数据仓库设置软件包:
启用所需的软件仓库:
使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:
# subscription-manager register查找
Red Hat Virtualization Manager订阅池并记录池 ID:# subscription-manager list --available使用池 ID 将订阅附加到系统:
# subscription-manager attach --pool=pool_id配置存储库:
# subscription-manager repos \ --disable='*' \ --enable=rhel-8-for-x86_64-baseos-eus-rpms \ --enable=rhel-8-for-x86_64-appstream-eus-rpms \ --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms \ --enable=fast-datapath-for-rhel-8-x86_64-rpms \ --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms # subscription-manager release --set=8.6
启用
pki-deps模块。# dnf module -y enable pki-deps确保当前安装的所有软件包都为最新版本:
# dnf upgrade --nobest安装
ovirt-engine-dwh-setup软件包:# dnf install ovirt-engine-dwh-setup
C.1.2.2. 在 Manager 机器上停止数据仓库服务 复制链接链接已复制到粘贴板!
流程
停止数据仓库服务:
# systemctl stop ovirt-engine-dwhd.service如果数据库托管在远程计算机上,您必须通过编辑 postgres.conf 文件来手动授予访问权限。编辑
/var/lib/pgsql/data/postgresql.conf文件并修改 listen_addresses 行,使其与以下内容匹配:listen_addresses = '*'如果该行不存在或已被注释掉,请手动添加。
如果数据库托管在 Manager 机器上,且是在 Red Hat Virtualization Manager 完全设置过程中配置的,则默认授予访问权限。
重启 postgresql 服务:
# systemctl restart postgresql
C.1.2.3. 配置新的数据仓库(Data Warehouse 机器) 复制链接链接已复制到粘贴板!
本节中显示的选项或设置顺序可能因您的环境而异。
如果您要同时将
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删除 apache/grafana PKI 文件,以便
engine-setup使用正确值重新生成这些文件:# rm -f \ /etc/pki/ovirt-engine/certs/apache.cer \ /etc/pki/ovirt-engine/certs/apache-grafana.cer \ /etc/pki/ovirt-engine/keys/apache.key.nopass \ /etc/pki/ovirt-engine/keys/apache-grafana.key.nopass \ /etc/pki/ovirt-engine/apache-ca.pem \ /etc/pki/ovirt-engine/apache-grafana-ca.pem运行
engine-setup命令,开始在机器上配置数据仓库:# engine-setup按 Enter 接受自动检测到的主机名,或者输入替代主机名并按 Enter :
Host fully qualified DNS name of this server [autodetected host name]:按
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。即使只列出了一个选项,也是如此。为 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输入 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确认安装设置:
Please confirm installation settings (OK, Cancel) [OK]:
数据仓库服务现在在远程计算机上配置。继续在管理器计算机上禁用数据仓库服务。
C.1.2.4. 在 Manager 机器上禁用数据仓库服务 复制链接链接已复制到粘贴板!
先决条件
Manager 机器上的 Grafana 服务被禁用:
# systemctl disable --now grafana-server.service
流程
在 Manager 机器中重启 Manager:
# service ovirt-engine restart运行以下命令修改文件 /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 # sed -i \ -e 's;^\(OVESETUP_GRAFANA_CORE/enable=bool\):True;\1:False;' \ /etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf禁用数据仓库服务:
# systemctl disable ovirt-engine-dwhd.service删除数据仓库文件:
# rm -f /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/*.conf /var/lib/ovirt-engine-dwh/backups/*
数据仓库服务现在托管在管理器之外的独立机器上。
附录 D. 为 PCI Passthrough 配置主机 复制链接链接已复制到粘贴板!
这是显示如何在 Red Hat Virtualization 上设置和配置 SR-IOV 的一系列主题中的一个。如需更多信息,请参阅设置和配置 SR-IOV
启用 PCI 透传(passthrough)可让虚拟机使用主机上的设备,就好像设备直接附加到虚拟机一样。要启用 PCI passthrough 功能,您必须启用虚拟化扩展和 IOMMU 功能。以下流程要求您重新引导主机。如果主机已附加到管理器,请务必先将主机置于维护模式。
先决条件
- 确保主机硬件满足 PCI 设备直通和分配的要求。如需更多信息,请参阅 PCI 设备要求。
为 PCI Passthrough 配置主机
- 在 BIOS 中启用虚拟化扩展和 IOMMU 扩展。如需更多信息,请参阅 Red Hat Enterprise Linux 虚拟化部署和管理指南中的在 BIOS 中启用 Intel VT-x 和 AMD-V 虚拟化硬件扩展。
在将主机添加到 Manager 或手动编辑 grub 配置文件时,选择 Hostdev Passthrough & SR-IOV 复选框,在内核中启用 IOMMU 标志。
- 要从管理门户中启用 IOMMU 标志,请参阅将标准主机添加到 Red Hat Virtualization Manager 和内核设置说明。
- 要手动编辑 grub 配置文件,请参阅手动启用 IOMMU。
- 对于 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
通过编辑 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=on或 AMD IOMMU,您可以尝试添加iommu=pt。pt选项只为用于透传的设备启用 IOMMU,并提供更好的主机性能。但是,该选项可能并不在所有硬件上受到支持。如果pt选项不适用于您的主机,则恢复先前的选项。如果因为硬件不支持中断重新映射而导致 passthrough 失败,您可以考虑启用
allow_unsafe_interrupts选项(如果虚拟机受信任)。默认情况下不启用allow_unsafe_interrupts,因为它可能会使主机暴露于来自虚拟机的 MSI 攻击。启用该选项:# vi /etc/modprobe.d options vfio_iommu_type1 allow_unsafe_interrupts=1
刷新 grub.cfg 文件并重启主机以使这些更改生效:
# grub2-mkconfig -o /boot/grub2/grub.cfg# reboot
附录 E. 防止内核模块自动载入 复制链接链接已复制到粘贴板!
您可以防止自动加载内核模块,无论是直接加载模块,还是在引导过程中作为依赖项载入。
流程
模块名称必须添加到
modprobe实用程序的配置文件中。此文件必须位于配置目录/etc/modprobe.d中。有关此配置目录的更多信息,请参阅 man page
modprobe.d。确保该模块没有配置为在以下任意位置载入:
-
/etc/modprobe.conf -
/etc/modprobe.d/* -
/etc/rc.modules -
/etc/sysconfig/modules/*
# modprobe --showconfig <_configuration_file_name_>-
如果模块出现在输出中,请确保它被忽略且没有加载:
# modprobe --ignore-install <_module_name_>如果载入了正在运行的系统,从正在运行的系统中卸载该模块:
# modprobe -r <_module_name_>通过将
blacklist行添加到系统专用的配置文件(如/etc/modprobe.d/local-dontload.conf)来防止直接加载模块:# echo "blacklist <_module_name_> >> /etc/modprobe.d/local-dontload.conf注意如果模块是另一个模块的必需依赖项或可选依赖项,则此步骤不会阻止模块加载。
防止根据需要载入可选模块:
# echo "install <_module_name_>/bin/false" >> /etc/modprobe.d/local-dontload.conf重要如果其他硬件需要排除的模块,则排除该模块可能会导致意外的副作用。
生成
initramfs的备份副本:# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak如果内核模块是
initramfs的一部分,重建初始ramdisk镜像,省略该模块:# dracut --omit-drivers <_module_name_> -f获取当前的内核命令行参数:
# grub2-editenv - list | grep kernelopts将
<_module_name_>.blacklist=1 rd.driver.blacklist=<_module_name_>附加到生成的输出中:# grub2-editenv - set kernelopts="<> <_module_name_>.blacklist=1 rd.driver.blacklist=<_module_name_>"例如:
# grub2-editenv - set kernelopts="root=/dev/mapper/rhel_example-root ro crashkernel=auto resume=/dev/mapper/rhel_example-swap rd.lvm.lv=rhel_example/root rd.lvm.lv=rhel_example/swap <_module_name_>.blacklist=1 rd.driver.blacklist=<_module_name_>"生成
kdump initramfs的备份副本:# cp /boot/initramfs-$(uname -r)kdump.img /boot/initramfs-$(uname -r)kdump.img.$(date +%m-%d-%H%M%S).bak将
rd.driver.blacklist=<_module_name_>附加到/etc/sysconfig/kdump文件中的KDUMP_COMMANDLINE_APPEND设置中,以从kdump initramfs中忽略它:# sed -i '/^KDUMP_COMMANDLINE_APPEND=/s/"$/ rd.driver.blacklist=module_name"/' /etc/sysconfig/kdump重启
kdump服务以获取对kdump initrd的更改:# kdumpctl restart重建
kdump初始ramdisk镜像:# mkdumprd -f /boot/initramfs-$(uname -r)kdump.img- 重启系统:
E.1. 临时删除模块 复制链接链接已复制到粘贴板!
您可以临时删除模块。
流程
运行
modprobe以删除任何当前加载的模块:# modprobe -r <module name>-
如果模块无法卸载,则进程或其他模块可能仍在使用该模块。如果是,终止进程并运行在其他时间上写入的
modpole命令以卸载该模块。
附录 F. 保护 Red Hat Virtualization 复制链接链接已复制到粘贴板!
此信息特定于 Red Hat Virtualization。它不涵盖与以下任何方面相关的基本安全实践:
- 禁用不必要的服务
- 身份验证
- 授权
- Accounting
- 非 RHV 服务的渗透测试和强化
- 加密敏感应用程序数据
先决条件
- 您应精通机构的安全标准和实践。如果可能,请咨询机构的负责安全的人员。
- 在部署 RHEL 主机前,请参阅 Red Hat Enterprise Linux 安全强化。
F.1. 在基于 RHEL 的主机和独立管理器中应用 DISA STIG 配置集 复制链接链接已复制到粘贴板!
安装 RHV 时,您可以使用 UI 安装程序选择 DISA STIG 配置集,这是 RHEL 8 提供的配置集。
Red Hat Virtualization Host(RHVH)不支持 DISA STIG 配置集。
流程
- 在 安装概述 屏幕中选择 安全策略。
- 在 Security Policy 屏幕中,将 Apply security policy 设置为 On。
- 为 Red Hat Enterprise Linux 8 选择 DISA STIG。
- 点击 Select profile。此操作在配置集旁边添加一个绿色勾号,并将软件包添加到已完成或需要完成的更改列表中。如果它们指示您进行任何更改,请按照屏幕说明进行操作。
- 点 Done。
- 在安装概述屏幕上,验证 Security Policy 的状态是否为 Everything。
- 重启主机。
F.1.1. 在自托管引擎中启用 DISA STIG 复制链接链接已复制到粘贴板!
您可以在部署使用命令行时在自托管引擎中启用 DISA STIG。
流程
- 启动自托管引擎部署脚本。使用命令行将 Red Hat Virtualization 安装为自托管引擎。
-
当部署脚本提示
是否要应用 OpenSCAP 安全配置集时,请输入Yes。 -
当部署脚本提示
Please 提供您要使用的安全配置集时,请输入stig。
F.2. 在 RHV 主机和独立管理器中应用 PCI-DSS 配置集 复制链接链接已复制到粘贴板!
安装 RHVH 时,您可以使用 UI 安装程序选择 PCI-DSS 配置集,这是 RHEL 8 提供的配置集。
流程
- 在 安装概述 屏幕中选择 安全策略。
- 在 Security Policy 屏幕中,将 Apply security policy 设置为 On。
- 为 Red Hat Enterprise Linux 8 选择 PCI-DSS v3.2.1 Control Baseline。
- 点击 Select profile。此操作在配置集旁边添加一个绿色勾号,并将软件包添加到已完成或需要完成的更改列表中。如果它们指示您进行任何更改,请按照屏幕说明进行操作。
- 点 Done。
- 在 安装概述 屏幕中,验证 安全策略的状态是 一切正常。
- 重启主机。
F.2.1. 在自托管引擎中启用 PCI-DSS 复制链接链接已复制到粘贴板!
您可以在部署使用命令行时在自托管引擎中启用 PCI-DSS。
流程
- 启动自托管引擎部署脚本。使用命令行将 Red Hat Virtualization 安装为自托管引擎。
-
当部署脚本提示
是否要应用 OpenSCAP 安全配置集时,请输入Yes。 -
当部署脚本提示
Please 提供要使用的安全配置集时,请输入pci-dss。
附录 G. 在自托管引擎部署中定义允许的 CPU 类型 复制链接链接已复制到粘贴板!
流程
创建名为
deploy.json的文件,并从下表中所示,为he_cluster_cpu_type选择一个 CPU 类型。例如,如果您想要的 CPU 类型是 Secure Intel Nehalem Family,则deploy.json应该类似如下:[root@host ~]# cat deploy.json { "he_cluster_cpu_type": "Secure Intel Nehalem Family" }将 deploy.json 文件提供给
hosted-engine --deploy进程。[root@host ~]# hosted-engine --deploy --ansible-extra-vars=@/root/deploy.json
| CPU 类型名称 | CPU 属性 |
|---|---|
| Intel Nehalem Family | vmx,nx,model_Nehalem:Nehalem:x86_64 |
| Secure Intel Nehalem Family | vmx,spec_ctrl,ssbd,model_Nehalem:Nehalem,+spec-ctrl,+ssbd:x86_64 |
| Intel Westmere Family | aes,vmx,nx,model_Westmere:Westmere:x86_64 |
| Secure Intel Westmere Family | aes,vmx,spec_ctrl,ssbd,model_Westmere:Westmere,+pcid,+spec-ctrl,+ssbd:x8_64 |
| Intel SandyBridge Family | vmx,nx,model_SandyBridge:SandyBridge:x86_64 |
| Secure Intel SandyBridge Family | vmx,spec_ctrl,ssbd,md_clear,model_SandyBridge:SandyBridge,+pcid,+spec-ctrl,+ssbd,+md-clear:x86_64 |
| Intel IvyBridge Family | vmx,nx,model_IvyBridge:IvyBridge:x86_64 |
| Secure Intel IvyBridge Family | vmx,spec_ctrl,ssbd,md_clear,model_IvyBridge:IvyBridge,+pcid,+spec-ctrl,+ssbd,+md-clear:x86_64 |
| Intel Haswell Family | vmx,nx,model_Haswell-noTSX:Haswell-noTSX:x86_64 |
| Secure Intel Haswell Family | vmx,spec_ctrl,ssbd,md_clear,model_Haswell-noTSX:Haswell-noTSX,+spec-ctrl,+ssbd,+md-clear:x86_64 |
| Intel Broadwell Family | vmx,nx,model_Broadwell-noTSX:Broadwell-noTSX:x86_64 |
| Secure Intel Broadwell Family | vmx,spec_ctrl,ssbd,md_clear,model_Broadwell-noTSX:Broadwell-noTSX,+spec-ctrl,+ssbd,+md-clear:x86_64 |
| Intel Skylake Client Family | vmx,nx,model_Skylake-Client:Skylake-Client,-hle,-rtm,-mpx:x86_64 |
| Secure Intel Skylake Client Family | vmx,ssbd,md_clear,model_kylake-Client-noTSX-IBRS:Skylake-Client-noTSX-IBRS,+ssbd,+md-clear,-mpx:x86_64 |
| Intel Skylake Server Family | vmx,nx,model_Skylake-Server:Skylake-Server,-hle,-rtm,-mpx:x86_64 |
| Secure Intel Skylake Server Family | vmx,ssbd,md_clear,model_kylake-Server-noTSX-IBRS:Skylake-Server-noTSX-IBRS,+ssbd,+md-clear,-mpx:x86_64 |
| Intel Cascadelake Server 系列 | vmx,model_Cascadelake-Server:Cascadelake-Server,-hle,-rtm,-mpx:x86_64 |
| Secure Intel Cascadelake Server 系列 | vmx,model_Cascadelake-Server-noTSX:Cascadelake-Server-noTSX,-mpx:x86_64 |
| Intel Icelake Server Family | vmx,model_Icelake-Server-noTSX:Icelake-Server-noTSX,-mpx:x86_64 |
| Secure Intel Icelake Server Family | vmx,arch-capabilities,rdctl-no,ibrs-all,skip-l1dfl-vmentry,mds-no,pschange-mc-no,taa-no,model_Icelake-Server-noTSX:Icelake-Server-noTSX,+arch-capabilities,+rdctl-no,+ibrs-all, +skip-l1dfl-vmentry,+mds-no,+pschange-mc-no,+taa-no,-mpx:x86_64 |
| AMD Opteron G4 | svm,nx,model_Opteron_G4:Opteron_G4:x86_64 |
| AMD Opteron G5 | svm,nx,model_Opteron_G5:Opteron_G5:x86_64 |
| AMD EPYC | svm,nx,model_EPYC:EPYC:x86_64 |
| 安全 AMD EPYC | svm,nx,ibpb,ssbd,model_EPYC:EPYC,+ibpb,+virt-ssbd:x86_64 |
| IBM POWER8 | powernv,model_POWER8:POWER8:ppc64 |
| IBM POWER9 | powernv,model_POWER9:POWER9:ppc64 |
| IBM z114、z196 | sie,model_z196-base:z196-base:s390x |
| IBM zBC12, zEC12 | sie,model_zEC12-base:zEC12-base:s390x |
| IBM z13s, z13 | sie,model_z13-base:z13-base:s390x |
| IBM z14 | sie,model_z14-base:z14-base:s390x |
附录 H. 法律通知 复制链接链接已复制到粘贴板!
Copyright © 2022 Red Hat, Inc.
Licensed under the (Creative Commons Attribution–ShareAlike 4.0 International License).从(oVirt Project)的文档衍生而来。如果您发布本文档或对其进行改编,您必须提供原始版本的 URL。
修改后的版本必须删除所有红帽商标。
Red Hat、Red Hat Enterprise Linux、Red Hat 商标、Shadowman 商标、JBoss、OpenShift、Fedora、Infinity 商标以及 RHCE 都是在美国及其他国家的注册商标。
Linux® 是 Linus Torvalds 在美国和其他国家/地区的注册商标。
Java® 是 Oracle 和/或其附属公司的注册商标。
XFS® 是 Silicon Graphics International Corp. 或其子公司在美国和/或其他国家的商标。
MySQL® 是 MySQL AB 在美国、欧盟和其他国家/地区的注册商标。
Node.js® 是 Joyent 的官方商标。Red Hat Software Collections 与官方 Joyent Node.js 开源或商业项目没有正式关联或被正式认可。
The OpenStack® Word Mark 和 OpenStack 标识是 OpenStack Foundation 在美国及其他国家的注册商标/服务标记或商标/服务标记,可根据 OpenStack Foundation 授权使用。我们不附属于 OpenStack Foundation 或 OpenStack 社区。
所有其他商标均由其各自所有者所有。