RHCE-2-chrony服务器

简介

重要性

  • 由于IT系统中,准确的计时非常重要,有很多种原因需要准确计时:

    • 在网络传输中,数据包括和日志需要准确的时间戳

    • 各种应用程序中,如订单信息,交易信息等 都需要准确的时间戳

Linux的两个时钟

  • 硬件时钟RTC (Real Time Clock):即BIOS时钟,也就是我们主板中用电池供电的时钟,是将时间写入到BIOS中,系统断电后时间不会丢失,可以在开机时通过主板程序中进行设置

 # 查看硬件时间[root@server ~]# hwclock2023-05-30 09:48:32.535594+08:00
  • 系统时钟 (System Clock) :顾名思义也就是Linux系统内核时钟、软件时钟,是由Linux内核来提供的,系统时钟是基于内存,如果系统断电时间就会丢失

 # 查看系统时间[root@server ~]# date2023年 05月 30日 星期二 09:50:50 CST​[root@server ~]# date  -s  10:00    # 修改为错误的时间2023年 05月 30日 星期二 10:00:00 CST[root@server ~]# date2023年 05月 30日 星期二 10:00:01 CST[root@server ~]# hwclock  -s        # 向硬件时间同步[root@server ~]# date2023年 05月 30日 星期二 09:51:50 CST

设置日期时间

timedatectl命令设置
 # [root@server ~]# timedatectl  # 显示当前的日期和时间Local time: 三 2023-11-15 13:00:26 CST       # 本地时间Universal time: 三 2023-11-15 05:00:26 UTC   # 世界时间RTC time: 三 2023-11-15 06:16:16       # 硬件时间Time zone: Asia/Shanghai (CST, +0800)   # 时区System clock synchronized: yes                          # 时间是否已同步NTP service: active                       # 时间同步服务已启动RTC in local TZ: no # no表示硬件时钟设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间​[root@server ~]# systemctl status chronyd  # 查看时间同步服务状态(由于默认使用chrony服务同步时间,不再使用ntp服务)​[root@server ~]# timedatectl set-ntp no  # 关闭时间同步,以方便修改日期时间​[root@server ~]# systemctl status chronyd​[root@server ~]# timedatectl set-time "2023-12-12"  # 设置新日期​[root@server ~]# timedatectl set-time "12:12:12"​[root@server ~]# timedatectlLocal time: 二 2023-12-12 12:12:22 CSTUniversal time: 二 2023-12-12 04:12:22 UTCRTC time: 二 2023-12-12 04:12:23Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: noNTP service: inactiveRTC in local TZ: no​[root@server ~]# timedatectl list-timezones | grep Asia # 查看可用时区​[root@server ~]# timedatectl set-timezone Asia/Shanghai  # 设置时区
 ​
date命令设置
 [root@server ~]# date  # 显示​[root@server ~]# date +"%Y-%m-%d %H:%M:%S"  # 格式显示​# 设置日期时间[root@server ~]# date  -s  2023-11-152023年 11月 15日 星期三 00:00:00 CST[root@server ~]# date  -s  14:33:332023年 11月 15日 星期三 14:33:33 CST[root@server ~]# date2023年 11月 15日 星期三 14:33:34 CST
  • 注意:以便于以后的实验正常执行,可恢复快照后继续

NTP

  • NTP:(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。

  • NTP基于UDP报文进行传输,使用的UDP端口号为123

  • NTP可以对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用,对于运行NTP的本地系统,既可以接受来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。

  • NTP的其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms

Chrony介绍

  • chrony是一个开源的自由软件,它能帮助你保持系统时钟与时钟服务器(NTP)同步,因此让你的时间保持精确。

  • chrony由两个程序组成,分别是chronyd和chronyc

    • chronyd:是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。

    • chronyc:提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作

  • 注意:Chrony与NTP都是时间同步软件,两个软件不能够同时开启,会出现时间冲突,openeuler中默认使用chrony作为时间服务器,不在支持NTP软件包

 [root@server ~]# systemctl status ntp  # 查看ntp状态

安装与配置

安装:

 # 默认已安装,若需要安装则可执行:​[root@server ~]# yum  install  chrony  -y​[root@server ~]# systemctl start  chronyd​[root@server ~]# systemctl enable  chronyd

Chrony配置文件分析

  • 主配置文件:/etc/chrony.conf

 [root@server ~]# vim  /etc/chrony.conf​# 使用 pool.ntp.org 项目中的公共服务器。# 或者使用server开头的服务器,理论上想添加多少时间服务器都可以# iburst表示的是首次同步的时候快速同步pool pool.ntp.org iburst​# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间 补偿调整。 driftfile /var/lib/chrony/drift ​# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进。 # Allow the system clock to be stepped in the first three updates if its offset is larger than 1 second. makestep 1.0 3 ​# 启用实时时钟(RTC)的内核同步。 # Enable kernel synchronization of the real-time clock (RTC). rtcsync ​# 通过使用 hwtimestamp 指令启用硬件时间戳 # Enable hardware timestamping on all interfaces that support it. #hwtimestamp * # Increase the minimum number of selectable sources required to adjust the system clock. #minsources 2 ​# 指定 NTP 客户端地址,以允许或拒绝连接到扮演时钟服务器的机器 # Allow NTP client access from local network. #allow 192.168.48.0/24​# Serve time even if not synchronized to a time source. # local stratum 10 ​# 指定包含 NTP 身份验证密钥的文件。 # Specify file containing keys for NTP authentication. # keyfile /etc/chrony.keys ​# 指定日志文件的目录。 # Specify directory for log files. logdir /var/log/chrony ​# 选择日志文件要记录的信息。 # Select which information is logged. # log measurements statistics tracking

同步时间服务器

授时中心
 210.72.145.44 国家授时中心 ntp.aliyun.com 阿里云 s1a.time.edu.cn 北京邮电大学 s1b.time.edu.cn 清华大学 s1c.time.edu.cn 北京大学 s1d.time.edu.cn 东南大学 s1e.time.edu.cn 清华大学 s2a.time.edu.cn 清华大学 s2b.time.edu.cn 清华大学 s2c.time.edu.cn 北京邮电大学 s2d.time.edu.cn 西南地区网络中心 s2e.time.edu.cn 西北地区网络中心 s2f.time.edu.cn 东北地区网络中心 s2g.time.edu.cn 华东南地区网络中心 s2h.time.edu.cn 四川大学网络管理中心 s2j.time.edu.cn 大连理工大学网络中心 s2k.time.edu.cn CERNET桂林主节点 s2m.time.edu.cn 北京大学 ntp.sjtu.edu.cn 202.120.2.101 上海交通大学
实验1
  • 同步时间

  • 第一步:先修改成错误时间

[root@server ~]# date  -s  10:30
2023年 05月 30日 星期二 10:30:00 CST
  • 第二步:编制chrony的配置文件

[root@server ~]# vim  /etc/chrony.conf 
# 定位第3行,删除后添加阿里的时间同步服务地址
server   ntp.aliyun.com   iburst# 注意:也可以先清空chrony.conf内容,将阿里开源提供的时间服务器推荐配置复制粘贴到该文件中
server ntp.aliyun.com 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
logchange 0.5
logdir /var/log/chrony
  • 第三步:重启服务

[root@server ~]# systemctl restart  chronyd
  • 第四步:时间同步

[root@server ~]# chronyc  sources  -v.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- 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            
==========================================================================
^* 203.107.6.88            2   6    17    56   +493us[ -335us] +/-   34ms
第五步:查看时间是否同步[root@server ~]# timedatectl   statusLocal time: 二 2023-05-30 10:24:39 CSTUniversal time: 二 2023-05-30 02:24:39 UTCRTC time: 二 2023-05-30 02:24:40Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes    # yes  表名已同步NTP service: activeRTC in local TZ: no[root@server ~]# date
2023年 05月 30日 星期二 10:26:14 CST   
实验2
  • 搭建本地时间同步服务器

  • 架构

性质IP地址同步对象
服务端server192.168.48.130ntp.aliyun.com
客户端node1192.168.48.131192.168.48.130
  • 要求

    • 服务端server向阿里时间服务器进行时间同步

    • 客户端node1向服务端server进行时间同步

  • 第一步:定位服务端server

# 安装软件
[root@server ~]# yum  install  chrony  -y   # 默认已安装# 编辑配置文件,定位第3行,修改为阿里的时间服务地址
[root@server ~]# vim  /etc/chrony.conf 
server  ntp.aliyun.com  iburst# 重启服务
[root@server ~]# systemctl restart chronyd# 测试
[root@server ~]# chronyc  sources  -v[root@server ~]# timedatectl  status# 设置允许客户端时间同步
[root@server ~]# vim  /etc/chrony.conf 26 allow 192.168.48.131/24  # 定位第26行,设置谁可以访问本机进行同步
[root@server ~]# systemctl restart chronyd
  • 第二步:定位客户端node1

# 安装软件
[root@node1 ~]# yum  install  chrony  -y    # 编辑配置文件
[root@node1 ~]# vim  /etc/chrony.conf     # 修改第3行为server的地址
server  192.168.48.130  iburst# 重启服务
[root@node1 ~]# systemctl restart  chronyd# 测试
[root@node1 ~]# chronyc  sources  -v.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- 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           
=========================================================================
^* 192.168.48.130          3   6    17    39    +20us[ +252us] +/-   38ms[root@node1 ~]# timedatectl   statusLocal time: 二 2023-05-30 11:08:37 CSTUniversal time: 二 2023-05-30 03:08:37 UTCRTC time: 二 2023-05-30 03:08:38Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no
  • 注意:客户端同步失败的原因

    • 检查网络连通性,需要能ping通

    • 检查服务端的allow参数

    • 需要重启服务

chronyc命令

查看时间服务器:
[root@server ~]# chronyc  sources  -v  # -v参数表示显示内容是否有解释.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- 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               
======================================================================
chronyc sources输出分析
  • M:这表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。

  • S:此列指示源的状态

*chronyd当前同步到的源
+表示可接受的信号源,与选定的信号源组合在一起
-表示被合并算法排除的可接受源
表示已失去连接的源
x表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)
~表示时间似乎具有太多可变性的来源
  • Name/IP address:显示服务器源的名称或IP地址

  • Stratum:表示源的层级,层级1表示本地连接的参考时钟,第2层表示通过第1层级计算机的时钟实现同步,依此类推

  • Poll:表示源轮询频率,以秒为单位,值是基数2的对数,例如值6表示每64秒进行一次测量,chronyd会根据当时的情况自动改变轮询频率

  • Reach:表示源的可达性的锁存值(八进制数值),该锁存值有8位,并在当接收或丢失一次时进行一次更新,值377表示最后八次传输都收到了有效的回复

  • LastRx:表示从源收到最近的一次的时间,通常是几秒钟,字母m,h,d或y分别表示分钟,小时,天或年

  • Last sample:表示本地时钟与上次测量时源的偏移量,方括号左侧的数字表示原始测量值,方括号右侧表示偏差值,+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前

其它命令

  • 查看时间服务器的状态

[root@server ~]# chronyc  sourcestats  -v
查看时间服务器是否在线[root@server ~]# chronyc  activity  -v
同步系统时钟[root@server ~]# chronyc  -a  makestep

常见时区

  • UTC 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。

  • GMT 格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)

  • CST 中国标准时间 (China Standard Time)GMT + 8 = UTC + 8 = CST

  • DST夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用。(中国不使用)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/781237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql数据库与PostgreSQL数据库语法比较

目录 前言 模式的概念 模式的主要作用 一、Mysql和PostgreSQL语法比较 1.数据类型差异 1.1整型 1.2浮点数类型 1.3字符串差异 1.4数组类型 2.字符串连接 3.日期和时间函数差异 4.Limit子句的差异 5.NULL值的处理 6.自增主键列 7.变量和参数差异 8.连接查询 9.…

【JavaScript编程】前端实现文件下载

在前端实现文件下载&#xff0c;主要有以下几种常见的方法&#xff1a; 一、使用<a>标签 这种方法是最常见的&#xff0c;只需要在HTML中创建一个<a>标签&#xff0c;并通过JavaScript控制其点击行为&#xff0c;就可以实现文件下载。例如&#xff1a; function…

【Vue】动态样式

内联样式的动态样式 body(){ boxASelect:false, } v-bind:style"{borderColor:boxASelect ? red : #ccc}" <body><header><h1>Vue Dynamic Styling</h1></header><section id"styling"><div class"demo&quo…

2024年MathorCup数学建模思路A题B题C题D题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

深入理解MySQL索引:原理、类型

在数据库领域&#xff0c;索引是提高查询效率的重要工具之一。MySQL作为最流行的关系型数据库之一&#xff0c;其索引的使用和优化至关重要。本文将深入探讨MySQL索引的原理、类型以及最佳实践&#xff0c;帮助读者更好地理解和应用索引。 一、索引的基本概念 1. 什么是索引&…

电脑文件轻松管理:按大小归类,高效存储文件

在数字化时代&#xff0c;电脑文件的管理变得至关重要。面对海量的数据和信息&#xff0c;如何高效整理、归类和保存这些文件&#xff0c;成为了我们必须要面对的挑战。今天&#xff0c;我们就来介绍一种简单而实用的文件管理方法——按文件大小归类保存&#xff0c;让您的数据…

再次加深理解Java中的并发编程

目录 一、线程、进程、程序 二、线程状态 三、线程的七大参数 四、lock与synchronized锁机制 一&#xff09;、lock与synchronized锁区别 二&#xff09;、synchronized锁原理 三&#xff09;、Lock锁原理 五、synchronized锁升级原理 一&#xff09;、锁升级基础知识 …

深度思考:雪花算法snowflake分布式id生成原理详解

雪花算法snowflake是一种优秀的分布式ID生成方案&#xff0c;其优点突出&#xff1a;它能生成全局唯一且递增的ID&#xff0c;确保了数据的一致性和准确性&#xff1b;同时&#xff0c;该算法灵活性强&#xff0c;可自定义各部分bit位&#xff0c;满足不同业务场景的需求&#…

EXCEL VBA 多sheet批量转转PDF

EXCEL VBA 多sheet批量转转PDF Sub zhuanpdf() 转pdfApplication.ScreenUpdating False 关闭刷新Dim chaifm As String 拆分名chaifm Sheets("参数表").Cells(75, 2).ValueDim yuanbm As String 原表名Dim ws As Worksheet 定义表格Dim biao As String 表名Dim …

java Web洗衣店管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 洗衣店管理系统是一套完善的web设计系统&#xff0c;对理解JSP java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c;使用…

API接口自动化测试框架搭建之需求整理、详细设计和框架设计!

​ 简介&#xff1a; API接口自动化测试框架搭建之需求整理、详细设计和框架设计 1 需求整理 1.1 实现目的 API接口自动化测试&#xff0c;主要针对http接口协议&#xff1b;便于回归测试&#xff1b;线上或线下巡检测试&#xff0c;结合持续集成&#xff0c;及时发现运行环…

数据迁移通用笔记(Minio、Mysql、Mongo、ElasticSearch)

序号更新时间备注12024.03.26初始化笔记22024.03.27细化ES 集群和单节点的描述 文章目录 一、Mino 数据迁移1、mc的基础操作2、镜像复制3、备份复制 二、MySql数据迁移1、利用主从复制2、数据汇出汇入 三、Mongo数据迁移1、利用主从复制2、数据汇出汇入 四、ElasticSearch数据迁…

图像最低三位的可能情况

要求 函数f,函数g,分别针对三个比特位bit1,bit2,bit3进行运算,得到结果为A和B。具体为: A=f(bit1,bit2,bit3) B=g(bit1,bit2,bit3) 能否让函数f和函数g满足让A和B的结果出现四种可能“00”、“01”、“10”、“11”。 实现 可以设计这样的函数f和g,使得它们对于三个比特…

设计模式(8):组合模式

一.组合模式场景 把部分和整体的关系用树形结构来表示&#xff0c;从而使客户端可以使用统一的方式处理部分对象和整体对象。 二.组合模式核心 抽象组件(Component)角色&#xff1a;定义了叶子和容器组件的共同点&#xff1b;叶子组件(Leaf)角色&#xff1a;无子节点&#x…

嵌入式中逻辑分析仪的基本操作与实现

作为一名嵌入式软件/硬件工程师,要会使用各种仪表仪器,尤其示波器、逻辑分析仪, 这两个仪器可以监测各种数据线、信号线波形, 可以帮我们快速定位产品问题,缩短开发周期。 今天一口君安利一款非常不错的逻辑分析仪:kingst LA5016 这款仪器非常容易上手, 尤其在一些…

【滑动窗口】Leetcode 水果成篮

题目解析 904. 水果成篮 算法讲解 这道题的本质就是&#xff1a;寻找一段连续的区域&#xff08;子数组&#xff09;&#xff0c;这一段连续的区域里面最多包含两种水果&#xff0c;因为有可能这一段连续的区域里面全是一种水果&#xff0c;比如&#xff1a;f(x) {1,1,1,1,…

Linux中安装JDK17.X

1、总体概述&#xff1f; 该操作方式适合centos或red hat环境 2.1、在线下载JDK安装包&#xff1f; 通过wget命令下载JDK17.X包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 如果提示&#xff1a;没有wget命令就安装wget yum install w…

G35-2单螺杆泵

在现代工业流程中&#xff0c;流体输送是至关重要的一环。无论是石油化工、能源开采还是精细化工领域&#xff0c;高效率和可靠的泵送设备都是确保生产过程平稳运行的关键。在这样的背景下&#xff0c;G35-2单螺杆泵凭借其卓越的性能和广泛的应用性&#xff0c;成为了众多工业企…

答题小程序功能细节揭秘:如何提升用户体验和满足用户需求?

答题小程序功能细节体现 随着移动互联网的快速发展&#xff0c;答题小程序成为了用户获取知识、娱乐休闲的重要平台。一款优秀的答题小程序不仅应该具备简洁易用的界面设计&#xff0c;更应该在功能细节上做到极致&#xff0c;以提升用户体验和满足用户需求。本文将从题库随机…

SCI论文发表多长时间才可以被检索?

sci检索&#xff0c;是指发表的sci论文可以在web of science上查询到&#xff0c;是sci论文发表的最后一个步骤&#xff0c;建立在见刊的基础之上。那么&#xff0c;sci发表后多久可检索?没有统一标准&#xff0c;刊物不同&#xff0c;检索时间有差异。 一、SCI文章检索的注意…