故障描述:
同事上周远程实施的黑龙江电信ha标准版,3.16用户打电话说jboss可以从主机切换到备机,但是无法从备机切换到主机。
故障分析:
远程登录后,发现主机名sxit2,备机名sxit5。ha使用的heartbeat-2.1.4-4.3,命令可操作性比hb3差很多。
jboss运行在sxit5上。通过crm_mon -vrf -1查看,发现sxit2上resource_jboss的failcount=-10000。
从现象看,jboss在sxit2上是无法启动的。
因为jboss不需要存储和fip支持,所以手工在sxit2上用ocf的jboss脚本启动jboss,发现以下现象[fan3838文章标示]:
export ocf_root=/usr/lib/ocf/
sh -x /usr/lib/ocf/resource.d/heartbeat/jboss
中间略
start_jboss
monitor_jboss
isrunning_jboss
wget -o /dev/null http://127.0.0.1
此处等待将近5分钟
return 1
|
为了验证为何一个wget却等待了5分钟,所以在sxit2试了以下wget这条命令,发现如下现象:
wget -o /dev/null http://127.0.0.1
trying 127.0.0.1...
connecting to 127.0.0.1:80... failed: cannot assign requested address.
retry 1
然后反复重试。
|
此现象不正常,如果本机没有80端口,应该马上返回拒绝:
wget -o /dev/null http://127.0.0.1
--2011-03-16 14:09:39-- http://127.0.0.1/
正在连接 127.0.0.1:80... 失败:拒绝连接。
|
后多次测试发现其他机器可以telnet、ssh到本机,但是本机无法telnet、ssh到任何ip地址。
领导怀疑端口被占满,导致无法分配新的端口。
通过lsof发现打开文件数很多,继而发现18221进程异常打开将近65535个sock。
此进程是oracle用户打开的一个进程,进程名为pop3-login。
而lsof中也可以看到此文件已经被删除,原来的位置:/dev/shm/ddos/pop3-login
/dev/shm一般不会存放任何东西,只有入侵时有人在此暂存某些文件。
通过last看到oracle用户在领成经常登录,说明被入侵。
[root@sxit2 ~]# lsof -p 18221|wc -l
65545
[root@sxit2 ~]# lsof -p 18221|head -n 50
command pid user fd type device size node name
pop3-logi 18221 oracle cwd dir 0,19 40 2606707 /dev/shm/ddos (deleted)
pop3-logi 18221 oracle rtd dir 104,3 4096 2 /
pop3-logi 18221 oracle txt reg 0,19 152108 2606720 /dev/shm/ddos/pop3-login (deleted)
pop3-logi 18221 oracle mem reg 104,3 76504 2621468 /lib/libresolv-2.5.so
pop3-logi 18221 oracle mem reg 104,3 125896 2622707 /lib/ld-2.5.so
pop3-logi 18221 oracle mem reg 104,3 1611416 2621457 /lib/libc-2.5.so
pop3-logi 18221 oracle mem reg 104,3 21924 2621478 /lib/libnss_dns-2.5.so
pop3-logi 18221 oracle mem reg 104,3 46764 2621480 /lib/libnss_files-2.5.so
pop3-logi 18221 oracle 0u sock 0,5 2606797 can't identify protocol
pop3-logi 18221 oracle 1u sock 0,5 2606983 can't identify protocol
pop3-logi 18221 oracle 2u sock 0,5 2606996 can't identify protocol
pop3-logi 18221 oracle 3u ipv4 2606793 udp *:59888
pop3-logi 18221 oracle 4u sock 0,5 2607012 can't identify protocol
pop3-logi 18221 oracle 5u sock 0,5 2607035 can't identify protocol
pop3-logi 18221 oracle 6u sock 0,5 2607044 can't identify protocol
pop3-logi 18221 oracle 7u sock 0,5 2607049 can't identify protocol
pop3-logi 18221 oracle 8u sock 0,5 2607080 can't identify protocol
pop3-logi 18221 oracle 9u sock 0,5 2607096 can't identify protocol
pop3-logi 18221 oracle 10u sock 0,5 2607119 can't identify protocol
pop3-logi 18221 oracle 11u sock 0,5 2607124 can't identify protocol
pop3-logi 18221 oracle 12u sock 0,5 2607129 can't identify protocol
pop3-logi 18221 oracle 13u sock 0,5 2607160 can't identify protocol
pop3-logi 18221 oracle 14u sock 0,5 2607176 can't identify protocol
pop3-logi 18221 oracle 15u sock 0,5 2607199 can't identify protocol
pop3-logi 18221 oracle 16u sock 0,5 2607204 can't identify protocol
pop3-logi 18221 oracle 17u sock 0,5 2607209 can't identify protocol
pop3-logi 18221 oracle 18u sock 0,5 2607240 can't identify protocol
pop3-logi 18221 oracle 19u sock 0,5 2607256 can't identify protocol
pop3-logi 18221 oracle 20u sock 0,5 2607279 can't identify protocol
pop3-logi 18221 oracle 21u sock 0,5 2607284 can't identify protocol
pop3-logi 18221 oracle 22u sock 0,5 2607289 can't identify protocol
pop3-logi 18221 oracle 23u sock 0,5 2607320 can 't identify protocol
[root@sxit2 ~]# ps -ef|grep 18221
oracle 18221 1 0 mar14 ? 00:00:06 pop3-login
|
解决办法:
杀掉18221进程,ha标准版一切正常。
在图形界面下添加磁盘管理,将multipath生成的dm-0加入ha中并将顺序调至jboos之前。
阅读(2013) | 评论(0) | 转发(1) |