通常,在节点重启的情况下,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秒执行一次
阅读(872) | 评论(0) | 转发(0) |