周氏一族,整理技术文档,给下一代留点教程......
公司服务器较多,各种服务分布式管理,所以时间的同步非常重要。
经过几番了解和思考之后,决定用这样的方式来控制时间同步
1、随便一台公网服务器server21,ntp 到 http://www.pool.ntp.org ,获得国际标准时间
2、内部形成一个局域网,全部所有机器,ntp到内网服务器 server21,获得同步
3、内网服务器,编写同步监控脚本,1小时执行一次,以确保时间同步无误。
服务器,centos 6.3 64bit
公网,server21服务器的配置如下:
-----------------------------------------------------------------------------------------------
已经安装好了,系统本身就有了,不需要安装,提示nothing to do,不鸟他
编辑ntp配置文件,配置文件之前,先来做一下前期工作
1、要找出来一个比较靠谱的公网服务器ntp才行,不能满大街,随便抓
2、我们可以到国际标准ntp平台,找,http://www.pool.ntp.org/zone/cn
3、定义好内网服务器的ip段,假如,我们定义为10.1.3.0/24
4、接下来,就真正要来开始配置 /etc/ntp.conf 了,配置文件如下:
[root@server21 ~]# cat /etc/ntp.conf # For more information about this file, see the man pages # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). driftfile /var/lib/ntp/drift # Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery # Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 127.0.0.1 restrict -6 ::1 # Hosts on local network are less restricted. restrict 10.1.3.0 mask 255.255.255.0 nomodify notrap //定义只有10.1.3.0的内网访问server21 # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.cn.pool.ntp.org //因为我的服务器机房所在地,对第一个域名访问速度不好 ,所以屏蔽掉他 server 3.asia.pool.ntp.org server 2.asia.pool.ntp.org #broadcast 192.168.1.255 autokey # broadcast server #broadcastclient # broadcast client #broadcast 224.0.1.1 autokey # multicast server #multicastclient 224.0.1.1 # multicast client #manycastserver 239.255.254.254 # manycast server #manycastclient 239.255.254.254 autokey # manycast client # Enable public key cryptography. #crypto includefile /etc/ntp/crypto/pw # Key file containing the keys and key identifiers used when operating # with symmetric key cryptography. keys /etc/ntp/keys # Specify the key identifiers which are trusted. #trustedkey 4 8 42 # Specify the key identifier to use with the ntpdc utility. #requestkey 8 # Specify the key identifier to use with the ntpq utility. #controlkey 8 # Enable writing of statistics records. #statistics clockstats cryptostats loopstats peerstats |
5、启动ntp服务,加入开机自启动
service ntpd start && chkconfig ntpd on
6、看一下ntp时间是否同步过来
[root@Redis_Master ~]# watch ntpq -p Every 2.0s: ntpq -p Tue Aug 26 10:50:35 2014 remote refid st t when poll reach delay offset jitter ============================================================================== 61.110.197.50 108.71.253.20 2 u 28 64 1 108.384 37.441 0.000 194.27.44.55 62.12.173.11 2 u 28 64 1 352.688 49.994 0.000 |
很明显, 已经在同步了。
7、注意,你问我,现在几点,我跟你说是11:46:00,但是,如果你问老外,现在几点,他可能会说,现在是24:00:00,因为时区不同,所以导致时间不一样。
因此,我们需要先定义好自身的时区,用下面这条命令
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
然后,再次重启一下ntp服务,时间就对了。
内网,所有服务器的配置如下:
-----------------------------------------------------------------------------------------------
[root@localhost ~]# crontab -e
#输入下面内容,保存退出完全wq!
00 */1 * * * root /usr/sbin/ntpdate 10.1.3.21 && /sbin/hwclock -w
[root@localhost ~]# service crond restart
这样两条命令,就能让他自动更新时间,一小时/次
因为我这是真实的环境,所以会碰到很多问题,现在的问题就是所有服务器都是内网,当初都是最小化安装,所以没有装这些 crontab,但是又连不到外网,所以就不能yum 安装,只能rpm包了。
可以到这里来搜索,你要的rpm包,然后下载到本地,再上传到server21,再传给内网服务器
rpm -ivh --nodeps cronie-1.4.4-12.el6.x86_64.rpm
搞定
本文出自 “周氏一族” 博客,谢绝转载!
原文地址:http://zhoushouby.blog.51cto.com/9150272/1545080