论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
主机系统
›
linux
›
Chrony:让你的服务器时间精准到微秒级的神器! ...
Chrony:让你的服务器时间精准到微秒级的神器!
傲渊山岳
论坛元老
|
2025-1-17 03:43:07
|
显示全部楼层
|
阅读模式
楼主
主题
1926
|
帖子
1926
|
积分
5778
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在今世盘算机体系中,时间同步是至关重要的。无论是分布式体系、数据库集群,照旧日志记录,时间不一致都大概导致严重的问题。而
Chrony
,作为一款高性能的时间同步工具,正在成为越来越多体系管理员的首选。它不光比传统的 ntpd 更快、更精准,还能在网络不稳定的情况下保持出色的表现。今天,我们就来深入探究 Chrony 的强大功能,以及如何用它来让你的服务器时间精准到微秒级!
为什么需要 Chrony?
在分布式体系中,时间同步的重要性不问可知。假如服务器之间的时间不一致,大概会导致以下问题:
日志时间错乱,难以排盘问题。
数据库事件辩论,数据一致性被破坏。
分布式锁失效,体系出现不可预知的错误。
而 Chrony 正是为相识决这些问题而生的。它通过以下特性脱颖而出:
快速同步
:在网络条件良好的情况下,Chrony 可以在几秒内完成时间同步。
高精度
:支持微秒级的时间同步,满足高精度需求。
适应性强
:即使在网络波动或高耽误的情况中,Chrony 也能保持稳定同步。
低资源占用
:得当资源受限的设备,如嵌入式体系或虚拟机。
Chrony 的核心优势
1.
比 ntpd 更快、更精准
Chrony 的设计目标之一就是比传统的 ntpd 更快地完成时间同步。它通过智能算法和 iburst 选项,在初始同步时发送多个请求,从而大幅缩短同步时间。
2.
适应网络波动
假如你的服务器位于网络不稳定的情况中(好比云服务器或移动设备),Chrony 的表现会更加出色。它可以或许动态调整同步策略,减少网络波动对时间同步的影响。
3.
支持离线模式
即使在没有网络连接的情况下,Chrony 也能依靠本地时钟的漂移率来保持时间的精确性。这对于需要离线运行的体系来说非常实用。
4.
低资源占用
Chrony 的资源占用非常低,得当在嵌入式设备或虚拟机中运行。它不会对体系性能造成明显影响。
如何配置 Chrony?
Chrony 的配置文件通常位于 /etc/chrony.conf,以下是一个简单的配置示例:
# 使用阿里云的NTP服务器作为时间源
# `iburst` 选项表示在初始同步时发送多个请求,加快同步速度
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
# 使用本地时钟作为备用时间源
# `stratum 10` 表示本地时钟的层级为10(层级越高,优先级越低)
local stratum 10
# 允许192.168.1.0/24网段的主机访问chrony服务
# 可以用于允许内网设备同步时间
allow 192.168.1.0/24
# 拒绝所有其他主机访问chrony服务
# 这是一个安全措施,确保只有允许的网段可以访问
deny all
# 启用RTC(硬件时钟)同步
# 这会将系统时间同步到硬件时钟,确保重启后时间仍然准确
rtcsync
# 设置时间步进调整
# 如果时间偏差超过1.0秒,chrony会立即调整时间
# 在前3次调整中允许步进调整
makestep 1.0 3
# 指定时钟漂移文件的路径
# 该文件用于记录系统时钟的漂移率,帮助chrony更准确地调整时间
driftfile /var/lib/chrony/drift
# 指定日志文件的存储目录
# chrony会将日志文件(如measurements.log、statistics.log等)存储在此目录
logdir /var/log/chrony
# 配置日志记录行为
# `measurements`:记录时间测量的日志
# `statistics`:记录统计信息的日志
# `tracking`:记录时间跟踪信息的日志
log measurements statistics tracking
# 指定NTP认证密钥文件的路径
# 如果需要使用NTP认证功能,可以在此指定密钥文件
keyfile /etc/chrony.keys
# 允许本地主机通过chronyc命令行工具管理chrony
# 这是一个安全措施,确保只有本地用户可以管理chrony
cmdallow 127.0.0.1
# 设置NTP服务器的轮询间隔
# `minpoll 6` 表示最小轮询间隔为2^6=64秒
# `maxpoll 8` 表示最大轮询间隔为2^8=256秒
server ntp2.aliyun.com minpoll 6 maxpoll 8
# 设置NTP服务器的优先级
# `prefer` 表示优先使用该服务器
server ntp3.aliyun.com prefer
复制代码
配置完成后,启动 Chrony 服务:
sudo systemctl start chronyd
sudo systemctl enable chronyd
复制代码
Chrony 的常用命令
Chrony 提供了一个强大的命令行工具 chronyc,用于监控和管理时间同步。以下是一些常用命令:
1. 检察时间服务器状态
chronyc sources -v
复制代码
表现当前配置的时间服务器及其状态。
^* 表示当前正在利用的服务器。
^+ 表示可用的备用服务器。
示例输出:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp.aliyun.com 2 6 377 46 +12us[-123us] +/- 23ms
^+ ntp1.aliyun.com 2 6 377 45 -10us[-145us] +/- 25ms
复制代码
2. 检察同步状态
chronyc tracking
复制代码
表现当前体系的时钟同步状态,包括时间偏差、频率偏移等。
示例输出:
Reference ID : 123.456.789.101 (ntp.aliyun.com)
Stratum : 3
Ref time (UTC) : Tue Jan 16 12:34:56 2025
System time : 0.000123 seconds slow of NTP time
Last offset : +0.000045 seconds
RMS offset : 0.000012 seconds
Frequency : 1.234 ppm slow
Residual freq : +0.001 ppm
Skew : 0.012 ppm
Root delay : 0.023456 seconds
Root dispersion : 0.001234 seconds
Update interval : 64.2 seconds
Leap status : Normal
复制代码
3. 手动同步时间
chronyc makestep
复制代码
强制立刻同步体系时间,适用于时间偏差较大的情况。
4. 检查客户端访问
chronyc clients
复制代码
表现当前连接到 Chrony 的客户端信息。
示例输出:
Hostname NTP Drop Int IntL Last
===============================================================================
192.168.1.100 2 0 6 - 45
192.168.1.101 2 0 6 - 50
复制代码
5. 检察时间服务器的详细信息
chronyc sourcestats -v
复制代码
表现时间服务器的统计信息,包括耽误、偏差等。
示例输出:
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
===============================================================================
ntp.aliyun.com 12 7 100 +0.001 0.012 +45us 12us
ntp1.aliyun.com 10 6 100 -0.002 0.015 -30us 15us
复制代码
6. 添加或删除时间服务器
添加时间服务器:
chronyc add server ntp2.aliyun.com
复制代码
删除时间服务器:
chronyc delete ntp2.aliyun.com
复制代码
7. 检查 Chrony 的活动状态
chronyc activity
复制代码
表现当前 Chrony 的活动状态,包括正在利用的服务器数目。
示例输出:
200 OK
4 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
复制代码
8. 手动调整时间
chronyc settime "2025-1-16 12:34:56"
复制代码
手动设置体系时间(需谨慎利用)。
9. 检查 Chrony 的版本
chronyc -v
复制代码
表现 Chrony 的版本信息。
10. 重启 Chrony 服务
sudo systemctl restart chronyd
复制代码
重启 Chrony 服务以应用配置更改。
Chrony vs. ntpd:谁更得当你?
特性Chronyntpd同步速度更快较慢网络适应性适应网络波动对网络稳定性要求较高资源占用低较高配置复杂度简单较复杂离线模式支持支持不支持假如你的体系需要快速、精准的时间同步,并且大概面对网络不稳定的情况,那么 Chrony 无疑是更好的选择。
总结
Chrony 是一款强大而灵活的时间同步工具,可以或许为你的服务器提供高精度的时间同步服务。无论是数据中心、云服务器,照旧嵌入式设备,Chrony 都能轻松应对。通过简单的配置和管理,你可以让体系时间精准到微秒级,彻底告别时间不一致带来的烦恼!
假如你还没有实验过 Chrony,现在就动手安装吧!相信它会成为你体系管理工具箱中的又一利器。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
傲渊山岳
论坛元老
这个人很懒什么都没写!
楼主热帖
2022你不容错过的软件测试项目实战(we ...
SQL Server创建表
【微服务专题之】.Net6下集成微服务网 ...
Swift之Codable自定义解析将任意数据类 ...
MySQL max() min() 函数取值错误
ThinkPHP5 远程命令执行漏洞
K8S 性能优化 - K8S APIServer 调优 ...
kubernetes top查看内存CPU使用情况 ...
变量的定义和使用
前端的自我修养
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
前端开发
向量数据库
人工智能
快速回复
返回顶部
返回列表