6.4. 使用 network RHEL 系统角色配置 IPoIB 连接
您可以使用 network
RHEL 系统角色为 IP 通过 InfiniBand (IPoIB)设备远程创建 NetworkManager 连接配置集。例如,通过运行 Ansible playbook,使用以下设置为 mlx4_ib0
接口远程添加一个 InfiniBand 连接:
-
一个 IPoIB 设备 -
mlx4_ib0.8002
-
一个分区密钥
p_key
-0x8002
-
一个静态
IPv4
地址 -192.0.2.1
,子网掩码为/24
-
静态
IPv6
地址 -2001:db8:1::1
,子网掩码为/64
在 Ansible 控制节点上执行此步骤。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 -
一个名为
mlx4_ib0
的 InfiniBand 设备被安装在受管节点上。 - 受管节点使用 NetworkManager 配置网络。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Configure the network hosts: managed-node-01.example.com tasks: - name: Configure IPoIB ansible.builtin.include_role: name: rhel-system-roles.network vars: network_connections: # InfiniBand connection mlx4_ib0 - name: mlx4_ib0 interface_name: mlx4_ib0 type: infiniband # IPoIB device mlx4_ib0.8002 on top of mlx4_ib0 - name: mlx4_ib0.8002 type: infiniband autoconnect: yes infiniband: p_key: 0x8002 transport_mode: datagram parent: mlx4_ib0 ip: address: - 192.0.2.1/24 - 2001:db8:1::1/64 state: up
如果您像本例所示设置了
p_key
参数,请不要在 IPoIB 设备上设置interface_name
参数。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误,但保护有效配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
在
managed-node-01.example.com
主机上显示mlx4_ib0.8002
设备的 IP 设置:# ip address show mlx4_ib0.8002 ... inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute ib0.8002 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/64 scope link tentative noprefixroute valid_lft forever preferred_lft forever
显示
mlx4_ib0.8002
设备的分区密钥(P_Key):# cat /sys/class/net/mlx4_ib0.8002/pkey 0x8002
显示
mlx4_ib0.8002
设备的模式:# cat /sys/class/net/mlx4_ib0.8002/mode datagram
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.network/README.md
文件 -
/usr/share/doc/rhel-system-roles/network/
directory