标签归档:infinichecke

解决Exadata上IB检查脚本infinicheck的报错过程

今天检查Exadata的IB网络时,使用 infinicheck 检查,发现db节点有报错,cell节点正常。 当前主机是Exadata X5-2: infinicheck的执行结果(该命令可以有很丰富的参数,但是也可以不带任何参数,缺省就可以): 从这里我们看到,凡是到db节点的都报错。 infinicheck命令底层是调用的rds-stress命令,例如: rds-stress -r 192.168.10.1 -p 10584 当然,除了infinicheck意外,还有其他很多检查方法,比如rds-ping(ExaWatcher和OSWatcher中调用的这个命令)。 很奇怪,为什么就db节点报错? 于是,使用infinicheck 带参数-b -g 来检查和配置一下DB节点的IB的SSH连通性: 这里我犯了个错误:这个命令需要配置IB的基于IP的SSH(root),而不是主机名 这里很清晰的告诉我们,ping不通,O(∩_∩)O哈哈~,这个就好办了。 接下来,我们手工ping看看: 那么ping第2个节点的主机名试试看,证实一下是不是解析的问题: 这里我们看到,果然是解析的问题。 由于IB网络是Exadata内部互联用的,因此没有在DNS解析,只在/etc/hosts中解析。 而/etc/hosts文件是由onecommand配置的(除非手工安装,否则使用了onecommand后,所有配置文件都由onecommand根据配置xml文件自动生成) 从这里我们看到,IB网络的IP配置格式是错误的,正确的是: 127.0.0.1 localhost.localdomain localhost 错误的是: 192.168.10.1 dm01db01-priv1.lunar.com dm01db01-priv1 修改了上述hosts文件后, 纠正hosts文件后,发现ping主机名的问题解决了: 这里还有个问题很奇怪,cell节点的hosts文件也是错误的,但是却可以ping通,怀疑跟DNS缓存有关系: 现在,再次使用infinicheck 带参数-b -g … 继续阅读

发表在 故障诊断 | 标签为 , | 留下评论