欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux时间同步服务

程序员文章站 2022-06-03 08:17:46
...

ntpdate与ntpd chronyd

ntpd 有一个自我保护设置: 如果本机与上源时间相差太大, ntpd 不运行. 所以新设置的时间服务器一定要先 ntpdate 从上源取得时间初值, 然后启动 ntpd服务。ntpd服务 运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.

ntpd服务的相关设置文件如下:

  1. /etc/ntp.conf:这个是NTP daemon的主要设文件,也是 NTP 唯一的设定文件。
  2. /usr /share/zoneinfo/:在这个目录下的文件其实是规定了各主要时区的时间设定文件,例如北京地区的时区设定文件在 /usr/share/zoneinfo/Asia/Beijing 就是了。这个目录里面的文件与底下要谈的两个文件(clock 与localtime)是有关系的。
  3. /etc/sysconfig/clock:这个文件其实也不包含在NTP 的 daemon 当中,因为这个是 linux 的主要时区设定文件。每次开机后,Linux 会自动的读取这个文件来设定自己系统所默认要显示的时间。
  4. /etc /localtime:这个文件就是“本地端的时间配置文件”。刚刚那个clock 文件里面规定了使用的时间设置文件(ZONE) 为 /usr/share/zoneinfo/Asia/Beijing ,所以说,这就是本地端的时间了,此时, Linux系统就会将Beijing那个文件另存为一份 /etc/localtime文件,所以未来我们的时间显示就会以Beijing那个时间设定文件为准。
  5. /etc/timezone:系统时区文件

安装启动时间服务器

yum -y install ntp ntpdata
[[email protected] ~]# cat /etc/ntp.conf | grep -v '^#' | grep -v '^$'
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict ::1
restrict 192.168.25.1 mask 255.255.255.0 nomodify
server ntp.api.bz iburst
server s1a.time.edu.cn iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

总结
restrict用来设置访问权限,server用来设置上层时间服务器,driftfile用来设置保存漂移时间的文件

ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国: time.nist.gov
复旦: ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
北京邮电大学 : s1a.time.edu.cn
清华大学 : s1b.time.edu.cn
北京大学 : s1c.time.edu.cn
台警大授时中心(*):asia.pool.ntp.org

ntp服务的启动与观察

启动

# 手动同步一下时间在进行启动
ntpdate s1a.time.edu.cn
# 启动
systemctl start ntpd
systemctl enable ntpd
# 查看123端口是否正常启动

查看状态

[[email protected] ~]# ntpstat
synchronised to NTP server (114.118.7.161) at stratum 2
   time correct to within 38 ms
   polling server every 64 s
# 解释
# 列出NTP服务器是否与上层联机
# 上述输出结果可知,时间校正约38ms,且每隔64s会主动更新时间
ntptrace –n 127.0.0.1
# 指令可以列出目前NTP服务器(第一层)与上层NTP服务器(第二层)彼此之间的
ntpq –p
指令“ntpq -p”可以列出目前我们的NTP与相关的上层NTP的状态,以上的几个字段的意义如下:
remote:即NTP主机的IP或主机名称。注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,如果    是“*”则表示也有连上线,不过是作为次要联机的NTP主机。
refid:参考的上一层NTP主机的地址
st:即stratum阶层
when:几秒前曾做过时间同步更新的操作
poll:下次更新在几秒之后
reach:已经向上层NTP服务器要求更新的次数
delay:网络传输过程钟延迟的时间
offset:时间补偿的结果
jitter:Linux系统时间与BIOS硬件时间的差异时间