yum install ntp安装完成后
一、配置自定义NTP服务:
1.执行命令sudo vi /etc/ntp.conf用vim打开并编辑NTP服务配置文件。
2.找到server ntp 服务器 iburst的信息后,输入i开始编辑文件,给您暂时不需要的NTP服务器句首加上#隐藏起来。
3.新添加一行NTP服务器信息,格式为:server 您需要添加的NTP服务器 iburst。完成编辑后按下Esc键并输入:wq保存退出。
4.执行命令sudo service ntpd start启用自定义的NTP服务。
5.执行命令chkconfig ntpd on启用NTP服务。
6.执行命令ntpstat查看是否启用了NTP服务。
CentOS 7.5, 配置过ntpd与某个时间服务器同步后,偶然发现某一个节点的NTP synchronized一直是no:
尝试是否联通
ntpdate -u 172.16.172.17
no server suitable for synchronization found
从服务器出现以下原因,我一直以为从服务器已经关了防火墙,原因就是防火墙
$ ntpstat
unsynchronised
time server re-starting
polling server every 8 s
二、主服务器设置成ntp.aliyun.com,想试试 date -s 10:10:10 靠ntp能不能自动改回来,结果:
NTP synchronized: no。如果安装了 NTP,并用它替代 timedatectl 来同步时间,则 NTP synchronized 将被设置为 yes。
Local time: 二 2019-07-30 09:41:08 CST
Universal time: 二 2019-07-30 01:41:08 UTC
RTC time: 二 2019-07-30 01:08:13
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
具体原因不清楚,可能执行date后与ntp冲突,如果输入ntpstat正常的话那就再等等几分钟,如果不行再试试以下方式
解决NTP synchronized: no的方法:
timedatectl
Local time: 二 2019-07-30 09:41:08 CST
Universal time: 二 2019-07-30 01:41:08 UTC
RTC time: 二 2019-07-30 01:08:13
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
停掉ntpd, 执行ntpd -gq重新调整时间后,再启动ntpd:
systemctl stop ntpd
sudo ntpd -gq
ntpd: time slew +0.002311s
systemctl start ntpd
等待一会儿后,NTP synchronized恢复成yes:
timedatectl
Local time: 二 2019-07-30 09:44:28 CST
Universal time: 二 2019-07-30 01:44:28 UTC
RTC time: 二 2019-07-30 01:44:28
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
关于timedatectl命令
$ sudo timedatectl set-ntp false
[sjz@mzy /]$ ntpq -p
ntpq: read: Connection refused
[sjz@mzy /]$ timedatectl
Local time: 六 2020-09-19 15:55:56 CST
Universal time: 六 2020-09-19 07:55:56 UTC
RTC time: 六 2020-09-19 07:55:56
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[sjz@mzy /]$ ntpstat
Unable to talk to NTP daemon. Is it running?
过一会NTP synchronized: yes 改为no
如果需要使用ntp,重启ntp服务,这时执行ntpq -p和ntpstat都显示正常,但
NTP enabled: no
$ timedatectl
Local time: 六 2020-09-19 16:06:28 CST
Universal time: 六 2020-09-19 08:06:28 UTC
RTC time: 六 2020-09-19 08:06:28
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
,再 timedatectl set-ntp true。
三、保证集群统一时间就好,随后调整从服务器跟随主服务器,主服务器跟随阿里云时间ntp.aliyun.com或者不跟随
再输入 ntpq -p
```bash
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
172.16.242.133 LOCAL(0) 6 u 56 64 3 0.763 -104.19 0.203
其实有数不是0就没问题,但是ntpstat一直显示 unsynchronised 等了数分钟:
$ ntpstat
unsynchronised
polling server every 8 s
又等了半小时:
$ ntpstat
synchronised to NTP server (172.16.242.133) at stratum 7
time correct to within 467 ms
polling server every 64 s
本来还想做实验试试是否能真的矫正时间,ntp 的守护进程 ntpd 会计算你的系统时钟的时间偏移量并且持续的进行调整,所以不会出现时间差距较大的更正,但ntpd是微调整方式,做实验也不好看出效果。
通过ntpdate调整比较粗暴,慎用,注意会影响定时任务。注意的是使用ntpdate会临时关闭ntpd,跟上步一样,再等等就好了。
sudo ntpdate -u ntp.aliyun.com
19 Sep 13:04:28 ntpdate[1374]: step time server 203.107.6.88 offset 3.773658 sec
$ ntpstat
unsynchronised
polling server every 64 s
$ timedatectl
Local time: 六 2020-09-19 13:19:30 CST
Universal time: 六 2020-09-19 05:19:30 UTC
RTC time: 六 2020-09-19 05:19:30
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
$ ntpstat
synchronised to NTP server (172.16.242.133) at stratum 7
time correct to within 19 ms
polling server every 64 s
$ timedatectl
Local time: 六 2020-09-19 13:34:44 CST
Universal time: 六 2020-09-19 05:34:44 UTC
RTC time: 六 2020-09-19 05:34:44
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
搞了一天终于完成了,呼
关于ntp难点就在于是否生效不好判定,很多设置需要等一段时间生效,而不是立即生效(此前没遇到过