Appearance
RoCE 网卡 IP 地址配置
通过脚本、Netplan 或 NetworkManager 配置 RoCE 计算网卡 IP。
返回网卡配置索引 | 上一篇:网卡识别与工作模式配置 | 下一篇:RoCE 无损网络参数配置
需单独为RoCE计算网卡分配IP地址。
查看网卡对应网络设备
ibdev2netdev
默认状态下网口的状态可能是Down
在配置之前可以先执行命令查看网络连接是否正常
bash
sudo ip link set dev ens2np0 up如遇执行sudo ip link set dev ** up后ibdev2netdev 还是Down,请检查:
网线是否插好
是否连接交换机
是否是RoCE网卡接在了IB交换机上面
修改网卡名称
首先,使用ifconfig命令查看当前系统的网卡名称。
然后,使用以下命令修改网卡名称:
sudo ip link set oldname name newname
sudo ip link set oldname down
sudo ip link set oldname name newname
sudo ip link set newname up查看IP地址
通过如下命令查看RoCE网卡端口是否分配了IPv4地址:
show_gids如果设置了IP地址则如下图所示:

图中DEV列显示的是RoCE网卡的网络设备名,简单的一台交换机环境可以让RoCE网卡ip地址在一个子网中,可以相互访问即可。多层交换机跨子网则需要添加额外的路由规则,一般需要遵循PDE Data Center部门的规划进行配置。
分配IP地址
以ubuntu 系统为例,单层交换机单机单网卡的简单配置只需要把所有的IP地址分配到一个网段。 单机多个网卡,或者多层交换机需要根据PDE Data Center部门或者客户的网络拓扑规划,确定好组网方案后再进行IP地址分配。
一般有netplan和NetworkManager两种分配ip地址的方法(ubuntu用两种方法都可以,麒麟os、ctyunos可参考下面的NetworkManager配置),推荐使用简单好用的netplan。
一键配置脚本
todo
netplan方式(推荐)
netplan通过编辑配置文件进行配置,该方法简单易用,推荐使用。
sudo vim /etc/netplan/***.yaml添加如下内容配网卡ip地址,并设置网卡的mtu为9000:
注意: renderer 字段需设置 networkd
network:
version: 2
renderer: networkd
ethernets:
ens11np0:
mtu: 9000
addresses:
- 192.168.111.74/24
routes:
- to: default
via: 192.168.111.254
table: 111
routing-policy:
- from: 192.168.111.74
table: 111
ens12np0:
mtu: 9000
addresses:
- 192.168.112.74/24
routes:
- to: default
via: 192.168.112.254
table: 112
routing-policy:
- from: 192.168.112.74
table: 112上图示例中 单机4网卡, 分别为每个网卡配置不同网段的IP地址(addresses 字段)。 并指定每个网段各自的网关地址 (via字段)
然后执行
sudo netplan apply然后使用ibdev2netdev检查配置的网卡是否已经变成了(Up)。
如遇执行sudo netplan apply后ibdev2netdev检查配置后的网卡还是Down,请检查:
网线是否插好
是否连接交换机
是否是RoCE网卡接在了IB交换机上面
使用ifconfig检查IP地址和mtu是否正常设置。

Tips:
输入 cat /etc/netplan/01-network-manager-all.yaml
如遇到内容下图所示,找不到配置文件或者提示"renderer: NetworkManager "表示该机器使用NetworkManager管理网卡ip地址.
强烈建议使用networkd 进行配置! 如果环境不允许,可以根据下一节指导使用NetworkManager为网卡分配地址。


NetworkManager方式
命令行方式
输入nmcli d
如遇到内容下图所示,表示该机器使用netplan管理网卡ip地址,可以根据上一栏指导使用netplan为网卡分配地址。

NetworkManager使用命令行nmcli进行配置
nmcli配置过程:
- 查看设备名称:
nmcli d
- 查看连接名称:
nmcli con show
- 一般一个网络设备对应一个连接,如果网卡没有连接需要新增网络连接
#sudo nmcli con add type ethernet con-name <connection-name> ifname <eth-name>
#举例:
sudo nmcli con add type ethernet con-name compute_nic_0 ifname ens2f0np0- 删除连接
#sudo nmcli con del <connection-name>
#举例:
sudo nmcli con del compute_nic_0- 更改连接名字(如果连接名称不好记的话)
#sudo nmcli con modify <old-name> connection.id <new-name>
#举例
nmcli con modify "Wired connection 1" connection.id compute_nic_0- 使用命令配置ip地址,设置mtu,命令如下:
#sudo nmcli con modify <connection-name> ipv4.method manual ipv4.addresses <ipv4.addresses> ipv6.method ignore connection.autoconnect yes mtu 8000
#举例 注意ipv6 配置成ignore,不然集群会出现show_gids不一致的问题
sudo nmcli con modify compute_nic_0 ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv6.method ignore connection.autoconnect yes mtu 9000- 配置完毕,重启网卡配置
sudo nmcli con down compute_nic_0
sudo nmcli con up compute_nic_0检查配置
使用ibdev2netdev检查配置的网卡是否已经变成了(Up)。

如配置后的网卡还是Down,请检查:
网线是否插好
是否连接交换机
是否是RoCE网卡接在了IB交换机上面
使用ifconfig检查IP地址和mtu是否正常设置。

使用show_gids检查ip地址是否分配,及对应网卡的INDEX列有0,1,2,3
正常下图所示:


注意:按照本指南的配置,网卡的GID INDEX列应该是有0,1,2,3,集群所有机器都应该是这样。如果出现了4,5,请务必检查配置ipv6.method 是否配置成ignore,如果GID INDEX不一致的话会影响集群功能和稳定性。