欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Linux的时间同步服务器(附加详细实验案例)

Linux的时间同步服务器(附加详细实验案例)

2025/5/6 8:06:05 来源:https://blog.csdn.net/Lxt0369/article/details/147712460  浏览:    关键词:Linux的时间同步服务器(附加详细实验案例)

一、计时方式的发展

1.古代计时方式​

  • 公元前约 2000 年:古埃及人利用光线留下的影子计时,他们修建高耸的大型方尖碑,通过追踪方尖碑影子的移动判断时间,这是早期利用自然现象计时的典型方式 。​
  • 商朝时期:人们开发并使用泄水型水钟 —— 漏壶。通过水从壶中缓慢流出,依据水位下降的刻度来记录时间,开启了利用流体计时的新阶段。​
  • 北宋元祐元年(1086 年):天文学家苏颂将浑仪、浑象和报时装置结合,建造出 “水运仪象台”。它不仅能观测天象,还能准确计时与报时,是古代机械计时技术的集大成者。​
  • 14 世纪:机械钟在西方国家广泛使用,推动计时工具向机械化发展。​
  • 16世纪:奥斯曼帝国的科学家达兹・艾 - 丁(Taqi al - Din)发明机械闹钟,为计时工具增添新功能。​
  • 1583 年:伽利略提出著名的等时性理论,指出不论摆动幅度大小,摆完成一次摆动的时间相同,为钟表计时精度提升奠定理论基础。​
  • 1656 年:荷兰科学家克里斯蒂安・惠更斯(Christiaan Huygens)应用伽利略的理论,设计出世界第一只钟摆,大幅提升了机械钟表的计时精度。​
  • 1868 年:百达翡丽(Patek Philippe)发明手表,使计时工具更加便于携带,适应人们日常使用需求。​

2.现代计时方式​

  • 1967 年:瑞士发布世界上首款石英表。石英晶体在电池电力作用下产生规律振动(每秒振动 32768 次),通过电路计算振动次数确定时间,石英钟表因精准、成本低迅速普及。​
  • 拉比提出原子钟构想后逐步发展 :拉比依据原子从高 “能量态” 迁至低 “能量态” 时释放电磁波并产生共振频率的原理,构想出原子钟(Atomic clock )。如今,铯原子(Caesium133)钟被很多国家(包括我国和美国 NIST)的标准局用作时间精度标准,GPS 系统也依赖其精确计时。​
  • 2008 年:锶(Strontium87)原子钟诞生,固有频率约合 430 万亿赫兹,将精度提升到 10 的 17 次方。​
  • 2013 年:由镱元素(ytterbium)制成的原子钟问世,固有频率约合 518 万亿赫兹,精度高达 10 的 18 次方,若从 138 亿年前宇宙诞生时开始计时,至今误差不超过 1 秒。此外,网络时间授时服务出现,用户可借此获取统一、标准的时间信号,极大简化时间同步过程。

二、时间同步服务

多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等,利用NTP(Network Time Protocol )协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一。

Linux 时间同步服务的工具主要有 NTP 和 Chrony :

  • ntp:将系统时钟和世界协调时 UTC 同步。局域网内,其精度可达 0.1ms,可满足企业关键业务系统等对时间精度要求高的场景。互联网上绝大多数地方,精度课达到 1 - 50ms,能满足普通网站服务器等应用的时间同步需求。ntp 项目官网是 http://www.ntp.org,在官网可获取软件、文档和社区支持等资源。
  • chrony:作为实现 NTP 协议的自由软件,功能强大灵活。不仅能与 NTP 服务器同步,还支持 GPS 接收器等参考时钟,也可手动输入时间。chrony 能作为 NTPv4 服务器和对等体,为网络计算机提供时间服务。它适应多种复杂环境,在间歇性、拥挤网络,以及系统运行不连续或虚拟机场景下都能稳定工作。通过 Internet 同步时精度在几毫秒内,LAN 环境下精度为几十微秒,借助硬件时间戳或参考时钟可实现亚微秒级精度,常用于金融交易系统、航空航天控制等对时间精度要求极高的领域。

 三、时间同步服务的使用

1.系统时间及时区管理 

timedatectl 命令总结:

timedatectl查看系统时间
timedatectl set-time "2026-11-11 11:11:11"
设定系统时间
timedatectl list-timezones
显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai"
设定系统时区
timedatectl set-local-rtc 0|1
设定系统时间计算方式
(0表示 utc 时间计算方式,1表示 cst 时间计算方式)

timedatectl查看系统时间 

Local time当前系统时间
Universal time伦敦时间
RTC time硬件时间
Time zone时区
System clock synchronized系统时间同步开启
NTP serviceNTP 协议开启
RTC in local TZ硬件时间是否使用本地时间

修改时间需要关掉 chronyd.service, NTP service 从 active 变为 inactive。

timedatectl set-time "2026-11-11 11:11:11"设定系统时间为 2026-11-11 11:11:11 

timedatectl list-timezones列出系统中所有可用的时区 

timedatectl set-timezone "Asia/Amman"将时区改为 Asia/Amman ,位于东三区(+0300),后面再改回 Asia/Shanghai。

timedatectl set-local-rtc 1RTC time 使用 Local time,(硬件时间同步本地时间),警告提示:跨区进行数据传输时会出现问题

timedatectl set-local-rtc 0RTC time 使用 Universal time(硬件时间同步伦敦时间)

2.客户端使用公共 ntp 地址同步网络时间

pool:指定时间源为 ntp.ntsc.ac.cn

iburst:当服务重启时,立即向 ntp.ntsc.ac.cn 主机发送同步时间的请求(选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包,包间隔通常为2秒,可加快初始同步速度)

chronyc sources –v显示时间同步信息,图中可知时间与 114.118.7.163 主机的时间同步

*表示同步当前最优主机时间                         ?表示不可达 

  • M:时间源模式 ^表示服务器,=表示对等方,表示本地连接的参考时钟
  • S:指源的状态

          *    表示 chronyd 当前已经同步到的源。

          +   表示可接受的信号源,与选定的信号源组合在一起。

          -    表示被合并算法排除的可接受源

          ?   指已失去连接性或者其数据包未通过所有测试的源。

          x   表示chronyd认为时虚假行情的时钟,即标记该时间与其他多数时间不一致

           表示时间似乎具有太多可变性

  • Name/IP address:显示源的名称或IP地址
  • Stratum:显示时间来源的层
  • Poll:显示轮询源的速率
  • Reach:显示源的可达性寄存器以八进制数字打印
  • LastRx:显示多长时间前从来源接收到了最后一个好的样本
  • Last sample:此列显示上次测量时本地时钟与源之间的偏移

3.时间同步服务器的搭建

两台主机,192.168.10.200 作为服务器,增加 192.168.10.20 作为客户端,目的使客户端(192.168.10.20)同步服务器(192.168.10.200)的时间。以下是客户端主机的配置:

1)服务器(192.168.10.200)的命令配置

allow 0.0.0.0/0:允许所有人看服务器的时间,0表示没有,也表示全部

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

重启服务器中的时间同步服务,并查看时间同步情况

netstat -antlupe | prep chronyd检测系统当中的端口(开了哪些端口)

-antlupe 的解释说明:

a:显示所有连接和监听端口

n:解析,以数字形式显示地址和端口号

t:显示 TCP 连接和监听端口。

l:显示处于监听状态的套接字

u:显示 UDP 连接和监听端口

p:显示进程的 PID(进程 ID)和名称

e:显示扩展信息

在服务器端还需关闭火墙,才能同步时间。 

2)客户端(192.168.10.20)测试同步服务器时间

先修改客户端的时间,便于观察后续是否同步服务器时间。date 命令只能改系统时间,不能改硬件时间(RTC time)。

date 命令解释:

11   11   11   11   2026 . 11

月   日   时   分     年      秒

然后指定 ip 为服务器的 ip(192.168.10.200) 

重启 chronyd 服务,然后查看可知已同步 192.168.10.200 的时间。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词