现在的位置: 首页fault, Linux>正文
分析centos下网卡无法ping通故障
2012年11月16日 fault, Linux 暂无评论 ⁄ 被围观 6,849 view+

昨天接到一个任务,某台服务器上的一块网卡(内网/多网卡)无法与其余服务器互通。要我排除下问题。话说,还没做个接触过类似这样的问题。头疼啊,不知该如何下手。对抓包、网络也不是很了解,只能向好基友们请教了。其中感谢luffy、碧空、zero的帮助。

分析问题,无法ping通,首先我先查看网卡的配置是否有问题,后来对比了几台服务器上配置,确定了配置上没有什么问题。那么基友们就告诉下抓下包看看,看有没有arp,额。。。不会抓包啊,后来google下,找到了如下命令,tcpdump arp,那么就来实现下,登录到故障服务器,

如下图:

妹的,居然没收到任何的arp包。。蛋疼。。来对比下正常服务器上的状态看看

正常情况下会看到如下信息的输出。说明网卡工作是ok的

在来对比下arp -n

【有问题的】

【正常的】

在来查看下dmesg信息

【有问题的】

【正常的】

故障原因:

1、内网网线问题

2、内网网线连接交换机端口的问题

3、emxx的bug,解决方法:

(1)在grub里增加biosdevname=0的启动参数,形如kernel /vmlinuz-2.6.32-131.21.1.el6.i686 ro roo biosdevname=0

#vi /etc/grub.conf
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=3da24ffe-4b96-4fee-bd15-2f05b0042ed0 nomodeset rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet biosdevname=0

(2)删除udev的配置文件rm -f /etc/udev/rules.d/70-persistent-net.rules

(3)把网卡配置文件改名mv /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-eth0

(4)把网卡配置文件内容修正,把em1的全部改成eth0. perl -p -i -e `s/em1/eth0/g` ifcfg-eth0

(5)重启系统, 再service network restart即可

========================我的分析问题方法=========================

确保网线、交换机器端口没问题的情况下:

[root@hiker vhosts.d]# mii-tool em1
em1: negotiated 100baseTx-FD flow-control, link ok
[root@hiker vhosts.d]# mii-tool em2
SIOCGMIIPHY on 'em2' failed: Resource temporarily unavailable

1.查看下路由表信息,与正常工作的服务器对比下。路由表查看命令

netstat -rn

2.如果路由表都正常,那么就索性更换两个网卡的配置,看看是不是一块网卡出现故障,更换配置的时候请仔细检查每一项是否都更改正确。我的更换方法:

1)第一步备份两块网卡的配置,比如ifcfg-em1 ifcfg-em2 备份成ifcfg-em11 ifcfg-em22,请不要备份em1.bak之类的,启动的时候会报错,那就糟糕了

2)第二步对调两块网卡的配置,把DEVICE、HWADDR、IPADDR、UUID信息都对调了,确保无误。谨慎处理。。。

3)第三步把剩下的网卡配置的ONBOOT都设置为no,避免重启网卡的时候启动其余的。

4)第四步,写一个脚本确保以上步骤出错的时候可以还原,然后将脚本放在计划任务中,运维嘛,你懂得,尽量做到每一步操作都可以还原。

5)NOW,确认以上没问题,你就可以service network start了。。。。

3.以上两步大致可以分析出是不是网卡的问题了。。。。

给我留言

留言无头像?


×
腾讯微博