环境:VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5
NTP基本介绍
NTP(Network TimeProtocol,网络时间协议),使用来使本地机器与服务端机器时间保持同步的一种协议。如果我们只有一台机器那么只需要安装NTP客户端ntpdate这个包,然后找一个能用的时间服务器地址就可以实现本地与远程服务器时间保持同步。
如果我们有多台机器,其中只有一个可以访问公网,我们称之为管理机器,只需给管理器装上NTP服务端,然后再管理机器上运行NTP守护进程,其它被管理的内网机器同步时使用管理机器的内网IP地址,即可实现集群中全体机器的时间同步。
NTP客户端配置
简单两步,搞定单台机器时间同步。
1 安装ntpdate
yum install ntpdate
ntpdate无需任何依赖,也可以直接rpm安装
rpm -ivh http://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm
2 与远程机器时间同步
# ntpdate ntp1.aliyun.com
19 Oct 10:07:54 ntpdate[17142]: adjust time server 120.25.115.20 offset 0.026562 sec
我这里用的是阿里云的NTP时间服务器ntp1.aliyun.com,显然这台机器需要能够访问互联网才能实现时间同步,其它更多NTP时间服务器地址可在官网或网上找到,如果是自己测试,可以先使用date命令修改本地时间,再进行测试。
只需要把这条命令写入定时任何,即可实现自动同步时间。如每10分钟同步一次时间:
# echo "*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1" >> /var/spool/cron/root
# crontab -l
*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1
搭建NTP时间服务器(服务端配置)
如果我们需要实现集群内时间保持同步,显然最好的方案是自己搭建一台NTP服务器,然后其它机器同步这台NTP时间服务器上的时间,而NTP时间服务器同步公网上远程机器的时间,从而实现整套集群保持与北京时间同步。
1 安装ntp(NTP服务端的包名)
[root@m01 ~]# hostname -I
10.0.0.61 172.16.1.61
[root@m01 ~]# yum install ntp
![](https://i-blog.csdnimg.cn/blog_migrate/f347123c18978cee8dd42acf9636d867.png)
2 启动ntpd服务
[root@m01 ~]# systemctl start ntpd
[root@m01 ~]# systemctl enable ntpd
3 其它内网机器同步NTP时间服务器(172.16.1.61)
[root@lb01 ~]# hostname -I
172.16.1.5
[root@lb01 ~]# yum install ntpdate -y
[root@lb01 ~]# date -s '20081024'
[root@lb01 ~]# ntpdate 172.16.1.61
[root@lb01 ~]# date
Fri Oct 19 10:35:35 CST 2018
ntpd服务只要启动,自动会在后台为这台NTP服务器同步时间(可能需要等几分钟),不需要我们手动操作,其它机器只需同步这台NTP服务器即可。
参考资料