CentOS 7.x中正确设置时间与时钟服务器同步

Adrian Dinu 的头像

·

·

·

65,730 次阅读

Chrony是一个开源的自由软件,它能帮助你保持系统时钟与时钟服务器(NTP)同步,因此让你的时间保持精确。它由两个程序组成,分别是chronyd和chronyc。chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

在像CentOS 7之类基于RHEL的操作系统上,已经默认安装有Chrony。

Chrony配置

当Chrony启动时,它会读取/etc/chrony.conf配置文件中的设置。CentOS 7操作系统上最重要的设置有:

server – 该参数可以多次用于添加时钟服务器,必须以”server “格式使用。一般而言,你想添加多少服务器,就可以添加多少服务器。

server 0.centos.pool.ntp.org
server 3.europe.pool.ntp.org

stratumweight – stratumweight指令设置当chronyd从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下,CentOS中设置为0,让chronyd在选择源时忽略源的层级。

driftfile – chronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。

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

allow / deny – 这里你可以指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器。

allow 192.168.4.5
deny 192.168/16

cmdallow / cmddeny – 跟上面相类似,只是你可以指定哪个IP地址或哪台主机可以通过chronyd使用控制命令

bindcmdaddress – 该指令允许你限制chronyd监听哪个网络接口的命令包(由chronyc执行)。该指令通过cmddeny机制提供了一个除上述限制以外可用的额外的访问控制等级。

bindcmdaddress 127.0.0.1
bindcmdaddress ::1

makestep – 通常,chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效。

使用chronyc

你也可以通过运行chronyc命令来修改设置,命令如下:

accheck – 检查NTP访问是否对特定主机可用

activity – 该命令会显示有多少NTP源在线/离线

add server – 手动添加一台新的NTP服务器。

clients – 在客户端报告已访问到服务器

delete – 手动移除NTP服务器或对等服务器

settime – 手动设置守护进程时间

tracking – 显示系统时间信息

你可以通过使用帮助命令查看完整的命令列表:


via: http://linoxide.com/linux-command/chrony-time-sync/

作者:Adrian Dinu 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

19 条回复

  1. 微博评论 的头像
    微博评论

    这些都是什么[思考][打脸][伤心]

    来自北京
  2. 微博评论 的头像
    微博评论

    这个表盘好!

  3. 微博评论 的头像
    微博评论

    不是用NTPd吗?

    来自北京
  4. gtdapf 的头像
    gtdapf

    文章不错,如果配置项解释更详细一点就更好了,期待更好的作品。

    来自上海
  5. linux 的头像
    linux

    这个程序确实少见,不过看起来比 ntpd 简单些,虽然它底层也是用的 ntp 服务。

    来自北京
  6. gtdapf 的头像
    gtdapf

    你好,请教你一个其他方面的问题:rhel7的网卡team在win8.1为宿主机vmware虚拟机测试存在问题,当我down掉active网卡时,它不会自动切换到另一款网卡上。不知道什么问题引起的?

    来自上海
  7. linux 的头像
    linux

    这个问题不懂,也许你可以去 QQ 群或论坛问问?

    来自北京
  8. gtdapf 的头像
    gtdapf

    好的,谢谢你的回复

    来自上海
  9. gtdapf 的头像
    gtdapf

    好的,谢谢

    来自上海
  10. interface [Chrome 49.0|Windows 7] 的头像
    interface [Chrome 49.0|Windows 7]

    求指点 配置chronyd server端和client端有什么不一样的地方, 是服务器端就在/etc/chrony.conf 文件里面allow ×client IP× 吗?  还有其他的操作吗?  我这边做实验 A主机同步网络中的NTP服务器  然后A允许B  结果B去同步A的时候  死活不行 chronyc source -v 看到状态是服务器不可达,但是AB之间是可以ping通的,求解

    来自武汉
  11. linux [Chrome 50.0|Mac 10.11] 的头像
    linux [Chrome 50.0|Mac 10.11]

    防火墙呢?不行你抓包试试。

    来自北京
  12. interface [Chrome 49.0|Windows 7] 的头像
    interface [Chrome 49.0|Windows 7]

    两台主机防火墙都关闭了。抓包倒也是个绝招

    来自武汉
  13. interface [Chrome 49.0|Windows 7] 的头像
    interface [Chrome 49.0|Windows 7]

    千恩万谢!提醒我抓包 确实看到问题点了  B主机去向A主机NTP同步,A会先通过ICMP确认B是否可达(应该是种安全措施),但是ICMP确认的结果却显示 主机B不可达。在A上手动PING能通。B上的iptable firewall selinux都关闭了。

    来自武汉
  14. linux [Chrome 50.0|Mac 10.11] 的头像
    linux [Chrome 50.0|Mac 10.11]

    所以,解决问题的终极大法:tcpdump & gdb
    当你遇到百撕不得骑姐的问题时,就祭出如上神器吧!:D

    来自北京
  15. interface [Chrome 49.0|Windows 7] 的头像
    interface [Chrome 49.0|Windows 7]

    确实!虽然还是没有解决问题,但是比不知道原因要好的多。谢谢指点

    来自武汉
  16. interface [Chrome 49.0|Windows 7] 的头像
    interface [Chrome 49.0|Windows 7]

    7版本的已经不用NTPD了

    来自武汉
  17. 来自湖北武汉的 Chrome 50.0|Windows 7 用户 的头像
    来自湖北武汉的 Chrome 50.0|Windows 7 用户

    关闭Firewall 确实可以解决NTP同步问题,但是如果要启用Firewall,需要怎么配置防火墙呢?

    来自武汉
  18. linux [Chrome 53.0|Mac 10.11] 的头像
    linux [Chrome 53.0|Mac 10.11]

    TCP/123 端口

    来自北京
  19. 来自上海的 QQ Browser 10.6|Windows 10 用户 的头像
    来自上海的 QQ Browser 10.6|Windows 10 用户

    翻译后得意思 让人费解  译者自己能读通顺?

    来自上海

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注