IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Centos NTP时间服务器部署及时间同步 -> 正文阅读

[系统运维]Centos NTP时间服务器部署及时间同步

一、前言

1、NTP简介

NTP全称为(Network Time Protocol)即网络时间协议。是用来使计算机时间同步的一种协议。它可以使计算机对服务器或时钟源做同步,可以提供高精度的时间校正(LAN 上与标准时间小于1毫秒,WAN上几十毫秒),而且可以由加密确认的方式防止恶意的协议攻击。

2、使用场景

时间保持同步对于服务器集群来说尤为重要,比如说电商的秒杀,以及火车票的抢购等等,如果服务器时间不同步,那么不同的用户可能不是在同一时间点进行抢购的,就会出现不公平的问题。
对于集群化部署的应用,例如数据库集群,只有时间同步了,同一时间到达不同数据库节点的数据才会有相同的时间戳。集群时间的一致性影响了分布式系统的一致性。

二、准备工作

1、服务器规划

IP节点应用
192.168.242.51NTP服务端
192.168.242.52NTP客户端

2、软件环境说明

版本
Linux ServerCentos 7.7
NTP4.2.6

3、端口号

nntp            119/tcp         readnews untp   # USENET News Transfer Protocol
nntp            119/udp         readnews untp   # USENET News Transfer Protocol
ntp             123/tcp
ntp             123/udp 

三、部署服务端

1、安装NTP

yum -y install ntp-4.2.6p5-29.el7.centos.2.x86_64   #默认会安装 ntp,ntpdate

2、修改服务端配置

vim /etc/ntp.conf

#我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测>我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使
你重新开机以后之前的计算结果也就不会丢失了
driftfile /var/lib/ntp/drift

# restrict IP地址 mask 子网掩码 参数
# 其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
# 参数有以下几个:
# ignore :关闭所有的 NTP 联机服务
# nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
# notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
# noquery :不提供客户端的时间查询
# notrap:陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
# restrict -6 表示IPV6地址的权限设置
# nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟

#restrict   default  nomodify notrap nopeer noquery

#restrict ::1
#拒绝所有NTP联机服务
#restrict default ignore
#该网段不能更改服务器时间参数,但可以校准时钟,远程时间日志记录程序
#restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# iburst: 如果一个时间服务器不可用,会发送多个包确认
server ntp1.aliyun.com iburst  #设置阿里云时间同步服务器
server ntp2.aliyun.com iburst

#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography. 

keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

3、同步时间到硬件

vim /etc/sysconfig/ntpd

#同步硬件时钟
SYNC_HWCLOCK=yes

4、启动服务,设置开机自启

systemctl start ntpd
systemctl enable ntpd

四、部署客户端

1、安装NTP

yum -y install ntp-4.2.6p5-29.el7.centos.2.x86_64   #默认会安装 ntp,ntpdate

2、修改客户端配置

driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
server 192.168.242.51  #时间服务器地址28 
restrict 192.168.242.51 nomodify notrap noquery  #允许上层时间服务器修改本机时间
server 127.0.0.1
fudge 127.0.0.1 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

3、启动服务,设置开机自启

systemctl start ntpd
systemctl enable ntpd

3、同步时间

3.1 自动同步

# 先设置一个错误时间
[root@k8s-node1 ~]# date -s "2021-9-4 19:20"
Sat Sep  4 19:20:00 CST 2021

#poll 就是多少秒同步一次,当when等于poll的时候就会进行同步
#[root@k8s-node1 ~]# watch ntpq -p
Every 2.0s: ntpq -p                                                           Sat Sep  4 21:10:39 2021

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 k8s-master1     203.107.6.88     3 u   31   64    3    0.330    0.008   0.015
 localhost       .STEP.          16 l    -   64    0    0.000    0.000   0.000

3.2 立即同步时间

#需要先停掉ntpd服务
[root@k8s-node1 ~]# systemctl stop ntpd
#同步时间
[root@k8s-node1 ~]# ntpdate 192.168.242.51
 4 Sep 21:15:08 ntpdate[22379]: adjust time server 192.168.242.51 offset 0.002881 sec

3.3 通过crontab定时任务+ntpdate同步

[root@k8s-node1 ~]# crontab -e -u root
#每十分钟同步一次
*/10 * * * * /usr/sbin/ntpdate 192.168.242.51

常见报错

1、no server suitable for synchronization found

可能是网络不通,或者时间没服务器没有授权 ntp.conf文件中 restrict,默认是允许所有

2、 the NTP socket is in use, exiting

因是由于 xntpd 已经绑定到了该 Socket。运行 ntpdate 时,它会首先进行广播,然后侦听端口 123。如果 xntpd 正在运行,而有一个进程已经在侦听该端口了,则会使 ntpdate 无法在上面运行。运行下列命令,即可找出 xntpd 的 PID

[root@k8s-master1 ~]# ps -ef|grep ntpd
ntp       12010      1  0 23:51 ?        00:00:00 /usr/sbin/ntpd -u ntp:ntp -g
root      12015  11908  0 23:54 pts/1    00:00:00 grep --color=auto ntpd
[root@k8s-master1 ~]# ntpd
ntpd     ntpdate  ntpdc    
[root@k8s-master1 ~]# ntpdate ntp.aliyun.com
 2 Sep 23:55:08 ntpdate[12016]: the NTP socket is in use, exiting
[root@k8s-master1 ~]# kill 12010
[root@k8s-master1 ~]# ntpdate ntp.aliyun.com
 2 Sep 23:55:31 ntpdate[12019]: adjust time server 203.107.6.88 offset 0.004193 sec
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:27:40  更:2021-09-05 11:29:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:40:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码