Puppet自动化分布式环境对时间要求非常严格,日常正常工作中很容易出现如下报错:
1
2
3
4
|
Triggering test .cn7788.com
Host test .cn7788.com failed: certificate verify failed. This is often because the time is out of sync on the server or client
test .cn7788.com finished with exit code 2
Failed: test .cn7788.com
|
大家可以关注“This is often because the time is out of sync on the server or client”此行报错,一般来说,如果出现类似字样,基本都是由于时间不精准而引起的问题,大家用ntpdate自动对时即可解决。
工作中新增加了多组Xen虚拟机器也要求用Puppet服务器来进行自动化管理(初始化环境已经采用Xen的模板机来处理了),环境如下所示:
1
2
3
|
192.168.11.26 test1.cn7788.com puppet-client 192.168.11.27 test2.cn7788.com puppet-client 192.168.11.28 test3.cn7788.com puppet-client |
发现一样出现了如上报错,原因如下:
Xen虚拟机器同宿主机硬件时钟同步,本来是很方便的嘛。不过因为软件模拟中断会在负载变化的时候出现延迟,所以会逐渐会比正常时间变慢,我们修改下xen虚拟机的内核文件/etc/sysctl.conf,添加代码如下:
1
|
xen.independent_wallclock = 1 |
然后用如下命令使内核改动迅速生效,如下:
1
|
sysctl -p |
最后我们在这三台Xen机器上用ntpdate命令来同步时间,确保Xen虚拟机器不会因为时间问题报错,命令如下所示:
1
|
ntpdate ntp.api.bz |
本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/1301516,如需转载请自行联系原作者