Linux基础软件-时间同步chrony

2024-08-26 00:28

本文主要是介绍Linux基础软件-时间同步chrony,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件来满足我们的业务需要,本章基础软件部分,将从下面几个部分来讲解:

Linux基础软件-软件安装

Linux基础软件-yum(一)

Linux基础软件-yum(二)

Linux基础软件-ntp

Linux基础软件-chrony(本章节)

Linux基础软件-dns(一)

Linux基础软件-dns(二)

Linux基础软件-nfs

Linux基础软件-lvm

Linux基础软件-Selinux&库文件&swap

其实在NTP时间同步协议里面常用的软件有2个,一个就是上小节讲的软件ntp,另外一个就是本小节要讲的另外一个软件chrony,这2个软件都有类似的功能,目前国内的公有云厂商,有的厂商给用户提供的ntp,有的给用户的提供的chrony。

这2个软件,在默认情况下是互斥的,也就是只能同时启动一个,后启动的会把先启动的服务给停止掉。甚至默认情况下ntpdate命令和ntpd服务都是互斥的就算他们是一个软件包安装出来的,也就是ntpd服务在运行的时候,ntpdate命令我是无法执行的。

[root@localhost ~]# systemctl status ntpd 
● ntpd.service - Network Time ServiceLoaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)Active: active (running) since 一 2024-07-29 23:32:58 CST; 37min ago
7月 29 23:32:58 localhost.localdomain ntpd[1228]: Listen normally on 3 ens33 192.168.31.104 UDP 123
#中间省略部分内容
7月 29 23:48:59 localhost.localdomain ntpd[1228]: 0.0.0.0 0515 05 clock_sync
[root@localhost ~]# ntpdate ntp.aliyun.com
30 Jul 00:10:28 ntpdate[1292]: the NTP socket is in use, exiting

Chrony 

chrony在最小化安装的centos7系统里面都是自带的,如果不配置就和ntp一样,都是使用官方默认的源。

[root@localhost ~]# chronyc sources
210 Number of sources = 7
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 100.100.61.88                 1  10   377   655  -1634us[-1629us] +/-   29ms
^+ 100.100.3.1                   2  10   377   313    +18us[  +18us] +/-   20ms
^+ 100.100.3.2                   2  10   377   695  +6110us[+6115us] +/-   25ms
^+ 100.100.3.3                   2  10   227   33m  +3569us[+3521us] +/-   26ms
^+ 100.100.5.1                   2  10   377   980    +24us[  +29us] +/-   20ms
^+ 100.100.5.2                   2  10   377   464   +931us[ +931us] +/-   21ms
^+ 100.100.5.3                   2  10   377  1008    -54us[  -48us] +/-   20ms

MS Name/IP address:  当前chrony客户端的上游服务器,其中"*"代表当前上级源,"+"代表参考,"*"只能有一个,"+"可以有多个。

Stratum: 数字越小,代表级别越高。

Poll:  代表同步时间间隔,这个10是最大,也就是1024秒同步一次,这个服务启动的时间一般都比较小,当同步越稳定就是同步的间隔就越低。

Reach: 代表最近8次同步状态,其中377代表8次都成功,如果有一次不成功则不是377。

LastRx: 最近一次同步过去了多少时间,这个和前面的Poll对应,Poll越大,LastRx的值才可能越大。

Last sample: 代表和上游服务器的误差,有正,也有负数,正常的可以接受的大小大概是几十毫秒或者更低的微秒。

上面的参数和ntpd -pn 显示参数基本上是一样的。

chronyd默认是监听127.0.0.1,也就是他默认只能当作客户端,不能作为服务端。

总结

1.无论是ntp还是chrony,他们使用的协议都是udp,而不是一般常用的tcp协议,这个需要注意。

2.作为服务端,我要考虑他怎么给客户端提供稳定可靠的服务(高可用,防止跳变)。

3.作为客户端,我需要考虑的就是如果服务端故障(chrony其实不怕故障),或者说服务端时间发生跳变,我怎么来降低他对我的影响。

关注微信公众号《运维小路》获取更多内容。

这篇关于Linux基础软件-时间同步chrony的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107023

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效