Xen虚拟机加入Puppet环境如何解决时间同步问题

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,如需转载请自行联系原作者

上一篇:C#窗体实现打开关闭VM虚拟机


下一篇:40款用于简洁网页设计的光滑英文字体【上】