最近一位支撑厂家同事反馈,在执行了yum update -y kernel-tools
并重启服务器后,IP信息丢失,无法获取到IP地址,以下为该问题的排查思路。
云服务器存在重启服务器后网卡名发生变化的情况,一般发生在启用了NetworkManager
服务的系统上,应禁用该服务。
查看当前网卡名:
ip link
检查当前网卡配置文件与网卡名是否匹配:
ls /etc/sysconfig/network-scripts/
云服务器的IP地址一般通过DHCP获取,检查网卡配置文件可以看到如下配置:
# /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
DEVICE=eth0
进入VPC(虚拟私有云)控制台,进入子网详情页,检查DHCP是否为启用状态,一般默认为启用状态。
配置为dhcp的网卡在启动时会调用/sbin/dhclient
及DHCP客户端从DHCP服务端获取主机IP信息,执行以下命令检查dhclient进程是否存在:
ps -ef|grep dhclient
如进程不存在,首先检查/sbin/dhclient
是否存在,在我们的故障场景中,故障原因即为升级内核导致的dhclient
程序丢失,在这种情况下,可以采用如下步骤进行修复
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
STARTMODE=auto
IPADDR=192.168.199.x # IP地址
NETMASK=255.255.255.0 # 掩码
GATEWAY=192.168.199.1 # 网关
NM_CONTROLLED=no
systemctl restart network
dhclient
服务:yum install dhclient
systemctl restart network
检查故障是否恢复如/sbin/dhclient
存在,则执行dhclient ethx
尝试再次获取IP信息,然后再次重启网络服务systemctl restart network
检查故障是否为偶现。如故障偶现,可寻求云侧客服进行进一步排查。
检查/var/log/messages
,排查是否有某些问题影响DHCP获取IP信息,可通过如下命令过滤日志:
cat /var/log/messages | grep 网卡mac地址
cat /var/log/messages | grep network