下载
EN
注册
Atlas 800 CentOS 8.x 1822网卡设备命名异常

Atlas 800 CentOS 8.x 1822网卡设备命名异常

2021/09/06

66

暂无评分
我要评分

问题信息

问题来源产品大类产品子类关键字
版本测试安装部署驱动固件1822、udev、hinic

问题现象描述

问题现象:

插上1822网卡后,查看接口名称,接口名称【ens1】【eth0】未按照预期命名

# ifconfig

# ethtool -i eth0

关键过程、根本原因分析

  1. 查看/var/log/messages,有告警“systemd-udevd:Error changing net interface name 'eth0' to 'ens1': File exists”。

  2. 80-net-setup-link.rules中表明命名策略,ens*是采用【ID_NET_NAME_SLOT】来命名的。

  3. 通过槽位号slot1的地址查询到,插在此槽位上的设备是1822网卡。

  4. 1822网卡在一个slot上插入2个device,所以在第二个设备命名时,引用相同的槽位号,命名冲突。

结论、解决方案及效果

结论:当udev重命名网卡设备时,采用根据槽位号的方式命名了1822网卡,导致命名冲突。

解决方案:1822网卡可以通过pci bus【ID_NET_NAME_PATH】方式命名
  1. 查询网口【ID_NET_NAME_PATH】方式的名称。

    # udevadm info /sys/class/net/eth0

    ID_NET_NAME_PATH=enp61s0

    # udevadm info /sys/class/net/ens1

    ID_NET_NAME_PATH=enp62s0

  2. 添加自定义udev规则。

    # vi /etc/udev/rules.d/70-persistent-net.rules

    ACTION=="add", SUBSYSTEM=="net", DRIVERS=="hinic*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", ATTR{address}=="ac:b3:b5:43:d4:32", NAME="enp62s0"

    ACTION=="add", SUBSYSTEM=="net", DRIVERS=="hinic*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", ATTR{address}=="ac:b3:b5:43:d4:31", NAME="enp61s0"

  3. 重启生效。

    # reboot

经验总结、预防措施和规范建议

备注

centos8.x 命名文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/consistent-network-interface-device-naming_configuring-and-managing-networking

centos7.x命名文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ch-Consistent_Network_Device_Naming

本页内容