4.15. Red Hat Enterprise Linux 系统角色
ha_cluster
RHEL 系统角色现在支持 SBD 隔离和配置 Corosync 设置
ha_cluster
系统角色现在支持以下功能:
- SBD 隔离
-
隔离是 HA 集群配置的重要组成部分。SBD 为节点提供了一种在需要隔离时提供可靠的自终止的方法。在无法实现传统隔离机制的环境中,SBD 隔离特别有用。现在,可以使用
ha_cluster
系统角色配置 SBD 隔离。 - corosync 设置
-
ha_cluster
系统角色现在支持 Corosync 设置的配置,如传输、压缩、加密、链接、totem 和仲裁。当默认设置不合适时,需要使用这些设置来将集群的配置与客户的需要和环境匹配。
用户可以使用 network
RHEL 系统角色,创建具有 IPoIB 功能的连接
network
RHEL 系统角色的 infiniband
连接类型现在支持 Internet Protocol over Infiniband (IPoIB) 功能的互联网协议。要启用此功能,请为 infiniband
的 p_key
选项定义一个值。请注意,如果指定了 p_key
,则 network_connections
变量的 interface_name
选项必须保留为未设置。以前的 network
RHEL 系统角色的实现没有正确地验证 p_key
值和用于 infiniband
连接类型的 interface_name
选项。因此,IPoIB 功能在以前不能工作。如需更多信息,请参阅 /usr/share/doc/rhel-system-roles/network/
目录中的 README 文件。
network
RHEL 系统角色现在为路由规则配置网络设置
在以前的版本中,您可以根据数据包中的目标地址字段路由数据包,但您不能定义源路由和其他策略路由规则。有了这个增强,network
RHEL 系统角色支持路由规则,以便用户可以控制数据包传输或路由选择。
网络系统角色现在在其管理的配置文件中使用 Ansible managed
注释
使用 initscripts
提供程序时,网络系统角色现在在 /etc/sysconfig/network-scripts
目录中生成已注释的 ifcfg
文件。Networking 角色使用 Ansible 标准的 ansible_managed
变量插入 Ansible managed
注释。注释声明 ifcfg
文件由 Ansible 管理,并且表示不应直接编辑 ifcfg
文件,因为网络角色将覆盖该文件。当提供者是 initscripts
时,会添加 Ansible managed
注释。当使用具有 nm
(NetworkManager)提供者的网络角色时,ifcfg
文件是由 NetworkManager 管理的,而不是网络角色。
新的 previous:replaced
配置可使firewall
系统角色将防火墙设置重置为默认值
管理不同机器集合(其中每台机器都有不同的预先存在的防火墙设置)的系统管理员,现在可以使用 firewall
角色中的 previous: replaced
配置,来确保所有机器都有相同的防火墙配置设置。previous: replaced
配置可能会清除所有现有的防火墙设置,并使用一致的设置替换它们。
增强的 Microsoft SQL Server RHEL 系统角色
以下新变量现在对 microsoft.sql.server
RHEL 系统角色可用:
-
带有
mssql_ha_
前缀的变量用来控制配置高可用性集群。 -
mssql_tls_remote_src
变量,用来在受管节点上搜索mssql_tls_cert
和mssql_tls_private_key
值。如果保持默认的false
设置,则该角色会在控制节点上搜索这些文件。 -
mssql_manage_firewall
变量用来自动管理防火墙端口。如果此变量被设为false
,则您必须手动启用防火墙端口。 -
mssql_pre_input_sql_file
和mssql_post_input_sql_file
变量来控制您要在角色执行前或之后运行的 SQL 脚本。这些新变量替换以前的mssql_input_sql_file
变量,这不会影响 SQL 脚本执行的时间。
(BZ#2066338, BZ#2120713, BZ#2039990, BZ#2120714)
logging
RHEL 系统角色支持文件输入中的 startmsg.regex
和 endmsg.regex
有了这个更新,您现在可以使用正则表达式过滤来自文件的日志消息。startmsg_regex
和 endmsg_regex
选项现在包含在文件的输入中。startmsg_regex
代表与消息的开始部分匹配的正则表达式,而 endmsg_regex
代表与消息的最后部分匹配的正则表达式。因此,您可以根据日期、优先级和严重性等属性过滤消息。
storage
RHEL 系统角色中提供了对精简置备的卷的支持
storage
RHEL 系统角色现在可以创建和管理精简配置的 LVM 逻辑卷。精简配置的 LV 会在写时分配,因此在创建卷时具有更好的灵活性,因为提供给精简配置的 LV 的物理存储可以在以后需要时增加。LVM 精简配置还允许创建效率更高的快照,因为精简 LV 的通用数据块及其任何快照都是共享的。
logging
RHEL 系统角色现在支持 template
,severity
and facility
选项
logging
RHEL 系统角色现在对文件输入提供新的有用的 severity
和 facility
选项,以及对文件和转发输出提供新的 template
选项。使用 template
选项使用 traditional
参数指定传统时间格式,使用参数 syslog
指定 syslog 协议 23 格式,使用参数 modern
指定现代风格格式。您现在可以使用 logging
角色根据 severity 和 facility 进行过滤,并根据 template 指定输出格式。
RHEL 系统角色现在也在禁用了事实收集的 playbook 中提供
由于性能或其他原因,可能会在您的环境中禁用 Ansible 事实收集。在以前的版本中,无法在这样的配置中使用 RHEL 系统角色。有了这个更新,系统会在您的配置中检测 ANSIBLE_GATHERING=explicit
参数,在 playbook 中检测 gather_facts: false
参数,并使用 setup:
模块来仅收集给定角色所需要的事实(如果在事实缓存中没有)。
如果您因为性能原因而禁用了 Ansible 事实收集,则您可以启用 Ansible 事实缓存,这不会导致从源中检索它们的性能下降。
sshd
RHEL 系统角色验证用于置入目录的 include 指令
RHEL 9 上的 sshd
RHEL 系统角色只管理置入目录中的文件,但之前不验证目录是否包含在主 sshd_config
文件中。有了这个更新,该角色会验证 sshd_config
是否包含置入目录的 include 指令。因此,该角色可以更可靠地应用提供的配置。
sshd
RHEL 系统角色可以通过 /etc/ssh/sshd_config
进行管理
应用到 RHEL 9 受管节点的 sshd
RHEL 系统角色将 SSHD 配置放在置入目录(默认为/etc/ssh/sshd_config.d/00-ansible_system_role.conf
)中。在以前的版本中,对 /etc/ssh/sshd_config
文件的任何更改都会覆盖 00-ansible_system_role.conf
中的默认值。在这个版本中,您可以使用 /etc/ssh/sshd_config
而不是 00-ansible_system_role.conf
管理 SSHD,同时在 00-ansible_system_role.conf
中保留系统的默认值。
在配置 masquerade
或 icmp_block_inversion
时,firewall
RHEL 系统角色不需要 state
参数
在配置自定义防火墙区时,变量 masquerade
和 icmp_block_inversion
是布尔值设置。true
值表示 state: present
和 false
值表示 state: absent
。因此,配置 masquerade
或 icmp_block_inversion
时不需要 state
参数。
metrics
角色可以导出 postfix
性能数据
现在,您可以使用 metrics
角色中的新 metrics_from_postfix
布尔变量来记录并进行详细的性能分析。有了这个增强,设置变量会再系统上启用 pmdapostfix
指标代理,生成关于 postfix
的统计信息。
存储系统角色
现在默认具有较少的详细程度
storage
角色输出现在默认具有较少的详细信息。有了这个更新,用户可以提高 storage
角色输出的详细信息,使其只有在使用 Ansible 详细程度 1 或更高程度时才生成调试输出。
metrics
系统角色现在生成标头中有正确的 ansible_managed
注释的文件
在以前的版本中,metrics
角色不会向角色生成的文件中添加 ansible_managed
标头注释。有了这个修复,metrics
角色将 ansible_managed
标头注释添加到它生成的文件中,因此用户可以轻松地识别 metrics
角色生成的文件。
postfix
系统角色现在生成标头中有合适的 ansible_managed
注释的文件
在以前的版本中,postfix
角色不会向角色生成的文件中添加 ansible_managed
标头注释。有了这个修复,postfix
角色向其生成的文件中添加 ansible_managed
标头注释,因此用户可以轻松地识别 postfix
角色生成的文件。
postfix
RHEL 系统角色中用于覆盖以前配置的新选项
如果您管理一组具有 postfix
配置不一致的系统,则可能要在所有这些配置上保持一致。在这个版本中,您可以指定 postfix_conf
字典中的 previous: replaced
选项,以移除任何现有配置并在清 postfix
安装之上应用所需的配置。因此,您可以清除任何现有的 postfix
配置并确保所有被管理的系统上的一致性。
现在,您可以在 firewall
RHEL 系统角色中使用 absent
和 present
状态添加、更新或删除服务
在这个版本中,您可以使用 present
状态来添加端口、模块、协议、服务和目标地址,或使用 absent
状态来删除它们。请注意,要在 firewall
RHEL 系统角色中使用 absent
和 present
状态,请将 permanent
选项设置为 true
。将 permanent
选项设置为 true
时,状态设置将应用至更改后,并且保持不受角色重新加载的影响。
firewall
系统角色可以使用 PCI 设备 ID 向区添加或删除接口
使用 PCI 设备 ID,firewall
系统角色现在可以为区分配或删除网络接口。在以前的版本中,如果只有 PCI 设备 ID 已知而不是接口名称,用户必须首先识别对应的接口名称才能使用 firewall
系统角色。在这个版本中,firewall
系统角色可以使用 PCI 设备 ID 来管理区中的网络接口。
network
RHEL 系统角色支持使用 nmstate
API 的网络配置
有了此更新,network
RHEL 系统角色支持通过 nmstate
API 进行网络配置。用户现在可以将所需网络状态的配置直接应用到网络接口,而不是创建连接配置集。该功能还允许部分配置网络。因此,存在以下优点:
- 网络配置复杂性降低
- 应用网络状态更改的可靠方法
- 不需要跟踪整个网络配置
用于设置自定义监听端口的新的 cockpit
系统角色变量
cockpit
系统角色引入了 cockpit_port
变量,它允许您设置默认的 9090 端口以外的自定义监听端口。请注意,如果您决定设置自定义监听端口,您还需要调整 SELinux 策略以允许 Web 控制台监听该端口。
firewall
RHEL 系统角色可以提供 Ansible 事实
有了此增强,您现在可以通过在 playbook 中包含不带参数的 firewall:
变量,来从所有系统中收集 firewall
RHEL 系统角色的 Ansible 事实。要收集更多 Ansible 事实的详细版本,请使用 detailed: true
参数,例如:
vars: firewall: detailed: true
将 seuser
和 selevel
的设置添加到 selinux
RHEL 系统角色中
有时,在设置 SELinux 上下文文件系统映射时,需要设置 seuser
和 selevel
参数。在这个版本中,您可以使用 selinux_fcontext
中的 seuser
和 selevel
可选参数来指定 SELinux 上下文文件系统映射中的 SELinux 用户和级别。