专栏首页Linux、云计算技术交流第十一章 时间同步服务

第十一章 时间同步服务

第十一章 时间同步服务

11.1 NTP简介

NTP是网络时间协议(Network Time Protocol)的简称,功能是同步各主机的时间。因为在服务集群中,很多服务要求所有主机必须保持时间一致,所以就需要一台时间服务器,下面所有主机都遵守这台服务器的时间配置,并定期到这台服务器上做时间调整。

其实在windows中,我们也是可以设置连接时间服务器的,如下图:

这种时间服务器就可以使用NTP服务实现。

NTP服务器的服务端口是:UDP 123。

11.2 NTP服务部署

实验环境:NTP服务器 ip 192.168.10.1,关闭防火墙

NTP客户端 ip 192.168.10.10,关闭防火墙

服务器配置:

yum -y install ntp ---安装ntp软件包

vi /etc/ntp.conf ---编辑ntp配置文件

其中:resctrict 行,定义针对客户端的访问权限,一般按默认设置。

server 行,设定本服务器的上层服务器,即本服务器通过上层服务器来确定自身时间。文件中默认指向公网的时间服务器。若本机已连网且ip、gw、dns等配置正确,则可使用默认的centos的NTP服务器作为上层,但如果未连网,则只能把本机作为顶层时间服务器。

写入:server 127.127.1.0 prefer ---指定自己为优先服务器

注:NTP指定自己时ip必须写127.127.0.1,prefer表示最高优先级,即本机为根服务器,也就是顶层服务器。

systemctl restart ntpd ---启动服务

systemctl enable ntpd

ntpstat ---查看ntp服务状态

客户端配置:

客户端连接服务器有两种方式,一种是人为手动更新时间,另一种是自动联系服务器做时间更新,下面来分别介绍下:

方式一:手动更新

ntpdate 192.168.10.1 ---联系服务器做时间同步

图中可见共调整的多少秒。

方式二:自动更新

yum -y install ntp ---安装ntp软件包

vi /etc/ntp.conf ---写入

server 192.168.10.1 ---指定上层服务器

systemctl restart ntpd ---启动服务

客户端会在服务启动后的15分钟联系服务器更新同步一次时间。 注:启动ntp服务后,客户端不可再使用手动方式,即ntpdate命令失效。

11.3 配置参数介绍

在配置文件/etc/ntp.conf中,有很多的默认配置项,其实在生产环境中,我们很少对这些做改动,但是也需要大体了解他们的功能。下面就来稍作介绍:

restrict行,用来管理ntp权限,常见参数说明:

default:所有IP地址

ignore :关闭所有的 NTP 联机服务

nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时

notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网

noquery:不提供客户端的时间查询,即用户端不能使用ntpq,ntpdc等命令来查询ntp服务器的连接信息。但仍可调整时间。PS:客户端需要安装ntp包后,才可以使用ntpq 命令,如:ntpq –p

notrap:不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。

nopeer:用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟

kod: 访问违规时发送 KoD 包。

restrict -6 :表示IPV6地址的权限设置

关于server行的配置,允许在上层服务器ip后设置三种配置:

prefer:优先级设定,表示优先使用该服务器做时间同步,可视为顶层服务器

iburst:作用是如果在一个标准的轮询间隔内没有应答,客户端会发送一定数量的包(八个包而不是通常的一个)给 NTP 服务器。如果在短时间内呼叫 NTP 服务器几次,没有出现可辨识的应答,那么本地时间将不会变化。

burst:该选项一般不用。这个选项不仅在轮询间隔发送大量包(明显又是八个),而且也会在服务器能正常使用时这样做。如果你在高层服务器持续发送包,甚至是它们在正常应答时,你可能会因为使用 “burst” 选项而被拉黑。

另外,客户端输入ntpq -p 命令后,会查看到连接服务器的信息:

参数说明:

remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先

refid - 参考上一层ntp主机地址

st - stratum阶层

when - 多少秒前曾经同步过时间

poll - 下次更新在多少秒后

reach - 已经向上层ntp服务器要求更新的次数

delay - 网络延迟

offset - 时间补偿

jitter - 系统时间与bios时间差

tips:本节内容借鉴了很多网络文章。但并非重点,能够了解即可。

11.4 其他相关参数

11.4.1 硬件时间

我们知道,计算机主板上有一个bios程序,它里面会记录一个时间,称为硬件时间,我们可以使用hwclock 命令查看到硬件时间。

而Linux系统中的时间为系统时间,二者可能会是不相同的,所以我们可以使用如下命令做二者的同步:

hwclock –w ---以系统时间为准同步到硬件时间

hwclock -s --- 以硬件时间为准,同步到系统时间

若要想让客户机通过ntp同步到时间后,一并同步给硬件时间,可以编辑/etc/sysconfig/ntpd,该其中的SYNC_HWCLOCK=yes即可:

11.4.2 时区设置

我们在安装centos系统时,我们已经指定过时区了,但后期也是可以更改的。

在Linux中可识别的、支持的所有时区,都以文件的形式存在,是存放在/usr/share/zoneinfo/下:

而系统中记录本机所在时区的配置文件是:/etc/localtime,其中存放的其实是某个时区文件中的内容,所以我们可以把某个时区文件的内容导入到/etc/localtime中,就等于更改了时区了,如下:

cat /usr/share/zoneinfo/Asia/Hong_Kong >/etc/localtime ---更改时区

11.5 chrony简介

在RHCE7中,开始改用新的时间服务chrony,它与NTP功能相同,可以认为是NTP的升级,它也借助于NTP服务工作。准确讲,chrony等同于NTP的功能,可认为是NTP的变身。其配置文件也与NTP类似,但配置更简洁。下面来看一下具体配置:

服务器配置

yum -y install chrony

vi /etc/chrony.conf ---编辑配置文件,写入:

allow192.168.10.0/24 ---指定允许来找本机做时间同步的客户端地址

local stratum10 ---如果无上层服务器则采用自己的时间来同步客户端

PS:这两行其实文件中已有,只是被注释了,也可以解注释后改之

systemctl restart chronyd

客户端配置:

yum -y install chrony

vi /etc/chrony.conf

在所有的server之前,写入:server192.168.10.1 iburst

systemctl restart chronyd ---重启后即可做时间同步了

注:同步可能会有延时,可以多重启几次试试。

chronyc sources –v ---查看服务器状态,相当于NTP的ntpq –p

本文分享自微信公众号 - 教主小筑(gh_e0879483602d),作者:教主小筑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-05

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第三章 NFS网络文件系统

    NFS,全称为Network File System,即网络文件系统。功能是让不同的机器、不同的操作系统,可以彼此共享资源,一般主要部署于Linux或Unix系...

    晓天
  • 第十章 磁盘管理

    我们知道,日常中我们的台式机、笔记本电脑上的磁盘都会有几百G的容量,这种磁盘一般都是机械磁盘,即使用一些精密的机械部件组成的磁盘。而近几年来,越来越多的笔记本电...

    晓天
  • 第十八章 VNC远程连接

    我们知道在数据中心机房中,服务器一般是锁在机柜中的,服务器只有在刚买来第一次配置或安装系统时,才会连接显示器、键盘、鼠标等外设,初次配置完毕后,就会把这些外设都...

    晓天
  • NTP服务器

    NTP服务器【Network Time Protocol(NTP】是用来使计算机时间同步化的一种协议,NTP服务器可以对其它服务器做时间同步化,从而达到时间统一...

    胡齐
  • 影响GPS北斗卫星时钟同步准确性的因素有哪些?

    网络时间协议用于同步网络上计算机的时钟。它与客户端计算机的时钟同步的准确度取决于许多因素。

    NTP网络同步时钟
  • 刚填了一个奇怪的坑

    最近写了一个 API Token 的校验服务,想要增加时效性控制,比如一个 API,超过一段时间(比如 10s)之后,用同样的参数再请求就会被服务器禁掉,无法获...

    崔庆才
  • NTP时间服务器部署以及时间同步设置

    NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。它的用途是把计算机的时钟同步到世界协调时UTC,其...

    KenTalk
  • 【RL-TCPnet网络教程】第29章 NTP网络时间协议基础知识

    本章节为大家讲解NTP (Network Time Protocol,网络时间协议)和SNTP(简单网络时间协议,Simple Network Time Pro...

    armfly
  • CentOS 8 启用 NTP 服务

    可能很多人都不是非常了解,简单来说就是我们希望我们服务器的时间是准确的没有偏差的。这个的意义在数据插入和你程序取得计算机时间的时候是准确的。

    HoneyMoose
  • NTP是什么

    是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,位于OSI模型的应用层。自1985年以来,NTP是目前仍在使用的最古老的互联网协...

    云深无际

扫码关注云+社区

领取腾讯云代金券