时间同步
概述
- NTP (Network Time Protocol,网络时间协议)是用来使计算机时间同步的一种协议。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒)。对于服务器群集来说,这个是一个很重要的服务,因为群集需要保证每个服务器的时间是保持一致的,这样它们在执行同一个任务时才不会出现有的服务器有滞后的现象,这样群集的状态才是健康的。
- NTP的工作模式:C/S模式
- NTP的协议及端口号:UDP协议123号端口
项目部署
服务器上
[root@server3 ~]# yum -y install ntpdate
[root@server3 ~]# yum -y install ntp
[root@server3 ~]# ntpdate ntp.aliyun.com
[root@server3 ~]# vi /etc/ntp.conf
restrict default nomodify #第八行,定义默认访问规则, nomodify禁止远程主机修改本地服务器配置
restrict 20.0.0.0 mask 255.255.255.0 nomodify notrap #第十七行,从20.0.0.1-20.0.0.254的主机都可以使用我们的NTP服务器来同步时间
#删除21-24行的内容,并添加
fudge 127.127.1.0 stratum 10 #设置本机的时间层级为10级,0级代表时间层级是0级,向其他服务器提供时间同步源的意思,不要设置为0级
server 127.127.1.0#指定本机为时间同步源
- Stratum 0
NTP网络从权威时间源获取时间。这些权威的时间源,也称为第0层设备,是高精度的计时设备,被认为是准确的,并且几乎没有延迟或与之相关联 - Stratum1
第1层设备直接连接到权威时间源。它们充当主要的网络时间标准 - Stratum 2 and Lower
第2层服务器通过网络连接连接到第1层设备。诸如NTP客户端之类的第2层设备通过使用第1层服务器的NTP数据包来同步其时间。它们还可以充当第3层设备的服务器
较小的层号表示服务器比较大的层号更接近授权时间源。层数越大,权威性越低。最大跃点数为15
层16(最低层级别)指示设备未同步。可以将同一层级别上的时间服务器配置为与同一层级别上的其他时间服务器作为对等方,以备份或验证时间
[root@server3 ~]# systemctl start ntpd
[root@server3 ~]# netstat -anptu | grep ntpd
设置周期性任务计划
[root@server3 ~]# crontab -e
* * * * * /usr/sbin/ntpdate ntp.aliyun.com
验证
[root@server3 ~]# date
客户端1上
[root@server2 ~]# yum -y install ntpdate
[root@server2 ~]# ntpdate 20.0.0.14 #设置同步源
3 Jan 16:35:22 ntpdate[6576]: no server suitable for synchronization found
[root@server2 ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@server2 ~]# date #验证
2021年 01月 03日 星期日 17:08:08 CST
客户端2
[root@server3 ~]# yum -y install ntpdate
[root@server3 ~]# ntpdate 20.0.0.14
3 Jan 17:11:46 ntpdate[7308]: no server suitable for synchronization found
[root@server3 ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@server3 ~]# date
2021年 01月 03日 星期日 17:12:30 CST