NTP时钟同步服务器

目录

一、什么是NTP?

二、计算机时间分类

三、NTP如何工作?

四、NTP时钟同步方式(linux)

五、时间同步实现软件(既是客户端软件也是服务端软件)

六、chrony时钟同步软件介绍

七、/etc/chrony.conf配置文件介绍

八、chronyc命令

九、网络公共NTP服务

十、Chrony时钟同步搭建案例


一、什么是NTP

网络时间协议(NTP)是时间同步协议。它用于在服务器和客户端之间同步时间。服务器端使用的是UDP端口号是123和323。使用NTP的目的是使所有设备的时间与网络上时钟服务器的时间同步,以使网络上所有设备的时间保持一致。对于提供NTP服务的服务器,它既可以作为时间源接受来自其它客户端的同步,自己本身也可做为客户端向网络上的其它时钟服务器同步时间。

二、计算机时间分类

1、系统时间:一般来说就是我们使用date命令查看到的时间,linux系统下所有时间的调用都使用的是系统时间,除了直接访问硬件时间的命令如: clock。

2、硬件时间(RTC): 主板BIOS中的时间,由主板电池供电来维护运行,系统在开机时会读取硬件时间,并根据硬件时间来设置系统时间,系统开机之后时间就由系统来管理,不在受硬件时间的控制。

三、NTP如何工作?

1.设备A向设备B发送NTP消息。消息离开设备A时带有时间戳。时间戳为10:00:00 am(T1)。

2.当此NTP消息到达设备B时,设备B添加其自己的时间戳。时间戳是11:00:01 am(T2)。

3.当此NTP消息离开设备B时,设备B添加其自己的时间戳并将时间戳更改为11:00:02(T3)。

4.设备A收到响应消息后,设备A的本地时间为上午10:00:03(T4)。

5.此时,设备A具有足够的信息来计算两个重要参数:

1、NTP数据包的往返时延Delay=设备A发送消息到收到消息之间所经历的时间-设备B处理消息数据所消耗的时间=(T4-T1)-(T3-T2)=2秒。

2、设备A和设备B之间的时间差offset(平均值)=设备B当前时间-设备A当前时间≈((设备A发给设备B两者当时时间差)+(设备B回复设备A两者当时时间差))/2=1小时。

说明:由于设备A发送给设备B的时间,在设备B收到之时、设备A当前的时间就从之前10点增加到了消息在到达设备B时途中所花费的时间,因此T2-T1的时间差就多增加消息发给设备B途中所花费的时间,并非两者实时的时间差。同理T3-T4的时间差值就少计算了设备B回复给设备A消息途中花费的时间差,并不是设备A收到消息当时本地的时间减去此时设备A的时间,因为在设备A收到消息时,设备B的时间已经在消息回复途中增加了。因此为了尽可能保持两者时间的同步,时间差取的是平均值并非丝毫不差。

四、NTP时钟同步方式(linux

1、直接同步:

使用ntpdate命令进行同步,直接进行时间变更。如果服务器上存在一个12点运行的计划任务,当前服务器时间是13点,但标准时间是11点,使用此命令可能会造成任务重复执行。因此使用ntpdate同步可能会引发风险,因此该命令也多用于配置时钟同步服务时第一次同步时间时使用。

2、平滑同步:

使用ntpd进行时钟同步,可以尽可能小的减少系统计划任务数量的重复执行,它每次同步时间的偏移量不会太陡,是慢慢来的。正因这样,ntpd平滑同步可能消耗的时间会比较常,一时间难以看出系统时间变化。

描述:假设设备A当前的时间是13:00,通过联系时钟同步服务器计算推算出了当前的标准时间是8:00、与标准时间差5h。如果此时设备A采用平滑同步时间的工作方式,那么设备A并不会直接将当前时间减少5h,调整到标准时间8:00。而是采用平滑的、一点一点的缩小与标准时间差。比如:一开始设备A先将本地当前时间13:00向前偏移2h,调整到11:00点;然后时间从11:00开始向后接着计时,其间设备A就重复执行了从11:00到13:00之间预先设置好的计划任务如黄色框区域所包含的计划任务。当设备A时间到了15:00时又进行了一次时间的平滑同步,将当前系统时间由15:00点向前偏移了2h,假设偏移后的时间是14:00;之后系统开始从14:00继续开始计时,其间设备A只是重复执行了第二个黄色框时间内的计划任务。当设备系统时间为19:00时,设备A又开始进行时间的平滑同步,将系统当前时间向前偏移1h变成18:00;然后继续开始计时,其间同样只是重复执行了从18:00到19:00之间第三个黄色框时间内的计划任务。通过以上过程,设备A总共执行了3次时间的平滑同步:减2h---->减2h----->减1h。设备A系统时间总共减少了5个小时,最终减少的时间和标准时间差相同以此通过几次时间平滑偏移完成了系统时间和标准时间的同步一致,并且尽可能小的减少了系统内的计划任务因时间调整重复执行的不同类型任务数量。

五、时间同步实现软件(既是客户端软件也是服务端软件)

*由于客户端系统时间经常时而不准,为了能让其在任何情况下向NTP服务器自动同步时间,需保持客户、服务端程序在后台持续运行。

1、ntp: 将主机系统时间和世界协调时间UTC进行同步,在局域网内误差可达0.1ms,在互联网内绝大地方时间误差控制在1-50ms。

2、chrony: 红帽系统8.0以后系统默认安装的ntp服务软件,可使系统时间与NTP服务器、GPS接收器以及手表进行同步。还可以作为NTP服务器为其它客户端提供时钟同步服务。在局域网内误差控制在几十微秒,在互联网上时间同步误差控制在几十毫秒内,时间同步更精准。

六、chrony时钟同步软件介绍

两个主要程序:

1、chronyd: 后台运行的NTP服务守护进程,用于将内核控制的系统时间和时钟服务器时间进行同步。并根据从NTP服务器获取的时间信息计算出标准时间差,并以此对系统时间进行补偿调整。

2、chronyc: 客户命令行工具,用于监控性能并进行多样化配置。它既可以在运行chronyd实例的计算机上进行使用,也可以在一台不同的远程计算机上进行使用。

服务单元unit文件: /usr/lib/systemd/system/chronyd.service

监听端口: 323/udp,123/udp(为了兼容老版红帽系统自带的的ntp时间同步软件)

配置文件:/etc/chrony.conf

七、/etc/chrony.conf配置文件介绍

  • server-----指定本机要同步的NTP服务器IP地址或域名。iburst选项表示时间源可达时,一下子发8个数据包而不是一个数据包向服务器同步时间。包间隔为2s,可加速用户初始时间同步速度。
  • driftfile----根据从时间源获取的标准时间计算出系统本身调整时间的差值,并将其记录到此处指定的文件中,以便系统重启后为调整系统时间做补偿。
  • rtcsync----开启内核模式。使内核控制的系统时间每11分钟拷贝到实时时间RTC,即硬件时间内。
  • allow/deny  -----设置是否允许某台主机、子网、或者网络访问到本系统NTP服务。
  • cmdallow/cmddeny-------指定那台主机可以通过chronyd使用控制命令。
  • bindcmdaddress-----指定chronyd时间同步服务所监听的接口IP地址
  • makestep------为客户端的时钟同步设置时间差阈值。只有用户系统时间偏差超过所允许的时间阈值时,进行系统时间的调整。
  • local stratum 10----即使上面server指令中的时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端。我们知道NTP组网架构有层级划分:如阿里云服务器为企业内部的A1设备授时------>A1设备又为企业的A2、A3设备提供时间同步服务------->A3设备又给企业内的A4设备提供NTP服务。这样站在阿里云服务器角度,阿里云服务器就属于0层---->A1设备属于1层------>A2、3设备属于2层------>A4设备就属于3层了(层:客户机到达时钟源服务器中间所经历的其它NTP服务器跳数)。因此,"local stratum 10"就表示在server处的服务器不可访问时,本系统作为NTP服务器只给位于其下(从本服务器开始算起:服务器本身属于0层)10层内的设备提供授时服务。

八、chronyc命令

help----查询更多有关chronyc的交互命令

accheck-----指定客户端地址或域名检查其是否可以访问到本地ntp服务器

activity-----显示当前有多少NTP服务源在线/离线

sources [-v]-----显示当前时间源的同步信息

sourcestats [-v]------显示当前时间源的同步统计信息

add server  ------手动添加一台新的NTP服务器(并不会保存到配置文件中)

clients -----查看有哪些客户端已访问到本服务器

delete ------手动删除NTP服务器

settime -----手动设置守护进程时间

sracking-------显示系统时间信息

九、网络公共NTP服务

cn.pool.ntp.org------虚拟化集群的ntp服务器

ntp.aliyun.com-----阿里云linux公共NTP服务器

time.pool.aliyun.com------阿里云windows的NTP服务器

s1b.time.edu.cn--------清华大学NTP服务器

210.72.145.44--------国家授时中心服务器

十、Chrony时钟同步搭建案例

实验环境:

实验描述:

NTP-Server/Client扮演客户机角色向阿里云同步时间、同时也扮演内网NTP时钟源服务器角色向内网主机Cliet提授时服务。

注意:

1、客户端系统时间与NTP服务器系统时间差过大,客户端将有可能不会执行时间同步。

2、若本机系统为时钟同步的Server和Client两种角色,当本地系统无法访问指定的服务器进行时钟同步时,则默认也不允许向其它的客户机提供授时服务。除非手动配置允许对本地客户端授时的层级。

Server端:

1、安装NTP服务客户端软件chrony(红帽8.0默认已安装)。

2、查看主机系统时间和硬件时间,为了时间同步测试将系统和硬件时间调错。

2、修改/etc/chrony.conf配置文件。

本系统向阿里云NTP服务器同步系统时间:

允许企业内部的主机访问本NTP服务:

3、防火墙放行chrony监听的UDP_323和123端口。

4、开启chronyd时钟同步服务

5、查看系统时间同步状况。

6、在NTP服务器端测试客户端能否访问到本机提供的ntp服务(可省略)。

Client端:

1、安装chrony客户端软件(红帽8.0默认已安装)。

2、修改/etc/chrony.conf配置文件来指定本机所要向哪台NTP时钟源同步时间。

3、将系统时间调错,用于测试后面同步效果。

4、开启chronyd服务,并查看chrony.conf配置文件指定的NTP服务器是否处于运行状态。

5、查看系统时间同步状况

6、切换到ntp服务器查看有哪些客户机已访问到本服务器(可省略)

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

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

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

相关文章

JVM内存管理、内存分区:堆、方法区、虚拟机栈、本地方法栈、程序计数器

内存管理 内存分区 线程共享 堆 存放实例,字符串常量(直接引用),静态变量,线程分配缓冲区(TLAB线程私有)。垃圾收集器管理的区域 方法区 非堆,和堆相对的概念。存储已被虚拟机加载的…

uniapp的 picker 日期时间选择器

效果图&#xff1a; dateTimePicker.js function withData(param){return param < 10 ? 0 param : param; } function getLoopArray(start,end){var start start || 0;var end end || 1;var array [];for (var i start; i < end; i) {array.push(withData(i))…

【ACM出版】第四届人工智能与计算工程国际学术会议(ICAICE 2023)

ACM出版|第四届人工智能与计算工程国际学术会议 The 4th International Conference on Artificial Intelligence and Computer Engineering 为了在人工智能技术应用与计算工程领域进一步的探索&#xff0c;与国内外学界和业界相关人员交流新问题、新发现、新成果、新应用&…

__call__函数

一、定义 在Python中&#xff0c;__call__函数是一个特殊的方法&#xff0c;用于使一个对象可以像函数一样被调用。当一个对象定义了__call__方法时&#xff0c;它就成为了一个可调用对象。 二、使用 class Counter:def __init__(self):self.count 0def __call__(self):sel…

查局域网所有占用IP

查局域网所有占用IP 按&#xff1a;winr 出现下面界面&#xff0c;在文本框中输入 cmd 按确定即可出现cmd命令界面 在cmd命令窗口输入你想要ping的网段&#xff0c;下面192.168.20.%i即为你想要ping的网段&#xff0c;%i代表0-255 for /L %i IN (1,1,254) DO ping -w 1 -n 1…

优化物料编码规则,提升物料管理效率

导 读 ( 文/ 2358 ) 物料是生产过程的必需品。对物料进行身份的唯一标识&#xff0c;可以更好的管理物料库存、库位&#xff0c;更方便的对物料进行追溯。通过编码规则的设计&#xff0c;可以对物料按照不同的属性、类别或特征进行分类&#xff0c;从而更好地进行库存分析、计划…

业务需要咨询?开发遇到 bug 想反馈?开发者在线提单功能上线!

大家是否遇到过下列问题—— 在开发的时候&#xff0c;遇到 bug 需要反馈… 有合作意向的时候&#xff0c;想更多了解业务和相关产品… 在接入的时候&#xff0c;需要得到专业技术支持… 别急&#xff0c;荣耀开发者服务平台在线提单功能上线了~ 处理问题分类说明&#xff1…

ElasticSearch(一)数据类型

ElasticSearch&#xff08;一&#xff09;数据类型 1.简述 Es数据类型分为基础数据类型和复杂类型数据&#xff0c;掌握ES数据类型才能进一步使用ES检索数据内容。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

阿里云申请免费SSL证书的两种验证方式及配置服务器Tomcat升级HTTPS协议

通用教程&#xff0c;其他服务商的免费 SSL 证书也差不多是这个流程。&#xff08;至少腾讯云的操作步骤和本文是一致&#xff0c;嘻嘻&#xff01;&#xff09; 申请 SSL 证书 首先在阿里云上创建并申请 SSL 证书&#xff0c;之后选择 DNS 验证的方式&#xff0c;一种是手动配…

【Go 基础篇】Go语言结构体详解:打开自定义类型的大门

嗨&#xff0c;Go语言学习者们&#xff01;在编程的世界里&#xff0c;数据是核心&#xff0c;而结构体&#xff08;Struct&#xff09;是一种能够帮助我们更有组织地存储和操作数据的重要工具。在本篇博客中&#xff0c;我们将深入探讨Go语言中结构体的概念、定义、初始化、嵌…

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化...

全文下载链接:http://tecdat.cn/?p29480 作者&#xff1a;Xingsheng Yang 1 利用 python 爬取链家网公开的租房数据&#xff1b; 2 对租房信息进行分析&#xff0c;主要对房租相关特征进行分析&#xff0c;并搭建模型用于预测房租&#xff08;点击文末“阅读原文”获取完整代码…

自动化运维:Ansible脚本之playbook剧本

目录 一、理论 1.playbooks 2.YAML 3.使用ansible批量安装apache服务 4.定义、引用变量 5.指定远程主机sudo切换用户 6.when条件判断 7.迭代 8.Templates 模块 9.tags 模块 10.Roles 模块 二、实验 1.使用ansible批量安装apache服务 2.定义、引用变量…

k8s之存储篇---数据卷Volume

数据卷概述 Kubernetes Volume&#xff08;数据卷&#xff09;主要解决了如下两方面问题&#xff1a; 数据持久性&#xff1a;通常情况下&#xff0c;容器运行起来之后&#xff0c;写入到其文件系统的文件暂时性的。当容器崩溃后&#xff0c;kubelet 将会重启该容器&#xff…

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN

目录 循环神经网络 – Recurrent Neural Network | RNN 为什么需要 RNN &#xff1f;独特价值是什么&#xff1f; RNN 的基本原理 RNN 的优化算法 RNN 到 LSTM – 长短期记忆网络 从 LSTM 到 GRU RNN 的应用和使用场景 总结 百度百科维基百科 循环神经网络 – Recurre…

无涯教程-Android - List View函数

Android ListView 是垂直滚动列表中显示的视图&#xff0c;使用 Adapter 从列表(如数组或数据库)中获取内容的列表项会自动插入列表中。 适配器(Adapter)实际上是UI组件和将数据填充到UI组件中的数据源之间的桥梁&#xff0c;适配器保存数据并将数据发送到适配器视图&#xff0…

75 # koa 基本逻辑实现以及属性的扩展

准备工作 新建自己的 kaimo-koa 文件夹&#xff0c;结构如下&#xff1a; lib application.js&#xff1a;创建应用context.js&#xff1a;上下文request.js&#xff1a;koa 中自己实现的 request 的对象response.js&#xff1a;koa 中自己实现的 response 的对象 package.js…

有序充电运营管理平台是基于物联网和大数据技术的充电设施管理系统-安科瑞黄安南

随着我国能源战略发展以及低碳行动的实施&#xff0c;电动汽车已逐步广泛应用&#xff0c;而电动汽车的应用非常符合当今社会对环保意识的要求&#xff0c;以及有效节省化石燃料的消耗。 由于其没有污染排放的优点以及政府部门的关注&#xff0c;电动汽车将成为以后出行的重要…

设计模式行为型-状态模式

文章目录 简介状态模式基础定义状态接口或抽象类实现具体状态类 上下文类与状态转换上下文类的定义和作用状态转换及触发条件 状态模式的优势与适用性优点一&#xff1a;可维护的代码优点二&#xff1a;清晰的状态管理适用场景一&#xff1a;对象拥有多个状态适用场景二&#x…

(二十)大数据实战——Flume数据采集的基本案例实战

前言 本节内容我们主要介绍几个Flume数据采集的基本案例&#xff0c;包括监控端口数据、实时监控单个追加文件、实时监控目录下多个新文件、实时监控目录下的多个追加文件等案例。完成flume数据监控的基本使用。 正文 监控端口数据 ①需求说明 - 使用 Flume 监听一个端口&am…

VBA技术资料MF50:VBA_在Excel中突出显示前3个值

【分享成果&#xff0c;随喜正能量】人受到尊重&#xff0c;不是因为权钱&#xff0c;而是他骨子里透出的&#xff0c;正直与善良。。 我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高…