一、介绍

NTP:Network Time Protocol,网络时间协议,服务器时间同步的一种协议,它可以使服务器对其它服务器或时钟源(如石英钟、GPS等等)做同步化,它可以提供高精准度的时间校正(LAN局域网上与标准间差小于1毫秒,WAN互联网上与标准间差几十毫秒)。ntpd是NTP的守护进程,它通过周期性地查询公共时间服务器来调整系统时钟的时间偏移量,该进程只花费少量的进程资源和内存。

NTP在linux下有两种时钟同步方式,分别为直接同步和平滑同步: 

直接同步 :

使用ntpdate命令进行同步,直接进行时间变更。如果服务器上存在一个12点运行的任务,当前服务器时间是13点,但标准时间时11点,使用此命令可能会造成任务重复执行。因此使用ntpdate同步可能会引发风险,因此该命令也多用于配置时钟同步服务时第一次同步时间时使用。 

平滑同步 :

使用ntpd进行时钟同步,可以保证一个时间不经历两次,它每次同步时间的偏移量不会太陡,是慢慢来的,这正因为这样,ntpd平滑同步可能耗费的时间比较长。


标准时钟同步服务:

1.cn.pool.ntp.org

2.cn.pool.ntp.org

3.cn.pool.ntp.org

二、ntp服务搭建

yum -y install ntp
ntpdate -q 2.cn.pool.ntp.org #测试时钟服务是否正常可用
ntpdate 2.cn.pool.ntp.org #和远程时钟服务同步系统时间
hwclock -w #将系统时间同步到机器时间

vim /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 #允许本机的一切操作
restrict 192.168.142.0 mask 255.255.255.0 nomodify #允许局域网内所有client连接到这台服务器
restrict -6 ::1
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org prefer
server 127.127.1.0 #如果无法连接公网,则使用自己本身的时间作为标准时间。
fudge 127.127.1.0 stratum 10 #设置stratum级别
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

vim /etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
SYNC_HWCLOCK="yes" # 设置同步更新本地hwclock

service ntpd start && chkconfig ntpd on

ntpstat #过一段时间后查看是否同步成功

centos6搭建NTP时间服务器_ntp

三、客户端设置

1、ntpdate强制同步

yum -y install ntpdate
echo '*/10 * * * * /usr/sbin/ntpdate 192.168.142.130 &>/dev/null' >> /var/spool/cron/root

2、ntpd服务平滑同步

yum -y install ntp

vim /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#对时服务器,配置成ntp-server的机器
server 192.168.142.130
restrict 192.168.142.130 nomodify notrap noquery
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

vim /etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
SYNC_HWCLOCK="yes" # 设置同步更新本地hwclock

service ntpd start

注意:使用ntpd平滑同步就不能定义ntpdate同步了