置备主机
配置调配资源和网络、调配物理计算机、在云提供商或虚拟化基础架构上调配虚拟机,手动或通过发现服务创建主机
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
使用 Red Hat Jira 中的 Create Issue 表单提供您的反馈。JIRA 问题是在 Red Hat Satellite Jira 项目中创建的,您可以在其中跟踪其进度。
先决条件
- 确保您已注册了 红帽帐户。
流程
- 单击以下链接: 创建问题。如果 Jira 显示登录错误,则登录并在您重定向到表单后继续。
- 完成 Summary 和 Description 字段。在 Description 字段中,包含文档 URL、章节号以及问题的详细描述。不要修改表单中的任何其他字段。
- 点 Create。
第 1 章 置备简介 复制链接链接已复制到粘贴板!
调配是一个以裸机物理或虚拟机开头并具有完全配置的、可随时使用的操作系统的过程。使用 Red Hat Satellite,您可以为大量主机定义和自动化细粒度配置。
1.1. 在 Red Hat Satellite 中置备方法 复制链接链接已复制到粘贴板!
通过 Red Hat Satellite,您可以使用以下方法置备主机。
- 裸机主机
Satellite 通过使用 PXE 引导和 MAC 地址标识来调配裸机主机。在使用 Satellite 置备裸机主机时,您可以执行以下操作:
- 创建主机条目并指定要置备的物理主机的 MAC 地址。
- 引导空白主机以使用 Satellite 发现服务,它会创建一个可调配的主机池。
- 云供应商
Satellite 连接到私有和公共云提供商,以调配云环境中存储的镜像的主机实例。使用 Satellite 从云置备时,您可以执行以下操作:
- 选择要使用的硬件配置文件。
- 使用其 API 从特定提供程序置备云实例。
- 虚拟化基础架构
Satellite 连接到虚拟化基础结构服务,如 Red Hat Virtualization 和 VMware。使用 Satellite 置备虚拟机时,您可以执行以下操作:
- 从虚拟机镜像模板调配虚拟机。
- 使用您用来置备裸机主机的同一基于 PXE 的引导方法。
1.2. 置备中支持的主机平台 复制链接链接已复制到粘贴板!
Satellite 支持以下操作系统和架构以用于主机调配。
- 支持的主机操作系统
主机可以使用以下操作系统:
- Red Hat Enterprise Linux 9 和 8
- 带有 ELS 附加组件的 Red Hat Enterprise Linux 7
- 支持的主机架构
主机可以使用以下构架:
- AMD 和 Intel 64 位构架
- 64 位 ARM 架构
- IBM Power Systems, Little Endian
- 64 位 IBM Z 架构
1.3. 支持的云供应商 复制链接链接已复制到粘贴板!
您可以将以下云供应商作为计算资源连接到 Satellite:
- Red Hat OpenStack Services on OpenShift
- Amazon EC2
- Google Compute Engine
- Microsoft Azure
1.4. 支持的虚拟化基础架构 复制链接链接已复制到粘贴板!
您可以将以下虚拟化基础架构作为计算资源连接到 Satellite:
- KVM (libvirt)
- Red Hat Virtualization (已弃用)
- VMware
- OpenShift Virtualization
1.5. 网络引导置备工作流 复制链接链接已复制到粘贴板!
置备过程遵循基本的 PXE 工作流:
- 您可以创建一个主机并选择一个域和子网。Satellite 从与子网关联的 DHCP Capsule 服务器或 Satellite 中的 PostgreSQL 数据库请求可用的 IP 地址。Satellite 将此 IP 地址加载到 Create Host 窗口中的 IP 地址字段中。完成新主机的所有选项后,提交新主机请求。
根据主机及其域和子网的配置规格,Satellite 会创建以下设置:
- 与子网关联的 Capsule 服务器上的 DHCP 记录。
- 与域关联的 Capsule 服务器上的转发 DNS 记录。
- 与子网关联的 DNS Capsule 服务器上的反向 DNS 记录。
- pxelinux、Grub、Grub2 和 iPXE 配置文件,用于与子网关联的 TFTP Capsule 服务器中主机。
- 关联的 Puppet 服务器上的 Puppet 证书。
- 关联的身份服务器上的域。
- 主机被配置为从网络引导,作为第一个设备,HDD 作为第二个设备。
- 新主机从 DHCP 服务器请求 DHCP 保留。
-
DHCP 服务器响应保留请求,并返回 TFTP
next-server和filename选项。 - 主机根据 PXELoader 设置从 TFTP 服务器请求引导装载程序和菜单。
- 引导装载程序通过 TFTP 返回。
- 引导装载程序通过其置备接口 MAC 地址获取主机配置。
- 引导装载程序获取操作系统安装程序内核、init RAM 磁盘和引导参数。
- 安装程序从 Satellite 请求 自定义模板。
- Satellite 呈现 provision 模板,并将结果返回到主机。
安装程序执行操作系统的安装。
- 安装程序使用 Subscription Manager 将主机注册到 Satellite。
-
安装程序通知 Satellite 在安装后脚本中
成功构建。
- PXE 配置文件恢复到本地引导模板。
- 主机将重新启动。
- 新主机从 DHCP 服务器请求 DHCP 保留。
-
DHCP 服务器响应保留请求,并返回 TFTP
next-server和filename选项。 - 主机根据 PXELoader 设置从 TFTP 服务器请求引导装载程序和菜单。
- 引导装载程序通过 TFTP 返回。
- 引导装载程序通过其置备接口 MAC 地址获取主机的配置。
- 引导装载程序从本地驱动器启动引导。
- 如果将主机配置为使用 Puppet 类,主机将使用模块来配置其自身。
完全置备的主机执行以下工作流:
- 主机被配置为从网络引导,作为第一个设备,HDD 作为第二个设备。
- 新主机从 DHCP 服务器请求 DHCP 保留。
-
DHCP 服务器响应保留请求,并返回 TFTP
next-server和filename选项。 - 主机根据 PXELoader 设置从 TFTP 服务器请求引导装载程序和菜单。
- 引导装载程序通过 TFTP 返回。
- 引导装载程序通过其置备接口 MAC 地址获取主机的配置设置。
对于 BIOS 主机:
- 引导装载程序返回不可引导的设备,以便 BIOS 跳过到下一个设备(从 HDD 启动)。
对于 EFI 主机:
- 引导装载程序在 ESP 分区上发现 Grub2,并串联它。
- 如果主机对 Satellite 未知,则会提供默认的引导装载程序配置。启用 Discovery 服务后,它会引导到发现,否则它会从 HDD 启动。
此工作流因自定义选项而异。例如:
- Discovery(发现)
- 如果您使用发现服务,Satellite 会自动检测新主机的 MAC 地址,并在提交请求后重启主机。请注意,TCP 端口 8443 必须可以被主机附加到的胶囊访问,以便 Satellite 重新启动主机。
- 无 PXE 置备
- 提交新主机请求后,您必须使用从 Satellite 下载的引导磁盘引导特定主机,并使用外部存储设备进行传输。
- 计算资源
-
Satellite 创建虚拟机并检索 MAC 地址,并将 MAC 地址存储在 Satellite 中。如果您使用基于镜像的置备,主机不会遵循标准 PXE 引导和操作系统安装。计算资源为主机创建要使用的镜像副本。根据 Satellite 中的镜像设置,可以在 中传递看到的数据以进行初始配置,例如使用
cloud-init。Satellite 可以使用 SSH 连接到主机,并执行模板来完成自定义。
1.6. 网络引导所需的引导顺序 复制链接链接已复制到粘贴板!
- 对于物理或虚拟 BIOS 主机
- 使用 网络将第一个引导设备设置为引导配置。
- 将第二个引导设备设置为从硬盘引导。Satellite 管理 TFTP 引导配置文件,因此只需重新启动即可轻松调配主机。
- 对于物理或虚拟 EFI 主机
- 使用 网络将第一个引导设备设置为引导配置。
- 根据 EFI 固件类型和配置,操作系统安装程序通常会将操作系统引导装载程序配置为第一个条目。
-
要再次重启到安装程序,请使用
efibootmgr工具从网络引导。
第 2 章 配置置备资源 复制链接链接已复制到粘贴板!
2.1. 置备上下文 复制链接链接已复制到粘贴板!
置备上下文是您为 Satellite 组件指定的机构和位置的组合。组件所属的机构和位置设置该组件的所有权和访问权限。
组织根据所有权、目的、内容、安全级别和其他部门将红帽卫星组件划分为逻辑组。您可以通过 Red Hat Satellite 创建和管理多个机构,并将组件分配给每个机构。这样可确保 Satellite 服务器在某个机构中置备主机,且只使用分配给该机构的组件。有关机构的更多信息,请参阅管理 Red Hat Satellite 中的管理机构。
位置功能与组织类似。区别在于位置基于物理或地理位置。用户可以在层次结构中嵌套位置。有关位置的更多信息,请参阅管理 Red Hat Satellite 中的管理 位置。
2.2. 设置置备上下文 复制链接链接已复制到粘贴板!
设置置备上下文时,您可以定义要用于置备主机的机构和位置。
组织和位置菜单位于卫星 Web UI 左上角的菜单栏中。如果您没有选择要使用的组织和位置,则菜单会显示: Any Organization 和 Any Location。
流程
- 单击 Any Organization,再选择该组织。
- 单击 Any Location,再选择要使用的位置。
每个用户都可以在其帐户设置中设置其默认置备上下文。单击 Satellite Web UI 右上角的用户名,再选择 My account 来编辑用户帐户设置。
CLI 过程
使用 CLI 时,将 either--
organization或--organization-label和--location或-location-id作为一个选项包含在内。例如:hammer host list --organization "My_Organization" --location "My_Location"
# hammer host list --organization "My_Organization" --location "My_Location"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令输出分配给
My_Organization和My_Location的主机。
2.3. 创建操作系统 复制链接链接已复制到粘贴板!
操作系统是资源的集合,用于定义卫星服务器如何在主机上安装基础操作系统。操作系统条目组合之前定义的资源,如安装介质、分区表、自定义模板等。
从红帽的 CDN 导入操作系统会在 Hosts > Provisioning Setup > Operating Systems 页面中创建新条目。要从红帽的 CDN 导入操作系统,请启用红帽操作系统存储库并将存储库同步到 Satellite。如需更多信息 ,请参阅管理内容中的 启用红帽存储库 和 同步存储库。
您还可以按照以下流程添加自定义操作系统。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Operating systems,然后点 New Operating system。
- 在 Name 字段中输入名称来代表操作系统条目。
- 在 Major 字段中,输入与操作系统主版本对应的数字。
- 在 Minor 字段中,输入与操作系统的次版本对应的数字。
- 在 Description 字段中,输入操作系统的描述。
- 从 Family 列表中,选择操作系统的系列。
- 从 Root Password Hash 列表中,选择 root 密码的编码方法。
- 从 Architectures 列表中,选择操作系统使用的架构。
- 点 Partition table 选项卡,然后选择应用到这个操作系统的可能分区表。
- 可选:如果您使用非红帽内容,点 Installation Media 选项卡并选择适用于这个操作系统的安装介质。如需更多信息,请参阅在 Satellite 中添加安装介质。
- 单击 模板选项卡,然后选择 PXELinux 模板、Provisioning 模板 和 Finish template 供您的操作系统使用。如果计划使用 iPXE 进行调配,您可以选择其他模板,如 iPXE 模板。
- 点 Submit 保存您的置备模板。
CLI 过程
使用
hammer os create命令创建操作系统:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 更新多个操作系统的详情 复制链接链接已复制到粘贴板!
使用这个流程更新多个操作系统的详情。本例演示了如何为每个操作系统分配一个称为 Kickstart default 的分区表、名为 Kickstart default PXELinux 的配置模板,以及名为 Kickstart Default 的自定义模板。
流程
在 Satellite 服务器上,运行以下 Bash 脚本:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示更新的操作系统的信息,以验证操作系统是否已正确更新:
hammer os info --id 1
# hammer os info --id 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. 创建构架 复制链接链接已复制到粘贴板!
Satellite 中的架构代表主机和操作系统的逻辑分组。当主机通过 Puppet 检查时,卫星会自动创建架构。Satellite 中已预先设置 x86_64 架构。
使用这个流程在 Satellite 中创建架构。
支持的构架
只有 Intel x86_64 架构支持使用 PXE、Discovery 和引导磁盘进行置备。如需更多信息,请参阅 Satellite 6 中支持的架构和置备场景。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Provisioning Setup > Architectures。
- 单击 Create Architecture。
- 在 Name 字段中输入架构的名称。
- 从 Operating Systems 列表中,选择一个操作系统。如果没有可用的,您可以在 Hosts > Provisioning Setup > Operating Systems 下创建并分配它们。
- 点 Submit。
CLI 过程
输入
hammer architecture create命令创建构架。指定包括此架构的名称和操作系统:hammer architecture create \ --name "My_Architecture" \ --operatingsystems "My_Operating_System"
# hammer architecture create \ --name "My_Architecture" \ --operatingsystems "My_Operating_System"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6. 创建硬件模型 复制链接链接已复制到粘贴板!
使用这个流程在 Satellite 中创建硬件模型,以便您可以指定主机使用哪个硬件模型。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Provisioning Setup > Hardware Models。
- 点 Create Model。
- 在 Name 字段中输入硬件模型的名称。
- 另外,在 Hardware Model 和 Vendor Class 字段中输入系统的对应信息。
- 在 Info 字段中,输入硬件模型的描述。
- 点 Submit 保存您的硬件模型。
CLI 过程
使用
hammer model create命令创建硬件模型。唯一必需的参数是--name。(可选)使用--hardware-model选项输入硬件模型、带有--vendor-class选项的供应商类,以及使用-info选项的描述:hammer model create \ --hardware-model "My_Hardware_Model" \ --info "My_Description" \ --name "My_Hardware_Model_Name" \ --vendor-class "My_Vendor_Class"
# hammer model create \ --hardware-model "My_Hardware_Model" \ --info "My_Description" \ --name "My_Hardware_Model_Name" \ --vendor-class "My_Vendor_Class"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. 为主机的操作系统使用同步的 Kickstart 软件仓库 复制链接链接已复制到粘贴板!
Satellite 包含一组同步的 Kickstart 存储库,用于安装调配的主机的操作系统。有关添加存储库的更多信息 ,请参阅管理内容中的 同步存储库。
使用这个步骤设置 Kickstart 软件仓库。
先决条件
在置备前,您必须同时启用 BaseOS 和 Appstream Kickstart。
流程
添加您要用于现有内容视图的同步 Kickstart 存储库,或者创建新内容视图并添加 Kickstart 存储库。
对于 Red Hat Enterprise Linux 8,请确保同时添加 Red Hat Enterprise Linux 8 for x86_64 - AppStream Kickstart x86_64 8 和 Red Hat Enterprise Linux 8 for x86_64 - BaseOS Kickstart x86_64 8 软件仓库。
如果使用断开连接的环境,您必须从 Red Hat Enterprise Linux 二进制 DVD 中导入 Kickstart 软件仓库。
- 发布一个新版本的内容视图,其中添加了 Kickstart 存储库并将其提升到所需的生命周期环境。如需更多信息,请参阅管理内容中的管理 内容视图 。
- 当您创建主机时,在 Operating System 选项卡中,选择 Synced Content 复选框。
要查看 Kickstart 树,请输入以下命令:
hammer medium list --organization "My_Organization"
# hammer medium list --organization "My_Organization"
2.8. 在 Satellite 中添加安装介质 复制链接链接已复制到粘贴板!
安装介质是 Satellite 服务器用来从外部存储库在机器上安装基础操作系统的软件包源。您可以使用此参数安装第三方内容。红帽内容通过存储库同步提供。
您可以通过进入到 Hosts > Provisioning Setup > Installation Media 来查看安装介质。
安装介质必须采用操作系统安装树的格式,且必须通过 HTTP URL 从托管安装程序的计算机访问。
默认情况下,Satellite 包括一些官方 Linux 发行版的安装介质。请注意,其中一些安装介质适用于特定版本的操作系统。例如,CentOS 镜像(7.x) 必须用于 CentOS 7 或更早版本,CentOS 镜像(8.x) 必须用于 CentOS 8 或更高版本。
如果要在多个主机上安装操作系统时提高下载性能,您必须修改安装介质的路径以指向最接近的镜像或本地副本。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Provisioning Setup > Installation Media。
- 点 Create Medium。
- 在 Name 字段中输入名称来代表安装介质条目。
在 Path 中,输入包含安装树的 URL。您可以使用路径中的以下变量来代表多个不同的系统架构和版本:
-
$arch- 系统架构。 -
$version- 操作系统版本。 -
$major- 操作系统主版本。 $minor- 操作系统次版本。HTTP 路径示例:
http://download.example.com/centos/$version/Server/$arch/os/
http://download.example.com/centos/$version/Server/$arch/os/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
-
从 Operating system family 列表中,选择安装介质的发布或系列。例如,CentOS 和 Fedora
在红帽系列中。 - 单击 Organizations 和 Locations 选项卡,以更改调配上下文。Satellite 服务器将安装介质添加到设置的置备上下文中。
- 点 Submit 保存您的安装介质。
CLI 过程
使用
hammer medium create命令创建安装介质:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.9. 创建分区表 复制链接链接已复制到粘贴板!
分区表是一种模板,它定义了 Satellite 服务器配置新主机上可用磁盘的方式。分区表使用与置备模板相同的 ERB 语法。Red Hat Satellite 包含一组要使用的默认分区表,包括 Kickstart 默认。您还可以编辑分区表条目来配置首选分区方案,或者创建分区表条目并将其添加到操作系统条目中。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Partition Tables。
- 单击 创建分区表。
- 在 Name 字段中输入分区表的名称。
- 如果要将模板设置为与新机构或位置自动关联,请选择 Default 复选框。
- 如果要将模板识别为其他分区表的可重复使用的代码片段,请选择 Snippet 复选框。
- 从 Operating System Family 列表中,选择分区布局的分配或系列。例如,Red Hat Enterprise Linux、CentOS 和 Fedora 均在红帽系列中。
在 Template 编辑器 字段中,输入磁盘分区的布局。
布局的格式必须与预期操作系统匹配。例如,Red Hat Enterprise Linux 需要与 Kickstart 文件匹配的布局,例如:
zerombr clearpart --all --initlabel autopart
zerombr clearpart --all --initlabel autopartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 第 2.11 节 “动态分区示例”。
您还可以使用模板编辑器中的文件浏览器从文件中导入布局。
- 在 Audit Comment 字段中,添加对分区布局的更改摘要。
- 单击 Organizations 和 Locations 选项卡,以添加您要与分区表关联的任何其他调配上下文。Satellite 在当前调配上下文中添加分区表。
- 点 Submit 保存您的分区表。
CLI 过程
创建一个纯文本文件,如
~/My_Partition_Table,其中包含分区布局。布局的格式必须与预期操作系统匹配。例如,Red Hat Enterprise Linux 需要与 Kickstart 文件匹配的布局,例如:
zerombr clearpart --all --initlabel autopart
zerombr clearpart --all --initlabel autopartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 第 2.11 节 “动态分区示例”。
使用
hammer 分区-table create命令创建安装介质:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.10. 将分区表与磁盘加密关联 复制链接链接已复制到粘贴板!
Satellite 包含在主机置备过程中使用 Linux Unified Key Setup (LUKS)加密主机的磁盘的分区表。主机上的加密磁盘保护数据处于静态状态。另外,您还可以通过 Clevis 在启动过程中通过 Clevis 将磁盘绑定到 Tang 服务器。
将分区表与您的操作系统条目关联。然后,您可以将分区表分配给主机组,或者在置备过程中手动选择它。
先决条件
-
您的主机可以访问
AppStream存储库,以便在置备过程中安装clevis。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Provisioning Setup > Operating Systems。
- 选择您的 Red Hat Enterprise Linux 条目。
-
在 Partition Table 选项卡中,将
Kickstart default encrypted替换为您的操作系统条目。 -
创建使用
Kickstart 默认加密分区表的主机组。如需更多信息,请参阅管理主机中的 创建 主机组 。 使用以下选项之一在引导时解密主机的磁盘:
-
LUKS 加密:将 host 参数
disk_enc_passphrase添加为 字符串,并将 LUKS 容器的明文密码短语添加为值。 Clevis 和 Tang:将主机参数
disk_enc_tang_servers添加为类型 数组和 您的 Tang 服务器列表(例如:["1.2.3.4"]或["server.example.com", "5.6.7.8"])。如果您设置了
disk_enc_tang_servers,请不要设置disk_enc_passphrase,因为在置备后从 LUKS 容器中删除密码短语插槽。
-
LUKS 加密:将 host 参数
2.11. 动态分区示例 复制链接链接已复制到粘贴板!
使用 Anaconda Kickstart 模板,以下部分指示 Anaconda 清除整个磁盘、自动分区、扩大一个分区以最大大小,然后进入置备过程中的下一个事件序列:
zerombr
clearpart --all --initlabel
autopart <%= host_param('autopart_options') %>
zerombr
clearpart --all --initlabel
autopart <%= host_param('autopart_options') %>
动态分区由安装程序执行。因此,您可以自己编写规则,以指定如何根据节点的运行时信息对磁盘进行分区,如磁盘大小、驱动器数、厂商或制造商。
如果要置备服务器并使用动态分区,请将以下示例添加为模板。当包含 #Dynamic 条目时,模板的内容会加载到 %pre shell scriplet 中,并创建一个 /tmp/diskpart.cfg,然后包含在 Kickstart 分区部分。
2.12. 自定义模板 复制链接链接已复制到粘贴板!
调配模板定义了卫星服务器在主机上安装操作系统的方式。
Red Hat Satellite 包括许多模板示例。在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates 来查看它们。您可以创建模板或克隆模板,并编辑克隆。如需模板的帮助,请进入到 Hosts > Templates > Provisioning Templates > Create Template > Help。
红帽支持的模板由 Red Hat 图标表示。
要隐藏不支持的模板,在 Satellite Web UI 中进入到 Administer > Settings。在 Provisioning 选项卡上,将 Show unsupported provisioning templates 的值设置为 false,然后单击 Submit。您还可以通过进行以下查询 "supported = true" 来过滤支持的模板。
如果您克隆受支持的模板,则克隆的模板将不被支持。
模板接受嵌入式 Ruby (ERB)语法。如需更多信息, 请参阅管理主机中的模板编写参考。
您可以下载自定义模板。在下载模板之前,您必须创建一个 debug 证书。如需更多信息,请参阅管理 Red Hat Satellite 中的 创建机构调试证书。
您可以在 Satellite 服务器和 Git 存储库或本地目录之间同步模板。如需更多信息,请参阅管理 Red Hat Satellite 中的 同步模板存储库。
要查看应用到模板的更改历史记录,请导航到 Hosts > Templates > Provisioning Templates,选择其中一个模板,然后点 History。点 Revert 使用以前的版本覆盖内容。您还可以恢复到早期更改。点击 Show Diff 查看有关特定更改的信息:
- Template Diff 选项卡显示自定义模板正文中的更改。
- Details 选项卡显示模板描述中的更改。
- History 选项卡显示更改更改模板和日期的用户。
2.13. 自定义模板的类型 复制链接链接已复制到粘贴板!
各种置备模板有几种:
- 置备
置备过程的主要模板。例如: Kickstart 模板。有关 Kickstart 语法和命令的详情,请查看以下资源:
- 自动安装 RHEL 9 中的自动安装工作流
- 自动安装 RHEL 8 中的自动安装工作流
- Red Hat Enterprise Linux 7 安装指南中的 Kickstart 语法参考
- PXELinux, PXEGrub, PXEGrub2
- 基于 PXE 的模板将部署到与子网关联的模板胶囊,以确保主机使用正确的内核选项使用安装程序。对于 BIOS 置备,请选择 PXELinux 模板。对于 UEFI 置备,请选择 PXEGrub2。
- 完成
主置备过程完成后,使用 SSH 连接执行的安装后脚本。您只能在不支持 user_data 的虚拟或云环境中使用 Finish 模板进行基于镜像的置备。不要将镜像与 foreman 发现 ISO 混淆,该 ISO 有时被称为 Foreman 发现镜像。此上下文中的镜像是虚拟化环境中的安装镜像,可用于轻松部署。
当完成脚本成功以返回代码
0退出时,Red Hat Satellite 会将代码视为成功,主机会退出构建模式。请注意,有几个带有构建模式的完成脚本使用 调用回 HTTP 调用。这些脚本不用于基于镜像的调配,而是用于操作系统安装后的配置,如 Debian、Ubuntu 和 BSD。红帽不支持配置 Red Hat Enterprise Linux 以外的操作系统。
- user_data
接受自定义数据的供应商后配置脚本,也称为 seed 数据。您可以使用 user_data 模板在云或虚拟环境中置备虚拟机。此模板不要求 Satellite 能够访问主机;云或虚拟化平台负责向镜像提供数据。
确保您要置备的镜像具有安装用于读取数据的软件,并在引导时设置为 start。例如,
cloud-init需要 YAML 输入或ignition,这需要 JSON 输入。- cloud_init
有些环境(如 VMWare)不支持自定义数据,或者有自己的数据格式,限制自定义过程中可以执行的操作。在这种情况下,您可以使用
foreman插件配置 cloud-init 客户端,该插件会尝试通过 HTTP 或 HTTPS 从 Satellite 下载模板。该技术可在任何环境中使用,最好是虚拟化的。确保您满足以下要求以使用
cloud_init模板:- 确保您要置备的镜像具有安装用于读取数据的软件,并在引导时设置为 start。
调配的主机能够从与主机的调配接口 IP 匹配的 IP 地址访问卫星。
请注意,cloud-init 无法在 NAT 后面工作。
- Bootdisk
- 用于无 PXE 引导方法的模板。
- 内核执行(kexec)
用于无 PXE 引导方法的内核执行模板。
注意内核执行是一个技术预览功能。红帽订阅服务等级协议(SLA)不完全支持技术预览功能,其功能可能并不完善,且不适用于生产环境。但是,这些功能可让您早期访问即将推出的产品创新,使客户能够在开发过程中测试并提供反馈。
- 脚本
- 默认不使用任意脚本,但对自定义任务很有用。
- ZTP
- zero Touch Provisioning 模板。
- POAP
- PowerOn Auto Provisioning 模板.
- iPXE
-
使用
iPXE或gPXE环境的模板,而不是 PXELinux。
2.14. 创建置备模板 复制链接链接已复制到粘贴板!
调配模板定义了卫星服务器在主机上安装操作系统的方式。使用这个流程创建新的置备模板。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates,再点 Create Template。
- 在 Name 字段中输入置备模板的名称。
- 根据需要填写其余字段。Help 选项卡提供有关模板语法的信息,并详细介绍了可以在模板中的不同类型的对象上调用的可用功能、变量和方法。
CLI 过程
-
在使用 CLI 创建模板之前,创建一个包含模板的纯文本文件。本例使用
~/my-template文件。 使用
hammer template create命令创建模板,并使用--type 选项指定类型:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.15. 克隆自定义模板 复制链接链接已复制到粘贴板!
调配模板定义了卫星服务器在主机上安装操作系统的方式。使用此流程克隆模板,并将更新添加到克隆。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
- 查找您要使用的模板。
- 单击 Clone 以复制模板。
- 在 Name 字段中输入置备模板的名称。
- 选择 Default 复选框,将模板设置为与新机构或位置自动关联。
- 在 Template 编辑器 字段中,输入置备模板的正文。您还可以使用 Template 文件浏览器上传模板文件。
- 在 Audit Comment 字段中,输入对置备模板的更改摘要,以进行审计。
- 点 Type 选项卡,如果模板是一个代码片段,请选择 Snippet 复选框。代码片段不是单机调配模板,而是可插入到其他调配模板中的调配模板的一部分。
- 从 Type 列表中,选择模板的类型。例如,配置模板。
- 单击 关联 选项卡,并从 Applicable Operating Systems 列表中选择您要与置备模板关联的操作系统名称。
- (可选)点 Add combination,然后从 Host Group 列表中选择一个主机组,以从 Environment 列表中将置备模板与主机组和环境关联。
- 单击 Organizations 和 Locations 选项卡,将任何其他上下文添加到模板中。
- 点 Submit 保存您的置备模板。
2.16. 创建自定义置备片断 复制链接链接已复制到粘贴板!
您可以在主机置备过程前和/或之后执行自定义代码。
先决条件
检查您的自定义模板,以确保它支持要使用的自定义片断。
您可以在 Hosts > Templates > Provisioning Templates 下查看所有置备模板。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates,再点 Create Template。
在 Name 字段中输入自定义置备片断的名称。名称必须以支持包含自定义置备片断的置备模板的名称开始:
-
将自定义 pre附加到置备模板的名称,以便在置备主机前运行代码。 -
将自定义 post附加到自定义模板的名称中,以便在置备主机后运行代码。
-
- 在 Type 选项卡中,选择 Snippet。
- 点 Submit 以创建您的自定义置备片断。
CLI 过程
- 创建包含自定义片断的纯文本文件。
使用
hammer创建模板:hammer template create \ --file "/path/to/My_Snippet" \ --locations "My_Location" \ --name "My_Template_Name_custom_pre" \ --organizations "_My_Organization" \ --type snippet
# hammer template create \ --file "/path/to/My_Snippet" \ --locations "My_Location" \ --name "My_Template_Name_custom_pre" \ --organizations "_My_Organization" \ --type snippetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.17. Red Hat Enterprise Linux 的自定义置备片断示例 复制链接链接已复制到粘贴板!
在置备主机后,您可以使用 Custom Post 片断直接从置备模板内部调用外部 API。
Kickstart default 完成 Red Hat Enterprise Linux 的自定义后 示例
2.18. 将模板与操作系统关联 复制链接链接已复制到粘贴板!
您可以在 Satellite 中将模板与操作系统关联。以下示例将调配模板添加到操作系统条目。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
- 选择自定义模板。
- 在 关联 选项卡上,选择所有适用的操作系统。
- 点 Submit 保存您的更改。
CLI 过程
可选:查看所有模板:
hammer template list
# hammer template listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:查看所有操作系统:
hammer os list
# hammer os listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将模板与操作系统关联:
hammer template add-operatingsystem \ --id My_Template_ID \ --operatingsystem-id My_Operating_System_ID
# hammer template add-operatingsystem \ --id My_Template_ID \ --operatingsystem-id My_Operating_System_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.19. 创建计算配置集 复制链接链接已复制到粘贴板!
您可以使用计算配置集来预定义虚拟机硬件详情,如 CPU、内存和存储。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
Red Hat Satellite 的默认安装包含三个预定义的配置集:
-
1-small -
2-medium -
3-large
您可以将计算配置集应用到所有支持的计算资源:
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles,再点 Create Compute Profile。
- 在 Name 字段中输入配置集的名称。
- 点 Submit。这时将打开一个新窗口,其中包含计算配置文件的名称。
- 在新窗口中,单击每个计算资源的名称,再编辑要为该计算配置文件设置的属性。
CLI 过程
创建新的计算配置文件:
hammer compute-profile create --name "My_Compute_Profile"
# hammer compute-profile create --name "My_Compute_Profile"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 compute 配置集设置属性:
hammer compute-profile values create \ --compute-attributes "flavor=m1.small,cpus=2,memory=4GB,cpu_mode=default \ --compute-resource "My_Compute_Resource" \ --compute-profile "My_Compute_Profile" \ --volume size=40GB
# hammer compute-profile values create \ --compute-attributes "flavor=m1.small,cpus=2,memory=4GB,cpu_mode=default \ --compute-resource "My_Compute_Resource" \ --compute-profile "My_Compute_Profile" \ --volume size=40GBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要更新计算配置集的属性,请指定您要更改的属性。例如,要更改 CPU 和内存大小:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要更改 compute 配置集的名称,请使用
--new-name属性:hammer compute-profile update \ --name "My_Compute_Profile" \ --new-name "My_New_Compute_Profile"
# hammer compute-profile update \ --name "My_Compute_Profile" \ --new-name "My_New_Compute_Profile"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
-
有关使用 Hammer 创建计算配置文件的更多信息,请输入
hammer compute-profile --help。
2.20. 为主机设置默认加密的 root 密码 复制链接链接已复制到粘贴板!
如果您不想为置备的主机设置纯文本默认 root 密码,您可以使用默认加密的密码。
默认的 root 密码可以由主机组继承,并由该组中的主机排序。
如果您更改密码并重新置备了继承密码的组中的主机,则该密码将在主机上被覆盖。
流程
生成加密的密码:
python3 -c 'import crypt,getpass;pw=getpass.getpass(); print(crypt.crypt(pw)) if (pw==getpass.getpass("Confirm: ")) else exit()'$ python3 -c 'import crypt,getpass;pw=getpass.getpass(); print(crypt.crypt(pw)) if (pw==getpass.getpass("Confirm: ")) else exit()'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 复制密码以供以后使用。
- 在 Satellite Web UI 中,进入到 Administer > Settings。
- 在 Settings 页面中,选择 Provisioning 选项卡。
- 在 Name 列中,导航到 Root 密码,再单击 Click to edit。
- 粘贴加密的密码,然后单击保存。
2.21. 使用 noVNC 访问虚拟机 复制链接链接已复制到粘贴板!
您可以使用浏览器访问 Satellite 创建的虚拟机的 VNC 控制台。
Satellite 支持在以下虚拟化平台上使用 noVNC :
- VMware
- libvirt
- Red Hat Virtualization
先决条件
- 您必须有一个由 Satellite 创建的虚拟机。
- 对于现有虚拟机,请确保计算资源设置中的 Display 类型是 VNC。
- 您必须将 Katello root CA 证书导入到您的 Satellite 服务器中。在浏览器中添加安全例外不足以便使用 noVNC。如需更多信息,请参阅为 Red Hat Satellite 用户配置身份验证 中的 安装 Katello root CA 证书。
流程
在 Satellite 服务器上,将防火墙配置为允许端口 5900 到 5930 的 VNC 服务。
firewall-cmd --add-port=5900-5930/tcp firewall-cmd --add-port=5900-5930/tcp --permanent
# firewall-cmd --add-port=5900-5930/tcp # firewall-cmd --add-port=5900-5930/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,再选择计算资源的名称。
- 在 Virtual Machines 选项卡中,选择虚拟机的名称。确保计算机开机,然后选择 Console。
2.22. 删除主机时删除虚拟机 复制链接链接已复制到粘贴板!
默认情况下,当您删除 Satellite 置备的主机时,Satellite 不会删除计算资源上的实际虚拟机。您可以将 Satellite 配置为在删除 Satellite 上的主机条目时删除虚拟机。
如果您没有删除关联的虚拟机,并尝试稍后创建具有相同 FQDN 的新虚拟机,则会失败,因为计算资源中已存在该虚拟机。您仍然可以将现有虚拟机重新注册到 Satellite。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
-
您的 Satellite 帐户具有授予
view_settings和edit_settings权限的角色。
流程
- 在 Satellite Web UI 中,进入到 Administer > Settings > Provisioning。
- 将 host delete 设置上的 Destroy 关联的虚拟机 的值更改为 Yes。
CLI 过程
使用 Hammer 配置 Satellite,以便在主机删除时删除虚拟机:
hammer settings set \ --name destroy_vm_on_host_delete \ --value true \ --location "My_Location" \ --organization "My_Organization"
# hammer settings set \ --name destroy_vm_on_host_delete \ --value true \ --location "My_Location" \ --organization "My_Organization"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 3 章 配置网络 复制链接链接已复制到粘贴板!
每个置备类型都需要一些网络配置。使用本章在您的胶囊上配置网络服务。
新主机必须有权访问 Satellite 服务器或任何胶囊服务器。如果您的主机位于隔离的网络中,且无法直接连接到 Satellite 服务器,您必须从胶囊服务器调配主机。使用胶囊服务器进行调配可节省网络带宽。
配置 Capsules 有两个基本要求:
配置网络服务。这包括:
- 内容交付服务
- 网络服务(DHCP、DNS 和 TFTP)
- Puppet 配置
- 在 Satellite 服务器中定义网络资源数据,以帮助在新主机上配置网络接口。
以下说明有类似的应用程序,可用于配置特定网络的胶囊服务器。要将 Satellite 配置为使用外部 DHCP、DNS 和 TFTP 服务,请参阅在 连接的网络环境中安装 Satellite 服务器中的 配置外部服务。
3.1. 事实和 NIC 过滤 复制链接链接已复制到粘贴板!
事实描述了主机报告的总内存、操作系统版本或架构等方面。您可以在 Monitor > Facts 中找到事实,并通过事实搜索主机或在模板中使用事实。
Satellite 从多个源收集事实:
-
订阅管理器 -
ansible -
puppet
Satellite 是主机和网络接口的清单系统。对于虚拟机监控程序或容器主机,每个主机添加数千个接口,每分钟更新清单都不足。对于报告的每个 NIC,Satellite 会创建一个 NIC 条目,这些条目永远不会从数据库中删除。解析所有事实并比较数据库中的所有记录会导致 Satellite 非常慢且不可用。要优化各种操作的性能,最重要的是实际上导入,您可以使用 Administer > Settings 下的 Facts 选项卡中可用的选项。
3.2. 通过从数据库中删除 NIC 来优化性能 复制链接链接已复制到粘贴板!
过滤和排除使用 Exclude 模式在 Satellite 中存储的事实 和带有匹配标识符选项的 Ignore 接口的连接。默认情况下,这些选项设置为最常见的虚拟机监控程序。如果您以不同的方式命名虚拟接口,您可以更新此过滤器以根据您的要求使用它。
流程
- 在 Satellite Web UI 中,进入到 Administer > Settings 并选择 Facts 选项卡。
-
要过滤掉以特定名称开头的所有接口,如
blu,请将blu*添加到带有匹配标识符选项的 Ignore接口中。 要防止数据库存储与接口相关的事实,如 blu,请将
添加到blu*Satellite 选项中存储的事实的 Exclude 模式。默认情况下,它包含
与带有匹配标识符选项的 Ignore 接口相同的列表。您可以根据您的要求覆盖它。这会完全过滤掉的事实,而不存储它们。要从数据库中删除事实,请输入以下命令:
foreman-rake facts:clean
# foreman-rake facts:cleanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令删除与 Administer > Settings > Facts >
Exclude pattern in Satellite 选项中存储的事实添加的过滤器匹配的所有事实匹配。要从数据库中删除接口,请输入以下命令:
foreman-rake interfaces:clean
# foreman-rake interfaces:cleanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令会删除与 Administer > Settings > Facts > the
Ignore 接口及匹配标识符选项中添加的过滤器匹配的所有接口。
3.3. 网络资源 复制链接链接已复制到粘贴板!
Satellite 包含必须设置并配置以创建主机的网络资源。它包括以下网络资源:
- 域
-
您必须将 Satellite 管理的每个主机分配给域。使用域,Satellite 可以管理 A、AAAA 和 PTR 记录。即使您不希望 Satellite 管理 DNS 服务器,您仍必须创建和关联一个域。域包含在卫星主机的命名约定中,例如,
example.com域中名为test123的主机具有完全限定域名test123。 - subnet
您必须将由 Satellite 管理的每个主机分配给子网。然后,Satellite 可以使用子网管理 IPv4 保留。如果没有保留集成,您仍必须创建并关联至少一个子网。在 Satellite 中管理子网时,您无法为 Satellite 之外的该子网创建 DHCP 记录。在 Satellite 中,您可以使用 IP 地址管理(IPAM)通过以下选项之一管理 IP 地址:
DHCP: DHCP 胶囊通过查找从范围的第一个地址开始的下一个可用 IP 地址来管理 IP 地址的分配,并跳过保留的所有地址。在分配 IP 地址前,胶囊发送 ICMP 和 TCP ping 以检查 IP 地址是否正在使用。请注意,如果主机关闭,或者将防火墙配置为禁用连接的防火墙,则 Satellite 会给出一个假的假设 IP 地址可用。此检查不适用于关闭的主机,因此 DHCP 选项只能用于 Satellite 控制且没有外部创建的主机的子网。
Capsule DHCP 模块会在短时间内保留提供的 IP 地址,以防止在并发访问期间发生冲突,因此 IP 范围内的某些 IP 地址可能会暂时使用。
- 内部数据库 :卫星通过按顺序从 Satellite 数据库中排除所有 IP 地址,从子网范围中找到下一个可用 IP 地址。数据的主要来源是数据库,而不是 DHCP 保留。当多个主机并行创建时,这个 IPAM 并不安全;在这种情况下,使用 DHCP 或 Random DB IPAM。
- Random DB :Satellite 通过随机从 Satellite 数据库中排除所有 IP 地址,从子网范围内查找下一个可用 IP 地址。数据的主要来源是数据库,而不是 DHCP 保留。这个 IPAM 可以安全地与并发主机创建一起使用,因为 IP 地址会随机返回,从而尽量减少冲突的机会。
- EUI-64 :扩展唯一标识符(EUI) 64 位 IPv6 地址生成,根据 RFC2373,通过 48 位 MAC 地址获取。
- 外部 IPAM :通过胶囊功能将 IPAM 传递给外部系统。Satellite 目前不提供任何外部 IPAM 实现,但几个插件正在开发中。
none: 必须手动输入每个主机的 IP 地址。
选项 DHCP、内部 DB 和 Random DB 可能会导致外部创建的记录的 DHCP 冲突。这些子网必须受专用的 Satellite 控制。
有关添加子网的更多信息,请参阅 第 3.9 节 “将子网添加到 Satellite 服务器”。
- DHCP 范围
- 您可以为发现和调配的系统在 Satellite 服务器中定义相同的 DHCP 范围,但对同一子网中的每个服务使用单独的范围。
3.4. Satellite 和 DHCP 选项 复制链接链接已复制到粘贴板!
Satellite 通过 DHCP 胶囊管理 DHCP 保留。Satellite 还设置 next-server 和 filename DHCP 选项。
next-server 选项
next-server 选项提供从其引导的 TFTP 服务器的 IP 地址。默认情况下不设置这个选项,必须为每个 TFTP Capsule 设置。您可以使用 satellite-installer 命令和-- foreman-proxy-tftp-servername 选项在 /etc/foreman-proxy/settings.d/tftp.yml 文件中设置 TFTP 服务器:
satellite-installer --foreman-proxy-tftp-servername 1.2.3.4
# satellite-installer --foreman-proxy-tftp-servername 1.2.3.4
然后,每个 TFTP Capsule 通过 API 报告此设置,Satellite 可以在创建 DHCP 记录时检索配置信息。
当 PXE 加载程序设置为 none 时,Satellite 不会将 next-server 选项填充到 DHCP 记录中。
如果 next-server 选项仍然未定义,Satellite 将调用 Capsule API 来检索由 satellite-installer 运行中的--foreman-proxy-tftp-servername 参数指定的服务器名称。如果 Capsule API 调用没有返回服务器名称,Satellite 将使用胶囊的主机名。
filename 选项
filename 选项包含在调配期间下载和执行的文件的完整路径。为主机或主机组选择的 PXE 加载程序定义要使用的 文件名 选项。当 PXE 加载程序设置为 none 时,Satellite 不会将 filename 选项填充到 DHCP 记录中。根据 PXE loader 选项,文件名 更改如下:
| PXE 加载器选项 | 文件名条目 | 备注 |
|---|---|---|
| PXELinux BIOS |
| |
| PXELinux UEFI |
| |
| iPXE Chain BIOS |
| |
| PXEGrub2 UEFI |
| x64 会根据构架而有所不同 |
| iPXE UEFI HTTP |
|
需要 |
| Grub2 UEFI HTTP |
|
需要 |
3.5. Satellite 中的 DHCP 问题故障排除 复制链接链接已复制到粘贴板!
Satellite 可以在 Satellite 服务器或 Capsule 服务器上管理 ISC DHCP 服务器。Satellite 可以列出、创建和删除 DHCP 保留和租期。但是,在 occasions 时可能会遇到一些问题。
没有同步 DHCP 记录
在 DHCP 编配期间发生错误时,Satellite 数据库中的 DHCP 记录和 DHCP 服务器可能不匹配。要解决这个问题,您必须将 Satellite 数据库中缺少的 DHCP 记录添加到 DHCP 服务器中,然后按照以下步骤从 DHCP 服务器中删除不需要的记录:
流程
要预览将添加到 DHCP 服务器的 DHCP 记录,请输入以下命令:
foreman-rake orchestration:dhcp:add_missing subnet_name=NAME
# foreman-rake orchestration:dhcp:add_missing subnet_name=NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您对上一步中的预览更改满意,请使用
perform=1参数输入上述命令来应用它们:foreman-rake orchestration:dhcp:add_missing subnet_name=NAME perform=1
# foreman-rake orchestration:dhcp:add_missing subnet_name=NAME perform=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在 Satellite 中保留 DHCP 记录并同步 DHCP 服务器,您可以从 DHCP 服务器中删除不需要的 DHCP 记录。请注意,Satellite 假设所有受管 DHCP 服务器都不包含第三方记录,因此此步骤可能会删除这些意外的记录。要预览将从 DHCP 服务器中删除哪些记录,请输入以下命令:
foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME
# foreman-rake orchestration:dhcp:remove_offending subnet_name=NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您对上一步中的预览更改满意,请使用
perform=1参数输入上述命令来应用它们:foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME perform=1
# foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME perform=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
PXE 加载器选项更改
为现有主机更改 PXE loader 选项时,这会导致 DHCP 冲突。唯一的临时解决方案是覆盖 DHCP 条目。
DHCP 文件的权限不正确
操作系统更新可以更新 dhcpd 软件包。这会导致重要目录和文件的权限重置,以便 DHCP Capsule 无法读取所需信息。
更改 DHCP 胶囊条目
Satellite 仅对分配给设置了 DHCP 胶囊集的主机管理 DHCP 记录。如果您创建主机,然后在尝试删除主机时清除或更改 DHCP Capsule,则操作会失败。
如果您在没有设置 DHCP Capsule 的情况下创建主机,然后尝试设置 DHCP Capsule,这会导致 DHCP 冲突。
删除了 dhcpd.leases 文件中的主机条目
对 DHCP 租期的任何更改都会被附加到 dhcpd.leases 文件的末尾。由于条目附加到文件,因此可能同时存在于 dhcpd.leases 文件中两个或更多相同租期的条目。当同一租期有两个或多个条目时,文件中的最后一个条目将具有优先权。租期文件中的组、子组和主机声明会以同样的方式处理。如果删除了租期,则 { deleted; } 会附加到声明中。
3.6. 基于镜像的置备的先决条件 复制链接链接已复制到粘贴板!
启动后配置方法
使用 完成后配置脚本 的镜像需要托管的 DHCP 服务器,例如,您的 Satellite 服务器或 Capsule 服务器。主机必须创建有与 DHCP 胶囊关联的子网,并且主机的 IP 地址必须是 DHCP 范围内的有效 IP 地址。
可以使用外部 DHCP 服务,但必须手动输入 IP 地址。必须在 Satellite 中配置与镜像中配置与配置对应的 SSH 凭据,以便进行启动后配置。
在对从依赖于安装后配置脚本的镜像引导时检查以下项目:
- 主机在 Satellite 服务器中分配了子网。
- 子网在 Satellite 服务器中分配了 DHCP 胶囊。
- 主机具有在 Satellite 服务器中分配的有效 IP 地址。
- 使用 DHCP 获取的 IP 地址与 Satellite 服务器中配置的地址匹配。
- 从镜像创建的虚拟机响应 SSH 请求。
- 从镜像创建的虚拟机通过 SSH 授权用户和密码,与要部署的镜像相关联。
- Satellite 服务器能够通过 SSH 密钥访问虚拟机。虚拟机需要这才能从 Satellite 服务器接收安装后配置脚本。
预引导初始化配置方法
使用 cloud-init 脚本的镜像需要 DHCP 服务器以避免在镜像中包含 IP 地址。首选受管 DHCP 胶囊。镜像必须将 cloud-init 服务配置为在系统引导时启动,并获取要完成配置时使用的脚本或配置数据。
在对从依赖于镜像中包含的初始化脚本的镜像进行故障排除时,检查以下项目:
- 子网中有一个 DHCP 服务器。
-
虚拟机已安装并启用了
cloud-init服务。
有关虚拟机镜像中完成和 cloud-init 脚本的支持级别的信息,请参阅红帽知识库解决方案在红帽客户门户网站中 支持的完整计算资源和 cloud-init 脚本。
3.7. 配置网络服务 复制链接链接已复制到粘贴板!
有些置备方法使用 Capsule 服务器服务。例如,网络可能需要胶囊服务器来充当 DHCP 服务器。网络也可以使用 PXE 引导服务在新主机上安装操作系统。这要求将胶囊服务器配置为使用主要的 PXE 引导服务:DHCP、DNS 和 TFTP。
使用 satellite-installer 命令及选项在 Satellite 服务器上配置这些服务。
要在外部胶囊服务器上配置这些服务,请运行 satellite-installer。
流程
输入
satellite-installer命令来配置所需的网络服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查找您配置的 Capsule 服务器:
hammer capsule list
# hammer capsule listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 刷新 Capsule Server 的功能以查看更改:
hammer capsule refresh-features --name "satellite.example.com"
# hammer capsule refresh-features --name "satellite.example.com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Capsule 服务器上配置的服务:
hammer capsule info --name "satellite.example.com"
# hammer capsule info --name "satellite.example.com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.1. 使用安装程序的多个子网或域 复制链接链接已复制到粘贴板!
satellite-installer 选项只允许单个 DHCP 子网或 DNS 域。定义多个子网的一种方法是使用自定义配置文件。
对于每个额外的子网或域,在 /etc/foreman-installer/custom-hiera.yaml 文件中创建一个条目:
执行 satellite-installer 来执行更改,并验证 /etc/dhcp/dhcpd.conf 是否包含适当的条目。然后,必须在 Satellite 数据库中定义子网。
3.7.2. 网络配置的 DHCP 选项 复制链接链接已复制到粘贴板!
- --foreman-proxy-dhcp
-
启用 DHCP 服务。您可以将这个选项设置为
true或false。 - --foreman-proxy-dhcp-managed
-
启用 Foreman 来管理 DHCP 服务。您可以将这个选项设置为
true或false。 - --foreman-proxy-dhcp-gateway
- DHCP 池网关。把它设置为专用网络上主机的外部网关地址。
- --foreman-proxy-dhcp-interface
-
设置 DHCP 服务的接口,以侦听请求。把它设置为
eth1。 - --foreman-proxy-dhcp-nameservers
-
设置通过 DHCP 向客户端提供的名称服务器的地址。把它设置为
eth1上 Satellite 服务器的地址。 - --foreman-proxy-dhcp-range
- 用于发现和非受管服务的以空格分隔的 DHCP 池范围。
- --foreman-proxy-dhcp-server
- 设置要管理的 DHCP 服务器的地址。
运行 satellite-installer --help 来查看与 DHCP 和其他 Capsule 服务相关的更多选项。
3.7.3. 网络配置的 DNS 选项 复制链接链接已复制到粘贴板!
- --foreman-proxy-dns
-
启用 DNS 功能。您可以将这个选项设置为
true或false。 - --foreman-proxy-dns-provider
- 选择要使用的提供程序。
- --foreman-proxy-dns-managed
-
让安装程序管理 ISC BIND。这只有在使用
nsupdate和nsupdate_gss供应商时才相关。您可以将这个选项设置为true或false。 - --foreman-proxy-dns-forwarders
- 设置 DNS 转发器。仅在由安装程序管理 ISC BIND 时使用。把它设置为您的 DNS 递归器。
- --foreman-proxy-dns-interface
-
将接口设置为侦听 DNS 请求。仅在由安装程序管理 ISC BIND 时使用。把它设置为
eth1。 - --foreman-proxy-dns-reverse
- DNS 反向区名称。仅在由安装程序管理 ISC BIND 时使用。
- --foreman-proxy-dns-server
-
设置 DNS 服务器的地址。仅供
nsupdate、nsupdate_gss和infoblox供应商使用。 - --foreman-proxy-dns-zone
- 设置 DNS 区域名称。仅在由安装程序管理 ISC BIND 时使用。
运行 satellite-installer --help 来查看与 DNS 和其他 Capsule 服务相关的更多选项。
3.7.4. 用于网络配置的 TFTP 选项 复制链接链接已复制到粘贴板!
- --foreman-proxy-tftp
-
启用 TFTP 服务。您可以将这个选项设置为
true或false。 - --foreman-proxy-tftp-managed
-
启用 Foreman 管理 TFTP 服务。您可以将这个选项设置为
true或false。 - --foreman-proxy-tftp-servername
- 设置要使用的 TFTP 服务器。确保您使用胶囊的 IP 地址。
运行 satellite-installer --help 来查看与 TFTP 和其他 Capsule 服务相关的更多选项。
3.7.5. 通过 NAT 使用 TFTP 服务 复制链接链接已复制到粘贴板!
您可以通过 NAT 使用 Satellite TFTP 服务。要做到这一点,在所有 NAT 路由器或防火墙上,您必须在 UDP 端口 69 上启用 TFTP 服务并启用 TFTP 状态跟踪功能。如需更多信息,请参阅您的 NAT 设备文档。
在 Red Hat Enterprise Linux 7 中使用 NAT:
在防火墙配置中允许 TFTP 服务:
firewall-cmd --add-service=tftp
# firewall-cmd --add-service=tftpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使更改持久:
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Red Hat Enterprise Linux 6 中使用 NAT:
配置防火墙以允许在端口 69 上允许 TFTP 服务 UDP:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 加载
ip_conntrack_tftp内核 TFTP 状态模块。在/etc/sysconfig/iptables-config文件中,找到IPTABLES_MODULES并添加ip_conntrack_tftp,如下所示:IPTABLES_MODULES="ip_conntrack_tftp"
IPTABLES_MODULES="ip_conntrack_tftp"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8. 将域添加到 Satellite 服务器 复制链接链接已复制到粘贴板!
Satellite 服务器为网络上的每个主机定义域名。Satellite 服务器必须具有负责域名分配的域和胶囊服务器的信息。
检查现有域
Satellite 服务器可能已经在 Satellite 服务器安装过程中创建相关域。将上下文切换到 Any Organization 和 Any Location,然后检查域列表以查看其是否存在。
DNS 服务器配置注意事项
在创建 DNS 记录过程中,Satellite 执行冲突 DNS 查找,以验证主机名不在活跃使用中。此检查针对以下 DNS 服务器之一运行:
- 如果 Administer > Settings > Query local nameserver 被设置为 true,则系统范围的解析器。
- 在与主机关联的子网中定义的名称服务器。
- 从 SOA 从与主机关联的域名查询的权威 NS-Records。
如果您在 DNS 冲突解析过程中遇到超时,请检查以下设置:
- 子网名称服务器必须可从 Satellite 服务器访问。
- 域名必须具有 Satellite 服务器中可用的授权起始(SOA)记录。
-
/etc/resolv.conf文件中的系统解析器必须具有有效的且正常工作的配置。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Domains,再点 Create Domain。
- 在 DNS Domain 字段中,输入完整的 DNS 域名。
- 在 Fullname 字段中,输入域的纯文本名称。
- 单击 Parameters 选项卡,并配置任何域级别参数,以应用到附加到这个域的主机。例如,用户定义了要在模板中使用的布尔值或字符串参数。
- 单击 Add Parameter,并填写 Name 和 Value 字段。
- 单击 Locations 选项卡,并添加域所在的位置。
- 单击 Organizations 选项卡,并添加域所属的组织。
- 点 Submit 以保存更改。
CLI 过程
使用
hammer domain create命令创建域:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9. 将子网添加到 Satellite 服务器 复制链接链接已复制到粘贴板!
您必须将每个子网的信息添加到 Satellite 服务器,因为 Satellite 为新主机配置接口。要配置接口,Satellite 服务器必须具有连接这些接口的网络的所有信息。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets,然后在 Subnets 窗口中点 Create Subnet。
- 在 Name 字段中输入子网的名称。
- 在 Description 字段中,输入子网的描述。
- 在 Network address 字段中,输入子网的网络地址。
- 在 Network prefix 字段中,输入子网的网络前缀。
- 在 Network mask 字段中,输入子网的网络掩码。
- 在 Gateway address 字段中,输入子网的外部网关。
- 在 Primary DNS server 字段中,为子网输入主 DNS。
- 在次 DNS 服务器 中,为子网输入辅助 DNS。
- 从 IPAM 列表中,选择您要用于 IP 地址管理(IPAM)的方法。有关 IPAM 的更多信息,请参阅 第 3.3 节 “网络资源”。
- 输入您选择的 IPAM 方法的信息。单击 Remote Execution 选项卡,再选择控制远程执行的 Capsule。
- 单击 Domains 选项卡,再选择应用到此子网的域。
- 单击 Capsules 选项卡,再选择应用到子网中每个服务的胶囊,包括 DHCP、TFTP 和反向 DNS 服务。
- 单击 Parameters 选项卡,并配置任何子网级别参数,以应用到附加到此子网的主机。例如,用户定义了要在模板中使用的布尔值或字符串参数。
- 单击 Locations 选项卡,再选择使用此胶囊的位置。
- 单击 Organizations 选项卡,再选择使用此胶囊的组织。
- 单击 Submit 以保存子网信息。
CLI 过程
使用以下命令创建子网:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 4 章 使用 PXE 调配主机 复制链接链接已复制到粘贴板!
您可以使用以下方法之一通过 Satellite 置备裸机实例:
- 无人值守调配
- 新主机通过 MAC 地址标识。Satellite 服务器使用 PXE 引导过程调配主机。
- 通过发现进行无人值守调配
- 新主机使用 PXE 引导来加载卫星发现服务。此服务识别主机的硬件信息,并将其列为要调配的可用主机。如需更多信息,请参阅 第 6 章 发现网络上的主机。
- 无 PXE 置备
- 使用 Satellite 服务器生成的引导磁盘镜像置备新主机。
BIOS 和 UEFI 支持
使用 Red Hat Satellite,您可以执行 BIOS 和基于 UEFI 的 PXE 置备。BIOS 和 UEFI 接口作为计算机的操作系统和固件之间的解释器工作,初始化硬件组件并在引导时启动操作系统。
PXE 加载程序
在 Satellite 调配中,PXE 加载器选项定义要在调配期间使用的 DHCP 文件名 选项。
-
对于 BIOS 系统,使用 PXELinux BIOS 选项启用调配的主机,以通过 TFTP 下载
pxelinux.0文件。 -
对于 UEFI 系统,使用 PXEGrub2 UEFI 选项使 TFTP 客户端能够下载
grub2/grubx64.efi文件,或使用 PXEGrub2 UEFI HTTP 选项启用 UEFI HTTP 客户端,以使用 HTTP 引导功能从 Capsule 下载grubx64.efi。
有关支持的工作流的更多信息,请参阅支持的架构和置备场景。
绑定的网络接口
您可以配置一个在安装过程中 Satellite 使用的绑定接口,例如下载安装内容。置备完成后,置备的系统也可以使用绑定接口。
Satellite 无法 PXE 引导需要在网络交换机和主机上配置的绑定接口。
主机加载安装程序或操作系统内核的内核后,绑定可以正常工作。因此,当绑定接口需要在交换机和主机上配置时,可以使用引导磁盘来临时解决 PXE 引导限制。
4.1. 裸机置备的先决条件 复制链接链接已复制到粘贴板!
裸机置备的要求包括:
管理裸机主机网络的胶囊服务器。为了进行无人值守的调配和基于发现的调配,Satellite 服务器需要 PXE 服务器设置。
有关网络要求的详情,请参考 第 3 章 配置网络。
有关发现服务 第 6 章 发现网络上的主机 的更多信息。
- 裸机主机或空白虚拟机。
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
有关无人值守和无 PXE 调配的安全令牌的信息,请参考 第 4.2 节 “配置安全令牌有效期持续时间”。
4.2. 配置安全令牌有效期持续时间 复制链接链接已复制到粘贴板!
在执行任何类型的调配时,Satellite 会自动生成唯一的令牌,并将此令牌添加到 PXE 配置文件(PXELinux、Grub2)的 kickstart URL 中。默认情况下,令牌有效期为 360 分钟。当您调配主机时,请确保在此时间段内重新引导主机。如果令牌过期,它不再有效,您会收到 404 错误,操作系统安装程序下载会失败。
流程
- 在 Satellite Web UI 中,进入到 Administer > Settings,然后点 Provisioning 选项卡。
-
找到 Token duration 选项,点编辑图标并编辑持续时间,或者输入
0来禁用令牌生成。如果禁用令牌生成,攻击者可以欺骗客户端 IP 地址并从 Satellite 服务器下载 kickstart,包括加密的 root 密码。
4.3. 使用无人值守调配创建主机 复制链接链接已复制到粘贴板!
无人值守调配是最简单的主机调配形式。您可以在 Satellite Server 上输入主机详情并引导您的主机。Satellite 服务器自动管理 PXE 配置,组织网络服务,并为主机提供操作系统和配置。
这种调配主机在过程中使用最小交互。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 在 MAC address 字段中,输入主机的置备接口的 MAC 地址。这可确保在 PXE 引导过程中识别主机。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并验证所有字段都包含值。确认操作系统的每个方面。
可选:点 Provisioning 模板中的 Resolve 来检查新主机是否可以识别要使用的正确置备模板。
有关关联自定义模板的更多信息,请参阅 第 2.12 节 “自定义模板”。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 单击 Submit 以保存主机详情。
有关网络接口的更多信息,请参阅管理主机中的 添加网络接口。
这会创建主机条目和相关置备设置。这还包括创建用于 PXE 引导裸机主机所需的目录和文件。如果您启动物理主机并将其引导模式设置为 PXE,主机会检测 Satellite 服务器集成胶囊的 DHCP 服务,接收 Kickstart 树的 HTTP 端点并安装操作系统。
安装完成后,主机也使用激活码注册到 Satellite 服务器,并从 Red Hat Satellite Client 6 存储库安装必要的配置和管理工具。
CLI 过程
使用
hammer host create命令创建主机:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer 主机 interface update命令设置网络接口选项:hammer host interface update \ --host "_My_Host_Name_" \ --managed true \ --primary true \ --provision true
# hammer host interface update \ --host "_My_Host_Name_" \ --managed true \ --primary true \ --provision trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. 使用无 PXE 调配创建主机 复制链接链接已复制到粘贴板!
有些硬件不提供 PXE 引导接口。在 Satellite 中,您可以在没有 PXE 引导的情况下置备主机。这也被称为无 PXE 调配,涉及生成主机可以使用的引导 ISO。使用这个 ISO,主机可以连接到 Satellite 服务器,引导安装介质并安装操作系统。
Satellite 还提供无 PXE 的发现服务,在没有基于 PXE 的服务的情况下运行,如 DHCP 和 TFTP。如需更多信息,请参阅 第 6.4 节 “在无 PXE 模式下发现”。
引导 ISO 类型
有以下类型的引导 ISO:
- 完整主机镜像
- 包含特定主机的内核和初始 RAM 磁盘镜像的引导 ISO。如果主机无法正确链加载,此镜像很有用。自定义模板仍然从 Satellite 服务器下载。
- 子网镜像
- 与特定主机无关的引导 ISO。ISO 将主机的 MAC 地址发送到胶囊服务器,该服务器与主机条目匹配。该镜像不会存储 IP 地址详情,并需要访问网络上的 DHCP 服务器来引导。对于同一子网上具有 provisioning NIC 的所有主机,此镜像是通用的。镜像基于 iPXE 引导固件,只支持有限数量的网卡。
完整主机映像 基于 SYSLINUX 和 Grub,适用于大多数网卡。使用 子网镜像 时,请参阅 ipxe.org 支持的硬件,以了解预期使用基于 iPXE 的引导磁盘所需的网卡驱动程序列表。
完整主机镜像包含 调配令牌,因此生成的镜像具有有限的生命周期。有关配置安全令牌的更多信息,请参阅 第 4.2 节 “配置安全令牌有效期持续时间”。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 在 MAC address 字段中,输入主机的置备接口的 MAC 地址。这可确保在 PXE 引导过程中识别主机。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并验证所有字段都包含值。确认操作系统的每个方面。
单击 Provisioning Templates 中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
有关关联自定义模板的更多信息,请参阅 第 2.12 节 “自定义模板”。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 单击 Submit 以保存主机详情。这将创建一个主机条目,并且显示主机详细信息页面。
从 Satellite 服务器下载引导磁盘。
- 对于 Full host image,在主机详情页面中,单击垂直 ellipsis,再选择 Full host 'My_Host_Name' image。
- 对于 Subnet image,导航到 Infrastructure > Subnets,点所需子网的 Actions 列中的下拉菜单,然后选择 Subnet generic image。
-
如果需要,使用
dd实用程序或livecd-tools将 ISO 写入 USB 存储设备。 当您启动主机并从 ISO 或 USB 存储设备引导时,主机连接到 Satellite 服务器并开始从 Kickstart 树安装操作系统。
安装完成后,主机也使用激活码注册到 Satellite 服务器,并从 Red Hat Satellite Client 6 存储库安装必要的配置和管理工具。
CLI 过程
使用
hammer host create命令创建主机。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确定使用
hammer 主机 interface update命令设置您的网络接口选项。hammer host interface update \ --host "My_Host_Name" \ --managed true \ --primary true \ --provision true
# hammer host interface update \ --host "My_Host_Name" \ --managed true \ --primary true \ --provision trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer bootdisk命令从 Satellite 服务器下载引导磁盘:对于 Full host image:
hammer bootdisk host \ --full true \ --host My_Host_Name
# hammer bootdisk host \ --full true \ --host My_Host_NameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 子网镜像 :
hammer bootdisk subnet --subnet My_Subnet_Name
# hammer bootdisk subnet --subnet My_Subnet_NameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
这会为您的主机创建一个引导 ISO。
-
如果需要,使用
dd实用程序或livecd-tools将 ISO 写入 USB 存储设备。 当您启动物理主机并从 ISO 或 USB 存储设备引导时,主机连接到 Satellite 服务器并开始从 Kickstart 树安装操作系统。
安装完成后,主机也使用激活码注册到 Satellite 服务器,并从 Red Hat Satellite Client 6 存储库安装必要的配置和管理工具。
4.5. 使用 UEFI HTTP 引导置备创建主机 复制链接链接已复制到粘贴板!
您可以使用 UEFI HTTP 引导从 Satellite 置备主机。这是您可以在 IPv6 网络中置备主机的唯一方法。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
- 确保您满足 HTTP 引导的要求。如需更多信息,请参阅 概述、概念和 部署注意事项 中的 HTTP 引导要求。
流程
在用于置备的 Capsule 上,将
grub2-efi软件包更新至最新版本:satellite-maintain packages update grub2-efi
# satellite-maintain packages update grub2-efiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
foreman-proxy-http、foreman-proxy-httpboot和foreman-proxy-tftp功能。satellite-installer \ --foreman-proxy-http true \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp true
# satellite-installer \ --foreman-proxy-http true \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 确保胶囊具有 TFTP 和 HTTPBoot 功能可识别。在 Satellite Web UI 中,进入到 Infrastructure > Capsules 并点 Capsule 来查看可识别的功能列表。如果缺少任何功能,请单击 Refresh Features。
- 确保 Capsule 与 provisioning 子网关联。在 Satellite Web UI 中,进入到 Infrastructure > Subnets > Edit Subnet > Capsules,并为 TFTP 和 HTTPBoot 选项选择 Capsule。
- 单击确定以 保存。
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 在 MAC address 字段中,输入主机的置备接口的 MAC 地址。这可确保在 PXE 引导过程中识别主机。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并验证所有字段都包含值。确认操作系统的每个方面。
- 从 PXE Loader 列表中,选择 Grub2 UEFI HTTP。
可选:点 Provisioning 模板中的 Resolve 来检查新主机是否可以识别要使用的正确置备模板。
有关关联自定义模板的更多信息,请参阅 第 2.14 节 “创建置备模板”。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 单击 Submit 以保存主机详情。
有关网络接口的更多信息,请参阅管理主机中的 添加网络接口。
- 将主机设置为在 UEFI 模式中从网络引导。
- 启动主机。
- 从引导菜单中,选择 Kickstart default PXEGrub2。
这会创建主机条目和相关置备设置。这还包括为 UEFI 引导裸机主机创建必要的目录和文件。当您启动物理主机并将其引导模式设置为 UEFI HTTP 时,主机会检测到定义的 DHCP 服务,使用 Kickstart 树接收 Capsule 的 HTTP 端点并安装操作系统。
安装完成后,主机也使用激活码注册到 Satellite 服务器,并从 Red Hat Satellite Client 6 存储库安装必要的配置和管理工具。
CLI 过程
在用于置备的 Capsule 上,将
grub2-efi软件包更新至最新版本:satellite-maintain packages update grub2-efi
# satellite-maintain packages update grub2-efiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
foreman-proxy-http,foreman-proxy-httpboot, 和foreman-proxy-tftp true功能:satellite-installer \ --foreman-proxy-http true \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp true
# satellite-installer \ --foreman-proxy-http true \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer host create命令创建主机。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer 主机 interface update命令设置网络接口选项:hammer host interface update \ --host "My_Host_Name" \ --managed true \ --primary true \ --provision true
# hammer host interface update \ --host "My_Host_Name" \ --managed true \ --primary true \ --provision trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 将主机设置为在 UEFI 模式中从网络引导。
- 启动主机。
- 从引导菜单中,选择 Kickstart default PXEGrub2。
这会创建主机条目和相关置备设置。这还包括为 UEFI 引导裸机主机创建必要的目录和文件。当您启动物理主机并将其引导模式设置为 UEFI HTTP 时,主机会检测到定义的 DHCP 服务,使用 Kickstart 树接收 Capsule 的 HTTP 端点并安装操作系统。
安装完成后,主机也使用激活码注册到 Satellite 服务器,并从 Red Hat Satellite Client 6 存储库安装必要的配置和管理工具。
4.6. 在置备过程中部署 SSH 密钥 复制链接链接已复制到粘贴板!
使用这个流程在置备过程中部署添加到用户的 SSH 密钥。有关向用户添加 SSH 密钥的详情,请参考 管理 Red Hat Satellite 中的管理用户 SSH 密钥。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
- 创建自定义模板,或克隆并编辑现有的模板。更多信息请参阅 第 2.14 节 “创建置备模板”。
- 在模板中,点 Template 选项卡。
在 Template 编辑器 字段中,将
create_users片断添加到%post部分:<%= snippet('create_users') %><%= snippet('create_users') %>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选中 默认 复选框。
- 单击 关联 选项卡。
- 从 Application Operating Systems 列表中,选择一个操作系统。
- 单击 Submit 以保存该调配模板。
创建与置备模板关联的主机,或使用与修改模板关联的操作系统重建主机。如需更多信息,请参阅管理主机中的 创建 主机 。
如果在置备过程中执行
create_users片断时,用户拥有的 SSH 密钥会自动添加。您可以将 拥有的 设置为单个用户或用户组。如果将 Owned by 设置为用户组,则用户组中所有用户的 SSH 密钥会自动添加。
第 5 章 使用 iPXE 减少置备时间 复制链接链接已复制到粘贴板!
iPXE 是一个开源网络引导固件。它提供带有额外功能的完整 PXE 实施,如从 HTTP 服务器引导。有关 iPXE 的更多信息,请参阅 iPXE 网站。
如果以下限制阻止您使用 PXE,您可以使用 iPXE:
- 具有非受管 DHCP 服务器的网络。
- 由于防火墙限制而无法访问的 PXE 服务。
- 基于 TFTP UDP 的协议不可靠,例如,一个低带宽网络。
5.1. 使用 iPXE 的先决条件 复制链接链接已复制到粘贴板!
在以下情况下,您可以使用 iPXE 引导虚拟机:
- 您的虚拟机在使用 iPXE 作为主固件的虚拟机监控程序上运行。
- 您的虚拟机处于 BIOS 模式。在这种情况下,您可以将 PXELinux 配置为串联引导 iPXE 并使用 HTTP 协议引导。
对于使用 HTTP 以 UEFI 模式引导虚拟机,您可以使用 第 4.5 节 “使用 UEFI HTTP 引导置备创建主机” 替代。
支持性
红帽官方在 Red Hat Satellite 中不支持 iPXE。如需更多信息,请参阅 红帽知识库 中的 Satellite 6 支持的架构和 kickstart 场景。
主机要求
- 置备接口的 MAC 地址与主机配置匹配。
- 主机的置备接口具有有效的 DHCP 保留。
- NIC 能够 PXE 引导。如需更多信息,请参阅 ipxe.org 上支持的硬件,以了解预期使用基于 iPXE 的引导磁盘的硬件驱动程序列表。
- NIC 与 iPXE 兼容。
5.2. 配置 iPXE 环境 复制链接链接已复制到粘贴板!
在您要用于 iPXE 调配的所有 Capsule 上配置 iPXE 环境。
在 Red Hat Enterprise Linux 中,不支持 iPXE 的与安全相关的功能,并且在没有安全功能的情况下构建 iPXE 二进制文件。因此,您只能使用 HTTP,但不能使用 HTTPS。如需更多信息,请参阅 iPXE 中的 Red Hat Enterprise Linux HTTPS 支持。
先决条件
如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了胶囊服务器。
重要必须将您的胶囊服务器添加到 Satellite 服务器上的可信代理列表中!
如需更多信息,请参阅 安装 Capsule 服务器 中的 为主机注册配置 Capsule 和置备。
流程
在 Capsule 中启用 TFTP 和 HTTPboot 服务:
satellite-installer \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp true
# satellite-installer \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 上安装
ipxe-bootimgs软件包:satellite-maintain packages install ipxe-bootimgs
# satellite-maintain packages install ipxe-bootimgsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 iPXE 固件复制到 TFTP 目录。
使用 Linux 内核标头复制 iPXE 固件:
cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/
# cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制 UNDI iPXE 固件:
cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
# cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
更正 SELinux 文件上下文:
restorecon -RvF /var/lib/tftpboot/
# restorecon -RvF /var/lib/tftpboot/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置 HTTP URL。
如果要使用 Satellite 服务器引导,请在 Satellite 服务器上运行以下命令:
satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://satellite.example.com/unattended/iPXE?bootstrap=1"
# satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://satellite.example.com/unattended/iPXE?bootstrap=1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要使用 Capsule 服务器引导,请在 Capsule 服务器上运行以下命令:
satellite-installer --foreman-proxy-dhcp-ipxe-bootstrap true
# satellite-installer --foreman-proxy-dhcp-ipxe-bootstrap trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. 引导虚拟机 复制链接链接已复制到粘贴板!
有些虚拟化虚拟机监控程序使用 iPXE 作为 PXE 启动的主要固件。如果使用这样的虚拟机监控程序,您可以在没有 TFTP 和 PXELinux 的情况下引导虚拟机。
引导虚拟机有以下工作流:
- 虚拟机启动。
- iPXE 使用 DHCP 检索网络凭据,包括 HTTP URL。
- iPXE 从 Capsule 加载 iPXE bootstrap 模板。
- iPXE 使用 MAC 作为 Capsule 中的 URL 参数来加载 iPXE 模板。
- iPXE 加载安装程序的内核和初始 RAM 磁盘。
先决条件
您的虚拟机监控程序必须支持 iPXE。以下虚拟化虚拟机监控程序支持 iPXE:
- libvirt
- Red Hat Virtualization (已弃用)
- 您已配置了 iPXE 环境。如需更多信息,请参阅 第 5.2 节 “配置 iPXE 环境”。
您可以使用 Satellite 中提供的原始模板,如下所述。如果您需要修改原始模板,克隆模板,编辑克隆,并关联克隆而不是原始模板。如需更多信息,请参阅 第 2.15 节 “克隆自定义模板”。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
-
搜索
Kickstart 默认 iPXE模板。 - 点模板的名称。
- 单击 关联 选项卡,再选择主机使用的操作系统。
- 单击 Locations 选项卡,再添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 点 Submit 以保存更改。
- 在 Satellite Web UI 中,进入到 Hosts > Operating systems 并选择主机的操作系统。
- 点 Templates 选项卡。
-
从 iPXE 模板列表中,选择
Kickstart default iPXE模板。 - 点 Submit 以保存更改。
- 在 Satellite Web UI 中,进入到 Hosts > All Hosts。
- 在 Hosts 页面中,选择要使用的主机。
- 选择 Operating System 选项卡。
-
将 PXE Loader 设置为
iPXE 嵌入式。 - 选择 Templates 选项卡。
- 在 Provisioning Templates 中,单击 Resolve 并验证 iPXE 模板 是否解析为所需的模板。
- 单击 Submit 以保存主机设置。
5.4. 从 PXELinux 启动 iPXE 复制链接链接已复制到粘贴板!
您可以将 iPXE 设置为将内置驱动程序用于网络通信(ipxe.lkrn)或 Universal Network Device Interface (UNDI) (undionly-ipxe.0)。您可以选择根据网络硬件功能和 iPXE 驱动程序可用性来加载这两个文件。
UNDI 是实施 TFTP 客户端的最低 UDP/IP 堆栈。但是,UNDI 不支持 HTTP 等其他协议。要将 HTTP 与 iPXE 搭配使用,请使用 iPXE 构建和内置驱动程序(ipxe.lkrn)。
链引导 iPXE 具有以下工作流:
- 主机电源。
- PXE 驱动程序使用 DHCP 检索网络凭据。
-
PXE 驱动程序使用 TFTP 检索 PXELinux 固件
pxelinux.0。 - pxelinux 在 TFTP 服务器上搜索配置文件。
-
pxelinux chainloads iPXE
ipxe.lkrn或undionly-ipxe.0。 - iPXE 再次使用 DHCP 检索网络凭据,包括 HTTP URL。
- iPXE 链从模板胶囊加载 iPXE 模板。
- iPXE 加载安装程序的内核和初始 RAM 磁盘。
先决条件
- 您已配置了 iPXE 环境。如需更多信息,请参阅 第 5.2 节 “配置 iPXE 环境”。
您可以使用 Satellite 中提供的原始模板,如下所述。如果您需要修改原始模板,克隆模板,编辑克隆,并关联克隆而不是原始模板。如需更多信息,请参阅 第 2.15 节 “克隆自定义模板”。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
搜索所需的 PXELinux 模板:
-
pxelinux 链 iPXE使用ipxe.lkrn -
pxelinux chain iPXE UNDI使用undionly-ipxe.0
-
- 点您要使用的模板的名称。
- 单击 关联 选项卡,再选择主机使用的操作系统。
- 单击 Locations 选项卡,再添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 点 Submit 以保存更改。
-
在 Provisioning Templates 页面上,搜索
Kickstart default iPXE模板。 - 点模板的名称。
- 单击 关联 选项卡,并将模板与主机使用的操作系统关联。
- 单击 Locations 选项卡,再添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 点 Submit 以保存更改。
- 在 Satellite Web UI 中,进入到 Hosts > Operating systems 并选择主机的操作系统。
- 点 Templates 选项卡。
- 从 PXELinux 模板 列表中选择您要使用的模板。
-
从 iPXE 模板列表中,选择
Kickstart default iPXE模板。 - 点 Submit 以保存更改。
- 在 Satellite Web UI 中,进入到 Configure > Host Groups,然后选择您要配置的主机组。
- 选择 Operating System 选项卡。
- 选择 架构和操作系统 。
设置 PXE Loader :
-
从 PXELinux 中选择
PXELinux BIOSto chainboot iPXE (ipxe.lkrn)。 -
选择
iPXE Chain BIOS来直接加载undionly-ipxe.0。
-
从 PXELinux 中选择
第 6 章 发现网络上的主机 复制链接链接已复制到粘贴板!
Red Hat Satellite 可以检测不在您的 Satellite 清单中的主机。这些主机引导执行硬件检测的发现镜像,并将此信息转发回卫星服务器。此方法在 Satellite 服务器中创建可用的主机列表,而无需输入每个主机的 MAC 地址。
6.1. 使用发现的先决条件 复制链接链接已复制到粘贴板!
确保计划用于 Discovery 的所有子网的 DHCP 范围不会与为受管 DHCP 服务配置的 DHCP 租期池重叠。DHCP 范围在 Satellite Web UI 中设置,而租期池范围则使用
satellite-installer命令设置。例如,在 10.1.0.0/16 网络范围内,您可以分配以下 IP 地址块:
- 10.1.0.0 到 10.1.127.255 用于租期。
- 10.1.128.0 到 10.1.255.254 用于保留。
- 确保被发现的主机或虚拟机至少有 1200 MB 内存。内存不足可能会导致各种随机内核 panic 错误,因为 Discovery 镜像会在内存中提取。
6.2. 安装 Discovery 服务 复制链接链接已复制到粘贴板!
在 Satellite 服务器上默认启用 Discovery 服务。另外,您可以在提供 TFTP 服务的任何 Capsule 服务器上启用发现服务。
Discovery 服务需要发现镜像,该镜像由 Red Hat Satellite 提供。发现镜像使用主机上引导的最小操作系统获取初始硬件信息,并使用 Satellite 检查。
Satellite 提供的 Foreman 发现映像是基于 Red Hat Enterprise Linux 8 的。
流程
在 Satellite 服务器上安装
foreman-discovery-image:satellite-maintain packages install foreman-discovery-image
# satellite-maintain packages install foreman-discovery-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow foreman-discovery-image软件包会将发现 ISO 安装到/usr/share/foreman-discovery-image/目录中。软件包还会将 PXE 引导镜像提取到/var/lib/tftpboot/boot/fdi-image目录中。如果要使用 Capsule 服务器,请在 Capsule 服务器上安装 Discovery 插件:
satellite-installer \ --enable-foreman-proxy-plugin-discovery
# satellite-installer \ --enable-foreman-proxy-plugin-discoveryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要使用 Capsule 服务器,请在 Capsule 服务器上安装
foreman-discovery-image:satellite-maintain packages install foreman-discovery-image
# satellite-maintain packages install foreman-discovery-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 软件包还会将 PXE 引导镜像提取到
/var/lib/tftpboot/boot/fdi-image目录中。使用可发现的主机为子网配置发现胶囊:
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets。
- 选择一个子网。
- 在 Capsules 选项卡中,选择要使用的发现胶囊。
对您要使用的每个子网执行此操作。
6.3. 在 PXE 模式中发现 复制链接链接已复制到粘贴板!
Satellite 提供基于 PXE 的发现服务,它使用 DHCP 和 TFTP 服务。您可以通过从 Satellite 服务器或 Capsule 服务器引导到 Discovery 内核和初始 RAM 磁盘镜像来发现未知节点。当调度发现的节点进行安装时,它会重启并继续配置的基于 PXE 的主机置备。
图 6.1. 在 PXE 模式中发现工作流
6.3.1. 将 Discovery 设置为默认 PXE 引导选项 复制链接链接已复制到粘贴板!
将 Discovery 服务设置为为当前 Satellite 清单中不存在的主机引导的默认服务。
当您以 PXE 模式启动未知主机时,Satellite 服务器或 Capsule 服务器提供了一个带有默认引导选项的引导菜单。引导菜单有两个基本选项: local 和 discovery。全局 PXE 模板的默认设置是选择 local 从本地硬盘驱动器引导主机。更改设置,以选择从 Discovery 镜像引导的 发现。
先决条件
-
您的 Satellite 帐户具有
view_settings、edit_settings和view_provisioning_templates权限。
流程
- 在 Satellite Web UI 中,进入到 Administer > Settings。
-
在 Provisioning 选项卡上,在 Default PXE global template entry 字段中输入
discovery。 - 导航到 Hosts > Templates > Provisioning Templates。
单击 Build PXE Default。
引导菜单被构建为以下文件:
-
/var/lib/tftpboot/pxelinux.cfg/default -
/var/lib/tftpboot/grub2/grub.cfg
Satellite 将默认引导菜单传播到所有 TFTP Capsules。
-
6.3.2. 在 PXE 模式中执行发现 复制链接链接已复制到粘贴板!
在 PXE 模式中发现使用 Discovery PXE 引导镜像,并无人值守运行。
先决条件
- 已安装 Discovery 服务和镜像。如需更多信息,请参阅 第 6.2 节 “安装 Discovery 服务”。
- 您已将 Discovery 设置为默认引导选项。如需更多信息,请参阅 第 6.3.1 节 “将 Discovery 设置为默认 PXE 引导选项”。
流程
- 打开或重启主机。几分钟后,发现镜像完成引导,主机会显示状态屏幕。
验证
- Satellite Web UI 显示有关新发现的主机的通知。
后续步骤
- 在 Satellite Web UI 中,进入到 Hosts > Discovered Hosts 并查看新发现的主机。有关置备发现的主机的更多信息,请参阅 第 6.6 节 “从发现的主机创建主机”。
6.3.3. 自定义 Discovery PXE 引导 复制链接链接已复制到粘贴板!
Satellite 从以下全局置备模板构建 PXE 引导菜单:
-
pxelinux 全局默认设置,用于 BIOS 调配。 -
UEFI 置备的
PXEGrub。全局默认值和 PXEGrub2 全局默认值
PXE 引导菜单在启用了 TFTP 的 Satellite 服务器和 Capsules 上提供。
Discovery 菜单项将 Linux 内核用于操作系统,并传递内核参数来配置发现服务。您可以通过更改以下代码片段来自定义传递的内核参数:
pxelinux_discovery:此片断包含在PXELinux 全局默认模板中。此片段呈现 Discovery 引导菜单选项。
KERNEL和APPEND选项引导 Discovery 内核和初始 RAM 磁盘。APPEND选项包含内核参数。-
pxegrub_discovery:此代码片段包含在PXEGrub 全局默认模板中。但是,不会为 GRUB 1.x 实施 发现。 pxegrub2_discovery:此代码片段包含在PXEGrub2 全局默认模板中。此片段呈现 Discovery GRUB2 菜单条目。
common变量包含内核参数。
有关内核参数的详情请参考 第 6.9 节 “用于发现自定义的内核参数”。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
- 克隆并编辑您要自定义的代码片段。如需更多信息,请参阅 第 2.15 节 “克隆自定义模板”。
- 克隆并编辑包含原始代码片段的模板。包括您的自定义片断而不是原始片断。如需更多信息,请参阅 第 2.15 节 “克隆自定义模板”。
- 导航到 Administer > Settings。
- 点 Provisioning 选项卡。
- 在适当的 Global default PXE\ template* 设置中,选择您的自定义模板。
- 导航到 Hosts > Templates > Provisioning Templates。
- 单击 Build PXE Default。这会刷新 Satellite 服务器和任何 TFTP 胶囊上的默认 PXE 引导菜单。
6.3.4. 从多个胶囊服务器发现主机 复制链接链接已复制到粘贴板!
Satellite 将相同的模板部署到所有 TFTP 胶囊,且没有可用于呈现胶囊主机名的变量或宏。硬编码的 proxy.url 无法用于两个或多个 TFTP Capsules。
作为临时解决方案,每次单击 Build PXE Defaults 时,请使用 SSH 编辑所有胶囊服务器上的 TFTP 目录中的配置文件,或者为适当的子网使用通用 DNS 别名。要使用 Capsule 服务器代理发现步骤,请编辑 /var/lib/tftpboot/pxelinux.cfg/default 或 /var/lib/tftpboot/grub2/grub.cfg,并将 URL 更改为您要使用的 Capsule 服务器 FQDN。
6.4. 在无 PXE 模式下发现 复制链接链接已复制到粘贴板!
Satellite 为没有 DHCP 和 TFTP 服务的环境提供无 PXE 的发现服务。您可以使用 Satellite 服务器中的 Discovery ISO 发现未知节点。当调度发现的节点进行安装时,kexec 命令将使用操作系统安装程序重新载入 Linux 内核,而不重启该节点。
Discovery kexec 只是一个技术预览功能。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需更多信息 ,请参阅技术预览功能支持范围。
已知问题
- 控制台在此过程中可能会冻结。
- 在某些硬件上,您可能会遇到图形硬件问题。
图 6.2. 无 PXE 模式发现工作流
6.4.1. 以无 PXE 模式执行发现 复制链接链接已复制到粘贴板!
在无 PXE 模式下发现使用发现 ISO,需要您参与这个过程。
先决条件
- 已安装 Foreman 发现镜像。如需更多信息,请参阅 第 6.2 节 “安装 Discovery 服务”。
流程
将 Discovery ISO 复制到 CD、DVD 或者 USB 闪存驱动器。例如,要复制到位于
/dev/sdb的 USB 驱动器:dd bs=4M \ if=/usr/share/foreman-discovery-image/foreman-discovery-image-version.iso \ of=/dev/sdb
# dd bs=4M \ if=/usr/share/foreman-discovery-image/foreman-discovery-image-version.iso \ of=/dev/sdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 将发现引导介质插入到主机中,启动主机并从介质引导。
发现镜像显示 Manual 网络设置 或 发现使用 DHCP 的选项:
手动网络设置 :
- 在 主接口 屏幕上,选择连接到 Satellite 服务器或 Capsule 服务器的主网络接口。(可选)输入 VLAN ID。按 Select 继续。
- 在 网络配置 屏幕上,输入 地址、网关 和 DNS。按 "下一步" 以继续。
使用 DHCP 发现 :
- 在 主接口 屏幕上,选择连接到 Satellite 服务器或 Capsule 服务器的主网络接口。(可选)输入 VLAN ID。按 Select 继续。
- 发现镜像尝试使用 DHCP 服务器自动配置网络接口,如胶囊服务器提供的接口。
在 Credentials 屏幕中,输入以下选项:
- 在 Server URL 字段中,输入 Satellite 服务器或 Discovery Capsule Server 的 URL。如果您引用胶囊服务器,请包含 Capsule 端口号。
-
在 Connection type 字段中,为 Satellite Server 选择连接类型:
Server或Foreman Proxyfor Capsule Server。
按 "下一步" 以继续。
- 可选:在 自定义事实 屏幕上,输入 Facter 工具的自定义事实,以转发回 Satellite 服务器。为您需要的每个自定义事实输入一个名称和值。
- 按 Confirm 继续操作。
验证
- Satellite Web UI 显示有关新发现的主机的通知。
后续步骤
- 在 Satellite Web UI 中,进入到 Hosts > Discovered Hosts 并查看新发现的主机。有关置备发现的主机的更多信息,请参阅 第 6.6 节 “从发现的主机创建主机”。
6.4.2. 自定义发现 ISO 复制链接链接已复制到粘贴板!
您可以创建自定义发现 ISO,以便在引导后自动执行镜像配置过程。发现镜像将 Linux 内核用于操作系统,它会传递内核参数来配置发现服务。
Satellite 服务器在 foreman-discovery-image 软件包中提供 discovery-remaster 工具。通过使用这个工具,重新注册镜像使其包含自定义内核参数。
流程
运行
discovery-remaster工具。以单个字符串形式输入内核参数。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关内核参数的详情请参考 第 6.9 节 “用于发现自定义的内核参数”。
将新 ISO 复制到 CD、DVD 或者 USB 盘。例如,要复制到位于
/dev/sdb的 USB 盘:dd bs=4M \ if=/usr/share/foreman-discovery-image/foreman-discovery-image-version.iso \ of=/dev/sdb
# dd bs=4M \ if=/usr/share/foreman-discovery-image/foreman-discovery-image-version.iso \ of=/dev/sdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.5. 发现主机的自动上下文 复制链接链接已复制到粘贴板!
Satellite 服务器根据以下规则序列为发现的主机分配一个机构和位置:
- 如果发现的主机使用 Satellite 中定义的子网,主机将使用与子网关联的第一个组织和位置。
- 如果在全局设置中配置了默认位置和组织,则发现的主机将放置在此组织和位置中。要配置这些设置,请导航到 Administer > Settings > Discovery,为 Discovery 机构和 Discovery 位置 设置选择值。确保发现的主机的子网也属于选定的组织和位置,否则 Satellite 会拒绝设置它。
- 如果满足以上条件,Satellite 会根据名称分配第一个机构和位置。
您可以使用 Discovered Hosts 页面中的批量操作来手动更改机构或位置。选择要修改的主机,然后从 Select Action 菜单中选择 Assign Organization 或 Assign Location。
6.6. 从发现的主机创建主机 复制链接链接已复制到粘贴板!
调配发现的主机遵循与 PXE 调配类似的调配流程。主要区别在于,您不需要手动输入主机的 MAC 地址,您可以从已发现的主机列表中选择要调配的主机。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
- 在 Satellite 上配置域和子网。有关网络要求的详情,请参考 第 3 章 配置网络。
- 您的 Satellite 清单中有一个或多个发现的主机。
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
-
您已将
Discovery kexec-kind 模板和provisioning-kind 模板与操作系统相关联。如需更多信息,请参阅 第 2.18 节 “将模板与操作系统关联”。
有关安全令牌的详情,请参考 第 4.2 节 “配置安全令牌有效期持续时间”。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Discovered hosts。
- 选择您要调配的主机,再单击列表右侧的 Provision。
选择以下选项之一:
- 要从主机组调配主机,请选择主机组、组织和位置,然后单击 Create Host。
- 要进一步置备主机,请点 Customize Host 并输入您要为新主机指定的附加详情。
验证这些字段是否填充了值。请特别注意:
- Host 选项卡中的 Name 变为 DNS 名称。
- Satellite 服务器自动为新主机分配 IP 地址。
- Satellite 服务器从发现结果中自动填充 MAC 地址。
- 确保 Satellite 服务器自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击 Operating System 选项卡,并验证所有字段都包含值。确认操作系统的每个方面。
在 Provisioning templates 中,单击 Resolve 以检查新主机是否可以识别正确的调配模板。主机必须解析到以下置备模板:
-
Discovery kexec:
Discovery Red Hat kexec -
自定义模板 :
Kickstart default
-
Discovery kexec:
- 单击 Submit 以保存主机详情。
主机置备完成后,发现的主机将移到 Hosts > All Hosts 。
CLI 过程
确定要置备的发现的主机:
hammer discovery list
# hammer discovery listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 选择主机并使用主机组调配它。使用-
-new-name 选项设置新主机名:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会从发现的主机列表中删除主机,并使用置备设置创建主机条目。Discovery 镜像会自动将主机重启为 PXE 或启动内核执行。主机检测到 DHCP 服务,并开始安装操作系统。其余过程与 第 4.3 节 “使用无人值守调配创建主机” 中描述的普通 PXE 工作流相同。
6.7. 创建发现规则 复制链接链接已复制到粘贴板!
作为为发现的主机自动执行调配流程的方法,Satellite 提供了创建发现规则的功能。这些规则定义发现的主机根据分配的主机组自动调配自身的方式。例如,您可以自动置备 CPU 数量较高的主机作为 hypervisor。同样,您可以将大型硬盘的主机调配为存储服务器。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
NIC 注意事项
自动配置目前不允许配置网络接口卡(NIC)。所有系统都通过发现过程中检测到的 NIC 配置进行置备。但是,您可以使用脚本或在后续阶段使用配置管理在 kickstart scriptlet 中设置 NIC。
流程
- 在 Satellite Web UI 中,进入到 Configure > Discovery rules,然后选择 Create Rule。
- 在 Name 字段中输入规则的名称。
-
在 Search 字段中输入规则,以确定是否置备主机。此字段为您输入的值提供建议,并允许操作员处理多个规则。例如:
cpu_count > 8。 - 从 Host Group 列表中,选择要用作此主机的模板的主机组。
在 Hostname 字段中,输入模式来确定多个主机的主机名。这使用与自定义模板相同的 ERB 语法。主机名可以使用
@host属性作为特定于主机的值,运行的宏用于随机数字,或sequence_hostgroup_param_next宏递增值。有关自定义模板的更多信息,请参阅 第 2.12 节 “自定义模板” 和 API 文档。-
myhost-<%= sequence_hostgroup_param_next("EL7/MyHostgroup", 10, "discovery_host") %> -
myhost-<%= rand(99999) %> -
abc-<%= @host.facts['bios_vendor'] %>-<%= rand(99999) %> -
xyz-<%= @host.hostgroup.name %> -
srv-<%= @host.discovery_rule.name %> server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>在创建主机名模式时,请确保生成的主机名是唯一的,且不以数字开头,且不包含下划线或点。好的方法是使用 Facter 提供的唯一信息,如 MAC 地址、BIOS 或串行 ID。
-
-
在 Hosts limit 字段中,输入您可以使用该规则置备的主机的最大数量。输入
0无限。 - 在 Priority 字段中,输入数字来设置规则与其他规则的优先级。较低值的规则具有更高的优先级。
- 从 Enabled 列表中,选择是否要启用该规则。
- 要为规则设置不同的调配上下文,请单击 Organizations 和 Locations 选项卡,再选择您要使用的上下文。
- 点 Submit 保存您的规则。
在 Satellite Web UI 中,进入到 Hosts > Discovered Host 并选择以下两个选项之一:
- 从右侧的 发现主机列表中,选择 Auto-Provision 来自动调配单个主机。
- 在窗口的右上角,单击 Auto-Provision All 以自动调配所有主机。
CLI 过程
使用 Hammer 创建规则:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer discovery auto-provision命令自动置备主机:hammer discovery auto-provision --name "macabcdef123456"
# hammer discovery auto-provision --name "macabcdef123456"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.8. 扩展发现镜像 复制链接链接已复制到粘贴板!
您可以使用自定义事实、软件或设备驱动程序扩展 Satellite 发现镜像。您还可以提供一个压缩存档文件,其中包含要使用的镜像的额外代码。
流程
创建以下目录结构:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
autostart.d目录包含在主机注册到 Satellite 之前,由 Discovery 内核按 POSIX 顺序执行的脚本。 -
bin目录添加到$PATH变量中;您可以将二进制文件放在此目录中,并在自动启动脚本中使用它们。 -
事实目录添加到FACTERLIB变量,以便配置自定义事实并发送到 Satellite。 -
lib目录被添加到LD_LIBRARY_PATH变量中,lib/ruby被添加到RUBYLIB变量中,以便正确执行/bin中的二进制文件。
-
创建目录结构后,使用以下命令创建一个
.zip文件归档:zip -r my_extension.zip .
# zip -r my_extension.zip .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 告知发现必须使用的扩展的发现内核。使用 Discovery 镜像将 zip 文件放在 TFTP 服务器上,并使用相对于 TFTP root 的
fdi.zips参数自定义发现 PXE 引导。例如,如果您在
$TFTP/zip1.zip和$TFTP/boot/zip2.zip中有两个存档,请使用以下语法:fdi.zips=zip1.zip,boot/zip2.zip
fdi.zips=zip1.zip,boot/zip2.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 第 6.3.3 节 “自定义 Discovery PXE 引导”。
您可以将新指令和选项添加到现有环境变量(PATH、LD_LIBRARY_PATH、RUBYLIB 和 FACTERLIB)。如果要在脚本中明确指定路径,.zip 文件内容将提取到镜像上的 /opt/extension 目录中。
您可以创建多个 .zip 文件,但请注意它们被提取到 Discovery 镜像上的相同位置。如果从 .zip 文件包含相同的文件名,则从中提取的文件会覆盖早期版本。
6.9. 用于发现自定义的内核参数 复制链接链接已复制到粘贴板!
Discovery 将 Linux 内核用于操作系统,并传递内核参数来配置发现服务。这些内核参数包括以下条目:
- fdi.cachefacts
- 没有缓存的事实上传数量。默认情况下,Satellite 不会缓存任何上传的事实。
- fdi.countdown
-
在初始发现尝试后,等待 text-user 界面刷新的秒数。这个值默认为 45 秒。如果状态页面将 IP 地址报告为
N/A,则增加这个值。 - fdi.dhcp_timeout
- NetworkManager DHCP 超时。默认值为 300 秒。
- fdi.dns_nameserver
- 用于 DNS SRV 记录的服务器。
- fdi.dns_ndots
-
用于 DNS SRV 记录的
ndots选项。 - fdi.dns_search
- 搜索用于 DNS SRV 记录的域。
- fdi.initnet
-
默认情况下,镜像会初始化所有网络接口(值为
all)。当此设置设为bootif时,只有从中网络引导的网络接口才会初始化。 - fdi.ipv4.method
-
默认情况下,NetworkManager IPv4 方法设置为
auto。这个选项覆盖它,将其设置为ignore以禁用 IPv4 堆栈。这个选项仅适用于 DHCP 模式。 - fdi.ipv6.method
-
默认情况下,NetworkManager IPv6 方法设置为
auto。这个选项覆盖它,将其设置为ignore以禁用 IPv6 堆栈。这个选项仅适用于 DHCP 模式。 - fdi.ipwait
- 在 HTTP 代理 SSL 证书启动中等待 IP 可用持续时间(以秒为单位)。默认情况下,Satellite 会等待 120 秒。
- fdi.nmwait
-
NetworkManager 的
nmcli -wait选项。默认情况下,nmcli会等待 120 秒。 - fdi.proxy_cert_days
- 自签名 HTTPS 证书有效的天数。默认情况下,证书在 999 天内有效。
- fdi.pxauto
- 设置自动或半自动模式。如果设置为 0,则镜像使用半自动模式,它允许您通过一组对话框选项确认您的选择。如果设置为 1,则镜像使用自动模式,并在不确认的情况下继续。
- fdi.pxfactname1, fdi.pxfactname2 … fdi.pxfactnameN
- 使用 指定自定义事实名称。
- fdi.pxfactvalue1, fdi.pxfactvalue2 … fdi.pxfactvalueN
-
每个自定义事实的值。每个值都对应一个事实名称。例如,
fdi.pxfactvalue1使用fdi.pxfactname1设置事实的值。 - fdi.pxip, fdi.pxgw, fdi.pxdns
-
手动配置 IP 地址(
fdi.pxip)、网关(fdi.pxgw)和主网络接口的 DNS (fdi.pxdns)。如果省略这些参数,镜像将使用 DHCP 来配置网络接口。您可以在用逗号分开后添加多个 DNS 条目 [1] list,如fdi.pxdns=192.168.1.1,192.168.200.1。 - fdi.pxmac
-
主接口的 MAC 地址,格式为
AA:B:CC:DD:EE:FF。这是您用来与胶囊服务器通信的接口。在自动模式下,使用链接的第一个 NIC (按字母顺序使用网络标识符)。在半自动化模式中,会出现一个屏幕以及您选择正确接口的请求。 - fdi.rootpw
-
默认情况下,
root帐户被锁定。使用这个选项设置 root 密码。您可以输入明文和加密的密码。 - fdi.ssh
-
默认情况下禁用 SSH 服务。把它设置为
1或true来启用 SSH 访问。 - fdi.uploadsleep
- 事实程序运行间隔的时间(以秒为单位)。默认情况下,事实(fact)每 30 秒运行一次。
- fdi.vlan.primary
为主接口设置的 VLAN 标记 ID。如果要使用标记的 VLAN 置备,并希望 Discovery 服务发送发现请求,请在 Discovery 片断中添加以下参数:
fdi.vlan.primary=My_VLAN_ID
fdi.vlan.primary=My_VLAN_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - fdi.zips
- 包含要在引导期间下载和启动的扩展的文件名。如需更多信息,请参阅 第 6.8 节 “扩展发现镜像”。
- fdi.zipserver
- 用于从中下载扩展的 TFTP 服务器。如需更多信息,请参阅 第 6.8 节 “扩展发现镜像”。
- net.ifnames 和 biosdevname
因为网络接口名称在 Red Hat Enterprise Linux 主版本之间 不能始终相同,所以可以使用不正确的网络配置来创建主机。您可以使用内核命令行参数禁用新的命名方案:
-
对于 Dell 服务器,请使用
biosdevname=1参数。 -
对于其他硬件或虚拟机,请使用
net.ifnames=1参数。
-
对于 Dell 服务器,请使用
- proxy.type
-
代理类型。默认情况下,此参数设为
foreman,其中通信直接转到 Satellite 服务器。如果您在中指向 Capsule,则将此参数设置为 proxy。proxy.url - proxy.url
提供发现服务的服务器的 URL。默认情况下,此参数包含
foreman_server_url宏作为其参数。此宏解析为 Satellite 服务器的完整 URL。Capsule URL 没有宏。您必须明确设置 Capsule。例如:proxy.url=https://capsule.example.com:9090 proxy.type=proxy
proxy.url=https://capsule.example.com:9090 proxy.type=proxyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在此参数中使用 IP 地址或 FQDN。如果您指向 Capsule,请添加 SSL 端口号。
6.10. Discovery 故障排除 复制链接链接已复制到粘贴板!
如果在 Hosts > Discovered Hosts 中没有在 Satellite web UI 中列出机器,这意味着 Discovery 已失败。检查以下配置区域以帮助隔离问题:
检查先决条件
- 确保您的 Satellite 和主机满足要求。如需更多信息,请参阅 第 6.1 节 “使用发现的先决条件”。
检查 Satellite 上的问题
- 确保为引导和构建 PXE 引导配置文件设置了 Discovery。如需更多信息,请参阅 第 6.3.1 节 “将 Discovery 设置为默认 PXE 引导选项”。
验证 TFTP Capsule 中是否存在这些配置文件,并将
发现设置为默认引导选项:-
/var/lib/tftpboot/pxelinux.cfg/default -
/var/lib/tftpboot/grub2/grub.cfg
-
-
验证您使用的 PXE Discovery 段中的
proxy.url和proxy.type选项的值。默认片段命名为pxelinux_discovery、pxegrub_discovery或pxegrub2_discovery。
检查网络的问题
- 确保主机、胶囊服务器和卫星服务器之间具有足够的网络连接。
- 确保 DHCP 服务器为引导的 Discovery 镜像正确提供 IP 地址。
-
确保已发现主机的 DNS 正常工作,或使用您正在使用的 PXE 模板中包含的 PXE Discovery 段中的
proxy.url选项中的 IP 地址。
检查主机上的问题
如果主机引导到发现镜像,但发现镜像不成功,请在发现镜像上启用 root 帐户和 SSH 访问。您可以使用以下 Discovery 内核选项启用 SSH 并设置 root 密码:
fdi.ssh=1 fdi.rootpw=My_Password
fdi.ssh=1 fdi.rootpw=My_PasswordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 TTY2 或更高版本,登录 Discovery-booted 主机来查看系统日志。例如,这些日志可用于故障排除:
discover-host- 初始事实上传
foreman-discovery- 事实刷新、重启远程命令
nm-prepare- 预配置 NetworkManager 的引导脚本
NetworkManager- 网络信息
-
要收集重要的系统事实,请在 Discovery-booted 主机上使用
discovery-debug命令。它打印系统日志、网络配置、事实列表以及标准输出的其他信息。您可以将此输出重定向到文件,并使用scp命令进行进一步调查。
其他资源
有关更改 Discovery 内核选项的更多信息,请参阅以下资源:
第 7 章 使用 Red Hat Image Builder 镜像置备 复制链接链接已复制到粘贴板!
在 Satellite 中,您可以启用与 RHEL web 控制台集成,以执行操作并监控您的主机。使用 RHEL web 控制台,您可以访问 Red Hat Image Builder 并构建镜像,然后上传到 HTTP 服务器并使用此镜像来置备主机。当您为镜像置备配置 Satellite 时,Anaconda 安装程序分区磁盘,下载并挂载镜像,并将文件复制到主机。首选镜像类型是 TAR。
确定构建 TAR 镜像的蓝图包含一个内核软件包。
有关将 RHEL web 控制台与 Satellite 集成的更多信息,请参阅管理主机中的 使用 RHEL web 控制台进行 主机 管理和监控。
先决条件
- 使用红帽镜像构建器创建的现有 TAR 镜像。
流程
- 在 Satellite 上,创建自定义产品,将自定义文件存储库添加到此产品,并将镜像上传到存储库。如需更多信息,请参阅管理内容中的 导入单个 ISO 镜像和 文件。
- 在 Satellite Web UI 中,进入到 Configure > Host Groups,然后选择要使用的主机组。
- 单击 Parameters 选项卡,然后单击 Add Parameter。
-
在 Name 字段中输入
kickstart_liveimg。 - 从 Type 列表中,选择 字符串。
-
在 Value 字段中,输入绝对路径或相对路径,格式为
custom/product/repository/image_name,指向存储镜像的确切位置。 - 点 Submit 保存您的更改。
您可以使用计算资源进行裸机置备和置备。有关裸机置备的更多信息,请参阅 第 4 章 使用 PXE 调配主机。有关使用不同计算资源进行置备的更多信息,请参阅您要使用的计算资源的相关章节。
第 8 章 在 KVM (libvirt)上置备虚拟机. 复制链接链接已复制到粘贴板!
基于内核的虚拟机(KVM)使用运行在 Red Hat Enterprise Linux 上的开源虚拟化守护进程和 API,名为 libvirt。Satellite 可以连接到 KVM 服务器上的 libvirt API,在虚拟机监控程序上置备主机并控制某些虚拟化功能。
只有通过 Satellite 创建的虚拟机才能进行管理。不支持具有目录存储池类型以外的虚拟机。
您可以使用 KVM 置备,通过网络连接或现有镜像创建主机。
先决条件
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
- 在 KVM 服务器上管理网络的胶囊服务器。确保没有其他 DHCP 服务在此网络上运行,以避免与胶囊服务器冲突。有关胶囊服务器的网络服务配置的更多信息,请参阅 置备主机 中的 配置网络 。
- 运行 KVM 虚拟化工具(libvirt 守护进程)的 Red Hat Enterprise Linux 服务器。如需更多信息,请参阅 Red Hat Enterprise Linux 8 配置和管理虚拟化。
-
如果要使用基于镜像的置备,则现有虚拟机镜像。确保此镜像存在于 KVM 主机上的存储池中。
默认存储池通常位于/var/lib/libvirt/images中。只有目录池存储类型可以通过 Satellite 管理。 可选:这些步骤中的示例将 root 用户用于 KVM。如果要在 KVM 服务器上使用非 root 用户,您必须将该用户添加到 KVM 服务器上的
libvirt组中:usermod -a -G libvirt non_root_user
# usermod -a -G libvirt non_root_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关非管理员用户需要置备主机的权限列表,请参阅 附录 E, 置备主机所需的权限。
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
8.1. 为 KVM 连接配置 Satellite 服务器 复制链接链接已复制到粘贴板!
在添加 KVM 连接前,为 foreman 用户创建 SSH 密钥对,以确保 Satellite 服务器和 KVM 之间的安全连接。
流程
在 Satellite 服务器上,切换到
foreman用户:su foreman -s /bin/bash
# su foreman -s /bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成密钥对:
ssh-keygen
$ ssh-keygenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将公钥复制到 KVM 服务器:
ssh-copy-id root@kvm.example.com
$ ssh-copy-id root@kvm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 退出
foreman用户的 bash shell:exit
$ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
libvirt-client软件包:satellite-maintain packages install libvirt-client
# satellite-maintain packages install libvirt-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令测试到 KVM 服务器的连接:
su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'
# su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. 在 Satellite 服务器中添加 KVM 连接 复制链接链接已复制到粘贴板!
使用这个流程将 KVM 添加为 Satellite 中的计算资源。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,再点 Create Compute Resource。
- 在 Name 字段中输入新计算资源的名称。
- 从 Provider 列表中,选择 Libvirt。
- 在 Description 字段中,输入计算资源的描述。
在 URL 字段中输入 KVM 服务器的连接 URL。例如:
qemu+ssh://root@kvm.example.com/system
qemu+ssh://root@kvm.example.com/systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 从 Display type 列表中,选择 VNC 或 Spice。
可选: 要使用随机生成的密码保护新主机的控制台访问,请在 显示连接复选框中选择 Set a random generated password。您可以检索 VNC 控制台的密码,以便从 KVM 服务器上执行的以下命令的输出访问客户虚拟机控制台:
virsh edit your_VM_name <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' passwd='your_randomly_generated_password'>
# virsh edit your_VM_name <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' passwd='your_randomly_generated_password'>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每次打开虚拟机的控制台时,密码都会随机生成,例如使用 virt-manager。
- 单击 Test Connection,以确保 Satellite 服务器在没有故障的情况下连接到 KVM 服务器。
- 验证 Locations 和 Organizations 选项卡是否自动设置为您的当前上下文。如果需要,在这些标签页中添加附加上下文。
- 点 Submit 保存 KVM 连接。
CLI 过程
要创建计算资源,请输入
hammer compute-resource create命令:hammer compute-resource create --name "My_KVM_Server" \ --provider "Libvirt" --description "KVM server at kvm.example.com" \ --url "qemu+ssh://root@kvm.example.com/system" --locations "New York" \ --organizations "My_Organization"
# hammer compute-resource create --name "My_KVM_Server" \ --provider "Libvirt" --description "KVM server at kvm.example.com" \ --url "qemu+ssh://root@kvm.example.com/system" --locations "New York" \ --organizations "My_Organization"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3. 在 Satellite 服务器中添加 KVM 镜像 复制链接链接已复制到粘贴板!
要使用基于镜像的置备创建主机,您必须将有关镜像的信息(如访问详情和镜像位置)添加到 Satellite 服务器。
请注意,您只能通过 Satellite 管理目录池存储类型。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,然后点击 KVM 连接的名称。
- 点 Create Image。
- 在 Name 字段中输入镜像的名称。
- 从 Operating System 列表中,选择镜像的基础操作系统。
- 从 Architecture 列表中,选择操作系统架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。这通常是
root用户。 - 在 Password 字段中,输入镜像访问的 SSH 密码。
在 Image path 字段中,输入指向 KVM 服务器上的镜像的完整路径。例如:
/var/lib/libvirt/images/TestImage.qcow2
/var/lib/libvirt/images/TestImage.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
可选:如果镜像支持用户数据输入,请选择 User Data 复选框,如
cloud-init数据。 - 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。使用--uuid字段在 KVM 服务器上存储镜像位置的完整路径。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.4. 在计算配置集中添加 KVM 详情 复制链接链接已复制到粘贴板!
使用这个流程在计算配置文件中添加 KVM 硬件设置。当您使用此计算配置文件在 KVM 上创建主机时,这些设置会自动填充。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles。
- 在 Compute Profiles 窗口中,单击现有计算配置文件的名称,或者单击 Create Compute Profile,输入 Name,然后单击 Submit。
- 单击 KVM 计算资源的名称。
- 在 CPU 字段中,输入要分配给新主机的 CPU 数量。
- 在 Memory 字段中,输入要分配给新主机的内存量。
- 从 Image 列表中,如果执行基于镜像的置备,请选择要使用的镜像。
- 从 Network Interfaces 列表中,为主机的网络接口选择网络参数。您可以创建多个网络接口。但是,至少有一个接口必须指向 Capsule 管理的网络。
- 在 Storage 区域中,输入主机的存储参数。您可以为主机创建多个卷。
- 单击 Submit,以将设置保存到计算配置文件。
CLI 过程
运行以下命令来创建计算配置文件:
hammer compute-profile create --name "Libvirt CP"
# hammer compute-profile create --name "Libvirt CP"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要添加 compute 配置集的值,请输入以下命令:
hammer compute-profile values create --compute-profile "Libvirt CP" \ --compute-resource "My_KVM_Server" \ --interface "compute_type=network,compute_model=virtio,compute_network=examplenetwork" \ --volume "pool_name=default,capacity=20G,format_type=qcow2" \ --compute-attributes "cpus=1,memory=1073741824"
# hammer compute-profile values create --compute-profile "Libvirt CP" \ --compute-resource "My_KVM_Server" \ --interface "compute_type=network,compute_model=virtio,compute_network=examplenetwork" \ --volume "pool_name=default,capacity=20G,format_type=qcow2" \ --compute-attributes "cpus=1,memory=1073741824"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.5. 在 KVM 上创建主机 复制链接链接已复制到粘贴板!
在 Satellite 中,您可以使用 KVM 置备通过网络连接或现有镜像创建主机:
- 如果要通过网络连接创建主机,新主机必须能够访问 KVM 虚拟网络上的 Satellite 服务器或胶囊服务器,以便主机能够访问 PXE 调配服务。这个新主机条目会触发 KVM 服务器来创建和启动虚拟机。如果虚拟机通过虚拟网络检测到定义的胶囊服务器,虚拟机将引导至 PXE,并开始安装所选操作系统。
- 如果要使用现有镜像创建主机,新的主机条目会触发 KVM 服务器使用预先存在的镜像作为新卷的基础来创建虚拟机。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
DHCP 冲突
对于基于网络的调配,如果您在 KVM 服务器上使用虚拟网络进行调配,请选择不提供 DHCP 分配的网络。这会导致在引导新主机时与 Satellite 服务器冲突。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 KVM 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充虚拟机设置。特定于 KVM 的字段填充来自您的计算配置文件的设置。如果需要,请修改这些设置。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。KVM 在置备过程中为主机分配 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都自动包含值。
选择要使用的 Provisioning Method:
- 对于基于网络的调配,请单击 Network Based。
- 对于基于镜像的调配,请单击 Image Based。
- 单击 Provisioning 模板中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
- 单击 Virtual Machine 选项卡,并确认这些设置填充了主机组和计算配置文件的详细信息。根据您的需要修改这些设置。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 单击 Submit 以保存主机条目。
CLI 过程
要使用基于网络的调配,请使用
hammer host create命令创建主机,以及 include-provision-method 构建。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用基于镜像的调配,请使用
hammer host create命令创建主机,以及 include-provision-method 镜像。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
第 9 章 在 Red Hat Virtualization 中置备虚拟机 复制链接链接已复制到粘贴板!
Red Hat Virtualization 是一个企业级服务器和桌面虚拟化平台。在 Red Hat Satellite 中,您可以通过 Red Hat Virtualization 的 REST API 管理虚拟化功能。这包括创建虚拟机和控制其电源状态。
您可以使用 Red Hat Virtualization 置备通过网络连接或现有镜像创建虚拟机。
您可以使用 cloud-init 来配置您置备的虚拟机。使用 cloud-init 可避免网络上的任何特殊配置(如托管的 DHCP 和 TFTP)来完成虚拟机的安装。此方法不需要 Satellite 通过 SSH 连接到置备的虚拟机,以运行 finish 脚本。
先决条件
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
- 在 Red Hat Virtualization 环境中管理逻辑网络的 Capsule 服务器。确保没有其他 DHCP 服务在此网络上运行,以避免与胶囊服务器冲突。如需更多信息,请参阅 置备主机 中的 配置网络 。
-
如果要使用基于镜像的置备,如
空白模板以外的现有模板。有关为虚拟机创建模板的更多信息,请参阅 Red Hat Virtualization 虚拟机管理指南中的 模板。 Red Hat Virtualization 上的类似管理的用户,用于与 Satellite 服务器进行通信。不要将
admin@internal用户用于此通信。反之,使用以下权限创建新的 Red Hat Virtualization 用户:- system > Configure System > Login Permissions
- Network > Configure vNIC Profile > Create
- Network > Configure vNIC Profile > Edit Properties
- Network > Configure vNIC Profile > Delete
- Network > Configure vNIC Profile > Assign vNIC Profile to VM
- Network > Configure vNIC Profile > Assign vNIC Profile to Template
- template > Provisioning Operations > Import/Export
- VM > Provisioning Operations > Create
- VM > Provisioning Operations > Delete
- VM > Provisioning Operations > Import/Export
- VM > Provisioning Operations > Edit Storage
- Disk > Provisioning Operations > Create
Disk > Disk Profile > Attach Disk Profile
有关如何在 Red Hat Virtualization 中创建用户和添加权限的更多信息,请参阅 Red Hat Virtualization 管理指南中的 从管理门户管理用户任务。
其他资源
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
9.1. 将 Red Hat Virtualization 连接添加到 Satellite 服务器 复制链接链接已复制到粘贴板!
使用这个流程将 Red Hat Virtualization 添加为 Satellite 中的计算资源。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,再点 Create Compute Resource。
- 在 Name 字段中输入新计算资源的名称。
- 从 Provider 列表中,选择 RHV。
- 在 Description 字段中,输入计算资源的描述。
-
在 URL 字段中,使用以下格式输入 Red Hat Virtualization Manager API 的连接 URL
:https://rhv.example.com/ovirt-engine/api/v4。 - 在 User 字段中,输入具有访问 Red Hat Virtualization Manager 资源权限的用户名称。
- 在 Password 字段中,输入用户的密码。
- 点 Load Datacenters,使用 Red Hat Virtualization 环境中的数据中心填充 Datacenter 列表。
- 从 Datacenter 列表中,选择一个数据中心。
- 从 Quota ID 列表中,选择一个配额来限制 Satellite 可用的资源。
- 在 X509 认证颁发机构 字段中,为 SSL/TLS 访问输入证书颁发机构。或者,如果您将字段留空,服务器的第一个 API 请求时会生成自签名证书。
- 单击 Locations 选项卡,再选择要使用的位置。
- 单击 Organizations 选项卡,再选择要使用的组织。
- 单击 Submit 以保存计算资源。
CLI 过程
使用
Ovirtfor-provider输入hammer compute-resource create命令,以及您要用于数据中心的数据中心的名称。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2. 在 Red Hat Virtualization 中准备 cloud-init 镜像 复制链接链接已复制到粘贴板!
要在置备过程中使用 cloud-init,您必须使用在 Red Hat Virtualization 中安装的 cloud-init 准备镜像,然后将镜像导入到 Satellite 以置备。
流程
- 在 Red Hat Virtualization 中,创建一个虚拟机,用于 Satellite 中基于镜像的调配。
在虚拟机上安装
cloud-init:dnf install cloud-init
# dnf install cloud-initCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/etc/cloud/cloud.cfg文件中添加以下信息:datasource_list: ["NoCloud", "ConfigDrive"]
datasource_list: ["NoCloud", "ConfigDrive"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Red Hat Virtualization 中,从此虚拟机创建镜像。
将此镜像添加到 Satellite 时,请确保选中 User Data 复选框。
9.3. 将 Red Hat Virtualization 镜像添加到 Satellite 服务器 复制链接链接已复制到粘贴板!
要使用基于镜像的置备创建主机,您必须将有关镜像的信息(如访问详情和镜像位置)添加到 Satellite 服务器。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,点 Red Hat Virtualization 连接的名称。
- 点 Create Image。
- 在 Name 字段中输入镜像的名称。
- 从 Operating System 列表中,选择镜像的基础操作系统。
- 从 Architecture 列表中,选择操作系统架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。这通常是
root用户。 - 在 Password 字段中,输入镜像访问的 SSH 密码。
- 从 Image 列表中,从 Red Hat Virtualization 计算资源中选择一个镜像。
-
可选:如果镜像支持用户数据输入,请选择 User Data 复选框,如
cloud-init数据。 - 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。使用--uuid选项在 Red Hat Virtualization 服务器上存储模板 UUID。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.4. 准备 cloud-init 模板 复制链接链接已复制到粘贴板!
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates,然后点 Create Template。
- 在 Name 字段中输入模板的名称。
在 Editor 字段中输入以下模板详情:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 单击 Type 选项卡,然后从 Type 列表中选择 User data template。
- 单击 关联 选项卡,然后从 Applicable Operating Systems 列表中选择您要与模板关联的操作系统。
- 单击 Locations 选项卡,然后从 Locations 列表中选择您要与模板关联的位置。
- 单击 Organizations 选项卡,然后从 Organization 列表中选择您要与模板关联的组织。
- 点 Submit。
- 在 Satellite Web UI 中,进入到 Hosts > Provisioning Setup > Operating Systems。
- 选择您要与模板关联的操作系统。
- 单击 Templates 选项卡,然后从 User data template 列表中选择新模板的名称。
- 点 Submit。
9.5. 在计算配置集中添加 Red Hat Virtualization 详情 复制链接链接已复制到粘贴板!
使用这个流程在计算配置集中添加 Red Hat Virtualization 硬件设置。当您使用此计算配置文件在 KVM 上创建主机时,这些设置会自动填充。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles。
- 在 Compute Profiles 窗口中,单击现有计算配置文件的名称,或者单击 Create Compute Profile,输入 Name,然后单击 Submit。
- 单击 Red Hat Virtualization 计算资源的名称。
- 在 Cluster 列表中选择 Red Hat Virtualization 环境中的目标主机集群。
- 从 Template 列表中,选择要用于 Cores 和 Memory 设置的 RHV 模板。
- 在 Cores 字段中,输入要分配给新主机的 CPU 内核数。
- 在 Memory 字段中,输入要分配给新主机的内存量。
- 从 Image 列表中,选择要用于基于镜像的调配的镜像。
在 Network Interfaces 区域中,输入主机网络接口的网络参数。您可以创建多个网络接口。但是,至少有一个接口必须指向 Capsule 管理的网络。对于每个网络接口,请输入以下详情:
- 在 Name 字段中输入网络接口的名称。
- 从 Network 列表中,选择要使用的逻辑网络。
在 Storage 区域中,输入主机的存储参数。您可以为主机创建多个卷。对于每个卷,请输入以下详情:
- 在 Size (GB) 中,为新卷的大小输入大小(以 GB 为单位)。
- 从 Storage domain 列表中,选择卷的存储域。
- 从 预分配磁盘 中,选择 完整磁盘的精简配置或预分配。
- 在 Bootable 列表中,选择是否希望可引导卷或不可启动的卷。
- 单击 Submit 以保存计算配置文件。
CLI 过程
运行以下命令来创建计算配置文件:
hammer compute-profile create --name "Red Hat Virtualization CP"
# hammer compute-profile create --name "Red Hat Virtualization CP"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为 compute 配置集设置值,请输入以下命令:
hammer compute-profile values create --compute-profile "Red Hat Virtualization CP" \ --compute-resource "My_RHV" \ --interface "compute_interface=Interface_Type,compute_name=eth0,compute_network=satnetwork" \ --volume "size_gb=20G,storage_domain=Data,bootable=true" \ --compute-attributes "cluster=Default,cores=1,memory=1073741824,start=true""
# hammer compute-profile values create --compute-profile "Red Hat Virtualization CP" \ --compute-resource "My_RHV" \ --interface "compute_interface=Interface_Type,compute_name=eth0,compute_network=satnetwork" \ --volume "size_gb=20G,storage_domain=Data,bootable=true" \ --compute-attributes "cluster=Default,cores=1,memory=1073741824,start=true""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.6. 在 Red Hat Virtualization 上创建主机 复制链接链接已复制到粘贴板!
在 Satellite 中,您可以使用 Red Hat Virtualization 置备通过网络连接或现有镜像创建主机:
- 如果要通过网络连接创建主机,新主机必须能够访问 Red Hat Virtualization 虚拟网络上的 Satellite 服务器或 Capsule 服务器,以便主机能够访问 PXE 置备服务。这个新主机条目会触发 Red Hat Virtualization 服务器来创建和启动虚拟机。如果虚拟机通过虚拟网络检测到定义的胶囊服务器,虚拟机将引导至 PXE,并开始安装所选操作系统。
- 如果要使用现有镜像创建主机,新的主机条目会触发 Red Hat Virtualization 服务器使用预先存在的镜像作为新卷的基础来创建虚拟机。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
DHCP 冲突
对于基于网络的置备,如果您在 Red Hat Virtualization 服务器上使用虚拟网络进行置备,请选择不提供 DHCP 分配的网络。这会导致在引导新主机时与 Satellite 服务器冲突。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 Red Hat Virtualization 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充虚拟机设置。Red Hat Virtualization 特定字段填充来自您的计算配置集的设置。如果需要,请修改这些设置。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。Red Hat Virtualization 在置备过程中为主机分配一个 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都自动包含值。
选择要使用的 Provisioning Method:
- 对于基于网络的调配,请单击 Network Based。
- 对于基于镜像的调配,请单击 Image Based。
- 单击 Provisioning 模板中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
- 单击 Virtual Machine 选项卡,并确认这些设置填充了主机组和计算配置文件的详细信息。根据您的需要修改这些设置。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 单击 Submit 以保存主机条目。
CLI 过程
要使用基于网络的调配,请使用
hammer host create命令创建主机,以及 include-provision-method 构建。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用基于镜像的调配,请使用
hammer host create命令创建主机,以及 include-provision-method 镜像。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
第 10 章 在 VMware vSphere 中置备虚拟机 复制链接链接已复制到粘贴板!
VMware vSphere 是 VMware 的企业级虚拟化平台。Red Hat Satellite 可以与 vSphere 平台交互,包括创建新虚拟机并控制其电源管理状态。
10.1. VMware 置备的先决条件 复制链接链接已复制到粘贴板!
VMware vSphere 置备的要求包括:
支持的 VMware vCenter 服务器版本。以下版本已使用 Satellite 进行了充分测试:
- vCenter Server 8.0
- vCenter Server 7.0
- 在 vSphere 环境中管理网络的 Capsule 服务器。确保没有其他 DHCP 服务在此网络上运行,以避免与胶囊服务器冲突。更多信息请参阅 第 3 章 配置网络。
- 如果要使用基于镜像的置备,则现有 VMware 模板。
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
10.2. 创建 VMware 用户 复制链接链接已复制到粘贴板!
VMware vSphere 服务器需要类似于管理的用户才能进行 Satellite 服务器通信。出于安全考虑,请不要将 管理员用户 用于此类通信。反之,创建具有以下权限的用户:
对于 VMware vCenter Server 版本 8.0 或 7.0,请设置以下权限:
- All Privileges → Datastore → Allocate Space, Browse datastore, Update Virtual Machine file, Low level file operations
- all Privileges → Network → Assign Network
- 所有 Privileges → Resource → Assign virtual machine to resource pool
- 所有 Privileges → Virtual Machine → Change Config (All)
- 所有 Privileges → Virtual Machine → Interaction (All)
- All Privileges → Virtual Machine → Edit Inventory (All)
- 所有 Privileges → Virtual Machine → Provisioning (All)
- All Privileges → Virtual Machine → Guest Operations (All)
10.3. 在 Satellite 服务器中添加 VMware 连接 复制链接链接已复制到粘贴板!
使用这个流程在 Satellite 服务器的计算资源中添加 VMware vSphere 连接。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
- 确保将主机和基于网络的防火墙配置为允许来自 Satellite 服务器到 TCP 端口 443 上的 vCenter 的通信。
- 验证 Satellite 服务器和 vCenter 是否可以解析其他的主机名。
流程
- 在 Satellite Web UI 中,导航到 Infrastructure > Compute Resources,然后在 Compute Resources 窗口中点击 Create Compute Resource。
- 在 Name 字段中输入资源的名称。
- 从 Provider 列表中,选择 VMware。
- 在 Description 字段中,输入资源的描述。
- 在 VCenter/Server 字段中,输入 vCenter 服务器的 IP 地址或主机名。
- 在 User 字段中输入具有访问 vCenter 资源权限的用户名称。
- 在 Password 字段中,输入用户的密码。
- 点 Load Datacenters,以填充 VMware vSphere 环境中的数据中心列表。
- 从 Datacenter 列表中,从此列表中选择要管理的特定数据中心。
- 在 Fingerprint 字段中,确保此字段填充了来自数据中心的指纹。
- 从 Display Type 列表中,选择一个控制台类型,例如 VNC 或 VMRC。请注意,VMware ESXi 6.5 及更高版本上不支持 VNC 控制台。
- 可选:在 VNC Console Passwords 字段中,选择 Set a random generated password on the display connection 复选框,以使用随机生成的密码保护新主机的控制台访问。
- 从 Enable Caching 列表中,您可以选择是否启用计算资源的缓存。如需更多信息,请参阅 第 10.10 节 “计算资源缓存”。
- 单击 Locations 和 Organizations 选项卡,并验证这些值会自动设置为您的当前上下文。您还可以添加额外的上下文。
- 点 Submit 保存连接。
CLI 过程
使用
hammer compute-resource create命令创建连接。选择Vmware作为the-provider,并将数据中心的实例 UUID 设置为 the-uuid:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4. 在 Satellite 服务器中添加 VMware 镜像 复制链接链接已复制到粘贴板!
VMware vSphere 使用模板作为创建新虚拟机的镜像。如果使用基于镜像的置备来创建新主机,则需要在 Satellite 服务器中添加 VMware 模板详情。这包括访问详情和模板名称。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择 VMware 计算资源。
- 点 Create Image。
- 在 Name 字段中输入镜像的名称。
- 从 Operating System 列表中,选择镜像的基础操作系统。
- 从 Architecture 列表中,选择操作系统架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。默认情况下,设置为
root。 -
如果您的镜像支持用户数据输入,如
cloud-init数据,点 用户数据 复选框。 - 可选:在 Password 字段中输入访问镜像的 SSH 密码。
- 从 Image 列表中选择一个镜像。
- 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。使用--uuid字段在 vSphere 环境中存储相对模板路径:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5. 在计算配置集中添加 VMware 详情 复制链接链接已复制到粘贴板!
您可以在 VMware vSphere 上预定义虚拟机的某些硬件设置。您可以通过将这些硬件设置添加到计算配置集来实现。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles。
- 选择计算配置文件。
- 选择 VMware 计算资源。
- 在 CPU 字段中,输入要分配给主机的 CPU 数量。
- 在 Cores per socket 字段中,输入要分配给每个 CPU 的内核数。
- 在 Memory 字段中输入要分配给主机的内存量(以 MiB 为单位)。
- 在 Firmware 复选框中,为主机选择 BIOS 或 UEFI 作为固件。默认情况下,设置为 自动。
- 在 Cluster 列表中,选择 VMware 环境中的目标主机集群的名称。
- 从 Resource pool 列表中,为主机选择可用资源分配。
- 在 Folder 列表中,选择用于组织主机的文件夹。
- 从 Guest OS 列表中,选择您要在 VMware vSphere 中使用的操作系统。
- 从 Virtual H/W 版本 列表中,选择用于虚拟机的底层 VMware 硬件抽象。
- 如果要在虚拟机开机时添加更多内存,请选中 Memory hot add 复选框。
- 如果要在虚拟机开机时添加更多 CPU,请选中 CPU 热添加 复选框。
- 如果要添加 CD-ROM 驱动器,请选择 CD-ROM 驱动器 复选框。
- 在 Boot order 列表中,定义虚拟机尝试引导的顺序。
- 可选:在 Annotation Notes 字段中,输入任意描述。
- 如果使用基于镜像的置备,请从 Image 列表中选择镜像。
- 从 SCSI 控制器 列表中,为主机选择磁盘访问方法。
- 如果要使用 eager 零厚置备,请选择 Eager 零 复选框。默认情况下,磁盘使用 lazy 零 thick 调配。
- 从 Network Interfaces 列表中,为主机的网络接口选择网络参数。至少一个接口必须指向 Capsule 管理的网络。
- 可选:点 Add Interface 创建另一个网络接口。
- 单击 Submit 以保存计算配置文件。
CLI 过程
创建计算配置集:
hammer compute-profile create --name "My_Compute_Profile"
# hammer compute-profile create --name "My_Compute_Profile"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 VMware details 设置为计算配置集:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.6. 在 VMware 上创建主机 复制链接链接已复制到粘贴板!
VMware vSphere 置备过程提供了通过网络连接或使用现有镜像创建主机的选项。
对于基于网络的置备,您必须创建一个主机来访问 VMware vSphere 虚拟网络上的 Satellite 服务器或 Capsule 服务器,以便主机能够访问 PXE 置备服务。新主机条目会触发 VMware vSphere 服务器创建虚拟机。如果虚拟机通过虚拟网络检测到定义的 Capsule,虚拟机将引导至 PXE,并开始安装所选操作系统。
DHCP 冲突
如果您使用 VMware vSphere 服务器上的虚拟网络进行置备,请确保选择不提供 DHCP 分配的虚拟网络。这会导致在引导新主机时与 Satellite 服务器冲突。
对于基于镜像的调配,请使用预先存在的镜像作为新卷的基础。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 VMware vSphere 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充基于虚拟机的设置。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。VMware 在置备过程中为主机分配 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 在接口窗口中,查看使用计算配置文件中填充设置的 VMware 特定字段。根据您的需要修改这些设置。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都自动包含值。
选择您想要的 Provisioning Method:
- 对于基于网络的调配,请单击 Network Based。
- 对于基于镜像的调配,请单击 Image Based。
- 对于引导磁盘置备,请单击 基于引导磁盘。
- 单击 Provisioning 模板中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
- 单击 Virtual Machine 选项卡,并确认这些设置填充了主机组和计算配置文件的详细信息。修改这些设置以符合您的要求。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 点 Submit 在 VMware 上置备您的主机。
CLI 过程
使用
hammer host create命令和 include-provision-method 构建从网络创建主机以使用基于网络的置备:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer host create命令和 include-provision-method 镜像从镜像创建主机,以使用基于镜像的置备:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
10.7. 使用 VMware cloud-init 和 userdata 模板进行置备 复制链接链接已复制到粘贴板!
您可以将 VMware 与 Cloud-init 和 Userdata 模板一起使用,将用户数据插入到新虚拟机中,以进行进一步的 VMware 自定义,并启用 VMware 托管的虚拟机来回发到 Satellite。
您可以使用相同的流程在 Satellite 中设置 VMware 计算资源,并对工作流进行一些修改。
图 10.1. VMware cloud-init 置备概述
当您在 Satellite 中为 VMware 置备设置计算资源和镜像时,会发生以下置备事件序列:
- 用户使用 Satellite Web UI、API 或 hammer 置备一个或多个虚拟机
- Satellite 调用 VMware vCenter 来克隆虚拟机模板
-
Satellite
userdata自定义模板添加自定义身份信息 -
在置备完成后,
Cloud-init自定义模板指示虚拟机在cloud-init运行时重新调用 Capsule - VMware vCenter 将模板克隆到虚拟机
- VMware vCenter 对虚拟机的身份应用自定义,包括主机名、IP 和 DNS
-
虚拟机构建
cloud-init被调用,并在端口80上调用回 Satellite,然后重定向到443
先决条件
-
配置端口和防火墙设置,以打开任何必要的连接。由于
cloud-init服务,即使将虚拟机注册到胶囊,虚拟机始终都会调用回 Satellite。如需更多信息,请参阅 安装胶囊式服务器 中的 在连接的网络环境和端口和 防火墙要求 中安装 Satellite 服务器 中的 端口和防火墙要求。https://docs.redhat.com/en/documentation/red_hat_satellite/6.16/html-single/installing_capsule_server/index#capsule-port-and-firewall-requirements_capsule 如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了胶囊服务器。
重要必须将您的胶囊服务器添加到 Satellite 服务器上的可信代理列表中!
如需更多信息,请参阅 安装 Capsule 服务器 中的 为主机注册配置 Capsule 和置备。
备份以下配置文件:
-
/etc/cloud/cloud.cfg.d/01_network.cfg -
/etc/cloud/cloud.cfg.d/10_datasource.cfg -
/etc/cloud/cloud.cfg
-
将 Userdata 和 Cloud-init 模板与操作系统关联
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
- 搜索 CloudInit 默认模板,再单击其名称。
- 单击 关联 选项卡。
- 选择模板应用的所有操作系统,然后单击 Submit。
- 为 UserData open-vm-tools 模板重复上述步骤。
- 导航到 Hosts > Provisioning Setup > Operating Systems。
- 选择您要用于置备的操作系统。
- 点 Templates 选项卡。
- 从 Cloud-init 模板列表中,选择 CloudInit default。
- 从 User data template 列表中,选择 UserData open-vm-tools。
- 点 Submit 以保存更改。
准备镜像以使用 cloud-init 模板
要准备镜像,您必须首先在虚拟机上配置所需的设置,然后将其保存为要在 Satellite 中使用的镜像。
要使用 cloud-init 模板进行调配,您必须配置虚拟机,以便安装、启用 cloud-init,并配置为调用回 Satellite 服务器。
为了安全起见,您必须安装 CA 证书以使用 HTTPS 进行所有通信。此流程包括清理虚拟机的步骤,以便不会向您用于置备的镜像进行不需要的信息传输。
如果您的镜像带有 cloud-init,则仍必须按照以下步骤使 cloud-init 与 Satellite 通信,因为默认禁用了 cloud-init。
流程
在用于创建镜像的虚拟机上,安装所需的软件包:
dnf install cloud-init open-vm-tools perl-interpreter perl-File-Temp
# dnf install cloud-init open-vm-tools perl-interpreter perl-File-TempCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 9 中,您还需要
dbus-tools软件包才能进行网络连接。通过
cloud-init禁用网络配置:cat << EOM > /etc/cloud/cloud.cfg.d/01_network.cfg network: config: disabled EOM
# cat << EOM > /etc/cloud/cloud.cfg.d/01_network.cfg network: config: disabled EOMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置
cloud-init以从 Satellite 获取数据:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要通过胶囊服务器进行调配,请在
seedfrom选项中使用 Capsule 服务器的 URL,如https:// Capsule.example.com:9090/userdata/。配置要在
cloud-init中使用的模块:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为镜像启用 CA 证书:
update-ca-trust enable
# update-ca-trust enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Satellite 服务器下载
katello-server-ca.crt文件:wget -O /etc/pki/ca-trust/source/anchors/cloud-init-ca.crt https://satellite.example.com/pub/katello-server-ca.crt
# wget -O /etc/pki/ca-trust/source/anchors/cloud-init-ca.crt https://satellite.example.com/pub/katello-server-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要通过胶囊服务器调配,请从胶囊服务器下载 文件,如
https://capsule.example.com/pub/katello-server-ca.crt。更新证书的记录:
update-ca-trust extract
# update-ca-trust extractCopy to Clipboard Copied! Toggle word wrap Toggle overflow 停止
rsyslog和auditd服务:systemctl stop rsyslog systemctl stop auditd
# systemctl stop rsyslog # systemctl stop auditdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 清理镜像中的软件包:
在 Red Hat Enterprise Linux 8 及更新的版本中:
dnf remove --oldinstallonly
# dnf remove --oldinstallonlyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 7 及更早版本中:
package-cleanup --oldkernels --count=1 dnf clean all
# package-cleanup --oldkernels --count=1 # dnf clean allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
减少日志空间、删除旧日志和截断日志:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
udev硬件规则:rm -f /etc/udev/rules.d/70*
# rm -f /etc/udev/rules.d/70*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除与现有网络配置相关的
ifcfg脚本:rm -f /etc/sysconfig/network-scripts/ifcfg-ens* rm -f /etc/sysconfig/network-scripts/ifcfg-eth*
# rm -f /etc/sysconfig/network-scripts/ifcfg-ens* # rm -f /etc/sysconfig/network-scripts/ifcfg-eth*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 SSH 主机密钥:
rm -f /etc/ssh/ssh_host_*
# rm -f /etc/ssh/ssh_host_*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 root 用户的 SSH 历史记录:
rm -rf ~root/.ssh/known_hosts
# rm -rf ~root/.ssh/known_hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 root 用户的 shell 历史记录:
rm -f ~root/.bash_history unset HISTFILE
# rm -f ~root/.bash_history # unset HISTFILECopy to Clipboard Copied! Toggle word wrap Toggle overflow - 从此虚拟机创建镜像。
- 将您的镜像添加到 Satellite 中。
10.8. 删除 VMware 上的虚拟机 复制链接链接已复制到粘贴板!
您可以从 Satellite 中删除 VMware 上运行的虚拟机。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择您的 VMware 供应商。
- 在 Virtual Machines 选项卡中,从 Actions 菜单中点 Delete。这会在 Satellite 中保留任何关联的主机时从 VMware 计算资源中删除虚拟机。如果要删除孤立的主机,进入 Hosts > All Hosts 并删除主机。
其他资源
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
10.9. 将虚拟机从 VMware 导入到 Satellite 复制链接链接已复制到粘贴板!
您可以将 VMware 上运行的现有虚拟机导入到 Satellite。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择 VMware 计算资源。
- 在 Virtual Machines 选项卡中,单击 Import as managed Host or Import as unmanaged Host from the Actions 菜单。以下页面与创建已选定计算资源的主机相同。如需更多信息,请参阅管理主机中的 在 Satellite 中创建 主机 。
- 单击 Submit 以将虚拟机导入到 Satellite。
10.10. 计算资源缓存 复制链接链接已复制到粘贴板!
计算资源的缓存可加快 VMware 信息的渲染速度。
10.10.1. 启用计算资源缓存 复制链接链接已复制到粘贴板!
启用或禁用计算资源缓存:
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 点击您要更新的 VMware 服务器右侧的 Edit 按钮。
- 选中 启用缓存 复选框。
10.10.2. 刷新计算资源缓存 复制链接链接已复制到粘贴板!
刷新计算资源的缓存,以更新计算资源信息。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择您要刷新计算资源缓存的 VMware 服务器,然后单击 Refresh Cache。
CLI 过程
使用此 API 调用来刷新计算资源缓存:
curl -H "Accept:application/json" \ -H "Content-Type:application/json" -X PUT \ -u username:password -k \ https://satellite.example.com/api/compute_resources/compute_resource_id/refresh_cache
# curl -H "Accept:application/json" \ -H "Content-Type:application/json" -X PUT \ -u username:password -k \ https://satellite.example.com/api/compute_resources/compute_resource_id/refresh_cacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer compute-resource 列表来决定您要刷新计算资源缓存的 VMware 服务器的 ID。
第 11 章 在 OpenShift Virtualization 中置备虚拟机 复制链接链接已复制到粘贴板!
OpenShift Virtualization 解决了已经采用或希望采用 Red Hat OpenShift Container Platform 但具有可轻松容器化的现有虚拟机(VM)工作负载的需求。此技术提供了一个统一的开发平台,开发人员可以在共享环境中构建、修改和部署位于应用程序容器和虚拟机的应用程序。这些功能支持跨开放混合云的快速应用程序现代化。
您可以为 OpenShift Virtualization 创建计算资源,以便您可以使用 Satellite 在 OpenShift Container Platform 中置备和管理虚拟机。
请注意,这个版本不支持模板置备。
OpenShift Virtualization 计算资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
先决条件
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
-
您必须具有 OpenShift Container Platform 集群的
cluster-admin权限。 - 在 OpenShift Container Platform 集群中管理网络的胶囊服务器。确保没有其他 DHCP 服务在此网络上运行,以避免与胶囊服务器冲突。有关胶囊服务器的网络服务配置的更多信息,请参阅 置备主机 中的 配置网络 。
其他资源
- 有关非管理员用户需要置备主机的权限列表,请参阅 附录 E, 置备主机所需的权限。
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
11.1. 在 Satellite 服务器中添加 OpenShift Virtualization 连接 复制链接链接已复制到粘贴板!
使用这个流程将 OpenShift Virtualization 添加为 Satellite 中的计算资源。
流程
输入以下
satellite-installer命令,为 Satellite 启用 OpenShift Virtualization 插件:satellite-installer --enable-foreman-plugin-kubevirt
# satellite-installer --enable-foreman-plugin-kubevirtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 获取用于 HTTP 和 HTTP 身份验证的令牌:
登录到 OpenShift Container Platform 集群,并列出包含令牌的 secret:
oc get secrets
$ oc get secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 获取 secret 的令牌:
oc get secrets MY_SECRET -o jsonpath='{.data.token}' | base64 -d | xargs$ oc get secrets MY_SECRET -o jsonpath='{.data.token}' | base64 -d | xargsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 记录令牌,以便此流程稍后使用。
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,再点 Create Compute Resource。
- 在 Name 字段中输入新计算资源的名称。
- 从 Provider 列表中,选择 OpenShift Virtualization。
- 在 Description 字段中,输入计算资源的描述。
- 在 Hostname 字段中输入 OpenShift Container Platform 集群的 FQDN、主机名或 IP 地址。
- 在 API Port 字段中,输入您要从 Satellite 到 OpenShift Virtualization 的置备请求的端口号。
- 在 Namespace 字段中,输入 OpenShift Container Platform 集群的用户名。
- 在 Token 字段中输入 HTTP 和 HTTP 身份验证的 bearer 令牌。
- 可选:在 X509 认证颁发机构 字段中,输入证书来为 API 服务器调用启用客户端证书身份验证。
第 12 章 在 OpenShift 上的 Red Hat OpenStack Services 中置备云实例 复制链接链接已复制到粘贴板!
OpenShift 上的 Red Hat OpenStack Services 为构建私有或公共的基础设施即服务(IaaS)云提供了基础。它为开发启用云的工作负载提供了一个可大规模扩展的容错平台。在 Satellite 中,您可以在 OpenShift REST API 上与红帽 OpenStack 服务交互,以创建云实例并控制其电源管理状态。
先决条件
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
- 在 OpenStack 环境中管理网络的胶囊服务器。如需更多信息,请参阅 置备主机 中的 配置网络 。
- 添加到 OpenStack Image Storage (glance)服务的镜像,用于基于镜像的调配。如需更多信息,请参阅 OpenShift 实例和镜像指南中的 Red Hat OpenStack Services。
其他资源
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
您可以在 OpenShift 上将 Red Hat OpenStack Services 添加为 Satellite 中的计算资源。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 单击 Create Compute Resource。
- 在 Name 字段中输入新计算资源的名称。
- 从 Provider 列表中,选择 RHEL OpenStack Platform。
- 可选:在 Description 字段中输入计算资源的描述。
-
在 URL 字段中,在
令牌资源(如http://openstack.example.com:5000/v2.0/tokens或http://openstack.example.com:5000/v3/auth/tokens)中输入 OpenStack Authentication keystone 服务 API 的 URL。 - 在 Username 和 Password 字段中,输入 Satellite 的用户身份验证以访问环境。
- 可选:在 Project (Tenant) name 字段中输入您的租户(v2)或项目(v3) (v3)要管理的 Satellite 服务器的名称。
- 在 User domain 字段中,为 v3 身份验证输入用户域。
- 在 Project 域名 字段中,为 v3 身份验证输入项目域名。
- 在 Project domain ID 字段中,为 v3 身份验证输入项目域 ID。
- 可选: 选择 Allow external network as main network 来使用外部网络作为主机的主网络。
- 可选:点 Test Connection 来验证 Satellite 是否可以连接到您的计算资源。
- 单击 Locations 和 Organizations 选项卡,并验证您要使用的位置和组织是否已设置为您当前的上下文。向这些选项卡添加任何额外的上下文。
- 点 Submit 将 Red Hat OpenStack Services 保存到 OpenShift 连接。
CLI 过程
要创建计算资源,请输入
hammer compute-resource create命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要使用基于镜像的置备创建主机,您必须将有关镜像的信息(如访问详情和镜像位置)添加到 Satellite 服务器。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,然后点击 OpenShift 连接中的 Red Hat OpenStack Services 的名称。
- 点 Create Image。
- 在 Name 字段中输入镜像的名称。
- 从 Operating System 列表中,选择镜像的基础操作系统。
- 从 Architecture 列表中,选择操作系统架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。这通常是
root用户。 - 在 Password 字段中,输入镜像访问的 SSH 密码。
- 从 Image 列表中,从 Red Hat OpenStack Services on OpenShift 计算资源中选择一个镜像。
-
可选:如果镜像支持用户数据输入,请选择 User Data 复选框,如
cloud-init数据。 - 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。使用--uuid字段将镜像位置的完整路径存储在 OpenShift 服务器上的 Red Hat OpenStack Services 中。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用这个流程将 OpenShift 硬件设置中的 Red Hat OpenStack Services 添加到计算配置集。当您使用此计算配置文件在 OpenShift 上的 Red Hat OpenStack Services 上创建主机时,会自动填充这些设置。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles。
- 在 Compute Profiles 窗口中,单击现有计算配置文件的名称,或者单击 Create Compute Profile,输入 Name,然后单击 Submit。
- 单击 OpenShift 计算资源上的 Red Hat OpenStack Services 的名称。
- 从 Flavor 列表中,选择要用于主机的 Red Hat OpenStack Services 上的硬件配置文件。
- 从 Availability zone 列表中,选择在 OpenShift 环境中的 Red Hat OpenStack Services 中使用的目标集群。
- 从 Image 列表中,选择要用于基于镜像的调配的镜像。
- 从 Tenant 列表中,为 OpenShift 实例上的 Red Hat OpenStack Services 选择租户或项目。
- 从 Security Group 列表中,为端口和 IP 地址选择基于云的访问规则。
- 从 内部网络中,选择要加入主机的专用网络。
- 从 浮动 IP 网络,选择要加入主机的外部网络并分配浮动 IP 地址。
- 在 Boot from volume 中选择是否从镜像中创建卷。如果没有选择,实例会直接引导镜像。
- 在 New boot volume size (GB) 字段中,输入新引导卷的大小(以 GB 为单位)。
- 单击 Submit 以保存计算配置文件。
CLI 过程
将 OpenShift 详情上的 Red Hat OpenStack Services 设置为 compute 配置集:
hammer compute-profile values create --compute-resource "My_Laptop" \ --compute-profile "My_Compute_Profile" \ --compute-attributes "availability_zone=My_Zone,image_ref=My_Image,flavor_ref=m1.small,tenant_id=openstack,security_groups=default,network=My_Network,boot_from_volume=false"
# hammer compute-profile values create --compute-resource "My_Laptop" \ --compute-profile "My_Compute_Profile" \ --compute-attributes "availability_zone=My_Zone,image_ref=My_Image,flavor_ref=m1.small,tenant_id=openstack,security_groups=default,network=My_Network,boot_from_volume=false"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Satellite 中,您可以使用 OpenShift 置备上的 Red Hat OpenStack Services 来从现有镜像创建主机。新主机条目将触发 OpenShift 服务器上的 Red Hat OpenStack Services,以使用预先存在的镜像作为新卷的基础来创建实例。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 Red Hat OpenStack Services on OpenShift 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充虚拟机设置。
- 从 Lifecycle Environment 列表中,选择环境。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。OpenShift 上的 Red Hat OpenStack Services 在置备过程中为主机分配一个 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都自动包含值。
- 如果要更改从计算配置文件自动填充的镜像,请从 Images 列表中选择不同的镜像,以作为新主机的根卷的基础。
- 单击 Provisioning 模板中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
- 单击 Virtual Machine 选项卡,并确认这些设置填充了主机组和计算配置文件的详细信息。根据您的需要修改这些设置。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 单击 Submit 以保存主机条目。
CLI 过程
使用
hammer host create命令创建主机,以及 include-provision-method 镜像。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
第 13 章 在 Amazon EC2 中置备云实例 复制链接链接已复制到粘贴板!
Amazon Elastic Compute Cloud (Amazon EC2)是提供公共云计算资源的 Web 服务。使用 Satellite,您可以与 Amazon EC2 的公共 API 交互,以创建云实例并控制其电源管理状态。使用本章中的步骤添加与 Amazon EC2 帐户的连接并调配云实例。
13.1. Amazon EC2 置备的先决条件 复制链接链接已复制到粘贴板!
Amazon EC2 置备的要求包括:
- 在 EC2 环境中管理网络的胶囊服务器。使用 Virtual Private Cloud (VPC)来确保主机和胶囊服务器之间的安全网络。
- 用于基于镜像的置备的 Amazon Machine Image (AMI)。
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
13.2. 安装 Amazon EC2 插件 复制链接链接已复制到粘贴板!
安装 Amazon EC2 插件,以将 EC2 计算资源提供商附加到 Satellite。这样,您可以管理和监控主机并部署到 EC2。
流程
在 Satellite 服务器上安装 EC2 计算资源供应商:
satellite-installer --enable-foreman-compute-ec2
# satellite-installer --enable-foreman-compute-ec2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 可选: 在 Satellite Web UI 中,进入到 Administer > About 并选择 compute resources 选项卡来验证 Amazon EC2 插件的安装。
13.3. 将 Amazon EC2 连接添加到 Satellite 服务器 复制链接链接已复制到粘贴板!
使用这个流程在 Satellite 服务器的计算资源中添加 Amazon EC2 连接。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
-
执行此流程的 AWS EC2 用户需要
AmazonEC2FullAccess权限。您可以从 AWS 附加这些权限。
时间设置和 Amazon Web Services
Amazon Web Services 使用时间设置作为身份验证过程的一部分。确保 Satellite 服务器的时间已正确同步。确保 NTP 服务(如 ntpd 或 chronyd )正在 Satellite 服务器上正确运行。无法为 Amazon Web Services 提供正确的时间可能会导致身份验证失败。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,并在 Compute Resources 窗口中点击 Create Compute Resource。
- 在 Name 字段中输入用于标识 Amazon EC2 计算资源的名称。
- 从 Provider 列表中,选择 EC2。
- 在 Description 字段中,输入有助于区分资源以备将来使用的信息。
- 可选:从 HTTP 代理 列表中,选择要连接到外部 API 服务的 HTTP 代理。您必须向 Satellite 添加 HTTP 代理,然后才能从此列表中选择代理。如需更多信息,请参阅 第 13.4 节 “将 HTTP 代理与计算资源搭配使用”。
- 在 Access Key 和 Secret Key 字段中输入 Amazon EC2 帐户的访问密钥。如需更多信息,请参阅 Amazon 文档网站上为您的 AWS 帐户管理访问密钥。
- 可选:点 Load Regions 以填充 Regions 列表。
- 从 Region 列表中,选择要使用的 Amazon EC2 区域或数据中心。
- 单击 Locations 选项卡,并确保已选择要使用的位置,或者添加不同的位置。
- 单击 Organizations 选项卡,并确保已选择要使用的组织,或者添加其他机构。
- 点 Submit 保存 Amazon EC2 连接。
- 选择新的计算资源,然后单击 SSH 密钥 选项卡,然后单击 Download 以保存要用于 SSH 身份验证的 SSH 密钥副本。在 BZ1793138 被解决前,您只能在创建 Amazon EC2 计算资源后立即下载 SSH 密钥的副本。如果您在后续阶段需要 SSH 密钥,请按照 第 13.9 节 “使用 SSH 连接到 Amazon EC2 实例” 中的步骤操作。
CLI 过程
使用
hammer compute-resource create命令创建连接。use-user和--password选项分别添加 access key 和 secret key。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.4. 将 HTTP 代理与计算资源搭配使用 复制链接链接已复制到粘贴板!
在某些情况下,您使用的 EC2 计算资源可能需要特定的 HTTP 代理与 Satellite 通信。在 Satellite 中,您可以创建 HTTP 代理,然后将 HTTP 代理分配给 EC2 计算资源。
但是,如果您在 Administer > Settings 中为 Satellite 配置 HTTP 代理,然后为计算资源添加另一个 HTTP 代理,则 Administer > Settings 中定义的 HTTP 代理具有优先权。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > HTTP Proxies,然后选择 New HTTP Proxy。
- 在 Name 字段中输入 HTTP 代理的名称。
- 在 URL 字段中输入 HTTP 代理的 URL,包括端口号。
- 可选:如果您的 HTTP 代理需要身份验证,请输入用户名和密码来向 HTTP 代理进行身份验证。
- 单击 Test Connection,以确保您可以从 Satellite 连接到 HTTP 代理。
- 点 Locations 标签页并添加一个位置。
- 点 Organization 标签页并添加一个机构。
- 点 Submit。
13.5. 为 Amazon EC2 创建镜像 复制链接链接已复制到粘贴板!
您可以从 Satellite 为 Amazon EC2 创建镜像。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择 Amazon EC2 供应商。
点 Create Image。
- 在 Name 字段中输入您的 EC2 镜像的有意义的和唯一名称。
- 从 Operating System 列表中,选择要与镜像关联的操作系统。
- 从 Architecture 列表中,选择要与镜像关联的架构。
- 在 Username 字段中,输入 SSH 到机器所需的用户名。
- 在 Image ID 字段中,输入 Amazon 或操作系统供应商提供的镜像 ID。
- 可选: 选择 User Data 复选框来启用对用户数据输入的支持。
- 可选:为创建此镜像时要使用的 Fog 设置 Iam 角色。
- 单击 Submit 以保存您对 Satellite 的更改。
13.6. 将 Amazon EC2 镜像添加到 Satellite 服务器 复制链接链接已复制到粘贴板!
Amazon EC2 使用基于镜像的调配来创建主机。您必须在 Satellite 服务器中添加镜像详情。这包括访问详情和镜像位置。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入 Infrastructure > Compute Resources 并选择 Amazon EC2 连接。
- 单击 Images 选项卡,然后单击 Create Image。
- 在 Name 字段中输入名称来标识镜像以供以后使用。
- 从 Operating System 列表中,选择与您要添加的镜像对应的操作系统。
- 从 Architecture 列表中,选择操作系统的架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。这通常是
root用户。 - 在 Password 字段中,输入镜像访问的 SSH 密码。
-
在 Image ID 字段中,输入镜像的 Amazon Machine Image (AMI) ID。这通常采用以下格式:
ami-xxxxxxxx。 -
可选:如果镜像支持用户数据输入,请选择 User Data 复选框,如
cloud-init数据。如果启用了用户数据,则会自动禁用 Finish 脚本。这也适用于反向:如果您启用了 Finish 脚本,则禁用用户数据。 - 可选:在 IAM 角色 字段中,输入用于创建镜像的 Amazon 安全角色。
- 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。使用--uuid字段在 Amazon EC2 服务器上存储镜像位置的完整路径。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.7. 将 Amazon EC2 详情添加到计算配置集 复制链接链接已复制到粘贴板!
您可以将 Amazon EC2 上实例的硬件设置添加到计算配置集中。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles,点您的配置集的名称,然后点 EC2 连接。
- 从 Flavor 列表中,选择 EC2 上的硬件配置文件,以用于主机。
- 从 Image 列表中,选择要用于基于镜像的调配的镜像。
- 从 Availability zone 列表中,选择要在所选 EC2 区域中使用的目标集群。
- 从 Subnet 列表,为 EC2 实例添加子网。如果您有一个用于置备新主机的 VPC,请使用其子网。
- 从 Security Groups 列表中,为要应用到主机的端口和 IP 地址选择基于云的访问规则。
-
从 Managed IP 列表中,选择
PublicIP 或PrivateIP。 - 单击 Submit 以保存计算配置文件。
CLI 过程
将 Amazon EC2 详情设置为计算配置集:
hammer compute-profile values create --compute-resource "My_Laptop" \ --compute-profile "My_Compute_Profile" \ --compute-attributes "flavor_id=1,availability_zone= My_Zone,subnet_id=1,security_group_ids=1,managed_ip=public_ip"
# hammer compute-profile values create --compute-resource "My_Laptop" \ --compute-profile "My_Compute_Profile" \ --compute-attributes "flavor_id=1,availability_zone= My_Zone,subnet_id=1,security_group_ids=1,managed_ip=public_ip"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.8. 在 Amazon EC2 上创建基于镜像的主机 复制链接链接已复制到粘贴板!
Amazon EC2 置备过程从 Amazon EC2 服务器上的现有镜像创建主机。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 EC2 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充基于虚拟机的设置。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。EC2 在调配期间为主机分配 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都填充了值。
- 点 Virtual Machine 选项卡,并确认所有字段都填充了值。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 点 Submit 保存您的更改。
此新主机条目将触发 Amazon EC2 服务器来创建实例,并将预先存在的镜像用作新卷的基础。
CLI 过程
使用
hammer host create命令创建主机,以及 include-provision-method 镜像,以使用基于镜像的置备。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
13.9. 使用 SSH 连接到 Amazon EC2 实例 复制链接链接已复制到粘贴板!
您可以使用 SSH 从 Satellite 服务器远程连接到 Amazon EC2 实例。但是,若要连接到您通过 Red Hat Satellite 置备的任何 Amazon Web Services EC2 实例,您必须首先访问与 Foreman 数据库中计算资源关联的私钥,并使用此密钥进行身份验证。
流程
要找到计算资源列表,在 Satellite 服务器基础系统上输入以下命令,并记下您要使用的计算资源的 ID:
hammer compute-resource list
# hammer compute-resource listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以
postgres用户身份连接到 Foreman 数据库:su - postgres -c psql foreman
# su - postgres -c psql foremanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从
compute_resource_id = 3的key_pairs中选择 secret:select secret from key_pairs where compute_resource_id = 3; secret
# select secret from key_pairs where compute_resource_id = 3; secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
从
-----BEGIN RSA PRIVATE KEY-----中复制密钥,直到-----END RSA PRIVATE KEY-----。 创建
.pem文件,并将密钥粘贴到文件中:vim Keyname.pem
# vim Keyname.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保限制对
.pem文件的访问:chmod 600 Keyname.pem
# chmod 600 Keyname.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要连接到 Amazon EC2 实例,请输入以下命令:
ssh -i Keyname.pem ec2-user@example.aws.com
ssh -i Keyname.pem ec2-user@example.aws.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.10. 为 Amazon Web Service EC2 环境配置完成模板 复制链接链接已复制到粘贴板!
您可以在 Amazon EC2 环境中置备 Red Hat Enterprise Linux 实例期间使用 Red Hat Satellite 完成模板。
如果要使用带有 SSH 的 Finish 模板,Satellite 必须位于 EC2 环境和正确的安全组中。Satellite 目前直接执行 SSH 完成调配,而不使用胶囊服务器。如果 Satellite 服务器不在 EC2 中,则 EC2 虚拟机会报告一个内部 IP,而不是它可以访问的必要外部 IP。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Provisioning Templates。
-
在 Provisioning Templates 页面中,在搜索字段中输入
Kickstart default finish并点 Search。 - 在 Kickstart default finish 模板上,选择 Clone。
- 在 Name 字段中输入模板的唯一名称。
在模板中,为每个需要
sudo权限的命令添加前缀,但subscription-manager 注册和yum命令除外,或者添加以下行,以 sudo 用户身份运行整个模板:sudo -s << EOS _Template_ _Body_ EOS
sudo -s << EOS _Template_ _Body_ EOSCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 单击 关联 选项卡,并将模板与您要使用的 Red Hat Enterprise Linux 操作系统关联。
- 单击 Locations 选项卡,并添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 进行任何其他自定义或您需要的更改,然后单击 Submit 以保存您的模板。
- 在 Satellite Web UI 中,进入到 Hosts > Operating systems,再选择您要用于主机的操作系统。
- 单击 Templates 选项卡,然后从 Finish Template 列表中选择您的完成模板。
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 单击 Parameters 选项卡,再导航到 Host parameters。
在 Host parameters 中,单击 Add Parameter two times 来添加两个新参数字段。添加以下参数:
-
在 Name 字段中输入
activation_keys。在对应的 Value 字段中输入您的激活码。 -
在 Name 字段中输入
remote_execution_ssh_user。在对应的 Value 字段中,输入ec2-user。
-
在 Name 字段中输入
- 点 Submit 以保存更改。
13.11. 删除 Amazon EC2 上的虚拟机 复制链接链接已复制到粘贴板!
您可以从 Satellite 中删除 Amazon EC2 上运行的虚拟机。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择 Amazon EC2 供应商。
- 在 Virtual Machines 选项卡中,从 Actions 菜单中点 Delete。这会在 Satellite 中保留任何关联的主机时,从 Amazon EC2 计算资源中删除虚拟机。如果要删除孤立的主机,进入 Hosts > All Hosts 并删除主机。
其他资源
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
13.12. 有关 Amazon Web Services 和 Satellite 的更多信息 复制链接链接已复制到粘贴板!
有关如何在 Amazon Web Services EC2 上找到红帽黄金镜像的详情,请参考 如何在 AWS EC2 上查找红帽云访问黄金镜像。
有关如何在 Linux 上安装和使用 Amazon Web Service Client 的详情,请参考 Amazon Web Services 文档中的在 Linux 上安装 AWS 命令行界面。
有关在 Amazon Web Services 中导入和导出虚拟机的详情,请参考 Amazon Web Services 文档中的 VM Import/Export。
第 14 章 在 Google Compute Engine 中置备云实例 复制链接链接已复制到粘贴板!
Satellite 可以与 Google Compute Engine (GCE)交互,包括创建新虚拟机并控制其电源管理状态。
您只能将红帽支持的金级镜像与 Satellite 搭配使用,以创建 GCE 主机。
先决条件
- 在 Satellite 上配置域和子网。有关网络要求的详情,请参考 第 3 章 配置网络。
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
- 在 GCE 项目中,使用所需的 IAM Compute 角色配置服务帐户。如需更多信息,请参阅 GCE 文档中的 Compute Engine IAM 角色。
-
在 GCE 项目范围元数据中,将
enable-oslogin设置为FALSE。如需更多信息,请参阅 GCE 文档中的启用或禁用操作系统登录。 -
可选:如果要将 Puppet 与 GCE 主机搭配使用,请导航到 Administer > Settings > Puppet 并启用
Use UUID for certificates设置,将 Puppet 配置为使用一致的 Puppet 证书 ID。 -
根据您的需要,将
finish或user_data自定义模板与您要使用的操作系统关联。如需更多信息,请参阅 置备主机 中的 置备模板。
14.1. 在 Satellite 服务器中添加 Google GCE 连接 复制链接链接已复制到粘贴板!
使用这个流程将 Google Compute Engine (GCE)添加为 Satellite 中的计算资源。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Google GCE 中,以 JSON 格式生成服务帐户密钥。如需更多信息,请参阅 GCE 文档中的 创建和管理服务帐户密钥。
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,再点 Create Compute Resource。
- 在 Name 字段中输入计算资源的名称。
- 从 Provider 列表中,选择 Google。
- 可选:在 Description 字段中输入资源的描述。
- 在 JSON key 字段中,点 Choose File 并找到您的服务帐户密钥,以便从本地机器上传。
- 点 Load Zones 以填充 GCE 环境中的区列表。
- 在 Zone 列表中,选择要使用的 GCE 区域。
- 点 Submit。
CLI 过程
- 在 Google GCE 中,以 JSON 格式生成服务帐户密钥。如需更多信息,请参阅 GCE 文档中的 创建和管理服务帐户密钥。
将文件从本地机器复制到 Satellite 服务器:
scp My_GCE_Key.json root@satellite.example.com:/etc/foreman/My_GCE_Key.json
# scp My_GCE_Key.json root@satellite.example.com:/etc/foreman/My_GCE_Key.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,将服务帐户密钥的所有者改为
foreman用户:chown root:foreman /etc/foreman/My_GCE_Key.json
# chown root:foreman /etc/foreman/My_GCE_Key.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,为您的服务帐户密钥配置权限,以确保该文件可读:
chmod 0640 /etc/foreman/My_GCE_Key.json
# chmod 0640 /etc/foreman/My_GCE_Key.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,为您的服务帐户密钥恢复 SELinux 上下文:
restorecon -vv /etc/foreman/My_GCE_Key.json
# restorecon -vv /etc/foreman/My_GCE_Key.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hammer compute-resource create命令在 Satellite 中添加 GCE 计算资源:hammer compute-resource create \ --key-path "/etc/foreman/My_GCE_Key.json" \ --name "My_GCE_Compute_Resource" \ --provider "gce" \ --zone "My_Zone"
# hammer compute-resource create \ --key-path "/etc/foreman/My_GCE_Key.json" \ --name "My_GCE_Compute_Resource" \ --provider "gce" \ --zone "My_Zone"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.2. 在 Satellite 服务器中添加 Google Compute Engine 镜像 复制链接链接已复制到粘贴板!
要使用基于镜像的置备创建主机,您必须将有关镜像的信息(如访问详情和镜像位置)添加到 Satellite 服务器。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,然后点 Google Compute Engine 连接的名称。
- 点 Create Image。
- 在 Name 字段中输入镜像的名称。
- 从 Operating System 列表中,选择镜像的基础操作系统。
- 从 Architecture 列表中,选择操作系统架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。指定
root以外的用户,因为root用户无法使用 SSH 密钥连接到 GCE 实例。用户名必须以字母开头,并且包含小写字母和数字。 - 从 Image 列表中,从 Google Compute Engine 计算资源中选择一个镜像。
-
可选:如果镜像支持用户数据输入,请选择 User Data 复选框,如
cloud-init数据。 - 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。使用the-username选项时,指定root以外的用户,因为root用户无法使用 SSH 密钥连接到 GCE 实例。用户名必须以字母开头,并且包含小写字母和数字。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.3. 在计算配置集中添加 Google GCE 详情 复制链接链接已复制到粘贴板!
使用这个流程将 Google GCE 硬件设置添加到计算配置集。当您使用此计算配置集在 Google GCE 上创建主机时,这些设置会被自动填充。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles。
- 在 Compute Profiles 窗口中,单击现有计算配置文件的名称,或者单击 Create Compute Profile,输入 Name,然后单击 Submit。
- 单击 GCE 计算资源的名称。
- 从 Machine Type 列表中,选择要用于置备的机器类型。
- 从 Image 列表中,选择要调配的镜像。
- 从 Network 列表中,选择用于置备的 Google GCE 网络。
- 可选: 选择 关联临时外部 IP 复选框来分配 Satellite 用于与主机通信的动态临时 IP 地址。重启主机时此公共 IP 地址会改变。如果您需要永久 IP 地址,请在 Google GCE 上保留静态公共 IP 地址,并将其附加到主机。
- 在 Size (GB) 字段中,输入要在主机上创建的存储大小。
- 单击 Submit 以保存计算配置文件。
CLI 过程
创建用于 Google GCE 计算资源的计算配置集:
hammer compute-profile create --name My_GCE_Compute_Profile
# hammer compute-profile create --name My_GCE_Compute_ProfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 compute 配置集中添加 GCE 详情:
hammer compute-profile values create \ --compute-attributes "machine_type=f1-micro,associate_external_ip=true,network=default" \ --compute-profile "My_GCE_Compute_Profile" \ --compute-resource "My_GCE_Compute_Resource" \ --volume "size_gb=20"
# hammer compute-profile values create \ --compute-attributes "machine_type=f1-micro,associate_external_ip=true,network=default" \ --compute-profile "My_GCE_Compute_Profile" \ --compute-resource "My_GCE_Compute_Resource" \ --volume "size_gb=20"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.4. 在 Google Compute Engine 上创建基于镜像的主机 复制链接链接已复制到粘贴板!
在 Satellite 中,您可以使用 Google Compute Engine 置备从现有镜像创建主机。新主机条目将触发 Google Compute Engine 服务器,以使用预先存在的镜像作为新卷的基础来创建实例。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 Google Compute Engine 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充虚拟机设置。
- 从 Lifecycle Environment 列表中,选择环境。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。Google Compute Engine 在置备过程中为主机分配 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- Domain 字段填充了所需的域。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都自动包含值。
- 单击 Provisioning 模板中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
- 单击 Virtual Machine 选项卡,并确认这些设置填充了主机组和计算配置文件的详细信息。根据您的需要修改这些设置。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 单击 Submit 以保存主机条目。
CLI 过程
使用
hammer host create命令创建主机,以及 include-provision-method 镜像。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
14.5. 删除 Google GCE 上的虚拟机 复制链接链接已复制到粘贴板!
您可以删除在 Satellite Server 上的 Google GCE 上运行的虚拟机。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择 Google GCE 供应商。
- 在 Virtual Machines 选项卡中,从 Actions 菜单中点 Delete。这会在 Satellite 中保留任何关联的主机时,从 Google GCE 计算资源中删除虚拟机。如果要删除孤立的主机,进入 Hosts > All Hosts 并删除主机。
其他资源
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
第 15 章 在 Microsoft Azure Resource Manager 中置备云实例 复制链接链接已复制到粘贴板!
Satellite 可以与 Microsoft Azure 资源管理器交互,包括创建新虚拟机并控制其电源管理状态。仅支持基于镜像的调配来创建 Azure 主机。这包括使用 Marketplace 镜像、自定义镜像和共享镜像 gallery 进行置备。
有关 Azure Resource Manager 概念的更多信息,请参阅 Azure Resource Manager 文档。
先决条件
- 您可以将同步的内容存储库用于 Red Hat Enterprise Linux。如需更多信息 ,请参阅管理内容中的 同步存储库。
- 为主机注册提供激活码。如需更多信息,请参阅管理内容中的创建激活码 。
- 确保具有创建 Azure Active Directory 应用程序的正确权限。如需更多信息,请参阅 Microsoft 身份平台( Azure Active Directory)文档中的检查 Azure AD 权限。
- 您必须创建和配置 Azure Active Directory 应用程序和服务原则,以获取应用程序或 客户端 ID、目录 或租户 ID 和 Client Secret。如需更多信息,请参阅使用 门户创建一个 Azure AD 应用程序和服务主体,用于访问 Microsoft 身份平台(面向开发人员的Azure Active Directory) 文档中的资源。
-
可选:如果要将 Puppet 与 Azure 主机搭配使用,请导航到 Administer > Settings > Puppet 并启用
Use UUID for certificates设置,将 Puppet 配置为使用一致的 Puppet 证书 ID。 -
根据您的需要,将
finish或user_data自定义模板与您要使用的操作系统关联。有关自定义模板的更多信息,请参阅置备模板。 - 可选: 如果您希望虚拟机使用静态私有 IP 地址,请在 Satellite 中创建一个与 Azure 子网地址匹配的 Network Address 字段的子网。
- 在创建 RHEL BYOS 镜像前,您必须接受 Azure CLI 或门户中的镜像术语,以便该镜像可用于为您的订阅创建和管理虚拟机。
使用这个流程将 Microsoft Azure 添加为 Satellite 中的计算资源。请注意,您必须为要使用的每个 Microsoft Azure 区域添加单独的计算资源。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,再点 Create Compute Resource。
- 在 Name 字段中输入计算资源的名称。
- 从 Provider 列表中,选择 Azure Resource Manager。
- 可选:在 Description 字段中输入资源的描述。
默认情况下,Cloud 设置为 Public/Standard。Azure Government Cloud 支持以下区域:
- 美国政府
- 中国
- 德国
- 在 Client ID 字段中,输入应用程序或 客户端 ID。
- 在 Client Secret 字段中,输入您的客户端 secret。
- 在 Subscription ID 字段中,输入您的订阅 ID。
- 在 Tenant ID 字段中,输入您的 Directory 或 租户 ID。
- 单击 Load Regions。这会测试您与 Azure Resource Manager 的连接是否成功,并载入您的订阅中可用的区域。
- 从 Azure Region 列表中,选择要使用的 Azure 区域。
- 点 Submit。
CLI 过程
使用
hammer compute-resource create将 Azure 计算资源添加到 Satellite。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,--
region选项的值必须小写,且不得包含特殊字符。
如果使用 Azure Government Cloud,则必须传递至 云 参数。cloud 参数的值有:
| Azure Government Cloud 的名称 | hammer --cloud 的值 |
|---|---|
| 美国政府 | azureusgovernment |
| 中国 | azurechina |
| 德国 | azuregermancloud |
要使用基于镜像的置备创建主机,您必须将有关镜像的信息(如访问详情和镜像位置)添加到 Satellite 服务器。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources,点 Microsoft Azure Resource Manager 连接的名称。
- 点 Create Image。
- 在 Name 字段中输入镜像的名称。
- 从 Operating System 列表中,选择镜像的基础操作系统。
- 从 Architecture 列表中,选择操作系统架构。
-
在 Username 字段中,输入用于镜像访问的 SSH 用户名。您不能使用
root用户。 - 可选:在 Password 字段中输入要进行身份验证的密码。
在 Azure Image Name 字段中输入镜像名称,格式为
prefix://UUID。-
对于自定义镜像,请使用前缀
custom。例如,custom://image-name。 -
对于共享 gallery 镜像,请使用前缀
gallery。例如,g allery://Templates/image-name。 对于公共和 RHEL 自带订阅(BYOS)镜像,请使用前缀
marketplace。例如,marketplace://OpenLogicCentOS:7.5:latest。如需更多信息,请参阅使用 Azure CLI 在 Azure Marketplace 中查找 Linux 虚拟机镜像。
-
对于自定义镜像,请使用前缀
-
可选:如果镜像支持用户数据输入,请选择 User Data 复选框,如
cloud-init数据。 - 点 Submit 保存镜像详情。
CLI 过程
使用
hammer compute-resource image create命令创建镜像。请注意,您为镜像输入的用户名必须与使用此镜像创建主机时使用的用户名相同。在创建镜像时,--password选项是可选的。您不能使用root用户。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.3. 在计算配置集中添加 Microsoft Azure Resource Manager 详情 复制链接链接已复制到粘贴板!
使用这个流程将 Microsoft Azure 硬件设置添加到计算配置集。当您使用此计算配置集在 Microsoft Azure 上创建主机时,这些设置会被自动填充。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Profiles。
- 在 Compute Profiles 窗口中,单击现有计算配置文件的名称,或者单击 Create Compute Profile,输入 Name,然后单击 Submit。
- 点 Azure 计算资源的名称。
- 从 Resource group 列表中,选择要置备的资源组。
- 在 VM Size 列表中,选择要置备的虚拟机的大小。
- 从 Platform 列表中,选择 Linux。
- 在 Username 字段中,输入要进行身份验证的用户名。请注意,您为计算配置集输入的用户名必须与您在创建镜像时使用的用户名相同。
要验证用户,请使用以下选项之一:
- 要使用密码进行身份验证,请在 Password 字段中输入密码。
- 要使用 SSH 密钥进行身份验证,请在 SSH Key 字段中输入 SSH 密钥。
- 可选: 如果您希望虚拟机使用高级虚拟机磁盘,请选中 Premium OS Disk 复选框。
- 从 OS Disk Caching 列表中,选择磁盘缓存设置。
- 可选:在 Custom Script Command 字段中,输入在置备虚拟机时在虚拟机上执行的命令。
-
可选: 如果您要在置备完成后运行自定义脚本,在 Comma separated file URIs 字段中输入以逗号分隔的文件 URI 来使用的脚本。脚本必须包含
sudo,因为 Red Hat Satellite 将文件下载到主机和脚本上的/var/lib/waagent/custom-script/download/0/目录中。 可选: 您可以通过选择 NVIDIA 驱动程序 / CUDA 复选框来添加 NVIDIA 驱动程序。如需更多信息,请参阅以下 Microsoft Azure 文档:
可选: 如果要在虚拟机上创建额外卷,点 Add Volume 按钮,输入 Size in GB,然后选择 Data Disk Caching method。
- 请注意,这些磁盘的最大数量取决于所选的 VM Size。有关 Microsoft Azure VM 存储要求的更多信息,请参阅 Microsoft Azure 文档。
点 Add Interface。
重要最大接口数量取决于所选的虚拟机大小。如需更多信息,请参阅上面的 Microsoft Azure 文档链接。
- 从 Azure Subnet 列表中,选择要置备的 Azure 子网。
- 从 Public IP 列表中,选择公共 IP 设置。
- 可选: 如果您希望虚拟机使用静态私有 IP,请选择 Static Private IP 复选框。
- 点 Submit。
CLI 过程
创建用于 Azure Resource Manager 计算资源的计算配置集:
hammer compute-profile create --name compute_profile_name
# hammer compute-profile create --name compute_profile_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Azure 详情添加到计算配置集。使用用户名设置,输入用于镜像访问的 SSH 用户名。
请注意,您为计算配置集输入的用户名必须与您在创建镜像时使用的用户名相同。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果要在置备后在虚拟机上运行脚本,请指定以下设置:
-
要直接输入脚本,使用
script_command设置,输入要在置备的虚拟机上执行的命令。 -
要从 URI 运行脚本,使用
script_uris设置,请输入以逗号分隔的脚本 URI。脚本必须包含sudo,因为 Red Hat Satellite 将文件下载到主机上的/var/lib/waagent/custom-script/download/0/目录中,因此脚本需要执行 sudo 权限。
-
要直接输入脚本,使用
15.4. 在 Microsoft Azure Resource Manager 上创建基于镜像的主机 复制链接链接已复制到粘贴板!
在 Satellite 中,您可以使用 Microsoft Azure Resource Manager 置备从现有镜像创建主机。新主机条目将触发 Microsoft Azure Resource Manager 服务器,以使用预先存在的镜像作为新卷的基础来创建实例。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Create Host。
- 在 Name 字段中输入主机的名称。
- 可选:点 Organization 选项卡,并更改机构上下文以符合您的要求。
- 可选:点 Location 选项卡并更改位置上下文以符合您的要求。
- 从 Host Group 列表中,选择要将主机分配到的主机组。该主机组将填充表单。
- 从 Deploy on 列表中,选择 Microsoft Azure Resource Manager 连接。
- 从 Compute Profile 列表中,选择一个配置文件,用于自动填充虚拟机设置。
- 从 Lifecycle Environment 列表中,选择环境。
- 单击 接口选项卡,在主机的接口上单击 编辑。
验证这些字段是否填充了值。请特别注意:
- Satellite 自动为新主机分配 IP 地址。
- 确保 MAC address 字段为空。Microsoft Azure Resource Manager 在置备过程中为主机分配一个 MAC 地址。
- Host 选项卡中的 Name 变为 DNS 名称。
- Azure Subnet 字段填充所需的 Azure 子网。
- 可选:如果要使用静态专用 IP 地址,请从 IPv4 Subnet 列表中选择与 Azure 子网地址匹配的 Network Address 字段的 Satellite 子网。在 IPv4 Address 字段中输入 Azure 子网范围内的 IPv4 地址。
- 确保 Satellite 自动为主机上的第一个接口选择 Managed、Primary 和 Provision 选项。如果没有,请选择它们。
- 单击确定以 保存。要添加另一个接口,请单击 Add Interface。您只能为 Provision 和 Primary 选择一个接口。
- 单击 Operating System 选项卡,并确认所有字段都自动包含值。
- 对于 Provisioning Method,请确保选择了 基于镜像的。
- 从 Image 列表中,选择您要用于置备的 Azure Resource Manager 镜像。
- 在 Root Password 字段中,输入要进行身份验证的 root 密码。
- 单击 Provisioning 模板中的 Resolve,以检查新主机是否可以识别要使用的正确置备模板。
- 单击 Virtual Machine 选项卡,并确认这些设置填充了主机组和计算配置文件的详细信息。根据您的需要修改这些设置。
-
在 Parameters 选项卡中,单击 Add parameter。添加名为
kt_activation_keys的参数,选择字符串类型,并输入激活码的名称作为值。激活密钥必须属于与您的主机相同的组织。您还可以输入以逗号分隔的多个激活码列表。 - 单击 Submit 以保存主机条目。
CLI 过程
使用
hammer host create命令创建主机,以及 include-provision-method 镜像。将以下示例中的值替换为您的环境的适当值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关此计算资源的额外主机创建参数的更多信息,请输入 hammer host create --help 命令。
15.5. 删除 Microsoft Azure 上的虚拟机 复制链接链接已复制到粘贴板!
您可以从 Satellite 中删除 Microsoft Azure 上运行的虚拟机。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Compute Resources。
- 选择 Microsoft Azure provider。
- 在 Virtual Machines 选项卡中,从 Actions 菜单中点 Delete。这会在 Satellite 中保留任何关联的主机时,从 Microsoft Azure 计算资源中删除虚拟机。如果要删除孤立的主机,进入 Hosts > All Hosts 并删除主机。
其他资源
- 您可以将 Satellite 配置为在删除主机时删除关联的虚拟机。如需更多信息,请参阅 第 2.22 节 “删除主机时删除虚拟机”。
附录 A. 用于置备示例的初始化脚本 复制链接链接已复制到粘贴板!
如果您没有遵循 管理内容 中的示例,您可以使用以下初始化脚本创建置备示例的环境。
流程
创建一个脚本文件(
content-init.sh),并包含以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在脚本中设置可执行权限:
chmod +x content-init.sh
# chmod +x content-init.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从红帽客户门户网站下载 Red Hat Subscription Manifest 的副本,并在清单上运行脚本:
./content-init.sh manifest_98f4290e-6c0b-4f37-ba79-3a3ec6e405ba.zip
# ./content-init.sh manifest_98f4290e-6c0b-4f37-ba79-3a3ec6e405ba.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow 本指南导入置备示例所需的红帽内容。
附录 B. 置备 FIPS 兼容主机 复制链接链接已复制到粘贴板!
Satellite 支持调配主机,符合国家标准与技术安全要求 对 Cryptographic 模块标准的安全要求,参考数字 FIPS 140-2,这里称为 FIPS 140-2。
要启用与 FIPS 兼容的主机置备,请完成以下任务:
- 更改操作系统的调配密码哈希算法
- 创建主机组并设置主机组参数以启用 FIPS
如需更多信息,请参阅管理主机中的 创建 主机组 。
置备的主机应用了 FIPS 兼容设置。要确认启用了这些设置,请完成 第 B.3 节 “验证启用了 FIPS 模式” 中的步骤。
B.1. 更改调配密码哈希算法 复制链接链接已复制到粘贴板!
要置备 FIPS 兼容主机,您必须首先将置备中使用的密码哈希算法设置为 SHA256。这个配置设置必须应用于您要部署为 FIPS 的每个操作系统。
流程
确定操作系统 ID:
hammer os list
# hammer os listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新每个操作系统的密码哈希值。
hammer os update \ --password-hash SHA256 --title "My_Operating_System"
# hammer os update \ --password-hash SHA256 --title "My_Operating_System"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,您无法使用以逗号分隔的值列表。
B.2. 设置启用了 FIPS 的参数 复制链接链接已复制到粘贴板!
要置备兼容 FIPS 的主机,您必须创建一个主机组,并将主机组参数 fips_enabled 设置为 true。如果这未设为 true,或者没有设置,则特定于 FIPS 的更改将不适用于系统。您可在置备主机或主机组时设置此参数。
要在置备主机时设置此参数,请将 append- parameters fips_enabled=true 附加到 Hammer 命令中。
hammer hostgroup set-parameter \ --hostgroup "My_Host_Group" \ --name fips_enabled \ --value "true"
# hammer hostgroup set-parameter \
--hostgroup "My_Host_Group" \
--name fips_enabled \
--value "true"
如需更多信息,请参阅命令 hammer hostgroup set-parameter --help 的输出。
B.3. 验证启用了 FIPS 模式 复制链接链接已复制到粘贴板!
要验证这些 FIPS 合规更改是否成功,您必须置备主机并检查其配置。
流程
-
以
root或管理员级别帐户登录主机。 使用以下命令:
cat /proc/sys/crypto/fips_enabled
$ cat /proc/sys/crypto/fips_enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 值
1确认启用了 FIPS 模式。
附录 C. 为 Red Hat Satellite 构建应用程序镜像 复制链接链接已复制到粘贴板!
使用本节在 Red Hat Satellite 中构建并注册镜像。
您可以使用预配置的 Red Hat Enterprise Linux KVM 客户机 QCOW2 镜像:
这些镜像包含 cloud-init。要正常工作,它们必须使用 ec2 兼容元数据服务来调配 SSH 密钥。
对于 KVM 客户机镜像:
-
镜像中的
root帐户被禁用,但sudo访问权限被赋予一个名为cloud-user的特殊用户。 -
此映像没有设置
root密码。通过将!!放置到第二个字段中,将root密码锁定在/etc/shadow中。
如果要创建自定义 Red Hat Enterprise Linux 镜像,请参阅 制作自定义的 Red Hat Enterprise Linux 9 镜像或 编写自定义的 Red Hat Enterprise Linux 8 镜像。
C.1. 创建自定义 Red Hat Enterprise Linux 镜像 复制链接链接已复制到粘贴板!
先决条件
- 使用 Linux 主机来创建镜像。在这个示例中,我们使用 Red Hat Enterprise Linux 7 Workstation。
-
在工作站上使用
virt-manager完成此步骤。如果在远程服务器上创建镜像,请使用virt-manager从工作站连接到服务器。 - Red Hat Enterprise Linux 7 ISO 文件(请参阅 Red Hat Enterprise Linux 7.4 Binary DVD)。
有关安装 Red Hat Enterprise Linux 工作站的详情,请查看 Red Hat Enterprise Linux 7 安装指南。
在创建自定义镜像前,请安装以下软件包:
安装
libvirt、qemu-kvm和图形工具:yum install virt-manager virt-viewer libvirt qemu-kvm
# yum install virt-manager virt-viewer libvirt qemu-kvmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装以下命令行工具:
yum install virt-install libguestfs-tools-c
# yum install virt-install libguestfs-tools-cCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在以下步骤中,在托管 libvirt 环境的工作站上输入 [root@host] disaster 提示的所有命令。
C.2. 注册中支持的客户端 复制链接链接已复制到粘贴板!
Satellite 支持以下操作系统和架构以进行注册。
- 支持的主机操作系统
主机可以使用以下操作系统:
- Red Hat Enterprise Linux 9 和 8
- 带有 ELS 附加组件的 Red Hat Enterprise Linux 7
- 支持的主机架构
主机可以使用以下构架:
- AMD 和 Intel 64 位构架
- 64 位 ARM 架构
- IBM Power Systems, Little Endian
- 64 位 IBM Z 架构
C.3. 配置主机以进行注册 复制链接链接已复制到粘贴板!
配置主机以注册到 Satellite 服务器或胶囊服务器。您可以使用配置管理工具一次性配置多个主机。
先决条件
- 主机必须使用受支持的操作系统。如需更多信息,请参阅 第 C.2 节 “注册中支持的客户端”。
- Satellite 服务器上的系统时钟和任何胶囊服务器都必须在网络间同步。如果系统时钟没有同步,SSL 证书验证可能会失败。例如,您可以使用 Chrony 来管理时间。
流程
在您的主机上启用并启动时间同步工具。主机必须与与 Satellite 服务器和任何胶囊服务器相同的 NTP 服务器同步。
systemctl enable --now chronyd
# systemctl enable --now chronydCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在主机上部署 SSL CA 文件,以便主机可以进行安全注册调用。
- 进入 Administer > Settings > Authentication 并查找 SSL CA 文件设置的值,查找 Satellite 存储 SSL CA 文件 文件的位置。
-
安全地将 SSL CA 文件传输到您的主机,例如使用
scp。 - 使用 SSH 登录您的主机。
将证书复制到信任存储中:
cp My_SSL_CA_file.pem /etc/pki/ca-trust/source/anchors
# cp My_SSL_CA_file.pem /etc/pki/ca-trust/source/anchorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新信任存储:
update-ca-trust
# update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow
C.4. 注册主机 复制链接链接已复制到粘贴板!
您可以使用注册模板注册主机,并在注册过程中设置各种集成功能和主机工具。
先决条件
- 您的 Satellite 帐户已分配有 Register hosts 角色,或者分配有等效权限的角色。
- 您必须在要注册的主机上具有 root 权限。
- 您已配置了主机以进行注册。如需更多信息,请参阅 第 C.3 节 “配置主机以进行注册”。
- 主机必须有激活码。如需更多信息,请参阅管理内容中的管理激活码。
-
可选:如果要将主机注册到 Red Hat Insights,您必须同步
rhel-8-for-x86_64-baseos-rpms和rhel-8-for-x86_64-appstream-rpms存储库,并在您使用的激活码中提供它们。这是在主机上安装insights-client软件包所必需的。 - 用于主机的操作系统的 Red Hat Satellite Client 6 存储库在 Satellite 服务器上同步,并在您使用的激活码中启用。如需更多信息,请参阅管理内容中的导入内容。远程执行拉取客户端、Puppet 代理、跟踪器和其他工具需要此存储库。
如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了胶囊服务器。
重要必须将您的胶囊服务器添加到 Satellite 服务器上的可信代理列表中!
如需更多信息,请参阅 安装 Capsule 服务器 中的 为主机注册配置 Capsule 和置备。
- 如果您的 Satellite 服务器或胶囊服务器位于 HTTP 代理后面,请将主机上的 Subscription Manager 配置为使用 HTTP 代理进行连接。如需更多信息,请参阅 红帽知识库 中的 如何通过防火墙或代理访问 Red Hat Subscription Manager (RHSM)。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Register Host。
- 输入有关如何配置注册主机的详情。
- 在 General 选项卡中,在 Activation Keys 字段中输入分配给主机的一个或多个激活码。
-
点 Generate 生成
curl命令。 -
以
root用户身份在您要注册的主机上运行curl命令。注册完成后,您在配置注册模板时指定的主机组的任何 Ansible 角色都将在主机上运行。
您可以指定的注册详情包括:
- 在 General 选项卡中,您可以选择 Capsule 字段中要注册主机。负载均衡器后面的 Capsule 优先于 Satellite Web UI 中选择的 Capsule 作为主机的内容源。
在 General 选项卡中,您可以选择 Insecure 选项,使第一个调用不安全。在此第一次调用期间,主机会从 Satellite 下载 CA 文件。主机将使用此 CA 文件连接到 Satellite,并在以后的所有调用都保证它们的安全。
红帽建议您避免不安全的调用。
如果攻击者位于 Satellite 和主机之间的网络中,从第一个不安全的调用中获取 CA 文件,攻击者可以访问对注册的主机和 JSON Web 令牌(JWT)的 API 调用的内容。因此,如果您选择在注册过程中部署 SSH 密钥,攻击者可以使用 SSH 密钥访问主机。
- 在 Advanced 标签页的 Repositories 字段中,您可以在执行注册前列出要添加的存储库。如果您在激活码中提供软件仓库,则不必指定软件仓库。
在 Advanced 选项卡中,在 Token lifetime (小时) 字段中,您可以更改 Satellite 用于身份验证的 JSON Web Token (JWT)的有效性持续时间。此令牌的持续时间定义生成的
curl命令的工作方式。请注意,Satellite 将生成
curl命令的用户的权限应用到主机的授权。如果用户丢失或获得额外的权限,则 JWT 的权限也会改变。因此,不要在令牌期间删除、阻止或更改用户的权限。JWT 的范围仅限于注册端点,且不能在其它任何位置使用。
CLI 过程
-
使用
hammer host-registration generate-command生成curl命令以注册主机。 -
在您要注册的主机上,以
root用户身份运行curl命令。
如需更多信息,请参阅使用 hammer host-registration generate-command --help 的 Hammer CLI 帮助。
Ansible 流程
-
使用
redhat.satellite.registration_command模块。
如需更多信息,请参阅 ansible-doc redhat.satellite.registration_command 的 Ansible 模块文档。
API 流程
-
使用
POST /api/registration_commands资源。
如需更多信息,请参阅 https://satellite.example.com/apidoc/v2.html 的完整 API 参考。
C.5. 手动安装和配置 Puppet 代理 复制链接链接已复制到粘贴板!
您可以手动在主机上安装和配置 Puppet 代理。主机上需要配置了 Puppet 代理,才能与您的 Satellite 集成。有关 Puppet 的更多信息,请参阅使用 Puppet 集成管理配置。
先决条件
- Puppet 必须在您的卫星中启用。如需更多信息,请参阅使用 Puppet 集成管理配置中的启用 Puppet 与 Satellite 集成。
- 主机必须分配有 Puppet 环境。
- 用于主机的操作系统的 Red Hat Satellite Client 6 存储库已同步到 Satellite 服务器上,可在内容视图和主机的生命周期环境中同步,并为主机启用。如需更多信息, 请参阅管理内容 中的更改 Satellite 中的主机存储库设置状态。
流程
-
以
root用户身份登录主机。 安装 Puppet 代理软件包。
在运行 Red Hat Enterprise Linux 8 及更高版本的主机上:
dnf install puppet-agent
# dnf install puppet-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在运行 Red Hat Enterprise Linux 7 及更早版本的主机上:
yum install puppet-agent
# yum install puppet-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下脚本,将 Puppet 代理添加到当前 shell 中的
PATH中:. /etc/profile.d/puppet-agent.sh
. /etc/profile.d/puppet-agent.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 Puppet 代理。将
environment参数设置为主机所属的 Puppet 环境的名称:puppet config set server satellite.example.com --section agent puppet config set environment My_Puppet_Environment --section agent
# puppet config set server satellite.example.com --section agent # puppet config set environment My_Puppet_Environment --section agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 Puppet 代理服务:
puppet resource service puppet ensure=running enable=true
# puppet resource service puppet ensure=running enable=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为主机创建证书:
puppet ssl bootstrap
# puppet ssl bootstrapCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Satellite Web UI 中,进入到 Infrastructure > Capsules。
- 从所需胶囊服务器的 Actions 列中的列表中,选择 Certificates。
- 单击所需主机右侧的 Sign to,为 Puppet 代理签署 SSL 证书。
在主机上再次运行 Puppet 代理:
puppet ssl bootstrap
# puppet ssl bootstrapCopy to Clipboard Copied! Toggle word wrap Toggle overflow
C.6. 完成 Red Hat Enterprise Linux 7 镜像 复制链接链接已复制到粘贴板!
流程
更新系统:
yum update
# yum updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
cloud-init软件包:yum install cloud-utils-growpart cloud-init
# yum install cloud-utils-growpart cloud-initCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开
/etc/cloud/cloud.cfg配置文件:vi /etc/cloud/cloud.cfg
# vi /etc/cloud/cloud.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在标题
cloud_init_modules下添加:- resolv-conf
- resolv-confCopy to Clipboard Copied! Toggle word wrap Toggle overflow resolv-conf选项在第一次启动时自动配置resolv.conf。此文件包含与实例相关的信息,如名称服务器、域和其他选项。打开
/etc/sysconfig/network文件:vi /etc/sysconfig/network
# vi /etc/sysconfig/networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加以下行以避免访问 EC2 元数据服务时出现问题:
NOZEROCONF=yes
NOZEROCONF=yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 取消注册虚拟机,以便生成的镜像不包含基于该虚拟机克隆的每个实例的相同订阅详情:
subscription-manager repos --disable=* subscription-manager unregister
# subscription-manager repos --disable=* # subscription-manager unregisterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 关闭实例:
poweroff
# poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 工作站中,以 root 用户身份连接到终端,并导航到
/var/lib/libvirt/images/目录:cd /var/lib/libvirt/images/
# cd /var/lib/libvirt/images/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virt-sysprep命令重置和清理镜像,以便它可用于在没有问题的情况下创建实例:virt-sysprep -d rhel7
# virt-sysprep -d rhel7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virt-sparsify命令减少镜像大小。这个命令将磁盘镜像中的任何可用空间重新转换为主机中的可用空间:virt-sparsify --compress rhel7.qcow2 rhel7-cloud.qcow2
# virt-sparsify --compress rhel7.qcow2 rhel7-cloud.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会在您进入命令的位置创建一个新的
rhel7-cloud.qcow2文件。
C.7. 后续步骤 复制链接链接已复制到粘贴板!
- 对您要使用 Satellite 置备的每个镜像重复这个过程。
- 将镜像移动到您要存储的位置,以备将来使用。
附录 D. 主机参数层次结构 复制链接链接已复制到粘贴板!
您可以在置备主机时访问主机参数。主机从以下位置继承其参数,以增加优先级顺序:
| 参数级别 | 在 Satellite Web UI 中设置 |
|---|---|
| 全局定义的参数 | 配置 > Global 参数 |
| 机构级别参数 | 管理 > 机构 |
| 位置级别参数 | 管理 > Locations |
| 域级别参数 | Infrastructure > Domains |
| 子网级别参数 | Infrastructure > Subnets |
| 操作系统级别参数 | hosts > Provisioning Setup > Operating Systems |
| 主机组级别参数 | 配置 > Host Groups |
| 主机参数 | hosts > All Hosts |
附录 E. 置备主机所需的权限 复制链接链接已复制到粘贴板!
以下列表概述了非管理员用户调配主机所需的权限。
| 资源名称 | 权限 | 其它详情 |
|---|---|---|
| 激活码 | view_activation_keys | |
| Ansible 角色 | view_ansible_roles | 如果使用 Ansible,则需要此项。 |
| 架构 | view_architectures | |
| Compute 配置集 | view_compute_profiles | |
| 计算资源 | view_compute_resources, create_compute_resources, destroy_compute_resources, power_compute_resources | 需要置备裸机主机。 |
| view_compute_resources_vms, create_compute_resources_vms, destroy_compute_resources_vms, power_compute_resources_vms | 需要置备虚拟机。 | |
| 内容视图 | view_content_views | |
| 域 | view_domains | |
| 环境 | view_environments | |
| 主机 | view_hosts, create_hosts, edit_hosts, destroy_hosts, build_hosts, power_hosts, play_roles_on_host | |
| view_discovered_hosts, submit_discovered_hosts, auto_provision_discovered_hosts, provision_discovered_hosts, edit_discovered_hosts, destroy_discovered_hosts | 如果启用了 Discovery 服务,则需要此项。 | |
| hostgroup | view_hostgroups, create_hostgroups, edit_hostgroups, play_roles_on_hostgroup | |
| Image | view_images | |
| 生命周期环境 | view_lifecycle_environments | |
| 位置 | view_locations | |
| Medium | view_media | |
| OperatingSystem | view_operatingsystems | |
| 机构(Organization) | view_organizations | |
| 参数 | view_params, create_params, edit_params, destroy_params | |
| 产品和软件仓库 | view_products | |
| 置备模板 | view_provisioning_templates | |
| Ptable | view_ptables | |
| Capsule | view_smart_proxies, view_smart_proxies_puppetca | |
| view_openscap_proxies | 如果启用了 OpenSCAP 插件,则需要此项。 | |
| subnet | view_subnets |