一、时钟同步
Chrony是NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)的另一种实现,与ntpd不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。
1、chrony是两个用来维持计算机系统时钟准确性的程序,这两个程序命名为chronyd和chronyc。
- chronyd是一个在系统后台运行的守护进程。主要用于调整内核中运行的系统时间和时间服务器同步,他根据网络上其他时间服务器时间来测量本机时间的偏移量从而调整系统时钟。对于孤立系统,用户可以手动周期性的输入正确时间(通过chronyc)。在这两种情况下,chronyd决定计算机快慢的比例,并加以纠正。chronyd实现了NTP协议并且可以作为服务器或客户端。
- chronyc是用来监控chronyd性能和配置其参数的用户界面。他可以控制本机及其他计算机上运行的chronyd进程。
服务unit文件: /usr/lib/systemd/system/chronyd.service
监听端口: 323/udp,123/udp
配置文件: /etc/chrony.conf
2、配置文件
/etc/chrony.conf
server - 可用于时钟服务器,iburst 选项当服务器可达时,发送八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度
driftfile - chronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。
rtcsync - 启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
allow/deny - 这里你可以指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器。
cmdallow / cmddeny - 跟上面相类似,只是你可以指定哪个IP地址或哪台主机可以通过chronyd使用控制命令
bindcmdaddress - 该指令允许你限制chronyd监听哪个网络接口的命令包(由chronyc执行)。该指令通过cmddeny机制提供了一个除上述限制以外可用的额外的访问控制等级
makestep - 通常,chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效
local stratum 10 - 当server中提供的公网NTP服务器不可用时,采用本地时间作为同步标准
keyfile - 指定包含NTP验证密钥的文件
logdir - 指定日志文件的目录
3、chronyc用法
## 查看 ntp_servers 状态
chronyc sources -v
## 查看 ntp_sync 状态
chronyc sourcestats -v
## 查看 ntp_servers 是否在线
chronyc activity -v
## 立刻手动同步
chronyc makestep
## 显示系统时间信息
chronyc tracking