linux7.0网卡重启失败,centos7.0网卡名称错乱、及网卡启动失败问题

新装机的centos7.*的系统网卡名字为enxxxxxx 想要改为以往的ethxxxx,操作

cd /etc/udev/rules.d/

创建 70-persistent-net.rules

对网卡进行名称绑定

echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$(ifconfig eth0|grep ether|awk '{print $2}')\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth0\"" >/etc/udev/rules.d/70-persistent-net.rules

echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$(ifconfig eth1|grep ether|awk '{print $2}')\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth1\"" >>/etc/udev/rules.d/70-persistent-net.rules

echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$(ifconfig eth2|grep ether|awk '{print $2}')\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth2\"" >>/etc/udev/rules.d/70-persistent-net.rules

echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$(ifconfig eth3|grep ether|awk '{print $2}')\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth3\"" >>/etc/udev/rules.d/70-persistent-net.rules

相对应的进入/etc/sysconfig/network-scripts 对网卡配置文件编辑,将DEVICE该为绑定后的设备名称。

如果机器接入的是万兆网卡,那么建议对千兆网卡驱动进行禁用,操作如下

此处以intel 千兆网卡为例

echo "blacklist igb" >> /etc/modprobe.d/blacklist.conf

sed -i '/GRUB_CMDLINE_LINUX/{s/"$//g;s/$/rdblacklist=igb"/}' /etc/default/grub

grub2-mkconfig -o /boot/grub2/grub.cfg;

centos7的坑还是有很多,网卡并行启动 导致网卡启动在udev绑定之前,这样会导致机器网卡启动失败 建议网卡启动sleep五秒左右,具体操作如下

#!/bin/bash

#关闭network开机自启动

chkconfig network off

#添加sa-network服务延迟5秒重启network服务

echo '#!/bin/bash' >> /etc/init.d/sa-network

echo '#chkconfig:2345 90 05' >> /etc/init.d/sa-network

echo 'sleep 5' >> /etc/init.d/misa-network

echo 'service network restart' >> /etc/init.d/sa-network

chmod +x /etc/init.d/sa-network

chkconfig --add sa-network

chkconfig sa-network on

这样对centos7.0的网卡问题能解决的差不多。

如果使用万兆光模块环境进行pxe批量装机可以在初始化脚本中加入

# disable igb add houzhibo

udev_eth0_mac=`cat /etc/udev/rules.d/70-persistent-net.rules | grep -i eth0| awk -F '"' '{print $8}'`

ip_add_eth0_mac=`ip add | grep -A2 eth0 |grep -i 'ether' | awk '{print $2}'`

speed=`ethtool eth0 | grep -i 'Speed' |awk -F [:] '{print $2}'`

network_name=`ip add |grep -iB1 $udev_eth0_mac | grep -i eth|awk '{print $2}'| grep -i eth| awk -F : '{print $1}'`

if [ $udev_eth0_mac = $ip_add_eth0_mac ] && [ $speed = "10000Mb/s" ] ;then

echo "blacklist igb" >> /etc/modprobe.d/blacklist.conf

sed -i '/GRUB_CMDLINE_LINUX/{s/"$//g;s/$/rdblacklist=igb"/}' /etc/default/grub

grub2-mkconfig -o /boot/grub2/grub.cfg;

echo '默认万兆网卡,已禁用千兆igb驱动。'

elif [ $udev_eth0_mac != $ip_add_eth0_mac ] ;then

echo "blacklist igb" >> /etc/modprobe.d/blacklist.conf

sed -i '/GRUB_CMDLINE_LINUX/{s/"$//g;s/$/rdblacklist=igb"/}' /etc/default/grub

grub2-mkconfig -o /boot/grub2/grub.cfg

echo 'udev绑定网卡不匹配ip add网卡名称,已禁用千兆igb驱动,重启生效。'

elif [ $udev_eth0_mac = $ip_add_eth0_mac ] && [ $speed = "1000Mb/s" ] ;then

echo '默认千兆网卡,啥都不做。退出。'

fi

针对7.2和7.3测试通过 7.0有一些小问题,ps:7.0哪怕你做完udev绑定 它还是有几率识别为eth*~~~~~~,还有以上请针对自己的实际情况使用,不要死套用。

不过在此还是建议大家使用centos7.2 7.3版本 相对会稳定很多。7.0毕竟是个过渡版本。

感谢工作中麒麟大佬和新哥的指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值