Linux时间同步

1.ntpstat

ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。

刚启动的时候,一般是:

# ntpstat 

unsynchronised

  time server re-starting

   polling server every 64 s

连接并同步后:

synchronised to NTP server (202.120.2.101) at stratum 4 

   time correct to within 1192 ms

   polling server every 64 s

2.ntpq -p

[root@CNSH231162 ~]# ntpq -p

     remote            refid                   st t when poll reach   delay   offset  jitter

==============================================================================

 10.15.101.3     10.11.170.212    2 u   46   64    3   37.222  150918.   0.094

 10.15.101.4     10.11.170.212    2 u   44   64    3   38.275  150918.   0.926

 10.36.101.2     10.11.118.211    2 u   43   64    3    1.942  150919.   0.957

说明:

*表示目前使用的ntp server,这里选择的本机;

st:即stratum阶层,值越小表示ntp serve的精准度越高;

when:几秒前曾做过时间同步更新的操作;

Poll表示,每隔多少毫秒与ntp server同步一次;

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

delay:网络传输过程钟延迟的时间;

offset:时间补偿的结果;

jitter:Linux系统时间与BIOS硬件时间的差异时间

注意:NTP服务端重启后,客户机要等5分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。等待的时间可以通过命令 watch ntpq -p来监控。

 

NTPS时间服务的应用场景

在我们搭建服务器集群的时候,各个主机时间不同步会导致各种未知bug,我了避免这种事情的发生,我们就要保证各个服务器的时间是一致的,而做一台时间服务器就能够轻松地保证集群中各个节点的时间时刻保持一致。

计算机时间

系统时间:是有Linux Kernel控制的时间 ,开机时会读取硬件时间,作为开机那一刻的软件时间运行,然后系统时钟就由软件模拟振荡电路来维持。

硬件时间:依靠主板上的振荡电路来模拟时钟维持时间。

需要注意的是软件时间和硬件时间并不一定总是一致的。虽然,重新启动系统,系统时间会读取硬件时间,实现同步,但是在不重新启动的时候,可以用命令实现软硬件时间同步。

 

相关命令:

# 查看系统时间

[root@ZND ~]# date

Fri Nov  9 16:55:53 CST 2018

# 设置系统时间

[root@ZND ~]# date 110916552018.00  【月日小时分钟年.秒】

# 查看硬件时间

[root@ZND ~]# hwclock --show

# 设置硬件时间

[root@ZND ~]# hwclock --date 110317022018.00   【月日小时分钟年.秒】

# 将系统时间同步到硬件时钟:

[root@ZND ~]# hwclock --systohc   【 hc代表硬件时间,sys代表系统时间】

#将硬件时钟和系统时钟同步

[root@ZND ~]# hwclock --hctosys

 

NTP的配置文件

NTP的配置文件:/etc/ntp.conf

restrict

作用:对ntp做权限控制

格式:restrict [ip] [mask] [par]

para:

ignore:忽略所有类型的NTP连接请求

nomodify:限制客户端不能使用命令ntpc和ntpq来修改服务器端的时间

noquery:不提供NTP网络校时服务

notrap:不接受远程登录请求

notrust:不接受没有经过认证的客户端的请求

【如果没有用任何参数,那么表示不做任何限制】

例子:restrict 10.220.5.0 mask 255.255.255.0 nomodify   <<<允许10.220.5.0/24 网段主机进行时间同步

server

作用:指定ntp服务器的地址

格式:server [ip or hostname] [perfer]

例子:server 127.127.1.0  <<<将当前主机作为时间服务器

fudge

作用:设置时间服务器的层级

格式:fudge ip [startnum int]

例子:fudge 10.225.5.1 startnum 10

注意:fudge必须和server一块用, 而且是在server的下一行

startnum

0~15

0:表示顶级

10:通常用于给局域网主机提供时间服务

实现客户端的时间同步的两种方法

①基于ntpdate

方案:定时任务(crontab)+ntpdate

优点:实现简单

缺点:会导致客户端时间不连续,对于数据库业务影响是比较大,生产环境尽量不要用

②基于ntpd

方案:ntpdate+ntpd

优点:可以实现顺滑同步,避免时间不连续带来的问题

缺点:时间同步往往不能立刻完成

[root@localhost ~]# cat /etc/ntp.conf

server  ntpserver.com.cn  prefer

server  ntpserver2.com.cn

server  ntpserver.dr.com.cn

driftfile  /var/lib/ntp/drift

keys  /etc/ntp/keys

disable monitor

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1

[root@localhost ~]#

 

[root@localhost /]# cat /etc/ntp.conf

server  ntp..com.cn

server  ntpbk.com.cn

driftfile  /var/lib/ntp/drift

keys  /etc/ntp/keys

[root@localhost /]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C-Jonn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值