百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

一文带你了解Chrony时间同步服务:让你的设备时间完美同步!

qiyuwang 2024-11-03 16:28 9 浏览 0 评论

一、软件介绍

Chrony 是一个开源的自由软件,它能帮助你保持系统时钟与时钟服务器同步,因此让你的时间保持精确。它由两个程序组成,分别是 chronyd 和 chronyc。

服务器列表 - 全球可用的NTP服务器列表与解析服务 - ntp.org.cn

工作模式

  • chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
  • chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

软件优势

  • 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响。
  • 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性。
  • 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。
  • 能够更好地响应时钟频率的快速变化,这对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用。
  • 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,这对于并非全天 24 小时运行的台式计算机或系统而言非常有用。

二、安装启用

CentOS7 已经默认安装有 Chrony 工具,其既可作时间服务器服务端,也可作客户端。而且性能比 ntp 要好很多、配置简单、管理方便。

[1] 安装启动

#安装服务
yum install -y chrony

# 启动服务
systemctl start chronyd.service

# 设置开机自启动,默认就是enable的
systemctl enable chronyd.service

[2] 防火墙配置

# 因NTP使用123/UDP端口协议,所以允许NTP服务即可
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
chronyc -a makestep

[3] 设置时区

# 查看日期时间、时区及NTP状态
timedatectl

# 查看时区列表
timedatectl list-timezones

# 修改时
timedatectl set-timezone Asia/Shanghai

# 修改日期时间
timedatectl set-time "2023-11-21 11:50:00"

# 设置完时区后,强制同步下系统时钟
chronyc -a makestep

三、主要配置

当 Chrony 启动时,它会读取 /etc/chrony.conf 配置文件中的设置,配置内容格式和 ntpd 服务基本相似。

[root@localhost ~]# cat /etc/chrony.conf |grep -v ^#|grep -v ^$
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony

四、查看状态

  • [1] 检查 ntp 源服务器状态
[root@bogon ~]# chronyc sourcestats
210 Number of sources = 6
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.flashdance.cx         15   7   910     +3.964     20.053    -29ms  4416us
ntp.jxust.edu.cn           19  11   978     -0.014      7.182  -1702ns  2772us
ntp8.flashdance.cx         15  10   983     -2.895     23.856    -26ms  7556us
ntp6.flashdance.cx         13   5   853     +1.580     15.504    -21ms  3510us
36.154.179.82               0   0     0     +0.000   2000.000     +0ns  4000ms
time.neu.edu.cn             2   0    64     +0.000   2000.000  +2276us  4000ms
  • [2] 检查 ntp 详细同步状态
[root@bogon ~]# chronyc sources -v
210 Number of sources = 5

  .-- 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               
===============================================================================
^? ntp1.flashdance.cx            2   6     1    62    -30ms[  -30ms] +/-  162ms
^* ntp.jxust.edu.cn              2   6   177     5   -666us[-1389us] +/-   51ms
^- ntp8.flashdance.cx            2   6   177     4    -10ms[  -10ms] +/-  174ms
^- ntp6.flashdance.cx            2   6   252   192    -29ms[  -25ms] +/-  140ms
^? 36.154.179.82                 0   8     0     -     +0ns[   +0ns] +/-    0ns

[3] 设置硬件时间

# 硬件时间默认为UTC
$ timedatectl set-local-rtc 1

# 启用或关闭NTP时间同步
$ timedatectl set-ntp yes|flase

# 校准时间服务器
$ chronyc tracking

五、工具使用

可以通过运行 chronyc 命令来修改设置,以下是常用命令。

  • accheck 检查 NTP 访问是否对特定主机可用
  • activity 该命令会显示有多少 NTP 源在线/离线
  • add server 手动添加一台新的 NTP 服务器
  • clients 在客户端报告已访问到服务器
  • delete 手动移除 NTP 服务器或对等服务器
  • settime 手动设置守护进程时间
  • tracking 显示系统时间信息
  • help 可以查看更多 chronyc 的交互命令
root@bogon ~]# chronyc
chrony version 3.1
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> activity
200 OK
5 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> add server  edu.ntp.org.cn
200 OK
chronyc> 
chronyc> sourcestats
210 Number of sources = 6
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.flashdance.cx         14   7   845     +3.192     23.874    -30ms  4568us
ntp.jxust.edu.cn           19  11   978     -0.014      7.182   -286ns  2772us
ntp8.flashdance.cx         15  10   983     -2.895     23.856    -25ms  7556us
ntp6.flashdance.cx         13   5   853     +1.580     15.504    -21ms  3510us
36.154.179.82               0   0     0     +0.000   2000.000     +0ns  4000ms
time.neu.edu.cn             1   0     0     +0.000   2000.000     +0ns  4000ms
chronyc> add server  cn.ntp.org.cn
200 OK
chronyc> sourcestats
210 Number of sources = 7
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.flashdance.cx         16   8   975     +1.588     18.059    -30ms  4475us
ntp.jxust.edu.cn           20  12  1108     +0.074      5.875  +3349ns  2595us
ntp8.flashdance.cx         16  11  1114     -0.945     20.762    -24ms  7371us
ntp6.flashdance.cx         14   6  1110     -0.308     10.407    -23ms  3311us
36.154.179.82               0   0     0     +0.000   2000.000     +0ns  4000ms
time.neu.edu.cn             3   3   129    +22.397   7720.335  +4764us   915us
58.220.133.132              1   0     0     +0.000   2000.000     +0ns  4000ms

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: