背景

    由于某些场景,我们有时需要配合数据中心的规划建设,以及DNS服务器本身的维护切换,有时候集群内的DNS服务器IP地址会发生变化。而Linux系统则需要配合更新系统的/ect/resolv.conf文件,以适应这个变化。

   实践中证明,对于部分进程,/etc/resolv.conf文件的更改不会立马生效,而需要进程重启后才会生效。


问题定位:

    在sourceware.org找到类似案例(见参考bugs),是由于开源库glibc的设计导致。并提议采用nscd解决。


测试一:

  环境:系统:CentOS 6

    新DNS地址:10.10.10.3、10.10.10.4,把域名abc.nb.local解析到新服务器:10.10.10.11

    旧DNS地址:10.10.10.1、10.10.10.2,把域名abc.nb.local解析到旧服务器:10.10.10.10

1、

部署受影响客户端程序到测试服务器 -> 修改测试服务器resolv文件指向旧DNS地址 -> 启动客户端服务 -> 观察服务器日志出现在旧服务器 -> 再次修改测试服务器resolv文件指向新DNS地址 -> 观察服务器日志出现在