引:Xen虚拟机器加入Puppet自动化环境,如何解决时间同步的问题呢?Xen虚拟机同宿主机硬件时钟同步,本来是很方便的事,不过因为软件模拟中断会在负载变化的时候出现延迟,所以会逐渐会比正常时间变慢,我们需要修改xen虚拟机的内核文件/etc/sysctl.conf。
Puppet自动化分布式环境对时间要求非常严格,日常正常工作中很容易出现如下报错:
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的模板机来处理了),环境如下所示:
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,添加代码如下:
xen.independent_wallclock = 1
然后用如下命令使内核改动迅速生效,如下:
sysctl -p
最后我们在这三台Xen机器上用ntpdate命令来同步时间,确保Xen虚拟机器不会因为时间问题报错,命令如下所示:
ntpdate ntp.api.bz
Puppet 的详细介绍:请点这里
Puppet 的下载地址:请点这里
Puppet 学习系列:
相关阅读:
有关Puppet agent端三种备份恢复方案探讨研究
选择更安全的方式注册你的Puppet节点
通过配置SSH深刻理解Puppet的语法及工作机制
Puppet利用Nginx多端口实现负载均衡
CentOS(5和6)下Puppet的C/S模式实例