linux系统ntp时间同步

发布时间 2023-10-30 15:36:07作者: 三年三班王小朋

linux系统ntp时间同步

概要

linux系统时间同步有ntp和chrony两种不同实现方式。

两者相比chrony性能更优,如果系统支持,那么能够使用chrony尽量使用它。

  1. chrony 具有更精确的时间准确性,精度更高,同步时间的速度更快,从而最大程度的减少时间和频率误差
  2. chrony 可以随机间歇性校准时间,而 NTP 需要定期轮询才能正常工作,因此 chrony 具备间歇性网络连接的系统仍然可以快速同步时钟
  3. chrony 对时间的校准是连续的,通过从而最大程度的减少时间和频率误差;而 ntp 需要搭配 crontab 来定时调整时间,会出现间断
  4. chrony 能够快速适应时钟速率的突然变化(例如,晶体振荡器的温度变化)。而 NTP可能需要很长时间才能再次稳定下来
  5. chrony 能够在网络拥堵的情况很好地执行
  6. chrony 占更小的内存,更加的轻量,而且只在必要时唤醒 CPU

ntp比crontab优点是适用性更广,移植的操作系统更多,包含大量的硬件时钟驱动程序。

配置

配置文件:/etc/ntp.conf

ntpq -p:查看ntp服务器与上层ntp服务器状态

remote:上级时钟源,refid:上上级时钟源

*表示响应的NTP服务器和最精确的服务器,即提供时钟同步的主用服务器

+表示响应这个请求的NTP服务器,即备用服务器

st:正在响应请求的NTP服务器(即remote远程服务器)的级别,层数(Stratum)

poll:下次更新时间,初始状态下为64s,过一段时间后会增大,当when = poll时会触发更新 

reach:已经向上级ntp服务器请求的次数

delay:网络延迟

offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒

操作

service ntpd status:查看ntpd服务状态

service ntpd stop:停止ntpd服务

service ntpd start:开启ntpd服务

systemctl enable ntpd:设置服务自启动

ntpdate:立即强制调整时间(激进调整),ntpdate命令会设置本地日期和时间。不会考虑其他程序是否会阵痛,可能会对程序造成影响,

ntpdate –u强制同步上级时钟源IP

-u:指定使用无特权的端口发送数据包,可以越过防火墙与主机同步

-d:debug模式,不会真正同步,可以测试和上级NTP时钟源的连通性,还可以获得和上级时钟源的时差

查看本地时间

date –s  "2021-03-10 00:00:00":修改本地时间

一键命令

echo "server 192.167.121.2">> /etc/ntp.conf
echo "restrict 192.167.121.2 nomodify notrap noquery" >> /etc/ntp.conf
ntpdate -u 192.167.121.2
hwclock -w
systemctl restart ntpd
systemctl enable ntpd
ntpq -p