chrony 时间同步

一.chrony简介

chrony 的优势:
① 更快的同步,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用。

相对于NTP来说,chrony性能更好

NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

② 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用。
③ 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响。
④ 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性。
⑤ 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。
 

二.chrony

1.安装chrony

两个主要程序:chronyd 和 chronyc

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

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

服务unit文件: /usr/lib/systemd/system/chronyd.service

监听端口: 323/udp,123/udp

配置文件: /etc/chrony.conf

配置文件解释:

server :指明时间服务器地址,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度。

driftfile : 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作出补偿。

rtcsync :启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)。

allow NETADD/NETMASK 自己作为ntp服务器,让客户端来同步自己的时间。

allow all:允许所有客户端主机。

deny all:拒绝所有客户端。

cmdallow / cmddeny :可以指定哪台主机可以通过chronyd使用控制命令。

bindcmdaddress : 允许chronyd监听哪个接口来接收由chronyc执行的命令。

makestep : 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个域值时调整系统时钟。

local stratum 10 :即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端。

2.启动 chrony 服务

3.修改配置文件,添加时间源

搭建本地时间同步服务器

服务器配置:

主机配置:

都重新启动服务

模拟测试:

服务器改时间:

客户机调整时间

或者

三 .指令参数含义

##格式
chronyc [OPTION]... [COMMAND]...

##查看帮助
chronyc help

##显示有多少NTP源在线/离线
[root@localhost ~]# chronyc activity

##强制同步系统时间
[root@localhost ~]# chronyc -a makestep

#检查是否对特定主机可访问当前服务器
[root@localhost ~]# chronyc accheck 192.168.44.30
208 Access allowed

##显示当前时间源的同步信息
[root@localhost ~]# chronyc sources


##显示当前时间源的同步统计信息
[root@localhost ~]# chronyc sourcestats


##手动添加一台新的NTP服务器
[root@localhost ~]# chronyc add server ntp.fudan.edu.cn   #添加一台复旦大学的时间同步服务器
200 OK
[root@localhost ~]# chronyc sources -v


##报告已访问本服务的客户端列表
[root@localhost ~]# chronyc clients 

##显示系统的时钟性能参数
[root@localhost ~]# chronyc tracking


##其它时间相关命令

##查看当前系统时区
[root@localhost ~]# timedatectl

##查看所有可用的时区:
[root@localhost ~]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui

##查看上海时区:
[root@localhost ~]#  timedatectl list-timezones |  grep  "Asia/Shanghai"
Asia/Shanghai

##设置当前系统为Asia/Shanghai上海时区:
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai

##修改日期时间:
[root@localhost ~]# timedatectl set-time “2024-01-11 11:11:11”

##开启/关闭 NTP: 
[root@localhost ~]# timedatectl set-ntp true/flase
  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置chrony时间同步,你可以按照以下步骤进行操作: 1. 安装chrony:使用适合你的Linux发行版的包管理器,如apt、yum或dnf,安装chrony软件包。 2. 配置chrony:编辑chrony的配置文件,通常位于`/etc/chrony.conf`。你可以使用任何文本编辑器打开该文件。 3. 添加时间服务器:在配置文件中找到或添加server行,指定要同步的时间服务器。例如: ``` server time1.example.com server time2.example.com ``` 你可以根据需要添加多个时间服务器,并按优先级排序。 4. 配置本地时钟源:如果你的系统有本地硬件时钟源,可以添加本地时钟源的配置。例如: ``` refclock PPS /dev/pps0 lock GPS ``` 这是一个使用GPS接收器提供的脉冲信号同步本地时钟的示例。 5. 配置访问控制:根据需要,可以在配置文件中添加访问控制规则,以限制哪些主机可以访问chrony服务。例如: ``` allow 192.168.0.0/24 ``` 这将允许192.168.0.0/24网段内的主机访问chrony服务。 6. 保存并关闭文件:完成配置后,保存并关闭配置文件。 7. 启动chrony服务:启动或重启chrony服务,以使配置生效。使用适合你的Linux发行版的命令,如systemctl或service。例如: ``` sudo systemctl start chronyd ``` 8. 验证时间同步:使用`chronyc sources`命令检查时间服务器的同步状态。例如: ``` chronyc sources ``` 该命令将显示已配置的时间服务器和它们的同步状态。 通过按照上述步骤进行配置,你可以使用chrony实现时间同步。请确保你的系统能够访问指定的时间服务器,并且网络连接正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值