NTP时间服务器部署以及时间同步设置

一、前言

1、NTP简介

NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

2、为什么需要NTP服务器?

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

二、准备工作

1、服务器规划

机器名

IP

节点应用

ntp01

192.168.88.88

NTP时间服务器

2、软件环境说明

说明

Linux Server

CentOS 7

NTP

4.2.6

三、部署过程

1、安装NTP

yum install -y ntp

2、修改NTP配置

#修改配置文件
vi /etc/ntp.conf

#在配置中增加以下配置:

#允许上层时间服务器主动修改本机时间
restrict 0.centos.pool.ntp.org nomodify notrap noquery
restrict 1.centos.pool.ntp.org nomodify notrap noquery
restrict 2.centos.pool.ntp.org nomodify notrap noquery
restrict 3.centos.pool.ntp.org nomodify notrap noquery

#外部时间服务器不可用时,以本地时间作为时间服务
server 127.0.0.1
fudge 127.0.0.1 stratum 10

3、与公共NTP服务器预先同步

为了保证本地NTP服务器能正常与公共NTP服务器进行同步,先跟公共NTP服务器同步一次。 再启动NTP服务

[root@ntp01 ~]# ntpdate cn.pool.ntp.org
27 Feb 19:27:02 ntpdate[2632]: adjust time server 85.199.214.100 offset -0.007263 sec

4、启动NTP服务&开机启动设置

#启动NTP服务
systemctl start ntpd

#将NTP服务设置为开机启动
systemctl enable ntpd

5、查看NTP服务信息

[root@ntp01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+118.122.35.10   223.255.185.2    2 u   30   64    3   48.062  -17.829   1.317
*120.25.115.19   10.137.53.7      2 u   29   64    3   34.870    2.672   2.617
-ntp1.ams1.nl.le 130.133.1.10     2 u   27   64    3  238.254   21.513   1.854
+ntp5.flashdance 194.58.202.148   2 u   26   64    3  312.940    4.263   1.237

NTP服务信息说明:

说明

remote

当前远程NTP服务器,+表示可用,-表示不可用,*表示推荐

refid

用于和本地时钟同步的远程服务器的 IP 地址

st

Stratum(阶层),表示经过n=2次NTP同步到当前服务器

t

类型,u表示单播(unicast)。其它值包括本地(local)、多播(multicast)、广播(broadcast)。

when

自从上次和服务器交互后经过的时间(以秒数计)。

poll

和服务器的轮询间隔,以秒数计。

reach

表示和服务器交互是否有任何错误的八进制数。值 337 表示 100% 成功(即十进制的255)。

delay

服务器和远程服务器来回的时间。

offset

我们服务器和远程服务器的时间差异,以毫秒数计。

jitter

两次取样之间平均时差,以毫秒数计。

6、防火墙配置

#开放NTP端口
firewall-cmd --add-port=123/udp --permanent

#重载防火墙规则
firewall-cmd --reload

四、客户端同步设置

1、Linux客户端

Linux主机需要 ntpdate 软件包来和NTP服务器同步时间 这里ken.io 以CentOS客户端为例说明,由于CentOS7已经内置了ntpdate,所以无需安装

1.1、方式1:单次同步

ntpdate 192.168.88.88

1.2、方式2:安装ntp服务进行自动同步(推荐)

主要思路就是讲客户端作为NTP服务的一个层级自动从已经配置好的本地NTP服务器同步时间

相当于通过NTP服务以以下顺序传播时间: 公共NTP服务器->本地NTP服务器->客户端(NTP服务)

  • 安装NTP
yum install -y ntp
  • 修改配置
#修改配置文件
vi /etc/ntp.conf


#修改server节点

server 192.168.88.88

#在配置中增加以下配置:

#允许上层时间服务器主动修改本机时间
restrict 192.168.88.88 nomodify notrap noquery


#外部时间服务器不可用时,以本地时间作为时间服务
server 127.0.0.1
fudge 127.0.0.1 stratum 10
  • 启动NTP服务&开机启动设置
#启动NTP服务
systemctl start ntpd

#将NTP服务设置为开机启动
systemctl enable ntpd

2、Windows客户端

控制面板->日期和时间->设置日期和时间->Internet时间->更改设置

输入对应的NTP服务器IP,然后确定即可,如下图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java编程技术

UML建模(组件图)

组件图是为了展示组元(components),组元提供的接口(provided inerfaces)和需要调用的接口(required interfaces),...

88120
来自专栏静晴轩

如何设置添加SSH

去(2014)年有开始折腾个人Blog;从使用Jekll到Hexo,平台也从Github一度迁移至国内的Gitcafe(Hexo创建/测试/发布Blog都极为方...

57260
来自专栏张戈的专栏

WordPress启用memcached动态缓存以及报错解决

张戈博客目前用的是Nginx 的 fastcgi 缓存方案,属于纯净态缓存模式,所以前台登录态什么的基本都没了。如果要兼顾前台登录态,又想速度快,有没有解决方案...

61090
来自专栏皮振伟的专栏

[linux][memory]进程的最大内存使用量的讨论

前言: 一个进程最大能使用多少虚拟内存,能控制的地方还是比想象的多一点。 尤其是IaaS上,一个qemu进程能使用多少虚拟内存,就是对应着虚拟机的物理内存的最大...

2.6K110
来自专栏雪胖纸的玩蛇日常

python3+django2 开发易语言网络验证(上)

40140
来自专栏pythonlove

Linux防火墙iptables(二)

上一篇文章我们说了一些iptables/netfilter的基础知识,本文我们来介绍一下iptables的规则编写。Iptables的规则可以概括的分为两个方面...

44520
来自专栏程序生活

Laravel-博客实战+踩坑laravel-blog最终的效果踩的坑

最近在学习Laravel,参考的课程是后盾网地Laravel5.2博客项目实战 下面整个项目的开发过程: laravel-blog 基于laravel5....

79150
来自专栏圣杰的专栏

IdentityServer4 知多少

现在的应用开发层出不穷,基于浏览器的网页应用,基于微信的公众号、小程序,基于IOS、Android的App,基于Windows系统的桌面应用和UWP应用等等,这...

32020
来自专栏腾讯移动品质中心TMQ的专栏

Android权限机制,你真的了解吗?

一、Android的权限机制 Android是目前最流行的智能手机软件平台之一,在智能移动终端如火如荼发展的同时,其安全态势也日益严峻。有调查表明,恶意软件的...

1.5K100
来自专栏白驹过隙

Socket编程回顾,一个最简单服务器程序

23530

扫码关注云+社区

领取腾讯云代金券