Centos 7 搭建Chrony 时间服务器

(1)简介

Chrony是网络时间协议(NTP)的另一种实现,与ntp相比,它能够更快地同步系统时钟并具有更好的准确性。Chrony还可以对时钟频率的快速变化提供更好的响应,这对于时钟不稳定或无法保持时钟频率恒定的节能 技术的虚拟机很有用

监听端口323/udp,123/udp

(2)安装

yum -y install chrony

(3)文件解析

/etc/chrony.conf

主配置文件

chronyd

后台守护进程,用于调整内核中运行的系统时钟和时间服务器同步

chronyc

客户端用户界面,用于监控chrony的性能,进行参数配置

chronyd.service

单元文件

(4)配置文件解析

                                vim /etc/chrony.conf
[server]          
//指定ntp服务器的地址,在我们服务端不能上外网的情况下,设置主机为时间服务器。
格式 server + ip/用户名 + perfer (perfer表示优先)
 

server 127.127.1.0 

server 210.72.145.44 中国国家授时中心的ip地址
 
 

driftfile /var/lib/chrony/drift 
// chronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个
文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。



makestep 1.0 3
//通常,chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差,在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。,该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间
,超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效,此处表示如果调整值大于1秒,则这将使系统时钟步进,但仅在前十个时钟更新中。




rtcsync
//rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)
 

#hwtimestamp *
//在所有支持硬件的接口上启用硬件时间戳,系统默认
 
          
minsources 2
//增加需要调整的最小可选信号源数量 系统时钟。系统默认
 
allow/ deny 
//这里你可以指定一台主机、子网,或者网络以允许或拒绝NTP连接


local stratum 10
//如果上面使用server字段配置的时间服务器同步时间失败,默认情况下当前时间服务器是不会向
客户端同步时间的。这是因为担心当前节点的时间不准确(因为当前节点没有和定义中的server
时间服务器进行同步)。如果我们想要在server指定的时间服务器同步失败的情况下依旧返回当
前时间服务器的时间给客户端,需要开启该参数,生产环境开启该参数会有一个问题,如果server有配置,那么可能会导致所有服务器的时间都是
一致的,并且都是错误的。如果是非互联网环境,例如私有云等或独立局域网,即使都出错也可以接受。


keyfile /etc/chrony.keys
//指定密码文件

logdir /var/log/chrony
//指定日志文件的目录


cmdallow / cmddeny
//可以指定那台主机可以通过chronyd使用控制命名
                           

maxchange 1000 1 2
//# 在第一次时钟更新之后,chronyd将检查每次时钟更新的偏移量,它将忽略两次大于1000秒的调整,并退出另一个调整。

 
rtcfile /var/lib/chrony/rtc
//该rtcfile指令定义中的文件名chronyd可以保存跟踪系统的实时时钟(RTC)的精度相关的参数。

(5)服务器配置

server端:192.168.100.100,10.1.82.20

cilent端:192.168.100.110

windows:10.1.82.10

                        vim /etc/chrony.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

server 127.127.0.1 iburst
allow 0.0.0.0/0            //运行所有网段进行连接
local Stratum 10           //如果我不能和我定义的网络时间源进行同步时,我也能继续提供时间
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]# iptables -I INPUT -p udp --dport 123 -j ACCEPT 
[root@localhost ~]# iptables -I INPUT -p udp --dport 323 -j ACCEPT 
[root@localhost ~]#systemctl restart chronyd 

(6)客户端配置

Linux
                        vim /etc/chrony.conf
server 192.168.100.100
[root@localhost ~]#systemctl restart chronyd
[root@localhost ~]#ntpdate 192.168.100.100

(7)chronyc命令简介

help

查看更多chronyc的交互命令

accheck

检查是否对特定主机可访问当前服务器

activity

显示有多少NTP源在线/离线情况

sources [-v]

显示当前时间源同步信息

sourcestats [-v]

显示当前时间源同步统计信息

add server

手动添加一台新的NTP服务器

clients

报告以访问本服务器的客户端列表

delete

手动移除NTP服务器或对等体服务器

settime

手动设置守护进程时间

sracking

显示系统时间信息

                              chronyc sources -v 命令解析

[root@localhost ~]# chronyc sources -v
210 Number of sources = 1  

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* localhost                    10   6   377   115     +1ns[  -10us] +/-   14us


M        表示授时时钟源    
//^表示服务器,= 表示二级时钟源 ,#表示本地连接的参考时钟

 
S    指示源的状态    
//*当前同步的源,+表示其他可接受的源,?表示连接丢失的源,x表示一个认为是falseticker 的时钟(即它的时间与大多数其他来源不一致),~表示其时间似乎具有太多可变性的来源

 
Name/IP address        表示源的名称或IP地址,或者参考时钟的refid值

      
Stratum        表示源的层级    
//层级1表示本地连接的参考时钟,第2层表示通过第1层级计算机的时钟实现同步,依此类推。

 
Poll    表示源轮询的频率    
//以秒为单位,值是基数2的对数,例如值6表示每64秒进行一次测量,chronyd会根据当时的情况自动改变轮询频率

 
Reach    表示源的可达性的锁存值(八进制数值)
//该锁存值有8位,并在当接收或丢失一次时进行一次更新,值377表示最后八次传输都收到了有效的回复

 
LastRx    表示从源收到最近的一次的时间    
//通常是几秒钟,字母m,h,d或y分别表示分钟,小时,天或年,值10年表示从未从该来源收到时间同步信息


Last sample    表示本地时钟与上次测量时源的偏移量    
/方括号中的数字表示实际测量的偏移值,这可以以ns(表示纳秒),us(表示微秒),ms(表示毫秒)或s(表示秒)为后缀;方括号左侧的数字表示原始测量值,这个值是经过调整以允许应用于本地时钟的任何偏差;方括号右侧表示偏差值,+/-指示器后面的数字表示测量中的误差范围,+偏移表示本地时钟快速来源
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值