Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从设备时间同步

2023-10-26

本文基于Linux上CentOS 7版本配合chrony(需要使用yum自行下载)进行演示

目录

一.计算机设备上的两种时间

1.硬件时间

2.系统时间

二.配置同步时间服务器

1.安装服务

2.配置服务

三.搭建主从时间服务器

1.服务器端

2.客户端

3.注意:

四.chrony命令参数详解

五.chrony展示信息中的特殊名词解释

1.sources -v中显示的符号含义

2.sourcestats -v中符号的含义

3.timedatectl查询到的符号信息


一.计算机设备上的两种时间

1.硬件时间

计算机主板BIOS上依靠主板电池供电维持运行的时间,设备关机后依然在持续计时,计算机系统开机启动时会自动读取这个时间。

2.系统时间

软件系统上的时间,软件启动后会去读取硬件时间,之后会独立于硬件时间运行。

二.配置同步时间服务器

1.安装服务

(1)安装chrony

[root@sulibao ~]# yum install -y chrony

(2)开启chronyd服务

[root@sulibao ~]# systemctl start chronyd

 (3)设置开机自启动

[root@sulibao ~]# systemctl enable chronyd

2.配置服务

chrony服务的配置主要是修改配置文件/etc/chrony.conf,在配置文件中修改要求参数

(1)添加时间服务器(参照源头)

[root@sulibao ~]# vim /etc/chrony.conf

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
pool ntp1.aliyun.com iburst
pool ntp2.aliyun.com iburst
pool ntp3.aliyun.com iburst
pool ntp4.aliyun.com iburst
pool ntp5.aliyun.com iburst
pool ntp6.aliyun.com iburst

//推荐使用阿里的时间端
//也可以书写ip地址,以此来同步目标的系统时间

 (2) allow选项

/etc/chrony.conf中文本“Allow NTP client access from local network.”处可以指定ntp可以从客户端从本地网络访问。格式为allow ip/掩码

(3)从配置文件中保存退出后,重启chronyd服务

[root@sulibao ~]# systemctl restart chronyd

(4)通过命令进行查看是否同步,出现^*即表示有可同步的源,符号具体含义参照后文

[root@sulibao ~]# chronyc sources
210 Number of sources = 7
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 192.168.2.100                 0   9     0     -     +0ns[   +0ns] +/-    0ns
^- electrode.felixc.at           3   8   161   147    -15ms[  -15ms] +/-  189ms
^? tock.ntp.infomaniak.ch        1   8     1   145  +4056us[+4056us] +/-  137ms
^- cp01.webhd.nl                 3   8   367   142    -15ms[  -15ms] +/-  188ms
^- mail2.light-speed.de          2   8    24   857    +18ms[  +17ms] +/-  141ms
^* 120.25.115.20                 2   8   337   152   +398us[+6175ns] +/-   23ms
^+ 203.107.6.88                  2   8   277   214  -3025us[-3402us] +/-   33ms

 (5)通过date或者命令timedatectl查询,“NTP synchronized: yes”即表示同步成功。符号具体含义参照后文。

[root@sulibao ~]# timedatectl
      Local time: Tue 2023-01-03 20:14:14 CST
  Universal time: Tue 2023-01-03 12:14:14 UTC
        RTC time: Tue 2023-01-03 12:14:13
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
[root@sulibao ~]# date
Tue Jan  3 20:14:25 CST 2023

三.搭建主从时间服务器

搭建两台虚拟机,一台作为服务器端,一台作为客户端

1.服务器端

先保证能够正确同步时间,后将自己搭建为服务器,并允许第二台虚拟机ip所在网段可以通过此服务器进行时间同步

vim /etc/chrony.conf

2.客户端

像上文一样将虚拟机1的ip地址作为pool写入配置文件,重启服务即可。

3.注意:

配置主从时间同步,服务器端需要关闭防火墙(可参照专栏相关文章) 

四.chrony命令参数详解

上述步骤完成后通过命令行查看同步状态以及解析输出信息含义

格式:chronyc+参数 

参数 参数含义

sources (-v)

查看时间同步生效情况,-v可以生成详细符号解释便于判断
sourcestats (-v) 查看服务状态, -v可以生成详细符号解释便于判断
activity 查看服务器是否在线
tracking 查看服务详细信息
-a makestep 强制同步系统时间

五.chrony展示信息中的特殊名词解释

1.sources -v中显示的符号含义

[root@sulibao ~]# chronyc sources -v
210 Number of sources = 7

  .-- 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               
===============================================================================
^- electrode.felixc.at           3   7   336   250    -10ms[  -11ms] +/-  186ms
^? ntp1.ams1.nl.leaseweb.net     2   7   300   707    +41ms[  +41ms] +/-  256ms
^- cp01.webhd.nl                 3   6   357    59  -6547us[-6547us] +/-  211ms
^? mail2.light-speed.de          2   8     1    59    +16ms[  +16ms] +/-  142ms
^* 120.25.115.20                 2   6   365   127    -61us[ -510us] +/-   24ms
^+ 203.107.6.88                  2   6   377    62  -6263us[-6263us] +/-   37ms

(1)M: 表示信号源的模式。^表示服务器,=表示对等方,表示本地连接的参考时钟。

 (2)S:指源的状态:

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

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

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

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

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

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

(3)Name/IP address:显示源的名称或IP地址,或参考时钟的参考ID。

(4)Stratum:显示时间来源的层,如其最近收到的样本中所报告。层1表示一台具有本地连接的参考时钟的计算机,与第1层计算机同步的计算机位于第2层,与第2层计算机同步的计算机位于第3层,依此类推。

(5)Poll:显示轮询源的速率,以秒为单位的时间间隔的以2为底的对数。因此,值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。

(6)Reach:显示源的可达性寄存器以八进制数字打印。寄存器有8位,并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。

(7)LastRx:显示多长时间前从来源接收到了最后一个好的样本(在下一列中显示)。未通过某些测试的测量将被忽略。通常以秒为单位。字母mhdy表示分钟,小时,天或年。

(8)Last sample:此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns(表示纳秒),us (表示微秒),ms(表示毫秒)或s(表示秒)作为后缀。方括号左侧的数字表示原始测量值,已调整为允许此后施加于本地时钟的任何摆度。+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。

2.sourcestats -v中符号的含义

[root@sulibao ~]# chronyc sourcestats -v
210 Number of sources = 7
                             .- Number of sample points in measurement set.
                            /    .- Number of residual runs with same sign.
                           |    /    .- Length of measurement set (time).
                           |   |    /      .- Est. clock freq error (ppm).
                           |   |   |      /           .- Est. error in freq.
                           |   |   |     |           /         .- Est. offset.
                           |   |   |     |          |          |   On the -.
                           |   |   |     |          |          |   samples. \
                           |   |   |     |          |          |             |
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
electrode.felixc.at        14   9   22m     -3.776     18.370    -26ms  7668us
ntp1.ams1.nl.leaseweb.net   3   3   195     +4.246  79142.719    +41ms    18ms
cp01.webhd.nl              22  15   27m     +0.083      9.086    -19ms  4582us
mail2.light-speed.de        3   3   23m     +0.625    589.018    +17ms   420us
120.25.115.20              20  11   27m     +0.060      2.597  +1271us  1400us
203.107.6.88               20  11   26m     -0.280      4.072  -1989us  1941us

(1)NP:测量集中的采样点数。

(2)NR: 具有相同符号的残差运行数。

(3)Span:测量集的长度(时间)。

(4)Frequency:估计时钟频率误差 (ppm)。

(5)Freq Skew:频率错误估计。

(6)Offset:估计偏移量。

(7)Std Dev:标准偏差。

3.timedatectl查询到的符号信息

[root@sulibao ~]# timedatectl status 
      Local time: Tue 2023-01-03 20:14:14 CST
  Universal time: Tue 2023-01-03 12:14:14 UTC
        RTC time: Tue 2023-01-03 12:14:13
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

(1)CST:中国、澳大利亚等的标准时间。

(2)UTC:协调世界时间。将地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间。

(3)GMT:格林威治标准时间。指位于英国伦敦格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

(4)DST:夏令时,指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用。

(5)RTC:实时时钟,可以提供时钟日历的功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从设备时间同步 的相关文章

随机推荐

  • Java程序设计——注解(Java高级应用)

    目录 一 基本注解 1 Override注解 2 Deprecated注解 3 SuppressWarnings注解 4 SafeVarargs注解 5 FunctionalInterface注解 二 定义注解 三 使用注解 四 元注解 1
  • 简单的实现页面点击切换(非路由方式)

    html import React Component from react class index extends Component constructor props super props this state curr zero
  • org.springframework.cloud:spring-cloud-starter-eureka :unknown 报错解决;

    Spring Cloud Eureka是对Netflix Eureka的二次封装 Eureka服务端 Eureka就是注册中心 同时它也是一个客户端 Eureka server Eureka服务端 同是也是Eureka Client Eur
  • CSS技巧

    CSS技巧 背景图片居中 background size cover 图片可能会被拉伸 background position center 图片尺寸不变 只是移动至正中间 button的边框 一般浏览器会给button默认边框 borde
  • 网页上ajax异步加载数据,网页的异步请求(Ajax)

    JS原生Ajax操作 XMLHttpRequest GET请求 var xmld new XMLHttpRequest xmld open GET wan php dd1 dong11 dd2 dong22 打开页面 xmld setReq
  • 如何成为优秀的管理者?(摘自《代码之道》第9章)

    婚礼 旅行和管理者之间有什么共同之处吗 跟任何一个成年人谈论这些话题 你肯定会听到一个可怕的故事 在婚礼上 那是关于喝醉的客人 糟糕的天气或者不合时宜的失言 在旅行过程中 那是关于丢失的行李 混乱的乘客或者慌乱的转机 至于管理者 那是关于你
  • Redis缓存击穿、雪崩、穿透!(超详细)

    缓存的击穿 穿透和雪崩应该是再熟悉不过的词了 也是面试常问的高频试题 不过 对于这三大缓存的问题 有很多人背过了解决方案 却少有人能把思路给理清的 而且 网络上仍然充斥着 大量不太靠谱的解决方案 难免误人子弟 我的这篇文章 则会对这三大缓存
  • mobaxterm的linux安装教程,MobaXterm详尽使用教程系列一

    常用SSH客户端介绍 SSH 为 Secure Shell 的简写 是目前较可靠 专为远程登入会话和其他网路服务提供安全性的合同 利用 SSH 协议可以有效避免远程管理过程中的信息泄漏问题 我们做估算的人 每天都须要与linux服务器打交道
  • html元素data属性设置变量,在VUE style中运用data中的变量的要领详解_WEB前端开发...

    近来项目中的大众组件 在复用的时刻 针对差别的场景 须要不停变动CSS里款式的值 而且已经有了全局的大众组件款式了 假如用vue传统的动态绑定class和style的体式格局去修正款式 文末会提到 须要分外写许多变量和模块class 那假如
  • k8s基本问题排查

    排查pod故障 查看pod是否正常 kubectl get pods n fronted 常见pod排查命令 kubectl logs
  • Docker

    目录 1 离线安装 1 1 下载Docker离线包 1 2 下载离线安装工具 1 3 安装 1 4 镜像加速 1 4 1 下面命令直接生成文件 daemon json 1 4 2 重新加载docker配置 1 4 3 重启docker服务
  • Android Animation.setAnimationListener()失效问题

    Android执行动画 使用Animation情景如下 Animation animation new Animation 如果需要监听动画执行 animation setAnimationListener 需要在 view startAn
  • Conda错误:Collecting package metadata (current_repodata.json): failed

    conda新安装设置清华源后发现并没有使用 且会出现错误 Collecting package metadata current repodata json failed 换了科大源也没成功 考虑可能是默认源的问题 删除 condarc文件
  • TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

    1 IMCP协议介绍 前面讲到了 IP协议并不是一个可靠的协议 它不保证数据被送达 那么 自然的 保证数据送达的工作应该由其他的模块来完成 其中一个重要的模块就是ICMP 网络控制报文 协议 当传送IP数据包发生错误 比如主机不可达 路由不
  • STM32F103ZET6【HAL函开发】STM32CUBEMX------1.GPIO输出-点亮led灯

    一 硬件介绍 正点原子战舰开发板 主控芯片STM32F103ZET6 两个LED分别连接到单片机的PB5和PE5 二 STM32CUBEMX基础配置 2 1 晶振配置 如果你的板子上外部高速晶振8M和外部低速晶振32 768K都有的话 那么
  • Java中如何自定义数组

    Java中如何自定义数组 数组是一种非常常见的数据结构 在Java中也是一个非常重要的概念 在Java中 数组的定义和使用非常简单 但是如果我们想要自定义数组 那么可能需要一些额外的操作 Java中如何自定义数组 在Java中 数组是一种简
  • 华为OD机试 - 分苹果(Java)

    题目描述 A B两个人把苹果分为两堆 A希望按照他的计算规则等分苹果 他的计算规则是按照二进制加法计算 并且不计算进位 12 5 9 1100 0101 9 B的计算规则是十进制加法 包括正常进位 B希望在满足A的情况下获取苹果重量最多 输
  • 【转载】区块链技术原理、应用领域及挑战

    区块链技术原理 应用领域及挑战 李董 魏进武 中国联合网络通信有限公司研究院 北京 100032 引用本文 李董 魏进武 区块链技术原理 应用领域及挑战 电信科学 J 2016 32 12 20 26 doi 10 11959 j issn
  • 小米手机解BL锁教程

    1 找到设置 找到我的设备 2 点击全部参数 多点几下miui版本 直到弹出开发者模式提醒 3 返回 找到更多设置 4 找到开发者选项
  • Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从设备时间同步

    本文基于Linux上CentOS 7版本配合chrony 需要使用yum自行下载 进行演示 目录 一 计算机设备上的两种时间 1 硬件时间 2 系统时间 二 配置同步时间服务器 1 安装服务 2 配置服务 三 搭建主从时间服务器 1 服务器