29.4. 使用 network RHEL 系统角色配置 ethtool 合并设置
通过使用中断合并,系统收集网络数据包,并为多个数据包生成一个中断。这会增加使用一个硬件中断发送到内核的数据量,从而减少中断负载,并最大化吞吐量。您可以在网络接口的连接配置文件中配置合并设置。通过使用 Ansible 和 network RHEL 角色,您可以自动化此过程,并对 playbook 中定义的主机远程配置连接配置文件。
您不能使用 network RHEL 系统角色只更新现有连接配置文件中的特定值。角色确保连接配置文件与 playbook 中的设置完全匹配。如果具有相同名称的连接配置文件存在,则角色将应用 playbook 中的设置,并将配置文件中的所有其他设置重置为其默认值。要防止重置值,请始终在 playbook 中指定网络连接配置文件的整个配置,包括您不想更改的设置。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml:--- - name: Configure the network hosts: managed-node-01.example.com tasks: - name: Ethernet connection profile with dynamic IP address settings and coalesce settings ansible.builtin.include_role: name: redhat.rhel_system_roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: dhcp4: yes auto6: yes ethtool: coalesce: rx_frames: 128 tx_frames: 128 state: up示例 playbook 中指定的设置包括如下:
rx_frames: <value>- 设置 RX 帧的数量。
gso: <value>- 设置 TX 帧的数量。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.network/README.md文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
显示网络设备的当前卸载功能:
# ansible managed-node-01.example.com -m command -a 'ethtool -c enp1s0' managed-node-01.example.com | CHANGED | rc=0 >> ... rx-frames: 128 ... tx-frames: 128 ...