PowerHA5.5导致网关丢失的诊断过程

http://www.loveunix.net/viewthread.php?tid=98950&extra=&page=1

# cat /etc/inittab|grep ha
brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
harc:2:wait:/usr/es/sbin/cluster/etc/harc.net # HACMP for AIX network startup
ha_star:h2:once:/etc/rc.ha_star >/dev/console 2>&1
hacmp:2:once:/usr/es/sbin/cluster/etc/rc.init >/dev/console 2>&1

1,
问题现象
AIX在安装了PowerHA5.5之后,一旦系统重启,网关就丢失。
2,
诊断
01)检查inet0设备的属性,网关存在,排除ODM库出错的可能性。
02)通常网关是由/etc/rc.net脚本在系统启动时候添加的。init进程根据/etc/inittab文件调用的第一个脚本是/sbin/rc.boot 3rc.boot脚本在phase 3调用cfgmgr -p2/etc/rc.net就是在此时被cfgmgr调用的。是否可能没被调用?
3,
检查Config_Rules
Config_Rules:

phase = 2


seq = 18


boot_mask = 0


rule = "/usr/lib/methods/cfgrcnet"

这个感觉和rc.net有点关系,应该是在这个二进制可执行文件内部调用了/etc/rc.net。通过strings命令输出/usr/lib/methods/cfgrcnet命令的字符串。
/etc/rc.net -2
说明/etc/rc.net在系统启动时候确实被调用了。那么看看rc.net的日志输出吧。
4,
检查/tmp/rc.net.out
0821-003 cfgif: No interfaces were configured.
<hostname>
0821-279 writing to routing socket: Cannot reach the destination network.

0821-103 : The command /usr/sbin/route add -net -hopcount 0
-static 0 <gateway> failed.

这个是重点。一二行是说和hostname匹配的IP地址不存在,三四行是说添加网关失败。其中hostname就是HACMP永久IP地址对应的主机名,而gateway就是丢似乎的网关。
几个说明:
a.
网关应该和service ip在同一网段
b.
serviced ip
base ip应该在不同网段
c.
如果没有其他手段,service ip不起来,那么网关也不会起来,因为没有IP地址
d.
HACMP
persistent ip就是解决这个问题的手段之一,persistent ip可以和service ip在同一网段,并且可以在/etc/hosts中和hostname绑定
e.
persistent ip
在开机后自动添加,但是通过HACMPharc.net脚本添加的
f.
harc.net
rc.boot后执行。所以在rc.boot在调用rc.net脚本时候系统中还没有persistent ip,因此出现0821-003 cfgif: No interfaces were configured报错。系统抱怨找不到和主机名匹配的ip地址。
g.
因为persistent ipservice ip都没有起来,所以网关也无法起来。就是route命令失败。
h.
原因可以确定下来是harc.net调用的太晚,或者说harc.net被调用后没有再次调用/etc/rc.net脚本。那么为什么HACMP5.2没有这个问题,而PowerHA5.5有这个问题?
i.
对比HACMP5.2PowerHA 5.5harc.net脚本,有很多不同,但是和这个问题相关的应该是这个。
HACMP5.2的脚本中:
cl_configure_persistent_address config_all -d
/etc/rc.net –boot

PowerHA5.5的脚本中:

clutils_log "configure all persistent IP addresses"
cl_configure_persistent_address config_all –d

不管什么原因,PowerHA5.5的脚本中将调用/etc/rc.net的命令去掉了。这个应该就是网关丢失的关键。
j.
编辑/usr/es/sbin/cluster/etc/harc.net,添加/etc/rc.net
clutils_log "configure all persistent IP addresses"
cl_configure_persistent_address config_all -d

########edit by xxx########
clutils_log "invoke /etc/rc.net -boot by xxx"
/etc/rc.net -boot

k.
重启机器
重启后网关仍然存在,检查rc.net.out。虽然仍有0821-003错误,但是网关添加成功。至此可以认为诊断结束。
l.

5,
后继处理
a.
因为手工修改了HACMP的脚本,所以继续观察。
b.
等待IBM的补丁。
6,

powerha5.5的sp2补丁中修复了这个bug。不是在harc.net中调用/etc/rc.net,而是增加了如下命令:
clutils_log "install any default routes on persistent subnets"
mkdev -l inet0 >> $CLUTILS_LOG_FILE 2>&1
作用应该是一样的。

===============================================================================

其实有一个很好解决的办法,不用那么麻烦:
用alias方式把persisitent ip配置到boot1网卡上,这样网卡起来就有persistent ip,而不是依赖HACMP来起persistent ip,就算HACMP软件都被删除了,persistent ip永远是可以访问的。自然也不再需要关心rc.net与harc的先后问题

===============================================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值