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

作者: Adrian Dinu 译者: GOLinux

| 2015-01-28 07:45:00   评论: 22

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 - 显示系统时间信息

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



最新评论

来自上海的 QQ Browser 10.6|Windows 10 用户  2020-11-09 17:04
翻译后得意思 让人费解  译者自己能读通顺?
linux [Chrome 53.0|Mac 10.11]  2016-10-11 17:00
TCP/123 端口
linux [Chrome 53.0|Mac 10.11]  2016-10-11 17:00
TCP/123 端口
来自湖北武汉的 Chrome 50.0|Windows 7 用户  2016-10-11 10:49
关闭Firewall 确实可以解决NTP同步问题,但是如果要启用Firewall,需要怎么配置防火墙呢?
interface [Chrome 49.0|Windows 7]  2016-05-24 16:18
7版本的已经不用NTPD了
interface [Chrome 49.0|Windows 7]  2016-05-11 22:32
确实!虽然还是没有解决问题,但是比不知道原因要好的多。谢谢指点
linux [Chrome 50.0|Mac 10.11]  2016-05-11 20:01
所以,解决问题的终极大法:tcpdump & gdb
当你遇到百撕不得骑姐的问题时,就祭出如上神器吧!:D
interface [Chrome 49.0|Windows 7]  2016-05-10 23:29
千恩万谢!提醒我抓包 确实看到问题点了  B主机去向A主机NTP同步,A会先通过ICMP确认B是否可达(应该是种安全措施),但是ICMP确认的结果却显示 主机B不可达。在A上手动PING能通。B上的iptable firewall selinux都关闭了。
interface [Chrome 49.0|Windows 7]  2016-05-10 23:00
两台主机防火墙都关闭了。抓包倒也是个绝招
linux [Chrome 50.0|Mac 10.11]  2016-05-10 19:04
防火墙呢?不行你抓包试试。
interface [Chrome 49.0|Windows 7]  2016-05-09 23:09
求指点 配置chronyd server端和client端有什么不一样的地方, 是服务器端就在/etc/chrony.conf 文件里面allow ×client IP× 吗?  还有其他的操作吗?  我这边做实验 A主机同步网络中的NTP服务器  然后A允许B  结果B去同步A的时候  死活不行 chronyc source -v 看到状态是服务器不可达,但是AB之间是可以ping通的,求解
gtdapf  2015-04-08 09:06
好的,谢谢
gtdapf  2015-02-01 06:05
好的,谢谢你的回复
linux  2015-01-30 22:12
这个问题不懂,也许你可以去 QQ 群或论坛问问?
gtdapf  2015-01-30 13:04
你好,请教你一个其他方面的问题:rhel7的网卡team在win8.1为宿主机vmware虚拟机测试存在问题,当我down掉active网卡时,它不会自动切换到另一款网卡上。不知道什么问题引起的?
linux  2015-01-30 11:01
这个程序确实少见,不过看起来比 ntpd 简单些,虽然它底层也是用的 ntp 服务。
gtdapf  2015-01-30 09:51
文章不错,如果配置项解释更详细一点就更好了,期待更好的作品。
微博评论  2015-01-28 16:33
@我的印象笔记
微博评论  2015-01-28 09:33
不是用NTPd吗?
微博评论  2015-01-28 08:33
这个表盘好!
微博评论  2015-01-28 08:03
转发微博.
微博评论  2015-01-28 08:03
这些都是什么[思考][打脸][伤心]

友情链接
返回顶部