需求:
Linux系统可以配置网络时间同步,但是有时候由于网络延迟问题,会导致集群服务器之间有时间差,因此考虑通过集群内某一台机器作为时间服务器, 其他机器向该服务器通过内网请求时间同步,来保证集群间系统时间一致。
时间服务器配置步骤:
1.检查集群机器是否安装ntp服务(需root用户):rpm -qa | grep ntp
2.若已安装ntp服务,检查ntp服务是否运行: service ntpd status
3.若ntp服务正在运行,需要将ntp服务停止: service ntpd stop
4.关闭ntp服务开机自启动:chkconfig ntpd off
5.选择一台主机作为时间服务器: vim /etc/ntp.conf
- 授权192.168.1.0-192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间:
#注释放开,并根据需要修改对于集群所在网段
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
- 不使用其他互联网上的时间:
#以下内容加上注释
server 0.centos.pool.ntp.org.iburst
server 1.centos.pool.ntp.org.iburst
server 2.centos.pool.ntp.org.iburst
server 3.centos.pool.ntp.org.iburst
- 当该节点失去网络连接, 依然可以使用本地时间提供时间同步:
#添加
server 127.127.1.0
fudge 127.127.1.0 stratum 10
6.修改 /etc/sysconfig/ntpd 文件: vim /etc/sysconfig/ntpd
#添加以下内容, 让硬件时间与系统时间一起同步
SYNC_HWCLOCK=yes
7 . 重启ntp服务: service ntpd start
8. 设置开机自启动: chkconfig ntpd on
9. 在其他机器上设置定时任务, 定时去时间服务器主机上同步时间(需root用户): crontab -e
#加入以下内容(每隔10分钟同步一次时间)
*/10 * * * * /usr/sbin/ntpdate 时间服务器主机名称或IP