`

NTP服务及时间同步(CentOS6.x)

 
阅读更多

 

  今有一小型项目,完全自主弄,原来以为很简单的NTP服务,我给折腾了2个多小时才整撑头(以前都是运维搞,没太注意,所以这技术的东西,在简单都需要亲尝啊),这里记录为以后别再浪费时间。

  

   目标环境,5台linux centos 6.3, 一台作为NTPD服务与外部公共NTP服务同步时间,同时作为内网的NTPD服务器,其他机器与这台服务做时间同步。

 服务器IP 角色   说明 同步方式
 192.168.1.135   NTPD服务

 1、负责与外部公共NTPD服务同步标准时间

 2、作为内外网络的NTPD服务

NTPD服务平滑同步

 192.168.1.xxx  内外NTP客户端  内网设备与192.168.1.135同步时间 NTPD服务平滑同步
 ……   内外NTP客户端   内网设备与192.168.1.135同步时间 NTPD服务平滑同步

  

1、NTP时间同步方式选择

   NTP同步方式在linux下一般两种:使用ntpdate命令直接同步和使用NTPD服务平滑同步。有什么区别呢,简单说下,免得时间长了,概念又模糊。

   现有一台设备,系统时间是 13:00 , 真实的当前时间(在空中,也许卫星上,这里假设是在准备同步的上级目标NTP服务器)是: 12:30  。如果我们使用ntpdate同步(ntpdate -u 目标NTP服务器IP),操作系统的时间立即更新为12:30,假如,我们的系统有一个定时应用,是在每天12:40运行,那么实际今天这个的任务已经运行过了(当前时间是13:00嘛),现在被ntpdate修改为12:30,那么意味作10分钟后,又会执行一次任务,这就糟糕了,这个任务只能执行一次的嘛!!我想你(其实是我)已经懂了ntpdate时间同步的隐患,当然这个例子有些极端,但的确是有风险的,生产环境我不打算这么干,还是稳妥点好。所以解决该问题的办法就是时间平滑更改,不会让一个时间点在一天内经历两次,这就是NTPD服务方式平滑同步时间,它每次同步时间的偏移量不会太陡,是慢慢来的(问:怎么来,没有细究,只晓得一次一点的同步,完全同步好需要较长时间,所以一般开启NTPD服务同步前先用ntpdate先手动同步一次)。

 

2、安装配置

CentOS 6.3系统已经自带了NTPD服务,一般默认是按照了的,如果没有安装,先检查下,然后配置好yum仓库,yum方式安装下就OK,具体如下:

# rpm -q ntp

ntp-4.2.4p8-2.el6.x86_64    // 这表示已安装了,如果没有安装,这是空白。

如果没有安装,我们按照下

# yum install ntp

......

按上面的安装方式在内网每台服务器上都安装好NTP软件包。

完成后,都需要配置NTP服务为自启动

# chkconfig ntpd on

# chkconfig --list ntpd

ntpd           0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

 

在配置前,先使用ntpdate手动同步下时间,免得本机与外部时间服务器时间差距太大,让ntpd不能正常同步。

# ntpdate -u 202.112.10.36

22 Dec 16:52:38 ntpdate[6400]: adjust time server 202.112.10.36 offset 0.012135 sec

 

配置内网NTP-Server(192.168.1.135)

下面主要是配置内网的NPTD服务器(192.168.1.135), NTPD服务配置核心就在/etc/ntp.conf文件,配置好了就OK。网上特别是老外的文章都很简单,我上当了,妈哟,基础环境不一样,我们得中国特色才行。先上配置文件再说,红色部分是我的修改,其他的是默认。

 

# 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 192.168.1.0 mask 255.255.255.0 nomodify notrap

 

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

# 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn

server 210.72.145.44 perfer   # 中国国家受时中心

server 202.112.10.36             # 1.cn.pool.ntp.org

server 59.124.196.83             # 0.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

 

# allow update time by the upper server 

# 允许上层时间服务器主动修改本机时间

restrict 210.72.145.44 nomodify notrap noquery

restrict 202.112.10.36 nomodify notrap noquery

restrict 59.124.196.83 nomodify notrap noquery

 

# Undisciplined Local Clock. This is a fake driver intended for backup

# and when no outside source of synchronized time is available. 

# 外部时间服务器不可用时,以本地时间作为时间服务

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

 

# 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

配置参数和命令简单说明请参考:http://linux.vbird.org/linux_server/0440ntp.php#server_ntp.conf

 

配置文件修改完成,保存退出,启动服务。

# service ntpd start

......

启动后,一般需要5-10分钟左右的时候才能与外部时间服务器开始同步时间。可以通过命令查询NTPD服务情况。

 

查看服务连接和监听

# netstat -tlunp | grep ntp      

udp        0      0 192.168.1.135:123           0.0.0.0:*                               23103/ntpd          

udp        0      0 127.0.0.1:123               0.0.0.0:*                               23103/ntpd          

udp        0      0 0.0.0.0:123                 0.0.0.0:*                               23103/ntpd          

udp        0      0 fe80::6cae:8bff:fe3d:f65:123 :::*                                    23103/ntpd          

udp        0      0 fe80::6eae:8bff:fe3d:f65:123 :::*                                    23103/ntpd          

udp        0      0 ::1:123                     :::*                                    23103/ntpd          

udp        0      0 :::123                      :::*                                    23103/ntpd  

看红色加粗的地方,表示连接和监听已正确,采用UDP方式

 

ntpq -p 查看网络中的NTP服务器,同时显示客户端和每个服务器的关系

# ntpq -p

# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

*202.112.10.36   202.112.10.60    2 u  277  128  314  201.553    9.193  17.068

+59.124.196.83   129.6.15.28      2 u   88  128  377   71.153  -25.111  14.004

 LOCAL(0)        .LOCL.          10 l   15   64  377    0.000    0.000   0.000

 

位置 标志 含义
符号 * 响应的NTP服务器和最精确的服务器
+ 响应这个查询请求的NTP服务器
blank(空格) 没有响应的NTP服务器
标题 remote 响应这个请求的NTP服务器的名称
refid NTP服务器使用的更高一级服务器的名称
st 正在响应请求的NTP服务器的级别
when 上一次成功请求之后到现在的秒数
poll 本地和远程服务器多少时间进行一次同步,单位秒,在一开始运行NTP的时候这个poll值会比较小,服务器同步的频率大,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小
reach 用来测试能否和服务器连接,是一个八进制值,每成功连接一次它的值就会增加
delay 从本地机发送同步要求到ntp服务器的往返时间
offset 主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒,offset越接近于0,主机和ntp服务器的时间越接近
jitter 统计了在特定个连续的连接数里offset的分布情况。简单地说这个数值的绝对值越小,主机的时间就越精确

 

ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。

刚启动的时候,一般是:

# ntpstat 

unsynchronised

  time server re-starting

   polling server every 64 s

连接并同步后:

synchronised to NTP server (202.112.10.36) at stratum 3 

   time correct to within 275 ms

   polling server every 256 s

 

OK,内网的NTPD服务已经配置完成,如果所有正常后,开始配置内网的其他设备与这台服务器作为时间同步服务。

 

配置内网NTP-Clients

内网其他设备作为NTP的客户端配置,相对就比较简单,而且所有设备的配置都相同。

首先需要安装NTPD服务,然后配置为自启动(与NTP-Server完全一样)。然后找其中一台配置/etc/ntp.conf文件,配置完成验证通过后,拷贝到其他客户端机器,直接使用即可。

# yum install ntp

...

# chkconfig ntp on

# vim /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

 

# 配置时间服务器为本地的时间服务器

server 192.168.1.135

 

restrict 192.168.1.135 nomodify notrap noquery

 

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

 

includefile /etc/ntp/crypto/pw

 

keys /etc/ntp/keys

 为了简单,这里只列出了配置项,注释全部清理了。

 OK,保存退出,请求服务器前,请先使用ntpdate手动同步下时间

# ntpdate -u 192.168.0.135

22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec

这里有可能出现同步失败,一般情况下原因都是本地的NTPD服务器还没有正常启动起来,一般需要几分钟时间后才能开始同步。

错误判断请参考后面的错误处理。

 

# service ntpd start

....

启动后,查看同步情况

# ntpq -p

# ntpstat

.....

因为是内网,一般ntpstat很快就可以同步上,几分钟需要等下.

OK,本机客户端配置完成后,使用SCP拷贝/etc/ntp.conf到其他需要同步的客户端机器,启动NTPD服务即可。

其他客户端机器上操作配置如下:

 ntpdate -u 192.168.0.135

22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec

# scp 192.168.1.xxx:/etc/ntp.conf /etc/ntp.conf

# service ntpd start

 

 

3、错误问题处理

用于收集安装,配置和应用中出现的问题

 

错误1:ntpdate -u ip ->  no server suitable for synchronization found

判断:在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。

原因:NTP server还没有和其自身或者它的server同步上。在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。

处理:等待几分钟后,重试一般解决。

也可以使用命令 ntpq -p查看情况

参考:http://blog.csdn.net/weidan1121/article/details/3953021

 

 

 

 

分享到:
评论

相关推荐

    ntp-4.2.6p5-12.el6.centos.2.x86_64.r和ntpdate-4.2.6p5-12.el6.centos.2.x86_64.rpm

    ntp-4.2.6p5-12.el6.centos.2.x86_64.rpm 和 ntpdate-4.2.6p5-12.el6.centos.2.x86_64.rpm 是针对CentOS 6.x或Red Hat 6.x 64位系统的RPM安装包,用于部署和管理网络时间服务。 NTP的主要功能是确保系统时钟的准确...

    ntpdate-4.2.6p5-5.el6.centos.x86_64.rpm

    centos 6.x,各位根据版本下载。 适用于yum无法使用情况,具体文件如下: ntpdate-4.2.6p5-5.el6.centos.x86_64.rpm ntp-4.2.6p5-5.el6.centos.x86_64.rpm

    ntp-4.2.6p5-29.el7.centos.x86_64.rpm

    ntp-4.2.6p5-29.el7.centos.x86_64.rpm,用于搭建ntp服务,集群中做时间同步

    centos7离线安装时钟同步ntp安装包

    在CentOS 7.x系统上,离线安装NTP服务可以帮助你在一个没有互联网连接的环境中设置时钟同步。本文将详细介绍如何使用提供的压缩包在CentOS 7上离线安装NTP。 首先,你需要下载NTP的RPM安装包。这个压缩包"centos7...

    centos7安装ntp服务所需rpm包

    资源解压后有三个rpm包,下载后执行下方指令,即可安装ntp时间同步服务(此为官网最新版本) rpm -ivh ntp-4.2.6p5-29.el7.centos.x86_64.rpm ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm autogen-libopts-5.18-5....

    linux时间同步ntp服务的安装与配置

    1、安装ntp服务,要使用时间同步、那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@5201351 ~]# yum install ntp -y 2、如果只是作为客户端的话,配置则可以非常简单,编辑/etc/ntp.conf文件,注释掉默认...

    centos6.5-ntp安装包.rar

    总结来说,"centos6.5-ntp安装包.rar"提供了在CentOS 6.5上部署NTP服务的完整流程,包括安装、配置、启动、时间同步以及验证服务状态等关键步骤,以确保系统的时钟与全球标准时间保持一致。通过这些操作,可以有效...

    cetos7离线安装时间同步ntp需要的rpm包

    ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm openssl-1.0.2k-19.el7.x86_64.rpm openssl-libs-1.0.2k-19.el7.x86_64.rpm 一键安装命令: rpm -ivh *.rpm --force --nodeps

    NTP服务及时间同步

    【NTP服务及时间同步】是指在网络环境中,通过NTP(Network Time Protocol)协议来确保计算机系统的时间同步。NTP是一种互联网协议,用于在不同网络设备间校准时间,以保持整个系统的时钟准确一致。这对于分布式系统...

    NTP时间同步服务器搭建.doc

    **NTP时间同步服务器搭建详解** 网络时间协议(Network Time Protocol,简称NTP)是一种用于在互联网上同步计算机时间的协议。NTP采用分层设计,通常分为Stratum层,从Stratum 0到Stratum 15,其中Stratum 0是最...

    ntp rpm 安装包.zip

    1. `ntp-4.2.6p5-12.el6.centos.1.x86_64.rpm`:这是NTP服务器的主要安装包,它提供了一个守护进程(ntpd),用于与NTP服务器进行时间同步,确保系统时间的准确性。 2. `ntpdate-4.2.6p5-12.el6.centos.1.x86_64.rpm...

    centos7 rpm安装ntp

    8. **保持系统时间同步**: NTP服务会定期自动同步系统时间,但如果你需要立即同步,可以使用`ntpdate`命令(尽管在较新的版本中已弃用,但在CentOS 7中仍然可用): ``` sudo ntpdate ntp.example.com ``` ...

    ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm

    ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm,搭建ntp时间同步,用于集群中时间同步!

    CentOS下安装NTP时间服务器

    NTP(Network Time Protocol)是一种用于在分布式时钟之间进行时间同步的网络协议。它的主要功能是通过网络来同步计算机系统的时间,使得网络中的所有设备都能保持一致的时间戳。 NTP 基于一种称为“客户端-服务器...

    ntp时间同步rpm包

    ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm autogen-libopts-5.18-5.el7.x86_64.rpm ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm

    服务器NTP时间同步配置说明

    ### 服务器NTP时间同步配置详解 #### 一、服务器时间同步简介 在现代网络环境中,确保所有服务器的时间保持一致是非常重要的。不准确或者不同步的时间可能会导致一系列问题,比如安全漏洞、审计失败等。因此,为了...

    CentOS6.2 NTP时间服务器搭建

    CentOS 6.2 NTP 时间服务器搭建是指在 CentOS 6.2 操作系统上搭建 NTP 服务器,以提供统一的时间标准供其他服务器同步。 本文将详细介绍 NTP 时间服务器的搭建过程,包括 NTP 服务器的配置、启动和客户端的配置等。...

    归档ntp离线安装-linux通用版.zip

    压缩包中的文件包括:ntp-4.2.6p5-18.el7.centos.x86_64.rpm(NTP服务主程序),ntpdate-4.2.6p5-18.el7.centos.x86_64.rpm(用于手动调整时间的工具),以及autogen-libopts-5.18-5.el7.x86_64.rpm(NTP编译过程...

    linux时间同步ntp安装包.zip

    多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等, 利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到同步。

Global site tag (gtag.js) - Google Analytics