浅谈chrony服务

浅谈chrony服务


chrony概念

  • Chrony 是 NTP 客户端的替代品。
  • Chrony 的优势:
    • 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率
      误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用
    • 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致
      时钟频率发生变化的节能技术而言非常有用
    • 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序
      造成影响
    • 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更
      好的稳定性
    • 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速
      同步时钟
  • chrony是网络时间协议的 (NTP) 的另一种实现,由两个程序组成
    • chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿
    • chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作

Chroyd服务端

chrony安装

  • yum -y install chrony

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

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

[root@Centos7 ~]# ss -nulp
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
UNCONN      0      0       127.0.0.1:323                         *:*                   users:(("chronyd",pid=1130,fd=5))
UNCONN      0      0           [::1]:323                      [::]:*                   users:(("chronyd",pid=1130,fd=6))

配置文件: /etc/chrony.conf

  • server - 可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度
  • driftfile - 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作出补偿
  • rtcsync - 启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
  • allow / deny - 指定一台主机、子网,或者网络以允许或拒绝访问本服务器
  • cmdallow / cmddeny - 可以指定哪台主机可以通过chronyd使用控制命令
  • bindcmdaddress - 允许chronyd监听哪个接口来接收由chronyc执行的命令
  • makestep - 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时调整系统时钟
  • local stratum 10 - 即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端

配置完成后启动服务端

  • systemctl start chronyd
  • systemctl enable chronyd

Chrony客户端

Chronyc命令

  • help命令可以查看更多chronyc的交互命令
  • accheck 检查是否对特定主机可访问当前服务器
  • activity 显示有多少NTP源在线/离线
  • sources [-v] 显示当前时间源的同步信息
  • sourcestats [-v]显示当前时间源的同步统计信息
  • add server 手动添加一台新的NTP服务器
  • clients 报告已访问本服务器的客户端列表
  • delete 手动移除NTP服务器或对等服务器
  • settime 手动设置守护进程时间
  • tracking 显示系统时间信息

示例:

[root@centos7 ~]#chronyc
chrony version 3.2
Copyright (C) 1997-2003, 2007, 2009-2017 Richard P. Curnow and others
chrony comes with ABSOLUTELY NO WARRANTY. This is free software, and
you are welcome to redistribute it under certain conditions. See the
GNU General Public License version 2 for details.
chronyc> clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
===============================================================================
192.168.8.7 18 0 6 - 17 0 0 - -
192.168.8.6 14 0 6 - 56 0 0 - -
chronyc> activity
200 OK
1 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
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
===============================================================================
^? 192.168.8.100 3 8 1 338 -40ms[ -40ms] +/- 237ms

实验:搭建Chronyd服务端以及客户端

一、安装chrony
yum -y install chrony
systemctl start chronyd
systemctl enable chronyd
systemclt status chronyd

二、配置

vim /etc/chrony.conf
// 配置网络NTP服务中心
server ntp.aliyun.com iburst
server ntp1-7.aliyun.com iburst

driftfile /var/lib/chrony/drift

// 允许这个网段校准时间
allow 172.20.0.0/16
// 允许用本机时间做为标准
local stratum 10
// 允许网段打开,然后端口123打开
[root@Centos7 ~]# ss -nulp
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
UNCONN      0      0               *:123                         *:*                   users:(("chronyd",pid=1188,fd=7))
UNCONN      0      0       127.0.0.1:323                         *:*                   users:(("chronyd",pid=1188,fd=5))
UNCONN      0      0           [::1]:323                      [::]:*                   users:(("chronyd",pid=1188,fd=6))

三、客户端配置

vim /etc/chrony.conf
// 上面服务端机器的IP地址
server 172.20.54.1 iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
// 重启服务
systemctl restart chronyd

完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值