Luo Hao

Linux——chrony 服务器集群对时

rehoni / 2021-12-15


chronyd相关命令

# 查看 ntp_servers
chronyc sources -v
# 查看 ntp_servers 状态
chronyc sourcestats -v
# 查看 ntp 详细信息
chronyc tracking -v
# 查看 NTP 服务器的在线和离线状态
chronyc activity 
chronyc activity -v
# 查看 Chrony 服务的日志
journalctl -u chronyd
# 强制同步下系统时钟
chronyc -a makestep

image-20211229113527855

M

 这表示信号源的模式。*^表示服务器,=表示对等方,#*表示本地连接的参考时钟。

S

 此列指示源的状态。

* 表示chronyd当前同步到的源。
+ 表示可接受的信号源,与选定的信号源组合在一起。
- 表示被合并算法排除的可接受源。
? 指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止。
x 表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)。
〜 表示时间似乎具有太多可变性的来源。

Name/IP address

这显示了源的名称或IP地址,或参考时钟的参考ID。

Stratum

这显示了来源的层,如其最近收到的样本中所报告的那样。层1表示一台具有本地连接的参考时钟的计算机。与第1层计算机同步的计算机位于第2层。与第2层计算机同步的计算机位于第3层,依此类推。

Poll

这显示轮询源的速率,以秒为单位的时间间隔的以2为底的对数。因此,值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。

Reach

这显示了源的可达性寄存器以八进制数字打印。寄存器有8位,并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。

LastRx

此列显示多长时间前从来源接收到了最后一个好的样本(在下一列中显示)。未通过某些测试的测量将被忽略。通常以秒为单位。字母mhdy表示分钟,小时,天或年。

Last sample

此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns(表示纳秒),us (表示微秒),ms(表示毫秒)或s(表示秒)作为后缀。方括号左侧的数字表示原始测量值,已调整为允许此后施加于本地时钟的任何摆度。

*+/-*指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。

使用root用户修改

对时配置文件:

vi /etc/chrony.conf

(1)作为客户端,设置从哪里对时(即时钟源)

 server xxx.xxx.xxx.xxx iburst

(2)作为服务端,允许哪些节点从本机对时

 allow xxx.xxx.xxx.xxx

(3)修改配置后,重启服务(客户端)

对时服务(客户端)常用指令

 systemctl restart chronyd 

 systemctl start chronyd 

 systemctl stop chronyd 

ntp对时

ntp相关命令

# 查看ntp服务端时间
ntpq -p
# 手动同步
ntpdate -u 198.120.100.104

使用root用户修改

对时配置文件:

vi /etc/ntp.conf

(1)作为客户端,设置从哪里对时(即时钟源)

 #ntp服务器地址
 server 198.120.100.104 iburst
 #新增:允许上层时间服务器主动修改本机时间
 restrict 198.120.100.104 nomodify notrap noquery
 #新增:当外部时间不可用时,使用本地时间
 server 127.0.0.1  #local clock
 fudge 127.0.0.1 stratum 10
 # 重启ntp服务并加入开启自启
 systemctl enable ntpd
 systemctl restart ntpd