我的任务是维护一个Rocks(基于Centos 6.2)集群,其中的头节点配置有到公共网络的静态IP,并充当内部专用网络上计算节点的NAT路由器。节点通过标准以太网和QDR Infiniband连接到头节点。
最近,计算节点无法访问外部数据源来开始计算,因为当它们使用wget下拉公共可用数据集时,DNS查找失败。所有计算节点都在/etc/resolv.conf中使用头节点的IP进行了配置,我检查了头节点上的iptables防火墙,但没有任何变化。SSH在所有节点和头节点之间工作。当我使用某些数据源的IP地址进行手动启动的传输时,数据会再次流动,但有些应用程序无法使用IP来获取数据。我试着重新启动了named和iptables防火墙,但到目前为止还没有修复它。系统日志(dmesg,/var/log/messages)没有显示突然的故障或错误消息,我最近没有进行任何配置更改,直到大约2天前的晚上,所有事情都运行了好几个月。头节点可以很好地访问和解析名称,只有NAT头节点后面的计算节点不工作。
我仍然不熟悉Rocks的所有工作原理,也不确定是否有一些特殊的Rocks命令是我忽略的,可以让它再次工作。要使DNS解析重新工作,我可能缺少什么?
提前感谢!
更新:DNS在计算节点和头节点之间内部工作(例如,compute-10-10从所有其他节点解析到该节点的IP地址),因此头节点可以正常地作为集群DNS运行。对于所有计算节点,对本地区域以外的域的请求仍然失败(例如nslookup google.com失败)。
根本原因是上游DNS服务器出现故障。将/etc/named.conf转发器选项重新配置到其他服务器,所有计算节点都可以再次访问外部资源。