18.6. 使用 network RHEL 系统角色配置网络绑定
您可以将网络接口组合在一个绑定中,以提供具有高吞吐量或冗余的逻辑接口。要配置绑定,请创建一个 NetworkManager 连接配置文件。通过使用 Ansible 和 network
RHEL 系统角色,您可以自动化此过程,并在 playbook 中定义的主机上远程配置连接配置文件。
您可以使用 network
RHEL 系统角色配置网络绑定,如果用于绑定的父设备的连接配置文件不存在,角色也可以创建它。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo
权限。 - 在服务器中安装两个或者两个以上物理或者虚拟网络设备。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 playbook 中指定的设置包括如下:
type: <profile_type>
- 设置要创建的配置文件的类型。示例 playbook 创建三个连接配置文件:一个用于绑定,两个用于以太网设备。
dhcp4: yes
- 启用来自 DHCP、PPP 或类似服务的自动 IPv4 地址分配。
auto6: yes
-
启用 IPv6 自动配置。默认情况下,NetworkManager 使用路由器公告。如果路由器宣布
managed
标记,则 NetworkManager 会从 DHCPv6 服务器请求 IPv6 地址和前缀。 mode: <bond_mode>
设置绑定模式。可能的值有:
-
balance-rr
(默认) -
active-backup
-
balance-xor
-
broadcast
-
802.3ad
-
balance-tlb
-
balance-alb
根据您设置的模式,您需要在 playbook 中设置额外的变量。
-
有关 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! Toggle word wrap Toggle overflow 请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
从其中一个网络设备临时拔掉网线,并检查绑定中的其他设备是否在处理流量。
请注意,无法使用软件工具正确测试链路失败事件。停用连接的工具(如
nmcli
),只显示绑定驱动程序可以处理端口配置的更改,而不是实际的链接失败事件。