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

news2024/11/19 23:20:33

一、计时方式的发展

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 ~]# timedatectl
               Local 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: yes
              NTP service: active
          RTC 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 ~]# timedatectl
               Local time: 五 2024-09-13 18:22:28 CST
           Universal time: 五 2024-09-13 10:22:28 UTC
                 RTC time: 五 2024-09-13 10:22:28
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: inactive
          RTC 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 ~]# timedatectl
               Local time: 五 2024-09-13 21:11:32 CST
           Universal time: 五 2024-09-13 13:11:32 UTC
                 RTC time: 五 2024-09-13 13:11:32
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC 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 ~]# timedatectl
               Local time: 五 2024-09-13 21:26:07 CST
           Universal time: 五 2024-09-13 13:26:07 UTC
                 RTC time: 五 2024-09-13 13:26:07
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC 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.service
     Loaded: 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.coloradmin.cn/o/2132495.html

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

相关文章

ESP8266+eclipse+AP+最简单webserver

实现AP模式下,http-server功能 在ESP8266_RTOS_SDK\ESP8266_RTOS_SDK\examples\wifi\getting_started\softAP增加webserver部分代码 1. 代码 //softap_example_main.c /* WiFi softAP ExampleThis example code is in the Public Domain (or CC0 licensed, at y…

LLaMA-Factory QuickStart

转自:知乎 1. 项目背景 开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练&#xf…

R1234yf汽车空调制冷剂简介

R1234yf汽车空调制冷剂是一种具有优异性能的环保型制冷剂,它被设计用于替代传统的R134a制冷剂。以下是关于R1234yf汽车空调制冷剂的详细介绍: 一、基本属性 化学名称:2,3,3,3-四氟丙烯 简称:R1234yf或HFO-1234yf 性质:无色HFO制冷剂气体 二、环保特性

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

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

【原创】java+swing+mysql项目管理系统设计与实现

个人主页:程序员杨工 个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验 博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片,希望和大家…

小程序开发设计-第一个小程序:安装开发者工具③

第一个小程序:安装开发者工具 1.了解微信开发者工具: 微信开发者工具是官方推荐使用的小程序开发工具,它提供的主要功能如下: ①.快速创建小程序项目 ②.代码的查看和编辑 ③.对小程序功能进行测试 ④.小程序的预览和发布 2.下载…

swiftUI结构体数组修改属性UI没更新

SwiftUI使用了值语义,即当数组的值发生更改时,SwiftUI无法检测到具体的更改操作。 要解决这个问题,可以使用SwiftUI中的State属性包装器来创建一个可观察的状态变量。当数组发生更改时,通过更改状态变量的值来触发列表的更新,但是…

ASCII、Unicode、UCS-2、UTF-8互转编码原理

基础 ASCII (American Standard Code for Information Interchange),1967年 GB2312 是中华人民共和国国家汉字信息交换用编码,国家标准总局发布,1981年5月1日实施,对应的国标标准号:GB/T 2312-1980 Unicode 1990年开始研发,1994年发布初版…

【聊聊AI编程必不可少的NLTK及其punkt、punkt_tab安装】

聊聊AI编程必不可少的NLTK及其punkt、punkt_tab安装 前言一、NLTK是什么?二、安装NLTK1.通过cmd安装:2.通过conda安装: 三.下载NLTK Data数据包1.官网下载2.Github下载3.Gitee下载3.1 下载并安装nltk_data3.2 下载并安装punkt_tab 4. nltk_da…

开展文化创新与传承 全球老子圣像评选启动

9月11日,在刚见证了中华社会文化发展基金会老子文化公益基金成立发布会盛典的中华文化园,又迎来了中华社会文化发展基金会领导的亲临指导。本次指导由中华社会文化发展基金会执行副秘书长蒋晔带队,魏欣主任和高凯主任同行,共同考察…

RNN发展(RNN/LSTM/GRU/GNMT/transformer/RWKV)

RNN到GRU参考: https://blog.csdn.net/weixin_36378508/article/details/115101779 tRANSFORMERS参考: seq2seq到attention到transformer理解 GNMT 2016年9月 谷歌,基于神经网络的翻译系统(GNMT),并宣称GNMT在多个主…

3D培训大师,化工企业安全教育与应急演练的新助力

化工企业的生产安全培训,作为保障员工生命安全与企业稳定运营的基石,其重要性不言而喻。传统的培训方式内容僵化、形式单一缺乏互动、效果难以评估,越来越不适应化工企业的实际需求。因此,探索和应用更为高效、创新的培训工具&…

【Qt】实现顶部导航栏自适应滑动效果

需求: 顶部导航栏有若干选项,可能很多,顶部区域不能完全展示,比如10个选项,界面一次只能展示五个,那么要求把后面的选项隐藏起来,并且,当点击第四个第五个按钮的时候,自…

软件工程进度管理

答案:A D 解析: 由选项可以看出,有B,E,C,K,这里选择经过它们路径最长的就是正确答案 选项B 路线 ABIJL362819 路线 ABDIJL3522820 选项E 路线 AEGJL432817 路线 AEGHKL4334317 选项C 路线 ACFHKL5314316 选项D 路线 A…

【GBase 8c V5_3.0.0 分布式数据库常用维护命令】

一、查看数据库状态/检查(gbase用户) 1.gha_ctl monitor 使用gha_ctl monitor查看节点运行情况(跟dcs的地址和端口) gha_ctl monitor -c gbase -l http://172.20.10.8:2379 -Hall |coordinator | datanode | gtm | server|dcs:必选字段。指定查看哪类集…

Prometheus优化指南:如何提升系统性能

Prometheus 是一个强大的开源监控系统,它被广泛应用于云原生环境中,特别是在 Kubernetes 和其他容器化基础设施中。然而,随着监控数据量的增长,系统本身的性能可能会成为瓶颈。如果不进行优化,最终将影响到整体系统的可…

浏览器查消息

window.addEventListener(message,function(event){console.log(Received message,event.data)}); 并把弹窗口对准要接收消息的ifrme 发消息的窗口

大模型入门3:理解LLAMA

Model a stack of DecoderBlocks(SelfAttention, FeedForward, and RMSNorm) decoder block 整体结构:最大的区别在pre-norm x -> norm(x) -> attention() -> residual connect -> norm() -> ffn -> residual connect class DecoderBlock(nn.…

从零到一:构建你的第一个AI项目(实战教程)

引言 欢迎来到AI世界的初学者指南!在这个实战教程中,我们将一步步构建一个基础的AI项目,让你从零开始,亲手体验人工智能的魅力。我们的目标是让即使没有任何编程或AI背景的你,也能通过本教程完成一个小型的AI应用。今天…

《程序猿之设计模式实战 · 装饰者模式》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…