前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第十一章 时间同步服务

第十一章 时间同步服务

作者头像
晓天
发布2019-07-04 14:30:35
1.8K0
发布2019-07-04 14:30:35
举报

第十一章 时间同步服务

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 教主小筑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档