通常,在节点重启的情况下,css 守护进程的日志 (ocssd.log) 表明没有收到来自一个或多个远程节点的网络心跳(例如,消息“crs-1610:network communication with node xxxxxx (3) 在 90% 的超时间隔内丢失。在 2.656 秒内从集群中删除此节点”出现在 ocssd.log 中),并且该节点随后重新启动(以避免脑裂或因为它被另一个节点)。
此处的脚本使用 ssh 执行网络连接检查。此检查是对 ping 或 traceroute 的补充,因为 ssh 使用 tcp 协议,而 ping 使用 icmp,linux/unix 中的 traceroute 使用 udp(windows 上的 traceroute 使用 icmp)。
网络通信既涉及实际的物理连接,也涉及 ip、udp 和 tcp 等操作系统层。
crs(10g和11.1)使用tcp进行通信,所以使用ssh来测试连接以及tcp和ip层是比ping或traceroute更好的测试。
因为11.2上的crs使用udp通信,所以使用ssh来测试tcp并不是最优的测试,但是这个测试会补充traceroute测试。
该脚本每 5 秒测试一次私有互连,因此该脚本将给服务器带来微不足道的负载。
-
#!/bin/ksh
-
-
export today=`date " %y%m%d"`
-
while [ $today -lt 20121231 ] # 格式需要为 yearmonthdate
-
do
-
export today=`date " %y%m%d" `
-
export logfile=/tmp/interconnect_test_${today}.log
-
ssh drrac1-priv "hostname; date" >> $logfile 2>&1
-
ssh drrac2-priv "hostname; date" >> $logfile 2>&1
-
ssh drrac3-priv "hostname; date" >> $logfile 2>&1
-
-
echo "" >> $logfile
-
echo "" >> $logfile
-
-
sleep 5
-
done
对3节点的rac 每隔5秒执行一次
阅读(744) | 评论(0) | 转发(0) |