前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7环境下搭建基于chrony的NTP服务器

CentOS7环境下搭建基于chrony的NTP服务器

作者头像
yuanfan2012
发布2019-10-15 23:00:04
3.2K0
发布2019-10-15 23:00:04
举报
文章被收录于专栏:WalkingCloudWalkingCloud

1、NTP网络时间协议:它是通过网络在计算机系统之间进行时钟同步的网络协议。换言之,它可以让那些通过 NTP 或者 Chrony 客户端连接到 NTP 服务器的系统保持时间上的一致(它能保持一个精确的时间)。

NTP 在公共互联网上通常能够保持时间延迟在几十毫秒以内的精度,并在理想条件下,它能在局域网下达到低于一毫秒的延迟精度。它使用用户数据报协议(UDP)在端口 123 上发送和接受时间戳。它是个 C/S 架构的应用程序

2、chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,默认配置文件/etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对于NTP时间同步软件,占据很大优势,其用法也很简单。

3、Chrony有两个核心组件,分别是:

chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。

chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。


下面CentOS7环境下搭建基于chrony的NTP服务器

CentOS7 10.20.10.93 chrony服务器

CentOS7 10.20.10.158 chrony客户端

1、yum安装chrony

2、vi /etc/chrony.conf

注释掉默认的ntp.org时钟源,添加一个NTP服务器时钟源,例如添加ntp.aliyun.com

然后设置NTP客户端的允许IP地址范围,allow 10.20.0.0/16

关于配置文件的解释如下

cat /etc/chrony.conf

# 使用pool.ntp.org项目中的公共服务器。

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

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

# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整。

driftfile /var/lib/chrony/drift

# chronyd根据需求减慢或加速时间调整,

# 在某些情况下系统时钟可能漂移过快,导致时间调整用时过长。

# 该指令强制chronyd调整时期,大于某个阀值时步进调整系统时钟。

# 只有在因chronyd启动时间超过指定的限制时(可使用负值来禁用限制)没有更多时钟更新时才生效。

makestep 1.0 3

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

rtcsync

# Enable hardware timestamping on all interfaces that support it.

# 通过使用hwtimestamp指令启用硬件时间戳

#hwtimestamp eth0

#hwtimestamp eth1

#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust

# the system clock.

#minsources 2

# 指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器

#allow 192.168.0.0/16

#deny 192.168/16

# Serve time even if not synchronized to a time source.

local stratum 10

# 指定包含NTP验证密钥的文件。

#keyfile /etc/chrony.keys

# 指定日志文件的目录。

logdir /var/log/chrony

# Select which information is logged.

#log measurements statistics tracking

3、启动chronyd服务并加入开机自启动

systemctl start chronyd.service

systemctl enable chronyd.service

systemctl status chronyd.service

4、修改系统时间进行测试

运行 chronyc sources 命令去显示当前时间源的信息 -v显示详细信息

从上图可以看到与时间源相差-26327s

这时手动重启服务进行校准systemctl start chronyd.service

5、Chrony客户端的配置

rpm -aq | grep chrony,检查是否安装过chrony

若没有,使用yum install -y chrony进行安装

vi /etc/chrony.conf

然后启动并加入开机自启动

systemctl start chronyd.service

systemctl enable chronyd.service

systemctl status chronyd.service

1)去检查 chrony 的追踪状态chronyc tracking

2)运行 chronyc sources命令去显示当前时间源的信息

3)chronyc sourcestats -v命令显示有关 chronyd 当前正在检查的每个源的漂移率和偏移估计过程的信息

4)当 chronyd 配置为 NTP 客户端,能通过 chronyc ntpdata 命令向每一个 NTP 源发送/接收时间戳模式和交错模式的报告

5)确认你的 NTP 源的状态,是否在线,只需要运行chronyc activity

6、chronyc也可以进入交互模式

7、当然依然可以用ntpdate命令进行同步

本文参考

https://www.linuxprobe.com/centos7-chrony-time.html

https://linux.cn/article-10250-1.html

https://linux.cn/article-10820-1.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档