Chrony -实现NTP时间同步
提示Linux Centos8 已不支持 yum install ntpdate 的软件包chrony概述chrony是一个ntp协议的实现程序,既可以当做服务端,也可以充当客户端;它专为间歇性互联网连接的系统而设计,当然也能良好应用于持久互联网连接的环境;chrony有三个时间参考:硬件时钟、实时时钟以及手动同步。chrony的程序环境#查询程序包安装目录文件信息rpm...
目录
提示
Linux Centos8 已不支持 yum install ntpdate 的软件包
chrony概述
chrony是CentOS7.x上自带的时间同步开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确。是一个ntp协议的实现程序,既可以当做服务端,也可以充当客户端;它专为间歇性互联网连接的系统而设计,当然也能良好应用于持久互联网连接的环境;chrony有三个时间参考:硬件时钟、实时时钟以及手动同步。
它由两个程序组成:chronyd和chronyc。
chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
chronyc 客户端程序。
chrony的程序配置
#查询程序包安装目录文件信息
rpm -ql chrony
主配置文件:/etc/chrony.conf
客户端程序:/usr/bin/chronyc
服务端程序:/usr/sbin/chronyd
- 1、chrony配置文件修改
配置参数说明
参数 | 参数说明 |
server | 配置同步NTP服务器时间地址,建议配置二个以上。例:server cn.pool.ntp.org iburst |
driftfile | chronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。 系统默认 |
makestep | 通常,chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效。 系统默认 |
rtcsync | rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC) |
hwtimestamp | 在所有支持硬件的接口上启用硬件时间戳。系统默认 |
minsources | 增加需要调整的最小可选信号源数量 系统时钟。系统默认 |
allow | 允许指定网络的主机同步时间,不指定就是允许所有,默认不开启 例:192.168.0.0/16 |
local stratum | 默认不开启的选项,意思是,即使服务端没有同步到精确的网络时间,也允许向客户端同步不精确的时间。可以视情况而定。系统默认 |
keyfile | 指定包含NTP身份验证密钥的文件。 系统默认 |
leapsectz | 从系统tz数据库中获取TAI-UTC偏移和闰秒。系统默认 |
logdir | 指定日志文件的目录。系统默认 |
log | 选择要记录的信息。系统默认 |
国内外常用NTP公共时间同步服务器可参考:https://blog.csdn.net/weixin_42588262/article/details/82501488
以下是推荐的中国NTP公共时间同步服务器
国家-中图:cn.pool.ntp.org
中国:cn.ntp.org.cn
阿里云:ntp.aliyun.com
腾讯云:time1.cloud.tencent.com
#配置文件修改
vi /etc/chrony.conf
可以直接用以下文本覆盖配置文件内容,再根据自身实际情况进行修改
#配置同步NTP服务器时间地址,建议配置二个以上
server ntp.aliyun.com iburst
server cn.pool.ntp.org iburst
server time1.cloud.tencent.com iburst
# 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中。
driftfile /var/lib/chrony/drift
# 时间纠偏
makestep 1.0 3
#rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)
rtcsync
#在所有支持硬件的接口上启用硬件时间戳。
#hwtimestamp *
# 增加需要调整的最小可选信号源数量 系统时钟
#minsources 2
# 允许指定网络的主机同步时间,不指定就是允许所有,默认不开启
#allow 192.168.0.0/16
# 服务时间,即使未同步到任何NTP服务器也允许向客户端同步不精确的时间。
#local stratum 10
# 指定包含NTP身份验证密钥的文件。
keyfile /etc/chrony.keys
#从系统tz数据库中获取TAI-UTC偏移和闰秒。
leapsectz right/UTC
#指定日志文件的目录。
logdir /var/log/chrony
#选择要记录的信息。
#log measurements statistics tracking
- 2、重启服务
#重启服务
systemctl start chronyd.service
#设置开机启动服务
systemctl enable chronyd.service
#查看时间同步源,查看时间同步进度
chronyc sources –v
chronyc sources –v #结果解释: *说明时间同步完成,如果为?说明不成功,检查防火墙再看看chronyd有没有重启。开启防火墙永久允许NTP服务
#永久允许对外提供NTP时间服务
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
- 3、调整时区
使用 timedatectl命令查询当前时区及日期信息,如果日期时间不对,应该是时区问题重新设置时区。
#查看日期时间、时区及NTP状态:
timedatectl
#查看时区列表:
timedatectl list-timezones
#修改时区
timedatectl set-timezone Asia/Shanghai
调整完时间,NTP服务器和服务器时间就设置完成了。
基本操作命令
chrony操作
#停止chronyd服务
systemctl stop chronyd
#开始chronyd服务
systemctl start chronyd
#重启chronyd服务
systemctl restart chronyd
#查看chronyd服务状态
systemctl status chronyd
#开机启动chronyd服务
systemctl enable chronyd
#禁止开机启动chronyd服务
systemctl disable chronyd
#查看时间同步源,查看时间同步进度
chronyc sources –v
#查看时间同步源状态
chronyc sourcestats -v
#校准时间服务器:
chronyc tracking
timedatectl 时区/时间操作命令
#硬件时间默认为UTC:
timedatectl set-local-rtc 0
#查看日期时间、时区及NTP状态:
timedatectl
#查看时区列表:
timedatectl list-timezones
#修改时区
timedatectl set-timezone Asia/Shanghai
#修改日期时间
timedatectl set-time "2020-03-05 12:20:00"
#开启NTP
timedatectl set-ntp true/flase
更多推荐
所有评论(0)