练习实践-基础设施:搭建时钟同步服务器-基于chrony软件在centos7系统上的实现

news2024/9/23 7:18:22

参考来源:B站视频:up主:林哥讲运维 【一分钟学会:使用 chrony 部署企业 NTP 时间服务器】
https://chrony-project.org/comparison.html --chrony组织的比较
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite --红帽官方对于chrony和ntpd的比较

一、时钟同步方案的两种实现方式对比–ntpd VS chrony

ntpd软件比较旧,RockLinux 8.0存储库中不再提供ntpd软件包;
chrony比较新,chrony名称的由来,chron词根在希腊语中表示时间,克洛诺斯,希腊神话中掌管时间的神;
各项指标对比,数据来源:https://chrony-project.org/comparison.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

红帽提供的文档: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite
在这里插入图片描述
在这里插入图片描述

时间同步中的相关概念

stratum 层 层数越小,精度越高,传递过程会消耗时间
在这里插入图片描述

时间同步方案的标准模型

在这里插入图片描述

二、客户端时间同步的实现

1.安装chrony软件并启动chrony服务

[root@centos7 ~]# dnf install chrony -y
Extra Packages for Enterprise Linux 7 - x86_64      0.0  B/s |   0  B     00:00    
CentOS-7 - Base - mirrors.aliyun.com                0.0  B/s |   0  B     00:00    
CentOS-7 - Updates - mirrors.aliyun.com             0.0  B/s |   0  B     00:00    
CentOS-7 - Extras - mirrors.aliyun.com              0.0  B/s |   0  B     00:00    
依赖关系解决。
====================================================================================
 软件包               架构             版本                    仓库            大小
====================================================================================
Installing:
 chrony               x86_64           3.4-1.el7               base           251 k
安装依赖关系:
 libseccomp           x86_64           2.3.1-4.el7             base            56 k

事务概要
====================================================================================
安装  2 软件包

总下载:307 k
安装大小:788 k
下载软件包:
(1/2): libseccomp-2.3.1-4.el7.x86_64.rpm            518 kB/s |  56 kB     00:00    
(2/2): chrony-3.4-1.el7.x86_64.rpm                  899 kB/s | 251 kB     00:00    
------------------------------------------------------------------------------------
总计                                                1.1 MB/s | 307 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中      :                                                                 1/1 
  Installing  : libseccomp-2.3.1-4.el7.x86_64                                   1/2 
  运行脚本    : libseccomp-2.3.1-4.el7.x86_64                                   1/2 
  运行脚本    : chrony-3.4-1.el7.x86_64                                         2/2 
  Installing  : chrony-3.4-1.el7.x86_64                                         2/2 
  运行脚本    : chrony-3.4-1.el7.x86_64                                         2/2 
  验证        : chrony-3.4-1.el7.x86_64                                         1/2 
  验证        : libseccomp-2.3.1-4.el7.x86_64                                   2/2 

已安装:
  chrony-3.4-1.el7.x86_64               libseccomp-2.3.1-4.el7.x86_64              

完毕!
[root@centos7 ~]# systemctl enable --now chronyd  #启动服务并设置开机自启

场景1:客户端可以连接互联网的时间源
通过命令chronyc sources检查当前同步的时间源,注意看“*”表示当前同步的时间源

[root@centos7 ~]# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? time.cloudflare.com           0   7     0     -     +0ns[   +0ns] +/-    0ns
^? 39.105.209.124                2   7    41    23    -11ms[  -11ms] +/-  104ms
^- ntp8.flashdance.cx            2   6    27    29    -25ms[  -25ms] +/-  125ms
^* gw-jp-1.gdn.lonely.obser>     2   6    17    31  +7379us[+8484us] +/-   59ms


通过timedatectl命令查看当前系统时间,注意看当前Time zone的时区

[root@centos7 ~]# timedatectl
      Local time: 三 2024-07-31 18:09:55 CST
  Universal time: 三 2024-07-31 10:09:55 UTC
        RTC time: 三 2024-07-31 10:09:54
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

手动指定当前时区为东八区的命令如下

[root@centos7 ~]# timedatectl set-timezone Asia/Shanghai

三、 服务端时间同步的实现

1.安装命令,通过dnf包管理器安装,命令如下
[root@centos7 ~]# dnf install chrony -y

2.查看并修改配置文件内容
修改三处内容:
修改第3-6行,指定同步上游时间服务器的地址;
修改26行,设置允许时间同步的客户端网段,任意地址可以设置为0.0.0.0/0;
修改29行,如果上游服务器不可用,就用本地时间给客户端同步,对应层级为10,手工授时,不可靠;


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

  1 # Use public servers from the pool.ntp.org project.
  2 # Please consider joining the pool (http://www.pool.ntp.org/join.html).
  3 server 0.centos.pool.ntp.org iburst
  4 server 1.centos.pool.ntp.org iburst
  5 server 2.centos.pool.ntp.org iburst
  6 server 3.centos.pool.ntp.org iburst
  7 
  8 # Record the rate at which the system clock gains/losses time.
  9 driftfile /var/lib/chrony/drift
 10 
 11 # Allow the system clock to be stepped in the first three updates
 12 # if its offset is larger than 1 second.
 13 makestep 1.0 3
 14 
 15 # Enable kernel synchronization of the real-time clock (RTC).
 16 rtcsync
 17 
 18 # Enable hardware timestamping on all interfaces that support it.
 19 #hwtimestamp *
 20 
 21 # Increase the minimum number of selectable sources required to adjust
 22 # the system clock.
 23 #minsources 2
 24 
 25 # Allow NTP client access from local network.
 26 #allow 192.168.0.0/16
 27 
 28 # Serve time even if not synchronized to a time source.
 29 #local stratum 10
 30 
 31 # Specify file containing keys for NTP authentication.
 32 #keyfile /etc/chrony.keys
 33 
 34 # Specify directory for log files.
 35 logdir /var/log/chrony

3.使能配置文件
配置文件修改完成后重启服务,设置开机自启,如果开启了防火墙,还需要设置放行规则,

[root@centos7 ~]# systemctl restart chronyd
[root@centos7 ~]# systemctl enable chronyd
[root@centos7 ~]# firewall-cmd --add-service=ntp --permanent
[root@centos7 ~]# firewall-cmd --reload

服务端配置完成

场景1:内网搭建时钟服务器,指定内网地址为时间源;

在企业内网中搭建的时间服务器场景中(无法获取互联网同步时间源),则对应的配置文件中第三行修改为

server   内网时钟服务器地址   iburst

场景2:手工在服务端侧设置时间,通过chrony软件保持内网机器时间的一致性;

如果内网时间服务器无法获取上游时间源信息,可通过date -s命令手工指定时间同步服务器的时间信息,再通过chrony同步给客户端,保持内网机器时间的一致性;

维护–查看状态信息

在时间同步服务器上可以通过chrony client命令,查看哪些客户端在同步时间;
在客户端上通过chrony sources命令,查看是否正常同步服务器时间;

两个时间概念–硬件时间、系统时间

主板BIOS时间与系统时间是两个不同的概念,‌但它们之间有着密切的联系。‌

主板BIOS时间,‌也称为硬件时钟,‌是指主板上的实时时钟(‌RTC)‌,‌这个时钟是由电池供电的,‌即使在关机状态下也能保持时间运行。‌BIOS时间可以在BIOS设置中进行调整,‌其格式通常为“月/日/年”对于系统日期和“时:分:秒”对于系统时间,‌采用24小时制。‌调整BIOS时间可以通过在BIOS界面中选择“System Date”来设置系统日期,‌通过“+”和“-”键来增加或减少数值,‌也可以通过按数字键直接输入具体数值,‌设置完成后,‌时间立即生效。‌同样地,‌通过选择“System Time”,‌可以设置系统时间,‌也是通过“+”和“-”键来调整小时、‌分钟和秒,‌设置完成后,‌时间也会立即生效12。‌

系统时间,‌则是指操作系统内核保持的时间。‌在Linux系统中,‌系统时间最初是由内核从硬件时钟(‌BIOS时间)‌读取的,‌然后系统时间会独立于硬件时钟运行。‌由于系统时间和硬件时钟可能因为不同的操作或系统故障而不同步,‌因此有时需要进行时间同步。‌在Linux系统中,‌可以通过特定的命令来实现时间设置及时钟同步。‌

硬件时间和系统时间相关的的查询修改命令小结

[root@centos7 ~]# hwclock    #查询硬件时间
2024年08月05日 星期一 15时51分39秒  -0.897413[root@centos7 ~]# date  #查询系统时间
2024年 08月 05日 星期一 15:51:40 CST
[root@centos7 ~]# hwclock --help  #查询命令使用帮助

用法:
 hwclock [功能] [选项...]

功能:
 -h, --help           显示此帮助并退出
 -r, --show           读取硬件时钟并打印结果
     --set            将 RTC 设置为 --date 指定的时间
 -s, --hctosys        从硬件时钟设置系统时间
 -w, --systohc        从当前系统时间设置硬件时钟
 ...
 [root@centos7 ~]# hwclock -s --hctosys  #将硬件时间同步给系统时间
[root@centos7 ~]# hwclock -w --systohc   #将系统时间同步给硬件时间

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

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

相关文章

Milvus 向量数据库进阶系列丨构建 RAG 多租户/多用户系统 (上)

本系列文章介绍 在和社区小伙伴们交流的过程中,我们发现大家最关心的问题从来不是某个具体的功能如何使用,而是面对一个具体的实战场景时,如何选择合适的向量数据库解决方案或最优的功能组合。在 “Milvus 向量数据库进阶” 这个系列文章中&…

基于全切片图像的结直肠癌肿瘤浸润性淋巴细胞和肿瘤-基质比率自动量化技术|文献精析·24-08-05

小罗碎碎念 今天分享的这一篇文章是一篇20年发表的文章,研究的是免疫组化相关的病理AI课题,当时用的是还是支持向量机和随机森林,在展望的部分提出CNN是未来的发展趋势。但是根据时间节点来看,当时Transformer已经发表了&#xf…

Sentine 源码分析之--ParamFlowSlot

前言: 上一篇我对 Sentinel 中的 AuthoritySlot、SystemSlot、GatewayFlowSlot 的相关源码进行了分析,本篇我们开始分析 ParamFlowSlot 相关的源码。 Sentinel 系列文章传送门: Sentinel 初步认识及使用 Sentinel 核心概念和工作流程详解…

实时数仓分层架构详解

首先,我们从数据仓库说起。 数据仓库的概念可以追溯到20世纪80年代,当时IBM的研究人员提出了商业数据仓库的概念。数据仓库概念的提出,是为了解决和数据流相关的各种问题,特别是多重数据复制带来的高成本问题。 数据仓库之父Bill …

敏捷与DevOps有什么不同?

在软件开发领域,敏捷和DevOps因其对效率、协作和交付高质量产品的关注而受到欢迎。尽管它们有不同的目标,敏捷和DevOps常常被交替使用。本文旨在阐明这些方法之间的区别和共性,展示它们如何无缝协同以产生结果。 图源自Browser Stack 了解敏捷…

uniapp开发微信小程序出现【错误: xx.js 已被代码依赖分析忽略,无法被其他模块引用】解决办法

报错信息 VM5208:9 app.js错误:Error: config.js 已被代码依赖分析忽略,无法被其他模块引用。你可根据控制台中的【代码依赖分析】告警信息修改代码,或关闭【过滤无依赖文件】功能。详情请查看:https://developers.weixin.qq.com/community/…

滑台模组如何满足特定生产需求?

滑台模组是一种可以进行近乎直线运动的自动化设备,用于将物体沿着平面上的轨道滑动。由导轨、传动结构和导向结构等组成。滑台模组可以通过电机驱动、气动驱动或液压驱动等方式进行移动。滑台模组的结构紧凑、操作简便,具有高精度、高稳定性和高可靠性的…

dijkstra其实是bfs?--重新定义dijkstra

dijkstra其实是bfs?--重新定义dijkstra 1前言2最短路径问题3没有边权的最短路--bfs算法4边权的加入5优先队列与dijkstra6后记 1前言 本文将介绍dijkstra算法全新的理解方式 建议新手对dijkstra有建议了解,强烈推荐这篇文章,无比详细 2最短路径问题 最…

sql注入sqli-labs第二-四关

目录 sql注入sqli-labs第二关 1、了解表的列数 2、连表查询 3、注入管理员账号密码 sql注入sqli-labs第三关 1、逃脱单引号,括号 ​编辑 2、了解表的列数 3、连表查询 4、注入管理员账号密码 sql注入sqli-labs第四关 1、逃脱双引号,括号 2、了…

3GPP入门

官网地址 3GPP – The Mobile Broadband Standard 协议下载链接 Directory Listing /ftp/specs/archive 总纲 重点series Signalling protocols ("stage 3") - user equipment to network24 series信令Radio aspects25 series3G 基础LTE (Evolved UTRA), LTE-Adva…

RCNA | RGOS日常管理和Windows常用网络命令

RCNA | RGOS日常管理和Windows常用网络命令 一、RGOS日常管理操作1. RGOS平台平台概述2. 常用登陆方式3. CLI模式 二、Windows常用网络命令1. ICMP协议2. Ping命令3. Tracert命令4. Windows其他命令 一、RGOS日常管理操作 RGOS操作系统最主要的三大特性是模块化、安全性、开放性…

anaconda下载库的方法

首先打开anaconda prompt(桌面搜索),输入 conda activate (项目名字)然后pip install

ARMxy工控机使用Node-Red教程:开发环境、应用场景(1)

开发环境 Windows 开发环境:Windows 7 64bit 、Windows 10 64bit Linux 开发环境:Ubuntu18.04.4 64bit U-Boot:U-Boot 2018 Kernel :Linux-4.9.170 LinuxSDK:LinuxSDK-[版本号].tar.gz(基于全志官方&a…

最新!2024年—华为认证HCIA考试报名攻略分享

HCIA HCIA是华为初级认证。HCIA认证定位于中小型网络的设计、实施和维护,也是三种级别认证中最初级的认证。 HCIA方向 HCIA认证条件 无 HCIA认证考试 考试代码: H12-811 考试类型: 笔试(一科) 试卷题型: 单选题、多选题、判断题、填空题…

DevOps 的起源

注:机翻,未校。 The Origins of DevOps: What’s in a Name? As DevOps prepares for its second decade of existence, it might be worth a stroll down memory lane to revisit the origins of DevOps methods—and even the term itself. 随着DevO…

时光不等人:java每日一练

题目 选自牛客网 1.final方法等同于private方法。( ) A.正确 B.错误 正确答案:B final方法和private方法并不等同。final修饰的方法表示该方法不能被子类覆盖(override),但仍然可以被访问。而private修饰…

Redis02——缓存(缓存更新策略、缓存穿透、缓存雪崩、缓存击穿、缓存工具封装)

目录 缓存概念 添加Redis缓存 业务场景 缓存作用模型 java代码 缓存更新策略 主动更新的三种策略 主动更新——Cache Aside Pattern 实际应用 缓存穿透 概念 解决方法 实际应用 缓存雪崩 概念 解决方法 缓存击穿 互斥锁 介绍 实际应用 逻辑过期 介绍 实际…

【单片机毕业设计选题24101】-基于单片机的车载事故报警系统

系统功能: 系统上电后,OLED显示“欢迎使用请稍后”两秒后显示“Wait SIM900A”, SIM900A模块初始化OK后进入正常界面显示。 第一行显示采集到的温湿度值 第二行显示系统状态(OK或Alarm) 第三行显示经度值 第四行显示纬度值 注意经纬度信…

dll文件丢失怎么恢复?超简单的5个方法,1分钟搞定dll文件修复!

DLL,或称动态链接库,是一种重要的文件类型,包含了一系列用于运行几乎所有程序的指令,这些程序在win11、win10、win8和win7系统中都广泛使用。如果Windows操作系统中的dll文件丢失,您可能无法正常启动所需的程序或应用。…

劳易测高防护等级的读码系统提升仓储效率

在现代物流与仓储管理领域,条码识别和数据交换系统已经成为实现智能仓储管理的关键技术。面对特定的工业环境挑战,比如腐蚀性气雾等恶劣条件,具备高防护等级和抗腐蚀能力的条码系统显得尤为重要。今天,小易将为您带来创新的解决方…