内网环境下的Chrony服务配置
在无法联网的服务器集群中,要使集群中的机器通过一台中心节点进行时间同步,这样只需要定期更新中心节点的服务器时间,即可完成整个集群的时间同步,可以采用如下步骤,设置Chrony来实现内部时间同步:
设置中心节点(时间服务器),编辑配置文件如下
在线安装
bash
yum -y install chrony
apt-get install -y chrony
离线安装
bash
rpm -iUvh *.rpm
dpkg -i *.deb
修改配置文件/etc/chrony.conf,指向时间源服务器
bash
# 注释原来的server
sed -i "/^server/ s/^/#/" /etc/chrony.conf
# 添加时间源
grep -vE "^\s*(#|$)" /etc/chrony.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.0.0/24
local stratum 10
logdir /var/log/chrony
编辑Chrony的配置文件 /etc/chrony.conf,使其作为本地时间源而非外部NTP服务器。可以注释掉所有外部时间服务器的行,并添加本地作为时间源的声明。
这里,127.127.1.0 是本地时钟的表示,fudge 命令设置了该时钟的层级为10,意味着它是不太可靠的时间源,但在没有其他外部源的情况下是必要的。
启动并启用Chrony服务
手动校准时间
如果中心节点的时间不准确,首先需要手动将其调整到尽可能准确的时间,可以使用 date 命令或 ntpdate(如果安装了)从一个已知准确的时间源临时同步。
设置集群中其他节点
bash
# 服务管理
systemctl restart chronyd
systemctl enable chronyd