在集群环境和需要日志同步的多服务器应用中,为了能够保证多台服务器的之间的正常协作,就必须使它们的时间保持一致,在多台服务器上手动调整时间是极其不科学的,这时就需要借助于NTP时间服务器来完成时间的同步。
我们只需要安装ntp这个软件即可,可使用yum -y install ntp来安装
不过除了ntp外,可能还需要tzdata软件来提供时区相关的数据文件。
如上图所示,/usr/share/zoneinfo目录中存放的是时区相关的文件。下面来介绍一下ntp相关的文件:
1)/etc/ntp.conf:NTP服务器的主配置文件。
2)/usr/share/zoneinfo:由tzdata提供的各时区的时间格式文件。
3)/etc/sysconfig/clock:用于定义本机的时区,系统启动时自动读取此文件。
4)/etc/localtime:用于定义本机的时区,即时生效。
例如:目前本机的时区如下图所示:
现在想将时区改为America/New_York,可以使用以下方法:
先将/etc/sysconfig/clock的时区修改,再将/usr/share/zoneinfo中对应的时区文件复制成/etc/localtime文件即可。
可以利用此配置文件进行权限控制和上游服务器的设置。
1、权限控制
restrict IP|子网 mask 掩码 参数
常用参数:
ignore:拒绝所有类型的NTP连接。
nomodify:客户端不能使用ntpc与ntpq这两个程序修改服务器的时间参数。
noquery:客户端不能使用ntpc与ntpq来查询时间服务器,即不提供NTP服务。
没有加任何参数表示不受任何限制。
2、设置上游NTP服务器
server [ip 或 hostname] [prefer]
prefer表示此服务器优先选择使用。
3、ntp.conf配置示例
NTP服务占用UDP的123端口,如下图所示:
NTP服务启动后,大约在15分钟左右的时间才能够进行时间的同步。
可以使用以下命令来查看NTP的同步情况:
上图表示已经连接了上游服务器,校正了123ms,每64s主动同步一次。
显示当前NTP服务器与上游NTP服务器的状态。
使用ntpdate命令来进行网络时间同步。
我们也可以利用任务计划来进行自动的同步。
每5分钟同步一次时间。
注意:ntpdate命令不能在运行了ntpd服务听NTP服务器上使用。
原文地址:http://petmaster.blog.51cto.com/5408825/1669604