在Debian或任何其他基于Linux的系统中,网络接口的名称由udev系统管理。通过创建udev规则,可以修改网络接口名称。以下是更改InfiniBand卡接口名称的一般步骤:
1. 找到网络接口的属性,以编写匹配的udev规则
可以使用`udevadm`命令查找设备属性:
udevadm info -a -p /sys/class/net/ib0
在输出中,查找可以唯一标识InfiniBand接口的属性,如 KERNEL
, SUBSYSTEM
, DRIVER
, 和 ATTR{}
项目。
2. 创建udev规则文件
规则文件通常位于 /etc/udev/rules.d/
目录。文件名通常以数字开头,确定规则的载入顺序(数字越小,越早载入)。例如,可以创建一个名为 70-persistent-net.rules
的规则文件:
sudo nano /etc/udev/rules.d/70-persistent-net.rules
3. 在该文件中编写规则
将InfiniBand接口名称从 ib0
更改为新的名字
。根据udevadm命令获得的信息,规则可能看起来像这样:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="32", KERNEL=="ib0", NAME="NEW_NAME"
属性 ATTR{type}=="32"
是InfiniBand接口的特有属性(通常,以太网是 "1",而InfiniBand 是 "32")。
4. 保存并关闭规则文件
5.重新加载udev规则和触发网络设备事件
以防udev缓存了旧的规则,可以使用以下命令重新加载udev规则和触发网络设备事件:
sudo udevadm control --reload
sudo udevadm trigger --type=devices --action=add
6. 重启系统,让这些更改生效
sudo reboot
在重新启动之后,InfiniBand接口应当被正确地重命名为 NEW_NAME
。请确保在执行这些操作时已经具备相应的权限,并考虑在生产环境中对任何改动进行充分测试。此外,请确认是否还有其他系统配置或服务依赖于旧的接口名称,并进行相应的更新。