一、问题描述及复现步骤
启用network服务,关闭NetworkManager服务后,(通过 ip a 查看)
em1网卡丢失IP地址
网络相关组件信息
glib-networking-2.58.0-7.ky10.x86_64
network-scripts-10.01-6.ky10.x86_64
dracut-network-049-8.p04.se.09.ky10.x86_64
NetworkManager-libnm-1.16.0-7.ky10.x86_64
NetworkManager-1.16.0-7.ky10.x86_64
NetworkManager-wwan-1.16.0-7.ky10.x86_64
network-manager-applet-1.8.22-4.p02.ky10.x86_64
NetworkManager-config-server-1.16.0-7.ky10.noarch
NetworkManager服务状态
NetworkManager服务处于禁用状态。
网卡em1配置文件内容
将network 开启、关闭 networkManager服务,重启 network服务、执行 systemctl restart network ,通过 ip a 命令查看网卡 ip 是否有丢失。
根据修改后对应的网卡配置文件
与现场环境设置进行对此:变动参数为 NM_CONTROLLED="no" 和 UUID 。
如:
不添加NM_CONTROLLED="no" 参数,含有UUID字段
不添加NM_CONTROLLED="no" 参数,不含有UUID字段
添加 NM_CONTROLLED="no" 参数,不含有 UUID 字段
添加 NM_CONTROLLED="no" 参数,含有 UUID字段
测试结果:
1、系统将network 开启、关闭 networkManager服务,重启 network服务(执行 systemctl restart network ),通过 ip a 命令查看网卡 ip 没有丢失。
2、默认 /var/log/messages 会记录网卡及网络相关日志信息。
分析在8月14日22--23点时间内服务器物理网卡em1丢失IP地址根本原因
备注:
1、操作系统日志中没有发现网络异常报错。
2、为了避免网卡配置文件不当引起错误,建议参考网卡配置文件,如下:
/etc/sysconfig/network-scripts/ifcfg-enXXX中添加参数
NM_CONTROLLED="no"
确认网卡配置中包含以下内容
DEVICE=.....
TYPE=Ethernet
IPADDR=......
NETMASK=.....
GATEWAY=.....
ONBOOT=yes
BOOPROTO=static
NM_CONTROLLED="no"
sosreport-OAZDB03-20210815000102/etc/sysconfig/network-scripts$ cat ifcfg-em1
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO=static
IPADDR=2.48.16.13
NETMASK=255.255.255.0
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="em1"
UUID="2af8025c-a3d0-4c4f-a5b5-ce22677b3d0a"
DEVICE="em1"
ONBOOT="yes"
2)查看sosreport反馈日志ip_addr发现em1没有inet(ipv4)网卡信息,截图如下:
3)查看网卡em1使用的网卡驱动为igb和型号intel 8086:1521,截图如下:
综上,需要进一步分析,igb网卡驱动是否有缺陷?NetworkManager和network服务机制是否有缺陷?在虚机参照ifcfg-em1的配置进行测试,未复现出网卡ip地址丢失现象。
分析sosreport,查看sa相关内容,内容如下:
从sar的结果看,sa11 - sa14四个文件,里面记录em1的流量,rxpck始终是0.37,rxkb始终是0.02,包括确认没有ip的8月14号22:00 - 23:00 这个时间段,所以有理由怀疑,从8月11号0点,到8月14号23:00,em1的状态相同,猜测8月11号0点,em1就已经没有ip。
查看sosreport里的dmesg,可以看到在刚开机快4天的时候,em1网卡有网络断开及重新连接的操作。
ifconfig看,em1的状态都没问题,只是没有ip。执行ifup em1,就能恢复em1的ip。ifup命令用于激活指定的网络接口,ifup命令会去读取/etc/sysconfig/network-scripts/目录下的相关网络接口的配置文件,并根据配置文件的内容来激活该网络接口。
所以,猜测是em1断开连接重连时,ip被刷,后续没有生效em1的配置,导致ip丢失。