该方法适用与集群中有一台能连外网的服务器作为时钟服务器,其他机器只能连接内网,这时用这个方法来进行集群时间的同步
yum -y install ntp
yum -y install ntpdate
server机器配置 (node01机器)
编辑配置文件 /etc/ntp.conf
restrict 84.16.73.33 #与该服务器同步时间
restrict 172.29.4.0 mask 255.255.255.0 nomodify notrap #172.29.4.0局域网ip,允许172.29.4 这个网段的机器连接
server 84.16.73.33 #外部服务器
注释掉已有的server
#server 0.centos.pool.ntp.org iburst
修改完配置,首先同步server机器的时间,再启动ntpd服务
(一定要先同步时间然后再重启ntpd服务,否则会报错,ntpd与ntpdate不能同时运行)
查看NTP server机器 同步情况
watch ntpq -p
- 同步成功
- 同步失败
slave配置
方法一:使用ntpdate命令(slave机器需要关闭ntpd服务,否则同步时会报错)与server机器同步时间
添加定时任务
crontab -e
*/1 * * * * /usr/sbin/ntpdate node01&>> /var/log/ntp/log
定时与node01服务器同步
可能会出现如下错误,是因为server还没有与外网的始终服务器同步,等待十分钟左右再查看
注意:ntpd服务需要server服务器手动同步之后启动,即先执行ntpdate 84.16.73.33 ,再执行service ntpd start
ntpd服务只需要在server一台机器上启动,其他机器执行脚本,定时与该服务器同步时间
方法二:使用ntpd服务于server机器(node01机器)同步时间
修改/etc/ntp/conf文件
其他不需要改变,只需要增加一个server,地址为node01的地址即可
通过watch ntpq -p 命令查看同步情况
watch ntpq -p 命令详解
remote:响应这个请求的NTP服务器的名称。
refid :NTP服务器使用的上一级ntp服务器。
st:remote远程服务器的级别. 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端.所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.
when:上一次成功请求之后到现在的秒数。
poll:本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小
reach: 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
delay:从本地机发送同步要求到ntp服务器的round trip time
offset主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近
jitter: 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小,主机的时间就越精确
/etc/etc.conf配置文件详解
restrict 控制相关权限。
- 语法为: restrict IP地址 mask 子网掩码 参数
其中IP地址也可以是default ,default 就是指所有的IP
例如:
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer
参数有以下几个:
- ignore :关闭所有的 NTP 联机服务
- nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
- notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
- noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
- notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
- nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
- kod : 访问违规时发送 KoD 包。
- restrict -6 表示IPV6地址的权限设置。
server 指定始终服务器地址。可以是外网的服务器,也可以是内网的服务器
server 84.16.73.33 prefer
其中prefer表示优先主机
查看ntpd是否同步成功的方法
- watch ntpq -p
- ntpstat
两种方法都能看到与node01同步了时间