RHEL6.5集群中部署NTP

如上图,框架中的有外网ntp服务器内网ntp服务器内网中的其他机器。为讲解方便先作如下假设:

外网ntp服务器:xx.cn.pool.ntp.org

内网ntp服务器:10.xxx.xxx.189

内网中的其他机器:10.xxx.xxx.148和10.xxx.xxx.149

(189、148和149等的操作系统都是Red Hat 6.5)

机器之间的关系是这样的:

(1)外网ntp服务器与内网ntp服务器的关系:

内网ntp服务器189首先根据外网ntp服务器的时间,调整自己的时间至同准确时间一致,然后通过ntpd或ntpdate定时向外网ntp服务器同步时间。此时外网服务器为ntp服务器,189为ntp客户端;

(2)内网ntp服务器与内网其他机器的关系:

在189的时间调整准确之后,它便可以作为ntp服务器为内网中的其他机器提供服务了。此时189为ntp服务端,而148和149等其他机器为ntp客户端。

即整个架构中189同时作为ntp服务器和客户端而存在,就像一个三世同堂的家庭中,爸爸既是爸爸也是儿子,同样的道理。

一、内网ntp服务器(10.xxx.xxx.189)的设置

1、检查并安装ntp

使用rpm -qa | grep ntp 命令查看服务器是否安装了ntp,如果出现下面两个说明已安装。

倘若没有安装,可使用yum install -y ntp命令进行安装(前提是服务器的yum可用,若是yum无法使用,也可以到网上找到相应的rpm包进行手动安装)

2、使用ntpdate同步NTP服务器时间

这一步的主要命令有两个:

(1)   ntpdate 0.cn.pool.ntp.org  #ntpdate修改系统时间

(2)  hwclock –systohc  #将硬件时间修改到与系统时间相同

由于NTP的限制,如果系统时间与正确的时间相差太大的话,NTP是不会帮你做调整的——网上也有另一种说法,就是当你的时间设置和正确的时间相差很大的时候,NTP不会直接不同步,而是会花上很长一段时间进行同步调整——关于这点我没有实际测试过,反正不管是由于哪种原因,总之我们需要先通过ntpdate做一个时间同步,把189的时间调整到跟实际相同,用到的是第(1)个命令。

2.1

首先我们要先确定好自己的时区(若时区已经正确了可略过这步)。

根据所在地点重新设置时区。以上海为例。

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    #将时区设置成上海

[root@zabbix ~]# date

Mon Mar 12 18:28:42 CST 2018   #可以看到我们的时区已经设置过来了,因为时区显示为CST了,CST即china standard time。

2.2

同步之前需要知道可用的外网NTP服务器是多少,通过NTP官网找到离自己城市最近的NTP服务器,如下图:

我取到的公网NTP服务器地址如下:

server 0.cn.pool.ntp.org

server 1.cn.pool.ntp.org

server 2.cn.pool.ntp.org

server 3.cn.pool.ntp.org

2.3

找到外网ntp服务器之后,接下来使用ntpdate将时间调准。

[root@zabbix ~]# ntpdate 0.cn.pool.ntp.org

12 Mar 14:03:12 ntpdate[19868]: step time server 85.199.214.100 offset 1114.672613 sec

注:可以执行两三遍以减少时延

执行前系统时间为下午1点42分,是错误的。

执行后系统时间修改为下午2点3分,已修改为正确时间。

注意:

1使用ntpdate修改时使用的是跃变的方式,就是说ntpdate命令是简单的将时间从某个点修改为另一个时间点,中间没有平滑的过渡。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e327050702b4a748e988732f94ade6d8.html