一、现象

现网的一台主机,今天收到宕机告警,经登录查看主机未宕机,只不过ssh当时连接被拒。查看/var/log/message日志,发现有大量的DHCPREQUEST请求日志。具体内容如下:

 1[root@datanode2 init.d]# tail -f /var/log/messages
 2Jun 1 16:51:09 datanode2 dhclient: bound to 169.254.95.120 -- renewal in 280 seconds.
 3Jun 1 16:55:49 datanode2 dhclient: DHCPREQUEST on usb0 to 169.254.95.118 port 67 (xid=0x691bb32a)
 4Jun 1 16:55:49 datanode2 dhclient: DHCPACK from 169.254.95.118 (xid=0x691bb32a)
 5Jun 1 16:55:49 datanode2 dhclient: bound to 169.254.95.120 -- renewal in 257 seconds.
 6Jun 1 17:00:05 datanode2 dhclient: DHCPREQUEST on usb0 to 169.254.95.118 port 67 (xid=0x691bb32a)
 7Jun 1 17:00:06 datanode2 dhclient: DHCPACK from 169.254.95.118 (xid=0x691bb32a)
 8Jun 1 17:00:06 datanode2 dhclient: bound to 169.254.95.120 -- renewal in 239 seconds.
 9Jun 1 17:04:04 datanode2 dhclient: DHCPREQUEST on usb0 to 169.254.95.118 port 67 (xid=0x691bb32a)
10Jun 1 17:04:05 datanode2 dhclient: DHCPACK from 169.254.95.118 (xid=0x691bb32a)
11Jun 1 17:04:05 datanode2 dhclient: bound to 169.254.95.120 -- renewal in 263 seconds.
12Jun 1 17:08:28 datanode2 dhclient: DHCPREQUEST on usb0 to 169.254.95.118 port 67 (xid=0x691bb32a)
13Jun 1 17:08:28 datanode2 dhclient: DHCPACK from 169.254.95.118 (xid=0x691bb32a)
14Jun 1 17:08:28 datanode2 dhclient: bound to 169.254.95.120 -- renewal in 258 seconds.

二、处理

  1. 经确认该机上未开启有DHCP服务,而且使用的地址是静态配置的,也未使用dhclient;
  2. 经查询在redhat知识库上查看到该问题相关文档。经查看该文档上的环境描述为:
1Red Hat Enterprise Linux 5
2IBM HS22 Blade
3IBM x3850 X5 [7145]

而我的系统环境是redhat6 ,硬件环境对的上为HS22刀片。该知识库的解决方法的查看需要license帐户 。如果你买的没有授权,也可以找IBM 硬件厂商确认该报错。

三、解决

从上面的报错来看,报错的网卡为usb0,而主机上并未使用到该网卡,不过在/etc/sysconfig/network-scripts/ 目录确实找到了ifcfg-usb0网卡,而且该网卡的默认配置使用dhcp地址。经IBM相关工程师确认该网卡的作用是:

IBM的PC服务器有个使用USB做为管理网络的特性(IBM独有,别的品牌服务器中没有发现)。在你没有连接USB网卡的时候会不停向DHCP申请IP,如果没有发现DHCP时就会默认分配一个169.254.xx.xx的IP地址,这在ORACLE RAC环境中,有可能会和虚拟IP产生冲突。造成路由信息丢失。从网上看这个USB0的问题还会引起LINUX HA异常。

不过还好,该主机未用到RAC环境中,既然不使用,关闭该网卡的自启动,即可解决之。

1#ifdown usb0
2vi /etc/sysconfig/network-scripts/ifcfg-usb0
3onboot=no