RHCE--复习(二)之时间同步服务器

devtools/2024/9/20 1:25:39/ 标签: 服务器, 运维

一、计时方式的发展

1.1.古代计时方式

  • 在远古时期,人类用来确定时间的方式是一些自然界“相对”宜古不变的周期。如地球的公转是为一年,月球的公转是为一月,地球的自转是为一天等,最早的计时可以追溯到公元前大约2000年,古埃及人利用光线留下的影子用作计时的工具。影子拉得越长计时越精确。古埃及人修建高耸入云的大型方尖碑,来追踪太阳的移动,随后人们又利用了沙漏、日晷、钟摆等工具,巧妙地利用一些相对固定而准确的周期来计时

  • 商朝人开发并使用了一种泄水型水钟-漏壶,后来又有用蜡烛和线香计时的

  • 北宋元祐元年(1086年),天文学家苏颂将浑仪、浑象和报时装置结合,建造一个划时代的计时工具一"水远象台”

  • 14世纪时,西方国家广泛使用机械钟。在十六世纪,奥斯曼帝国的科学家达兹·艾-丁(Taqla-Din)发明出了机械闹钟

  • 1583年,伽利略提出了著名的等时性理论,即不论摆动幅度的大小,完成一次摆动的时间是相同的

  • 1656年,荷兰科学家克里斯蒂安·惠更斯(Christiaan Huygens)应用他的理论,设计出了世界第一只钟摆

  • 1868年,百达翡丽(Patek Philippe)发明了手表

1.2现代计时方式

  • 石英晶体受到电池的电力影响时,会产生规律的振动。每秒的振动次数是32768次,可以设计电路来计算振动次数,当计数到32768次时,即计时1秒。1967年瑞士人发布了世界上首款石英表

  • 当原子从一个相对高的“能量态“迁至低的”能量态”时,会释放出电磁波,产生共振频率。依据此原理,拉比构想出了一种全新的计时仪器-一原子钟(Atomic clock)

  • 因为原子的共振频率是固定的。如:铯原子(Caesium133)的固有频率是9192631770赫兹,约合92亿赫兹,对铯原子钟计数9192631770次,即可测量出一秒钟。很多国家(包括我国和美国NIST)的标准局,就是用铯原子钟来作为时间精度标准的。GPS系统也是用铯原子钟来计时

  • 2008年诞生的锣(Strontium87)原子钟,固有频率为429228004229873,约合430万亿赫兹,将精度提高到了10的17次方

  • 2013年镱元素(yterbium)制成的原子钟问世,镱原子钟的固有频率约合518万亿赫兹,精度高达10的18次方。宇宙的年龄为138亿年。如果这台镜原子钟从宇宙诞生之初就开始计时,直到今天也不会发生1秒的误差

二、时间同步服务器

  • 时间同步:多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等,利用NTP(NetworkTime Protocol)协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一

  • 时间同步实现: ntp(企业6之前),chrony

  • ntp:将系统时钟和世界协调时UTC同步,精度在局域网内可达0.1 ms,在互联网上绝大多数的地方精度可以达到1-50 ms,项目官网:Welcome to the home of the Network Time Protocol (NTP) Project.

  • chrony:实现NTP协议的的自由软件。可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可以作为NTPV4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上远行的系统。通过Internet周步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度

三、时间同步服务的使用

3.1系统时间及时区的管理

#时间查看
[root@sever100 ~]# date
2024年 09月 13日 星期五 17:56:18 CST
[root@sever100 ~]# timedatectlLocal time: 五 2024-09-13 17:56:37 CST   #bios时间Universal time: 五 2024-09-13 09:56:37 UTC   #世界时间--伦敦时间RTC time: 五 2024-09-13 09:56:37      #系统时间=时区+硬件时间(utc计算方式)Time zone: Asia/Shanghai (CST, +0800)   #
System clock synchronized: yesNTP service: activeRTC in local TZ: no
[root@sever100 ~]##列出时区
[root@sever100 ~]# timedatectl list-timezones#修改为上海时间
#先关闭时间同步服务
[root@sever100 ~]# systemctl stop chronyd.service
[root@sever100 ~]#[root@sever100 ~]# timedatectl set-timezone Asia/Shanghai
[root@sever100 ~]##检查
[root@sever100 ~]# timedatectlLocal time: 五 2024-09-13 18:22:28 CSTUniversal time: 五 2024-09-13 10:22:28 UTCRTC time: 五 2024-09-13 10:22:28Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: inactiveRTC in local TZ: no
[root@sever100 ~]##监控
[root@sever100 ~]# watch -n 1 timedatectl#修改系统时间
[root@sever100 ~]# timedatectl set-time "11:11:00"
[root@sever100 ~]# timedatectl set-time "2024-11-11 11:11:11"
[root@sever100 ~]##设定系统时间计算方式  0表示utc时间计算方式
[root@sever100 ~]# timedatectl set-local-rtc 0
[root@sever100 ~]#

3.2公共ntp地址

  1. www.ntppool.org:项目是一个提供可靠易用的NTP服务的虚拟集群,[0-3].asia.pool.ntp.org

  2. 阿里云公共NTP服务器

    • Unix/linux类:ntp.aliyun.com, ntp1-7.aliyun.com

    • windows类:time.pool.aliyun.com

    • 国家授时中心服务器:ntp.ntsc.ac.cn

3.3使用公共的ntp时间到本机

  • 在RHEL9 中使用的同步时间软件为hrony

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

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

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

  • chrony作为client(客户端)使用方法如下:

#chrony主配置文件
[root@sever100 ~]# rpm -qc chrony
/etc/chrony.conf
/etc/chrony.keys
/etc/logrotate.d/chrony
/etc/sysconfig/chronyd
[root@sever100 ~]##修改配置文件
[root@sever100 ~]# vim /etc/chrony.conf
#重启
[root@sever100 ~]# systemctl restart chronyd.service
[root@sever100 ~]#

#检测
[root@sever100 ~]# timedatectlLocal time: 五 2024-09-13 21:11:32 CSTUniversal time: 五 2024-09-13 13:11:32 UTCRTC time: 五 2024-09-13 13:11:32Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no
[root@sever100 ~]#[root@sever100 ~]# chronyc sources -v

  • M:时间源模式“表示服务器,=表示对等方,#表示本地连接的参考时钟

  • S:指源的状态

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

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

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

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

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

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

  • Name/lP address:显示源的名称或IP地址

  • Stratum:显示时间来源的层

  • Poll:显示查询询源的速率 2**N

  • Reach:显示源的可达性寄存器以八进制数字打印

  • LastRx:显示多长时间前从来源接收到了最后一个好的样本。

  • Last sample:此列显示上次测是时本地时钟与源之间的偏移

3.4 搭建本地时间服务器

  1. 在RHEL9中ntp的服务端同样默认使用chrony

  2. chrony使用端口为udp 323,chrony兼容ntp所以在设定chrony为服务端是也会开启udp的123端口

  3. chrony 的优势:

    • 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天24小时运行的虚拟计算机而言非常有用

    • 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言常有用

    • 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响

    • 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟

  4. chrony的参数说明

server           #可用于时钟服务器
iburst          #选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包;包间隔通常为2秒,可加快初始同步速度
driftfile      #根据实际时间计算出计算机增减时间的比率  #将它记录到一个文件会在重启后为系统时钟作出补偿                  
rtcsync    #启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
allow / deny     #指定一台主机、子网,或者网络以允许或拒绝访问本服务器
bindcmdaddress    #允许chronyd监听哪个接口来接收由chronyc执行的命令
lpcal stratum 10
#即使server指令中时间服务器不可用0-15 16个曾
#也允许将本地时间作为标准时间授时给其它客户端

      5. 相关配置

#检查主机时间
[root@sever100 ~]# timedatectlLocal time: 五 2024-09-13 21:26:07 CSTUniversal time: 五 2024-09-13 13:26:07 UTCRTC time: 五 2024-09-13 13:26:07Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no#修改主配置文件          
[root@sever100 ~]# vim /etc/chrony.conf
[root@sever100 ~]#

 

#重启
[root@sever100 ~]# systemctl restart chronyd.service#查看
[root@sever100 ~]# netstat -antlupe | grep chrony
udp        0      0 127.0.0.1:323           0.0.0.0:*                           0          125730     22166/chronyd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           0          125732     22166/chronyd
udp6       0      0 ::1:323                 :::*                                0          125731     22166/chronyd
[root@sever100 ~]##  netstat  查看端口
# a 表示所有 all
# n  表示不做解析
# t  表示tcp协议
# l   --listening 正在进行的、活跃的
# u   表示udp
# p   显示端口进程信息
# e    显示扩展信息#检查网络与防火墙
[root@sever100 ~]# systemctl status firewalld.service
○ firewalld.serviceLoaded: masked (Reason: Unit firewalld.service is masked.)Active: inactive (dead)
[root@sever100 ~]##没关,关掉
[root@sever100 ~]# systemctl disable --now firewalld#测试
[root@sever200 ~]# vim /etc/chrony.conf
[root@sever200 ~]# systemctl restart chronyd
chronyd-restricted.service  chronyd.service
[root@sever200 ~]# systemctl restart chronyd
[root@sever200 ~]# 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
===============================================================================^* 172.25.254.111                2   6    17     5  -6759ns[  -38us] +/-  103ms


http://www.ppmy.cn/devtools/111719.html

相关文章

基于SpringBoot的古城墙景区管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的古城墙景区管理系…

Excel 基础知识-操作手册1

Excel基础操作知识 一、工作窗口的视图控制 1、创建新窗口:依次点击【视图】----【新建窗口】命令,即可为当前工作簿创建新的窗口。在原有的工作簿中更改标题或表格内容时,新建的工作簿也会相应的更改。 2、窗口切换:在【视图】…

css父容器溢出隐藏 子容器溢出滚动

在父容器上设置 overflow: hidden; 可以隐藏溢出的内容。如果你想要在子容器溢出时出现滚动条&#xff0c;可以设置 overflow: auto;。 HTML: <div class"parent"><div class"child">这里是一些可能会溢出的内容...</div> </div&g…

UNION嵌套STRUCT的两种类型

1. STRUCT里面的总长度大于UNION中的最大长度 在UNION类型中&#xff0c;嵌套如STRUCT类型&#xff0c;其中STRUCT的类型还比UNION类型中最大的类型的长度还长的时候&#xff0c;会如何处理呢&#xff0c;看下面示例 程序源码 #include "stdafx.h"typedef unsigned…

HarmonyOS开发5.0【应用程序包】

对比HarmonyOS 与 Android 的应用程序包 HarmonyOS 的应用程序包与 Android 的应用程序包在多个方面存在一些不同之处&#xff0c;主要体现的方面&#xff1a; 包格式&#xff08;从包的后缀名可以看出来&#xff09; HarmonyOS: 使用 .hap 格式作为应用程序包。这个格式是 …

linux限制普通用户只能上传文件不能下载和传文件到到其他服务器

1、实施方案 因为用户在linux系统默认主要是通过sftp、scp和lrzsz命令实现文件上传和下载&#xff0c;可以通过以下几点来防制普通用户的上传和下载文件&#xff0c;相关设置必须使用root用户进行操作。 禁用普通用户使用scp命令&#xff0c;可以防止普通用户使用winscp软件下…

利用 Zero-1-2-3 进行多视图 3D 重建:从单图像到多视图 3D 模型的生成

3D 模型生成在计算机视觉领域有着广泛的应用&#xff0c;从虚拟现实到自动驾驶&#xff0c;基于单张图像的 3D 重建技术正在迅速发展。这篇博客将带你深入探索如何使用 Zero-1-2-3 框架进行多视图 3D 重建&#xff0c;通过详细解析该框架中的代码结构和功能&#xff0c;帮助你理…

WTL580-电子锁微波雷达应用解决方案,5.8GHz精准人体感知,触发高效交互新体验

一、简介 随着智能电子门锁普及&#xff0c;电子门锁的市场也随着打开&#xff0c;安装智能化电子门锁也为大势所趋。现我司推出基于WTL580微波雷达的电子锁应用方案&#xff0c;通过检测门锁周围是有活动人体存在来激活门锁。我司WTL580微波雷达方案采用5.8GHz微米波雷达传感器…

C语言-第十章:预处理

传送门&#xff1a;C语言-综合案例&#xff1a;通讯录 目录 第一节&#xff1a;什么是预处理 第二节&#xff1a;#define 2-1.定义符号 2-2.给类型取别名 2-3.定义一段代码 2-4.定义宏 2-5.#define 的替换规则 2-6.宏中的# 2-7.宏中的## 2-8.#undef 移除一个宏定义 第三节&a…

武汉传媒学院联合创龙教仪建设DSP教学实验箱,基于DSP C6000平台搭建

1、院校简介 武汉传媒学院是中南地区唯一一所传媒类本科高校&#xff0c;也是湖北省“转型发展”首批试点高校 前身是2004年成立的华中师范大学武汉影视工程学院&#xff0c;2007年经教育部批准更名为华中师范大学武汉传媒学院&#xff0c;2016年&#xff0c;经教育部批准&…

漫谈设计模式 [10]:享元模式

引导性开场 菜鸟&#xff1a;老鸟&#xff0c;我最近在做一个游戏开发项目&#xff0c;发现内存占用特别大&#xff0c;尤其是一些重复对象&#xff0c;非常浪费资源。你有什么建议吗&#xff1f; 老鸟&#xff1a;这个问题很常见。你听说过设计模式中的“享元模式”吗&#…

HarmonyOS开发实战( Beta5.0)滑动视频自动播放案例实践

鸿蒙HarmonyOS开发往期文章必看&#xff1a; HarmonyOS NEXT应用开发性能实践总结 最新版&#xff01;“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线&#xff01;&#xff08;从零基础入门到精通&#xff09; 介绍 本示例主要介绍视频列表滑动到屏幕中间自动播放场景&…

电巢科技携Ecosmos元宇宙产品亮相第25届中国光博会

第25届中国国际光电博览会&#xff08;“CIOE中国光博会”&#xff09;今日在深圳国际会展中心盛大开幕。本届博览会以“光电引领未来&#xff0c;驱动应用创新”为主题&#xff0c;吸引了全球超过3700家优质光电企业参展&#xff0c;展示了光电产业的最新成果和前沿技术。 电…

Excel 基础知识-操作手册2

十、查找与引用函数 Excel中的查找与引用函数非常丰富&#xff0c;以下是一些主要的函数及其使用示例&#xff1a; 1. **VLOOKUP** - 语法&#xff1a;VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) - 示例&#xff1a;假设A列是员工编号&#xff0c;B…

YOLOv5植物识别系统

YOLOv5植物识别系统 项目描述 本项目旨在开发一个基于YOLOv5的植物识别系统&#xff0c;该系统能够通过图像识别技术自动检测和分类植物。项目使用YOLOv5作为核心检测模型&#xff0c;并结合Python编程语言&#xff0c;构建了一个高效、准确的植物识别工具。该系统不仅可以用于…

漫谈设计模式 [20]:解释器模式

引导性开场 菜鸟&#xff1a;老鸟&#xff0c;我最近在处理一个项目&#xff0c;需要解析和执行一些简单的脚本语言。但是&#xff0c;我实现的代码变得非常复杂和难以维护。你有过类似的经验吗&#xff1f; 老鸟&#xff1a;当然有&#xff0c;解析和执行脚本语言确实会让代…

2024网络安全人才实战能力白皮书安全测试评估篇

9月10日&#xff0c;国内首个聚焦“安全测试评估”的白皮书——《网络安全人才实战能力白皮书-安全测试评估篇》&#xff08;以下简称“白皮书”&#xff09;在国家网络安全宣传周正式发布。 作为《网络安全人才实战能力白皮书》的第三篇章&#xff0c;本次白皮书聚焦“安全测…

JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)

前言 我们想要部署一个javaWeb项目到tomcat上&#xff0c;需要了解一些概念 什么是tomcat&#xff1f; Tomcat 是 Apache 软件基金会&#xff08;Apache Software Foundation&#xff09;下的一个开源项目&#xff0c;主要用于实现 Java Servlet、JavaServer Pages&#xff08;…

3D Gaussian Splatting 论文学习

概述 目前比较常见的渲染方法大致可以分为2种&#xff1a; 将场景中的物体投影到渲染平面&#xff1a;传统的渲染管线就是这种方式&#xff0c;主要针对Mesh数据&#xff0c;可以将顶点直接投影成2D的形式&#xff0c;配合光栅化、深度测试、Alpha混合等就可以得到渲染的图像…

OPENAIGC开发者大赛企业组AI黑马奖 | AIGC数智传媒解决方案

在第二届拯救者杯OPENAIGC开发者大赛中&#xff0c;涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到&#xff0c;我们特意开设了优秀作品报道专栏&#xff0c;旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者&#xff0c;希望能带给您…