6.19. Red Hat Enterprise Linux 系统角色
支持新的 ha_cluster
系统角色功能
ha_cluster
系统角色现在支持以下功能:
- 为节点和原语资源配置 utilization 属性。
-
使用
ha_cluster_node_options
变量配置节点地址和 SBD 选项。如果同时定义了ha_cluster_node_options
和ha_cluster
变量,则会合并它们的值,ha_cluster_node_options
的值具有优先权。 - 配置访问控制列表(ACL)。
- 当集群事件,如节点失败或发生资源启动或停止时,将 Pacemaker 警报配置为采取外部操作。
-
通过将
ha_cluster_install_cloud_agents
变量设置为true
,为云环境轻松安装代理。
Jira:RHEL-34893[1], JIRA:RHEL-34894, JIRA:RHEL-34898, Jira:RHEL-34885
支持导出现有集群的 corosync
配置
ha_cluster
RHEL 系统角色现在支持以可反馈到角色来重新创建同一集群的格式导出现有集群的 corosync
配置。如果您没有使用 ha_cluster
RHEL 系统角色创建集群,或者如果您丢失了集群的原始 playbook,您可以使用此功能为集群构建新的 playbook。
新的 sudo
RHEL 系统角色
sudo
是 RHEL 系统配置的关键部分。使用新的 sudo
RHEL 系统角色,您可以在 RHEL 系统中一致地大规模管理 sudo 配置。
storage
RHEL 系统角色现在可以管理 Stratis 池
有了此增强,您可以使用 storage
RHEL 系统角色完成以下任务:
- 创建一个新的加密且未加密的 Stratis 池
- 向现有 Stratis 池添加新卷
- 向 Stratis 池添加新磁盘
有关如何管理 Stratis 池和其他相关信息的详情,请查看 /usr/share/doc/rhel-system-roles/storage/
目录中的资源。
Jira:RHEL-40798[1]
podman
RHEL 系统角色中的新变量:podman_registry_certificates
和 podman_validate_certs
以下两个变量已添加到 podman
RHEL 系统角色中:
-
podman_registry_certificates
(字典元素的列表):使您能够管理用于连接到指定的容器镜像注册中心的 TLS 证书和密钥。 -
podman_validate_certs
(布尔值,默认为 null):控制从容器镜像注册中心拉取镜像是否将验证 TLS 证书。默认的 null 值意味着无论containers.podman.podman_image
模块配置的默认值是什么,都会使用它。您可以使用validate_certs
变量,根据每个规范覆盖podman_validate_certs
变量。
因此,您可以使用 podman
RHEL 系统角色配置 TLS 设置,以连接到容器镜像注册中心。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/podman/
目录中的资源。或者,您可以查看 containers-certs (5)
手册页。
Jira:RHEL-34884[1]
podman
RHEL 系统角色中的新变量:podman_registry_username
和 podman_registry_password
podman
RHEL 系统角色现在使您能够全局或在每个规范的基础上指定容器镜像注册中心凭证。为此,您必须配置两个角色变量:
-
podman_registry_username
(字符串,默认为 unset):配置使用容器镜像注册中心进行身份验证的用户名。您还必须设置podman_registry_password
变量。您可以使用registry_username
变量,根据每个规范覆盖podman_registry_username
。然后,每个涉及凭证的操作都会根据该规范中定义的详细规则和协议来执行。 -
podman_registry_password
(字符串,默认为 unset):配置使用容器镜像注册中心进行身份验证的密码。您还必须设置podman_registry_username
变量。您可以使用registry_password
变量,根据每个规范覆盖podman_registry_password
。然后,每个涉及凭证的操作都会根据该规范中定义的详细规则和协议来执行。为安全起见,使用 Ansible Vault 功能加密密码。
因此,您可以使用 podman
RHEL 系统角色管理带有镜像的容器,其注册中心需要进行身份验证才能访问。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/podman/
目录中的资源。
Jira:RHEL-34890[1]
podman
RHEL 系统角色中的新变量:podman_credential_files
有些操作需要以自动或无人值守的方式从注册中心拉取容器镜像,且不能使用 podman_registry_username
和 podman_registry_password
变量。
因此,podman
RHEL 系统角色现在接受 containers-auth.json
文件,来对容器镜像注册中心进行身份验证。为此,您可以使用以下角色变量:
podman_credential_files
(字典元素的列表)- 列表中的每个字典元素定义都定义了一个带有用户凭据的文件,来向私有容器镜像注册中心进行身份验证。为安全起见,使用 Ansible Vault 功能加密这些凭据。您可以指定文件名、模式、所有者、文件的组,并且可以以不同的方式指定内容。如需了解更多详细信息,请参阅角色文档。
因此,您可以输入容器镜像注册中心凭证来执行自动和无人值守的操作。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/podman/
目录中的资源。或者,您可以查看 containers-auth.json (5)
和 containers-registries.conf (5)
手册页。
Jira:RHEL-34891[1]
journald
RHEL 系统角色中的新变量:journald_rate_limit_interval_sec
和 journald_rate_limit_burst
以下两个变量已添加到 journald
RHEL 系统角色中:
-
journald_rate_limit_interval_sec
(整数,默认为 30):配置一个时间间隔(以秒为单位),在这期间,只处理journald_rate_limit_burst
日志消息。journald_rate_limit_interval_sec
变量对应于journald.conf
文件中的RateLimitIntervalSec
设置。 -
journald_rate_limit_burst
(整数,默认为 10 000):配置日志消息的上限,日志消息在journald_rate_limit_interval_sec
定义的时间内被处理。journald_rate_limit_burst
变量对应于journald.conf
文件中的RateLimitBurst
设置。
因此,您可以使用这些设置调优 journald
服务的性能,以便在短时间内处理记录很多消息的应用程序。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/journald/
目录中的资源。
Jira:RHEL-34892[1]
ssh
RHEL 系统角色现在可以识别 ObscureKeystrokeTiming
和 ChannelTimeout
配置选项
ssh
RHEL 系统角色已更新,以反映在 OpenSSH 工具套件中添加以下配置选项:
-
ObscureKeystrokeTiming
(yes|no|interval 指定符,默认为 20):配置ssh
工具是否应该隐藏来自网络流量被动观察者中的按键间隔时间。 -
ChannelTimeout
:配置ssh
工具是否应该关闭不活跃的渠道,以及关闭的速度。
使用 ssh
RHEL 系统角色时,您可以使用新选项,如本示例中所示:
storage
RHEL 系统角色现在可以调整 LVM 物理卷的大小
如果块设备的大小已更改,且您在 LVM 中使用这个设备,则您也可以调整 LVM 物理卷。有了这个增强,您可以使用 storage
RHEL 系统角色调整 LVM 物理卷大小,以便在调整大小后与底层块设备的大小匹配。要启用自动调整大小,请在 playbook 中对池设置 grow_to_fill: true
。
Jira:RHEL-40797[1]
nbde_client
RHEL 系统角色现在可让您跳过运行某些配置
使用 nbde_client
RHEL 系统角色,您现在可以禁用以下机制:
- 初始 RAM 磁盘
- NetworkManager flush 模块
- Dracut flush 模块
clevis-luks-askpass
工具在 NetworkManager 服务将操作系统放在网络上后,会解锁一些存储卷。因此,不需要对上述机制进行配置更改。
因此,您可以禁止运行上述配置,来支持高级网络设置,或者将在引导过程后期发生的卷解密。
Jira:RHEL-45718[1]
postfix
RHEL 系统角色中的新变量:postfix_files
postfix
RHEL 系统角色现在使您能够为 Postfix 邮件传输代理配置额外的文件。为此,您可以使用以下角色变量:
postfix_files
-
定义要放入
/etc/postfix/
目录中的文件的列表,如果需要,它们可以转换为 Postfix 查找表。此变量使您能够配置简单身份验证和安全层(SASL)凭证等。为安全起见,使用 Ansible Vault 功能加密包含凭据和其他 secret 的文件。
因此,您可以使用 postfix
RHEL 系统角色创建这些额外文件,并将其集成到 Postfix 配置中。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/postfix/
目录中的资源。
Jira:RHEL-46855[1]
snapshot
RHEL 系统角色现在支持管理 LVM 精简池的快照
有了精简配置,您可以使用 snapshot
RHEL 系统角色管理 LVM 精简池的快照。这些精简快照可以节省空间,并且仅在进行快照后写入或修改数据时才增长。角色自动检测指定的卷是否被计划用于精简池。添加的功能在不需要大量物理存储的情况下需要频繁执行快照的环境中非常有用。
Jira:RHEL-48230[1]
logging
RHEL 系统角色中的新选项:reopen_on_truncate
logging_inputs
变量的 files
输入类型现在支持以下选项:
reopen_on_truncate
(布尔值,默认为 false)-
将
rsyslog
服务配置为在输入日志文件被截断时重新打开,如在日志轮转期间。reopen_on_truncate
角色选项对应于rsyslog
的reopenOnTruncate
参数。
因此,您可以通过 logging
RHEL 系统角色以自动的方式配置 rsyslog
,以便在输入日志文件被截断时重新打开它。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/logging/
目录中的资源。
Jira:RHEL-48609[1]
logging
RHEL 系统角色中的新变量:logging_custom_config_files
您可以使用以下变量,为 logging
RHEL 系统角色提供自定义日志配置文件:
logging_custom_config_files
(列表)-
配置要复制到默认日志记录配置目录的配置文件的列表。例如,对于
rsyslog
服务,它是/etc/rsyslog.d/
目录。这假设默认日志记录配置加载并处理该目录中的配置文件。默认的rsyslog
配置有一个指令,如$IncludeConfig /etc/rsyslog.d86].conf
。
因此,您可以使用不是由 logging
RHEL 系统角色提供的自定义配置。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/logging/
目录中的资源。
Jira:RHEL-50288[1]
logging
RHEL 系统角色可以为 rsyslog
文件和目录设置所有权和权限
logging_outputs
变量的 files
输出类型现在支持以下选项:
-
mode
(raw,默认为 null):配置与rsyslog
服务中的omfile
模块关联的FileCreateMode
参数。 -
owner
(字符串,默认为 null):配置与rsyslog
中的omfile
模块关联的fileOwner
或fileOwnerNum
参数。如果值为整数,它会设置fileOwnerNum
。否则,它会设置fileOwner
。 -
group
(字符串,默认为 null):配置与rsyslog
中的omfile
模块关联的fileGroup
或fileGroupNum
参数。如果值为整数,它会设置fileGroupNum
。否则,它会设置fileGroup
。 -
dir_mode
(默认为 null):配置与rsyslog
中的omfile
模块关联的DirCreateMode
参数。 -
dir_owner
(默认为 null):配置与rsyslog
中的omfile
模块关联的dirOwner
或dirOwnerNum
参数。如果值为整数,它会设置dirOwnerNum
。否则,它会设置dirOwner
。 -
dir_group
(默认为 null):配置与rsyslog
中的omfile
模块关联的dirGroup
或dirGroupNum
参数。如果值为整数,它会设置dirGroupNum
。否则,它会设置dirGroup
。
因此,您可以为 rsyslog
创建的文件和目录设置所有权和权限。
请注意,文件或目录属性与 Ansible file
模块中相应的变量相同。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/logging/
目录中的资源。或者,检查 ansible-doc file
命令的输出。
Jira:RHEL-50289[1]
使用 storage
RHEL 系统角色在受管节点上创建指纹
如果不存在,storage
会在每次运行此角色时创建一个唯一标识符(指纹)。指纹具有 # system_role:storage
字符串的形式,写到受管节点上的 /etc/fstab
文件中。因此,您可以跟踪哪些节点由 storage
管理。
Jira:RHEL-50291[1]
新的 src
参数已添加到 network
RHEL 系统角色中
已向 network_connections
变量的 ip
选项 的 route
子选项中添加了 src
参数。这个参数指定路由的源 IP 地址。它通常用于多 WAN 连接。您可以设置具有多个公共 IP 地址的机器,并且您想要确保出站流量使用与特定网络接口绑定的特定 IP 地址。因此,对 src
参数的支持可以更好地控制流量路由,并确保在上述场景中有一个更加强大且灵活的网络配置能力
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/network/
目录中的资源。
Jira:RHEL-53901[1]
支持使用 RHEL 系统角色在 RHEL 9 集群上配置 GFS2 文件系统
Red Hat Enterprise Linux 10 通过在 RHEL 10 控制节点上使用 gfs2
RHEL 系统角色来支持配置和管理 Red Hat Global File System 2 (GFS2),以管理 RHEL 9 系统。RHEL 10 系统上不支持包含 GFS2 文件系统的 Red Hat Red Hat Enterprise Linux (RHEL) Resilient Storage Add-On。角色使用 pcs
命令行界面在 Pacemaker 集群中创建 GFS2 文件系统。
在以前的版本中,在支持的配置中设置 GFS2 文件系统需要您遵循一系列步骤,来配置存储和集群资源。gfs2
角色简化了这个过程。使用该角色,您可以在 RHEL 高可用性集群中只指定配置 GFS2 文件系统所需的最少信息。
gfs2 角色执行以下任务:
- 为在红帽高可用性集群中配置 GFS2 文件系统安装所需的软件包
-
设置
dlm
和lvmlockd
集群资源 - 创建 GFS2 文件系统所需的 LVM 卷组和逻辑卷
- 使用必要的资源约束创建 GFS2 文件系统和集群资源
Jira:RHEL-34828[1]
microsoft.sql.server
系统角色中的新变量:mssql_tools_versions
和 mssql_tls_self_sign
新的 mssql-tools18
软件包带来了与 mssql-tools
软件包的之前版本不向后兼容的功能。因此,以下变量已添加到 microsoft.sql.server
系统角色中,以适应更改:
-
mssql_tools_versions
(列表,默认为版本 18):使您能够安装不同版本的mssql-tools
。 -
mssql_tls_self_sign
(布尔值):指定您使用的证书是否是自签名的。当您也设置了mssql_tls_enable: true
变量时适用。
当您将 mssql-tools18
与自签名 TLS 证书一起使用时,您必须设置 mssql_tls_self_sign: true
,以便在 sqlcmd
命令行工具中设置 -C
标志,以便您的证书可以被信任。
因此,您可以使用这些配置来安装 mssql_tools
版本 17; 18; 或并行安装它们。
如需了解更多详细信息,请参阅 /usr/share/ansible/roles/microsoft.sql-server/
目录中的资源。
sudo
RHEL 系统角色中的新变量:sudo_check_if_configured
sudo
RHEL 系统角色现在有以下变量:
-
sudo_check_if_configured
(布尔值):提供一个已配置的sudoers
文件的语义检查,以防 Ansible 设置不需要,并被跳过。
因此,如果不需要 Ansible 干预,您可以使用此设置来确保 sudo
角色幂等性。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/sudo/
目录中的资源。
Jira:RHEL-67419[1]
systemd
RHEL 系统角色中的新变量:systemd_units_user
有了这个更新,systemd
RHEL 系统角色现在也可以通过以下变量管理用户单元:
-
systemd_units_user
(字典):每个键是传递给角色的一个列表中给定用户的名称和root
(即使没有给出root
)。每个值都是该用户的systemd
单元的一个字典,或者是root
的系统单元。
角色不会创建新用户,如果您指定了一个不存在的用户,它将返回一个错误。
因此,您可以使用此设置,使用 systemd
RHEL 系统角色管理用户单元。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/systemd/
目录中的资源。
Jira:RHEL-67420[1]
新的 RHEL 系统角色:aide
aide
是一个新的 RHEL 系统角色,用于检测对文件、目录和系统二进制文件的未授权更改。使用此角色,您可以完成以下任务:
-
在受管节点上安装
aide
软件包。 -
生成
/etc/aide.conf
文件,并将其模板化到受管节点。 - 初始化(高级入侵检测环境)AIDE 数据库。
- 在受管节点上运行 AIDE 完整性检查。
角色不解释如何创建一个合适的 AIDE 配置。
因此,您可以以自动的方式大规模管理 AIDE,以解决您的安全、合规性或审计需求。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/aide/
目录中的资源。
Jira:RHEL-67411[1]
microsoft.sql.server
系统角色为 AD 用户启用 AES 128 位和 AES 256 位加密
从 1.1.83 版本开始,adutil
工具在创建或修改活动目录(AD)用户时支持带有 AES 128 位和 AES 256 位加密的 Kerberos 协议。有了此更新,microsoft.sql.server
系统角色会在创建或修改 AD 用户时自动启用 Kerberos 协议提供的 AES 128 位和 AES 256 位加密。因此,不需要手动进行配置后任务。
sshd
RHEL 系统角色验证命令和配置
在使用 command
或 shell
插件时,sshd
角色使用 quote
命令来确保您可以安全地使用这些命令。角色还会验证传递给这些插件的某些用户提供的角色变量。这提高了使用角色的安全性和稳健性,如果没有验证,用户提供的包含空格的变量可能会被分割,且无法正常工作。
Jira:RHEL-73441[1]
RHEL 10 为 postfix
RHEL 系统角色提供一个新的变量 postfix_default_database_type
postfix
系统角色可以确定 postfix
使用的默认数据库类型,并将其作为变量 postfix_default_database_type
导出。因此,您可以根据默认数据库类型设置配置参数。
Ansible 2.9 上不支持在配置参数值中使用 postfix_default_database_type
。
Jira:RHEL-70554[1]
podman
RHEL 系统角色可以管理类型 Pod
的四元组单元
添加了podman
工具版本 5 对 Pod
四元组类型的支持。因此,podman
RHEL 系统角色现在也可让您管理类型 Pod
的四元组单元。
如需了解更多详细信息,请参阅 上游文章。
Jira:RHEL-67417[1]
新属性已添加到 network
RHEL 系统角色 network_connections
变量中:autoconnect_retries
在 network
RHEL 系统角色中,没有对自动尝试重新连接网络连接的次数进行精细的控制。对于扩展重试过程至关重要的某些用例中,这个限制可能会有问题,特别是在具有不稳定网络的环境中。已添加到 network_connections
角色变量的 autoconnect_retries
属性配置 NetworkManager 在自动连接失败后尝试重新连接网络连接的次数。因此,network
RHEL 系统角色现在允许使用 network_connections
变量中的 autoconnect_retries
属性来配置自动连接失败后自动重新连接尝试的数量。此增强提供了对网络稳定性和性能的更好控制,特别是在具有不稳定网络的环境中。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/network/
目录中的资源。
Jira:RHEL-67416[1]
新属性已添加到 network
RHEL 系统角色 network_connections
变量中:wait_ip
此更新增加了对 network_connections
角色变量中 ip
选项的 wait_ip
属性的支持。属性指定系统是否应只在配置了特定 IP 堆栈时才将网络连接视为已激活。您可以使用以下值配置 wait_ip
:
-
any
: 系统会在配置了任何 IP 堆栈后将连接视为激活。 -
ipv4
:系统等待,直到配置了 IPv4 。 -
ipv6
:系统等待,直到配置了 IPv6 。 -
ipv4+ipv6
:系统等待,直到 IPv4 和 IPv6 都配置了。
因此,network
RHEL 系统角色现在允许您根据特定的 IP 堆栈配置网络连接。这可使连接保持激活状态,即使没有分配 IP 地址,具体取决于所选的 wait_ip
设置。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/network/
目录中的资源。
Jira:RHEL-67415[1]
添加了对 Valkey 作为 Redis 的一种替代选择的支持
此更新添加了对 Valkey 内存数据结构存储的支持。它是 Redis 的一种替代选择,它不再是开源的,并已从 Linux 发行版中删除。Valkey 通常用作高性能缓存层。它将数据存储在内存中,其通过缓存频繁访问的数据来加快应用程序的速度。另外,您可以对其他性能关键操作使用 Valkey ,例如:
- 存储和检索用户会话数据。
- 不同应用程序部分之间的实时通信。
- 为分析和监控提供快速数据访问。
Jira:RHEL-67413[1]
logging
RHEL 系统角色中的新变量:logging_custom_templates
以下变量已添加到 logging
RHEL 系统角色中:
-
logging_custom_templates
:自定义模板定义的列表。当其选项为type: files
或type: forwards
时,您可以将其与logging_outputs
变量一起使用。您可以通过在特定的logging_outputs
规范中设置template
选项,来为每个输出指定此自定义模板。或者,您可以使用logging_files_template_format
和logging_forwards_template_format
全局选项将此自定义模板设置为默认被所有文件使用,并转发输出。
因此,您可以将日志条目设置为与内置默认值提供的不同的格式。
如需了解更多详细信息,请参阅 /usr/share/doc/rhel-system-roles/logging/
目录中的资源。
Jira:RHEL-67286[1]