18.14. 使用 network RHEL 系统角色配置 ethtool coalesce 设置
通过使用中断合并,系统收集网络数据包,并为多个数据包生成一个中断。这会增加使用一个硬件中断发送到内核的数据量,从而减少中断负载,并最大化吞吐量。您可以在网络接口的连接配置文件中配置合并设置。通过使用 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
--- - 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
Copy to Clipboard Copied! 示例 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
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! 请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied!
验证
显示网络设备的当前卸载功能:
ansible managed-node-01.example.com -m command -a 'ethtool -c enp1s0'
# 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 ...
Copy to Clipboard Copied!