ntp时间同步
场景
两台服务器在一个内网中,无法访问外网的ntp服务,于是一台做server,一台做client,两台服务器实现时间同步
安装
需要在两台服务器上都安装并启动ntp服务
sudo apt-get install ntp
sudo systemctl enable ntp
sudo systemctl start ntp
查询状态
sudo ntpq -p
配置
在做ntp server
的机器上:
sudo vim /etc/ntp.conf
加入以下配置:
# 设置本机为NTP服务器
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 5
# 允许来自192.168.11.0网段所有主机的时间同步请求
restrict 192.168.11.0 mask 255.255.255.0
在做ntp client
的机器上:
sudo vim /etc/ntp.conf
加入以下配置:
# 设置指向 ntp server
server 192.168.11.171
ntpq
ntpq程序用于查询ntp同步状态
user@user:/etc$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*lenovo-ThinkSer LOCAL(0) 6 u 22 64 377 0.136 5.270 0.782
remote列中的符号的含义:
标志 | 含义 |
---|---|
* | 响应的NTP服务器和最精确的服务器 |
+ | 响应这个查询请求的NTP服务器 |
- | 没有响应的NTP服务器 |
各列的含义:
列 | 示例值 | 含义 |
---|---|---|
remote | *lenovo-ThinkSer | 响应这个请求的NTP服务器的名称 |
refid | LOCAL(0) | NTP服务器使用的更高一级服务器的名称 |
st | 6 | 正在响应请求的NTP服务器的级别 |
t | u | |
when | 22 | 上一次成功请求之后到现在的秒数 |
poll | 64 | 本地和远程服务器多少时间进行一次同步,单位秒,在一开始运行NTP的时候这个poll值会比较小,服务器同步的频率大,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小 |
reach | 377 | 用来测试能否和服务器连接,是一个八进制值,每成功连接一次它的值就会增加 |
delay | 0.136 | 从本地机发送同步要求到ntp服务器的往返时间 |
offset | 5.270 | 主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒,offset越接近于0,主机和ntp服务器的时间越接近 |
jitter | 0.782 | 统计了在特定个连续的连接数里offset的分布情况。简单地说这个数值的绝对值越小,主机的时间就越精确 |
手动同步
如果要手动同步,可以先关闭 ntp client 的ntp服务,在用ntpdate做一次手动同步
# 安装 ntpdate
sudo apt-get install ntpdate
# 关闭ntp
sudo systemctl stop ntp
# 手动同步
sudo ntpdate 192.168.11.171
# 重启ntp
sudo systemctl start ntp