简介:
时间服务NTP:Network Time Protocol作用:用来给其他主机提供时间同步服务,在搭建服务器集群的时候,需要保证各个节点的时间是一致的,时间服务器不失为一个好的选择。
NOTE:解释:Linux的NTP服务,NTP为NTPD和NTPdate,ntpd是服务器所属,ntpdate为客户端所属,为两个软件。【个人理解,不喜勿喷,还望共同讨论、多多指导。】
更新:2020年12月27日19点46分,ntpd也可以作为客户端校准时间所用。
解释更新:2020年12月27日19点47分:在工作中我们一般都是使用ntpdate+ntp来完成时间同步,因为单独使用ntpdate同步时间虽然简单快捷但是会导致时间不连续,而时间不连续在数据库业务中影响是很大的,单独使用ntp做时间同步时,当服务器与时间服务器相差大的时候则无法启动ntpd来同步时间。由于ntpd做时间同步时是做的顺滑同步(可以简单理解为时间走得快,以便将落后的时间赶过来),所以同步到时间服务器的的时间不是瞬间完成的,开启ntpd之后稍等三五分钟就能完成时间同步。
更新:2020年12月27日19点46分,ntpd也可以作为客户端校准时间所用。
解释更新:2020年12月27日19点47分:在工作中我们一般都是使用ntpdate+ntp来完成时间同步,因为单独使用ntpdate同步时间虽然简单快捷但是会导致时间不连续,而时间不连续在数据库业务中影响是很大的,单独使用ntp做时间同步时,当服务器与时间服务器相差大的时候则无法启动ntpd来同步时间。由于ntpd做时间同步时是做的顺滑同步(可以简单理解为时间走得快,以便将落后的时间赶过来),所以同步到时间服务器的的时间不是瞬间完成的,开启ntpd之后稍等三五分钟就能完成时间同步。
上干货。
客户机的对时(下文统称校时):
测试
ntpdate ntp.api.bz
提示:
[root@test4 ~]# ntpdate ntp.api.bz bash: /usr/sbin/ntpdate: 没有那个文件或目录
- 首先我们知道了没有该应用[ntpdate]
- 其次我们知道了ntpdate的目录位置。
- 没有该应用,安装!
NOTE:第一种方式:较为简易
我们客户机只需要安装ntpdate即可:
yum install -y ntpdate
安装完成之后输入命令
date //查看当前时间
如下
[root@test4 ~]# date 2017年 07月 07日 星期五 09:35:41 CST //CST为时区,本文章不做讲解,自行百度。
输入校准时间命令:
ntpdate ntp.api.bz //后面ntp.api.bz是网络的NTP时间服务器,还有很多服务器,自行百度。
NOTE:再次输入date命令查看当前时间,发现已经校准时间了。
具体代码如下
[root@test4 ~]# date 2017年 07月 07日 星期五 09:09:13 CST [root@test4 ~]# ntpdate ntp.api.bz bash: /usr/sbin/ntpdate: 没有那个文件或目录 [root@test4 ~]# yum install -y ntpdate 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.neusoft.edu.cn * updates: mirrors.ustc.edu.cn 正在解决依赖关系 --> 正在检查事务 ---> 软件包 ntpdate.x86_64.0.4.2.6p5-29.el7.centos.2 将被 安装 --> 解决依赖关系完成 依赖关系解决 ============================================================================================================================================================================================ Package 架构 版本 源 大小 ============================================================================================================================================================================================ 正在安装: ntpdate x86_64 4.2.6p5-29.el7.centos.2 base 87 k 事务概要 ============================================================================================================================================================================================ 安装 1 软件包 总下载量:87 k 安装大小:121 k Downloading packages: ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm | 87 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : ntpdate-4.2.6p5-29.el7.centos.2.x86_64 1/1 验证中 : ntpdate-4.2.6p5-29.el7.centos.2.x86_64 1/1 已安装: ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2 完毕! [root@test4 ~]# ntpdate ntp.api.bz 26 Dec 19:35:07 ntpdate[3365]: step time server 114.118.7.161 offset 109592733.813803 sec [root@test4 ~]# date 2020年 12月 26日 星期六 19:35:18 CST [root@test4 ~]#
NOTE:第二种方式:【类似于服务器配置】
安装ntp
yum install -y ntp
编辑/etc/ntp.conf
vim /etc/ntp.conf
注释掉server所有行,添加上层IP或网址:server 192.168.1.14其余无需设置。【记得关闭防火请或在防火墙上放行此客户机同外部时间服务器同步】
保存退出后重启ntpd服务
systemctl restart ntpd //或 service ntpd restart
查看校准状态
ntpstat #synchronised:表示时间同步完成(ntp可以正常工作了) #unsynchronised:表示时间同步尚未完成 //或 ntpq -p //出现如下: [root@ntp ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *114.118.7.161 123.139.33.3 2 u 31 64 377 20.952 -1.577 2.663
NOTE:
补充:用ntpq -p查看状态时的各种参数解释
参数 | 释义 |
---|---|
remote | 上游的时间服务器的ip或者主机名,如果是*表示本机就是做为上游服务器工作 |
refid | “.LOCL.”表示基于当前主机提供时间同步服务,如果是IP地址表示基于一个上游服务器提供时间同步服务。 |
st | 表示remote远程服务器的层级编号 |
t | 本地NTP服务器与远程NTP服务器的通信方式,常见方式有:u(单播)、b(广播)、1(本地)、m(组播) |
when | 表示几秒之前做过一次时间同步 |
poll | 表示每隔多少秒做一次时间同步 |
reach | 表示向上游服务器成功请求时间同步的次数 |
delay | 从本地机发送同步要求到ntp服务器的时间延迟 |
offset | 主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近 |
jitter | 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小,主机的时间就越精确 |