首页 > 代码库 > linux ntp 服务器,时间同步

linux ntp 服务器,时间同步

周氏一族,整理技术文档,给下一代留点教程......


公司服务器较多,各种服务分布式管理,所以时间的同步非常重要。

经过几番了解和思考之后,决定用这样的方式来控制时间同步

1、随便一台公网服务器server21,ntp 到 http://www.pool.ntp.org ,获得国际标准时间

2、内部形成一个局域网,全部所有机器,ntp到内网服务器 server21,获得同步

3、内网服务器,编写同步监控脚本,1小时执行一次,以确保时间同步无误。


服务器,centos 6.3  64bit

公网,server21服务器的配置如下:

-----------------------------------------------------------------------------------------------

wKiom1P8AJ7BzTBBAAFEmBpInk8910.jpg

已经安装好了,系统本身就有了,不需要安装,提示nothing to do,不鸟他


编辑ntp配置文件,配置文件之前,先来做一下前期工作

1、要找出来一个比较靠谱的公网服务器ntp才行,不能满大街,随便抓

2、我们可以到国际标准ntp平台,找,http://www.pool.ntp.org/zone/cn

wKiom1P8AbOwKb_NAAGGu8-TgcA383.jpg3、定义好内网服务器的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包了。


http://rpm.pbone.net/index.php3/stat/4/idpl/25006580/dir/centos_6/com/cronie-1.4.4-12.el6.x86_64.rpm.html

可以到这里来搜索,你要的rpm包,然后下载到本地,再上传到server21,再传给内网服务器

wKiom1P8BSqBsL5LAANjn8kEdTQ535.jpg

rpm -ivh --nodeps cronie-1.4.4-12.el6.x86_64.rpm

搞定


本文出自 “周氏一族” 博客,谢绝转载!

linux ntp 服务器,时间同步