实现【Linux--NTP 时间同步服务搭建】

实现【Linux--NTP 时间同步服务搭建】

    • 🔻 前言
    • 🔻 一、NTP 校时
      • 🔰 1.1 NTP 服务校时与 ntpdate 校时的区别
      • 🔰 1.2 NTP 校时服务搭建
        • 🔰 1.2.1 确认 ntp 的安装
        • 🔰 1.2.2 配置 ntp 服务
        • 🔰 1.2.3 启动 ntp 服务、查看状态
        • 🔰 1.2.4 ntp 服务设置开机自启动
        • 🔰 1.2.5 解决设置 ntp 开机自启动失败
        • 🔰 1.2.6 查看 ntp 服务器与上层 ntp 连通性
        • 🔰 1.2.8 查看 ntp 服务器与上层 ntp 的状态
      • 🔰 1.3 分节点测试时间同步
    • 🔻 总结—温故知新

在这里插入图片描述


👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 前言

当应用系统走向多节点、高并发、高可用部署需求时不同节点时间不一致不仅仅会导致业务报错,还会出现将硬件时间直接频繁同步导致硬件故障

为解决以上问题-----引入NTP 校时服务

🔻 一、NTP 校时

🔰 1.1 NTP 服务校时与 ntpdate 校时的区别

ntp 服务校时不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非 ntpdate 立即同步,在生产环境中慎用 ntpdate,ntp 与 ntpdate不可同时运行

简单来讲 NTP 服务本身是为了搭建校时服务器对外提供授时服务的。但是这个服务本
身有个功能,就是可以从这个服务工作的机器,配置一个外网的时间服务器,将本机的时间
校时成网络时间。自己时间不对,咋给别人校时?

🔰 1.2 NTP 校时服务搭建

主节点:本身可以上网,配置校时服务的时候配置上游国家授时中心服务地址,并对内网提供授时服务—这里环境均采用内网,手动设置主节点为标准时间,分节点同步
分节点:本身属于内网运行,上游地址是主节点。

🔰 1.2.1 确认 ntp 的安装
###1、这里已安装了ntp和ntpdate,为了方便演示,先移除
[root@pg-node01 ~]# rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
ntp-4.2.6p5-29.el7_8.2.x86_64
ntpdate-4.2.6p5-29.el7_8.2.x86_64
[root@pg-node01 ~]####2、先卸载移除ntp 与 ntpdate
yum -y remove ntp-4.2.6p5-29.el7_8.2.x86_64
yum -y remove ntpdate-4.2.6p5-29.el7_8.2.x86_64###3、重新安装 ntp
yum -y install ntpdate
yum -y install ntp
###4、安装检查
[root@pg-node01 ~]# rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
ntp-4.2.6p5-29.el7_8.2.x86_64
ntpdate-4.2.6p5-29.el7_8.2.x86_64
[root@pg-node01 ~]# 
🔰 1.2.2 配置 ntp 服务

1、选择主节点pg-node01,修改其/etc/ntp.conf

210.72.145.44 (国家授时中心服务器IP地址)。

### 在 server 部分添加如下内容,并注释掉 server 0 ~ n
server 210.72.145.44 prefer
server 127.127.1.0 iburst

在这里插入图片描述

📖 说明:

server 210.72.145.44 prefer 这是国家新的授时服务器地址,prefer 是优先使用的意思,还有更多,可以直接百度,国内的NTP Server基本都属于科研教育机构所有,普通社会组织发布的NTP Server并不多。

server 127.127.1.0 iburst 指定本地NTP服务地址,这个 ip 不要改,意思是如果网络授时服务器源访问不到了则直接使用本机作为授时服务器源。

2、主节点以外的节点pg-node02,继续修改/etc/ntp.conf。

在 server 部分添加如下语句,将 server 指向主节点。

server 主节点 ip 地址如:
server 192.168.181.11

在这里插入图片描述

3、操作系统防火墙开放 123 端口
由于 NTP 服务需要使用到 UDP 端口号 123,所以当系统的防火墙(Iptables)启动的情况下,必须开放 UDP 端口号 123

###开放 `UDP` 端口号 `123`
firewall-cmd --zone=public --add-port=123/udp --permanent
###查看所有已经开放的端口
#临时端口(默认为空)
firewall-cmd --list-ports#永久开放端口(默认为空)
[root@pg-node01 ~]# firewall-cmd --list-ports --permanent
123/udp
[root@pg-node01 ~]# 
🔰 1.2.3 启动 ntp 服务、查看状态
### 启动 ntp 服务
[root@pg-node01 ~]# systemctl start ntpd.service### ntp 服务管理命令#查看 ntpd 服务状态
service ntpd status
#启动 ntpd 服务
service ntpd start 
#停止 ntpd 服务
service ntpd stop 
#重启 ntpd 服务
service ntpd restart 
🔰 1.2.4 ntp 服务设置开机自启动

检查 ntp 服务是否开机启动,将其设置为开机启动。

### 启动服务
systemctl start ntpd.service 
### 停止服务
systemctl stop ntpd.service 
### 将服务设置为自启动
systemctl enable ntpd.service 
### 将服务自启动关闭
systemctl disable ntpd.service
🔰 1.2.5 解决设置 ntp 开机自启动失败

重启后用 service ntpd status 命令查看服务是否启动,从给出的信息可知 ntp 已被设置为开机启动,但是开机启动并未成功。

[root@pg-node02 ~]# service ntpd status
Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time ServiceLoaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)Active: inactive (dead)
[root@pg-node02 ~]# 

通过命令 chkconfig ntpd on 设置开机自启动,发现会将此命令转发到 systemctl enable ntpd.service 命令,也就是说最好使用后面的命令设置开机自启动。

[root@pg-node02 ~]# chkconfig ntpd on
Note: Forwarding request to 'systemctl enable ntpd.service'.
[root@pg-node02 ~]# 

原因是系统上安装了一个与 NTP 相冲突的工具:chrony。使用 systemctl is-enabled chronyd 来查看, chrony 被设置为enabled

[root@pg-node02 ~]# systemctl is-enabled chronyd
enabled
[root@pg-node02 ~]# 

将 chronyd 设置为 disable 后,再重启即可实现NTP自启动。

[root@pg-node02 ~]# systemctl disable chronyd
Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
[root@pg-node02 ~]# 
🔰 1.2.6 查看 ntp 服务器与上层 ntp 连通性
### 查看命令
ntpstat
  • pg-node01

在这里插入图片描述

  • pg-node02
    在这里插入图片描述

ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。

等一段时间之后,再次使用 ntpstat 命令查看状态,就会变成如下正常结果:

[root@pg-node02 ~]# ntpstat
synchronised to NTP server (192.168.181.11) at stratum 7time correct to within 21 mspolling server every 64 s
[root@pg-node02 ~]# 

在这里插入图片描述

🔰 1.2.8 查看 ntp 服务器与上层 ntp 的状态
### 命令
ntpq -p
  • pg-node01
[root@pg-node01 ~]#  ntpq -premote           refid      st t when poll reach   delay   offset  jitter
==============================================================================210.72.145.44   .INIT.          16 u    - 1024    0    0.000    0.000   0.000
*LOCAL(0)        .LOCL.           5 l   23   64  377    0.000    0.000   0.000
[root@pg-node01 ~]#
  • pg-node02
[root@pg-node02 ~]# ntpq -premote           refid      st t when poll reach   delay   offset  jitter
==============================================================================pg-node01       LOCAL(0)         6 u   26   64    1    2.346  -679.68   0.000
[root@pg-node02 ~]# 

📖 说明:

remote:本机和上层 ntp 的 ip 或主机名,“+”表示优先,“*”表示次优先
refid:参考上一层 ntp 主机地址
st:stratum 阶层
when:多少秒前曾经同步过时间
poll:下次更新在多少秒后
reach:已经向上层 ntp 服务器要求更新的次数
delay:网络延迟
offset:时间补偿
jitter:系统时间与 bios 时间差

🔰 1.3 分节点测试时间同步

分节点不能上网,属于内网服务器从主节点获取时间,本身支持对内网提供授时服务,
但是不再对内网提供服务,仅仅满足自己的时间与主节点保持一致。

  • 设置分节点时间与主节点相差3h
####修改pg-node02分节点时间与主节点相差3h,主节点-now time :13:00:00
date -s 10:00:00####写入BIOS
clock -w ###显示bios时间
hwclock -r####date查看---会自动同步pg-node01的时间
[root@pg-node02 ~]# date
Fri Jul  7 13:42:17 CST 2023
[root@pg-node02 ~]# 

🔻 总结—温故知新

❓ 该章详细介绍和实现了Linux--NTP 时间同步服务搭建。

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

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

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

相关文章

大数据面试大厂真题【附答案详细解析】

1.Java基础篇(阿里、蚂蚁、字节、携程、快手、杭州银行等) 问题:HashMap的底层实现原理 答案: 在jdk1.8之前,hashmap由 数组-链表数据结构组成,在jdk1.8之后hashmap由 数组-链表-红黑树数据结构组成&…

openpnp - 给底部相机加防尘罩

文章目录 openpnp - 给底部相机加防尘罩概述笔记END openpnp - 给底部相机加防尘罩 概述 设备标定完, 看着底部相机, 有点担心掉进去东西, 万一从吸嘴掉下去的料(或者清理设备台面时, 不小心掉进去东西)将顶部相机搞短路怎么办. 就想加个防尘罩, 如果有东西掉进去, 可以掉到机…

makefile 学习(5)完整的makefile模板

参考自: (1)深度学习部署笔记(二): g, makefile语法,makefile自己的CUDA编程模板(2)https://zhuanlan.zhihu.com/p/396448133(3) 一个挺好的工程模板,(https://github.com/shouxieai/cpp-proj-template) 1. c 编译流…

开源vs闭源,处在大模型洪流中,向何处去?

文章目录 一、开源和闭源的优劣势比较1.1 开源优势1.2 闭源的优势 二、开源和闭源对大模型技术发展的影响2.1 数据共享2.2 算法创新2.3 业务拓展2.4 安全性和隐私2.5 社会责任和伦理 三、开源与闭源的商业模式比较3.1 盈利模式3.2 市场竞争3.3 用户生态3.4 创新速度 四&#xf…

shiro的前后端分离模式

shiro的前后端分离模式 前言:在上一篇《shiro的简单认证和授权》中介绍了shiro的搭建,默认情况下,shiro是通过设置cookie,使前端请求带有“JSESSION”cookie,后端通过获取该cookie判断用户是否登录以及授权。但是在前…

二十三种设计模式全面解析-深入探究备忘录模式:保留过去,预见未来

在软件开发中,我们经常需要处理对象状态的保存和恢复问题。备忘录模式(Memento Pattern)提供了一种优雅的解决方案,能够在不破坏封装性的情况下,捕获和恢复对象的内部状态。本文将深入探讨备忘录模式的技术细节&#x…

【git error|SourceTree】error: bad signature 0x00000000 fatal: index file corrupt

报错 error: bad signature 0x00000000 fatal: index file corrupt 场景 在使用git add . 提交代码到缓冲区时或使用SourceTree时电脑宕机,重启后再次提交代码会出现该提示 原因分析 .git目录下的index文件损坏 解决方式 //删除索引文件 rm -f .git/index //回…

TCP/IP协议、三次握手、四次挥手

TCP/IP TCP/IP协议分层TCP头部三次握手TCP四次挥手常见问题1、什么是TCP网络分层2、TCP为什么是三次握手,不是两次或者四次?3、TCP为什么是四次挥手,为什么不能是三次挥手将第二次挥手和第三次挥手合并?4、四次挥手时为什么TIME_W…

ZKP11.4 Use CI to instantiate Fiat-Shamir

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 11: From Practice to Theory (Guest Lecturer: Alex Lombardi) 11.4 Use CI to instantiate Fiat-Shamir Avoid Bad Challenges Def: Given false claim x x x and a first message α \alpha α, a challenge β \beta …

再见 Pandas,再见算法

大家好,《再见pandas》 系列已有200多位朋友加入学习了,这段时间亲眼见证了很多朋友的飞跃进步,从无到有,从一个问问题的小白到开始慢慢回答别人的问题,在讨论和练习中不断成长。虽说pandas已经很普及了,但普及内容的深度却远远不够。 下面这套原创图文是我和几位小伙伴…

常用的git命令完整详细109条

Git是一个很强大的分布式版本控制系统,以下是一些常用的git命令: git init:在当前目录下创建一个新的Git仓库。git add 文件名:将指定的文件添加到暂存区,准备提交。git commit -m “备注”:提交暂存区的文…

C++ 数据结构之-最小栈(MinStack)

最小栈 最小栈(Min Stack)是一个支持常数时间复杂度获取栈中最小元素的特殊栈数据结构。通常,标准的栈数据结构只支持在常数时间内执行入栈(push)和出栈(pop)操作,但无法在常数时间内…

听说还有人不知道如何实现水平垂直居中?

HTML 代码部分 块级元素 <div class"parent"><div class"child">child</div> </div>行内元素 <div class"parent"><span class"child">child</span> </div>水平垂直居中 1、行内…

C++ STL map迭代器失效问题

最近在开发过程中&#xff0c;定位一个问题的时候&#xff0c;发现多线程场景下大量创建和销毁某个C:\Windows\System32\reg.exe时出现了383个进程创建消息处理的接口&#xff0c;和384个进程销毁处理消息的接口都在等待锁&#xff0c;另外一个线程也在等锁&#xff0c;后面看了…

mysql8下载与安装教程

文章目录 1. MySQL下载2. 方式一&#xff1a;msi文件安装2.1 安装2.2 添加环境变量2.3 登录mysql 3. 方式二&#xff1a;zip文件安装3.1 安装3.2 配置文件3.3 加入环境变量3.4 初始化mysql3.5 登录mysql 1. MySQL下载 以下两个网址二选一 官网&#xff1a;https://downloads.…

CPU、GPU、TPU内存子系统架构

文章目录 CPU、GPU、TPU内存子系统架构概要CPUGPUTPU共同点和差异&#xff1a; CPU、GPU、TPU内存子系统架构 概要 Memory Subsystem Architecture&#xff0c;图源自TVM CPU CPU&#xff08;中央处理器&#xff09;的内存子系统&#xff1a;隐式管理 主内存&#xff08;…

lv11 嵌入式开发 C工程与寄存器封装 10

目录 1 C语言工程介绍 1.1 工程模板介绍 1.2 启动代码分析 2 C语言实现LED实验 2.1 C语言如何实现寄存器读写 2.2 实现LED实验 2.3 练习 1 C语言工程介绍 1.1 工程模板介绍 工程目录&#xff0c;后续代码都会利用到这个目录 interface.c 写了一个main函数的框架 int …

BERT-pytorch源码实现,解决内存溢出问题

BERT-pytorch源码实现&#xff0c;解决内存溢出问题 相信大家很多人都在做BERT这个模型&#xff0c;但是&#xff0c;有些人可能就是直接从transfermer这个模型里直接导入数据&#xff0c;但是这种方法不方便我们修改模型&#xff0c;于是有些人就通过pytorch详细实现了BERT,但…

浏览器v8垃圾回收机制和内存泄漏分析-初级

借鉴&#xff1a;一文搞懂V8引擎的垃圾回收 - 掘金 (juejin.cn) 聊聊V8引擎的垃圾回收 - 掘金 (juejin.cn) 内存泄漏方向&#xff1a; 1、全局变量 未手动清除 2、定时器 未手动清除 3、闭包中使用了匿名函数 未手动清除 4、dom被赋值使用后 未手动清除 其他解决方式 1、…

均匀球形分布的随机三维单位向量

生成具有均匀球形分布的随机三维单位向量[参考] import numpy as np import matplotlib.pyplot as plt def random_three_vector():"""Generates a random 3D unit vector (direction) with a uniform spherical distributionAlgo from http://stackoverflow.c…