0


linux--ntp时间同步

一、ntp时间同步

大数据产生与处理系统是各种计算设备集群的,计算设备将统一、同步的标准时间用于记录各种事件发生时序,若计算机时间不同步,这些应用或操作或将无法正常进行。网络时间同步协议(NTP)是时间同步的技术基础。

二、ntp时间服务器搭建

2.1、查看是否安装ntp服务

rpm -q ntp

2.2、安装ntp服务

方法一:用yum安装

yum -y install ntp

方法二:用rpm包安装

rpm -ivh ntp-4.2.6p5-28.el7.centos.x86_64.rpm

2.3相关命令

systemctl enable ntpd

systemctl start ntpd

systemctl stop ntpd

三、ntp时间同步配置

1、restrict来管理NTP权限控制 restrict IP mask [参数] *//不配置任何参数表示该ip*或者网段不受任何限制

ignore 拒绝所有类型的NTP连接

nomodify 客户端不能使用ntpc与ntpq程序来修改服务器的时间参数,但可以同步

noquery 不提供NTP服务

notrap 不提供trap远程日志服务

notrust 拒绝没有认证的客户端提供NTP

配置示例:

restrict 127.0.0.1 //允许NTP服务器访问

restrict -6 ::1 //配置ipv6

restrict 192.168.0.0 mask 255.255.0.0 nomodify //该网段可以进行校时

restrict 0.0.0.0 mask 0.0.0.0 notrust //拒绝没有认证的用户端

2、server进行设置上端同步NTP

prefer 优先级设定

iburst 当一个远程NTP服务器不可用时,向它发送一系列的并发包进行检测

burst 当一个远程NTP服务器可用时,向它发送一系列的并发包进行检测

配置示例:

server 10.48.73.4 prefer //指定要同步的网络服务器的ip地址(prefer表示优先用此服务器同步时间)

server 127.127.1.0 //从本地时间服务器同步,必须这样写

fudge 127.127.1.0 stratum 10 //fudge 127.127.1.0 stratum 10 如果是LINUX做为NTP服务器,stratum(层级)的值不能太大,如果要向上级NTP更新可以设成2

3、driftfile

我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了。

4、server和client端的配置

server的配置:

server 127.127.1.0

fudge 127.127.1.0 stratum 10

client配置:

server 10.48.73.4 prefer

客户端ntp服务在启动前一般需要先试用ntpdate进行时间同步,再启动ntp服务。原因之一:当服务端与客户端之间的时间误差过大时,此时修改时间可能对系统或应用带来不可预知问题,NTP会停止时间同步。若检查NTP启动后时间未同步时,应考虑可能是时间误差过大所致,此时需要先手动进行时间同步。

四、ntp时间同步相关命令

**1、ntpdate:与指定的开启ntp服务的ip进行时间同步 //**让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用

ntpdate ip

ntpdate -d ip

2、ntpstat:查看ntp服务是否和上层ntp连通

ntp服务器配置完毕后,需要等待5-10分钟才能与/etc/ntp.conf中配置的标准时间进行同步。在此期间执行ntpstat可能会出现polling server every 8 s提示,同步成功会出现如下提示

3、ntpq -p;查看ntp服务器与上层ntp的状态

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

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

st:stratum阶层

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

poll:下次更新在多少秒后

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

delay:网络延迟

offset:时间补偿

jitter:系统时间与bios时间差

五、问题处理

错误1:ntpdate -u ip -> no server suitable for synchronization found

判断:在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。

原因:NTP server还没有和其自身或者它的server同步上。在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。

处理:等待几分钟后,重试一般解决。

1、客户端的日期必须要设置正确,不能超出正常时间24小时,不然会因为安全原因被拒绝更新。其次客户端的时区必须要设置好,以确保不会更新成其它时区的时间。

2、fudge 127.127.1.0 stratum 10 如果是LINUX做为NTP服务器,stratum(层级)的值不能太大,如果要向上级NTP更新可以设成2

3、LINUX的NTP服务器必须记得将从上级NTP更新的时间从系统时间写到硬件里去 hwclock --systohc

 NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了

  代码:

  # vi /etc/sysconfig/ntpd

  SYNC_HWCLOCK=yes

4、Linux如果开启了NTP服务,则不能手动运行ntpdate更新时间(会报端口被占用),它只能根据/etc/ntp.conf 里server 字段后的服务器地址按一定时间间隔自动向上级NTP服务器更新时间。可以运行命令 ntpstat 查看每次更新间隔如:

[root@ESXI ~]# ntpstat

synchronised to NTP server (210.72.145.44) at stratum 2 #本NTP服务器层次为2,已向210.72.145.44 NTP同步过

time correct to within 93 ms #时间校正到相差93ms之内

polling server every 1024 s #每1024秒会向上级NTP轮询更新一次时间

5、ntpd和ntpdate的区别

ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对。而ntpdate不会考虑其他程序是否会阵痛,直接调整时间。生产环境慎用ntpdate,会导致程序异常

标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/liyue121100132/article/details/143141571
版权归原作者 淼_@淼 所有, 如有侵权,请联系我们删除。

“linux--ntp时间同步”的评论:

还没有评论