Linux时间同步---NTP时间同步方案

1.方案背景:

在分布式系统或多服务器集群中,必须建立统一的时间同步机制。服务器间的时间不一致会破坏各类依赖时间交互逻辑,例如导致日志时序混乱、事务顺序错乱、证书验证失败等,从而引发一系列难以排查的不可预知故障。

2.NTP同步网络拓扑图:

image

 

3.同步方案

可提前咨询医院信息科是否有时间同步服务,如果有且业务服务能直接联通,则只用执行第6步配置好服务器地址(将其中OMS服务器地址改为医院时间同步服务器地址)即可。

 1. 在OMS服务器下载ntp服务镜像,命令行如下:

docker pull 219.139.241.229:8844/library/ntp:latest

2. 运行ntp服务,并监听端口,命令行如下:

docker run -d --name ntp --restart=always -p 123:123/udp -e NTP_SERVERS="127.127.1.1" cturra/ntp:latest

3. OMS服务器防火墙开放123端口,命令行如下:

# 开放 UDP/123
firewall-cmd --permanent --add-port=123/udp
 
# 重新加载规则
firewall-cmd --reload
 
# 验证是否已放行
firewall-cmd --list-ports | grep 123/udp

4. OMS本机验证ntp服务是否正常启动,命令如下:

# 验证NTP服务是否正常提供服务
ntpdate -q 127.0.0.1

5. SPD服务器验证udp网络是否通畅,命令行如下:

# 验证网络是否通畅
nc -uzv 这里填写OMS服务器地址 123
 
# 验证是否正常访问OMS的NTP服务
ntpdate -q 这里填写OMS服务器地址

6. 检查SPD服务器chronyd同步时间服务,是否正常,并添加OMS服务的ntp配置,命令行如下:

systemctl status chronyd  //确认服务状态
systemctl restart chronyd //重启服务
cp /etc/chrony.conf /etc/chrony.conf.bak //备份配置
echo "server 这里填写OMS服务器地址 iburst" >> /etc/chrony.conf  //添加OMS的NTP服务
systemctl restart chronyd //重启服务
chronyc sources -v //确认服务是否生效

image

 7. 检查时间是否同步成功,命令如下:

date "+%Y-%m-%d %H:%M:%S"

检查多台服务器时间一致即可。

 

8. 将OMS服务的chronyd同步互联网云服务器(根据网络情况可选),在OMS服务器执行如下命令:

systemctl status chronyd  //确认服务状态
systemctl restart chronyd //重启服务
cp /etc/chrony.conf /etc/chrony.conf.bak //备份配置
echo "server ntp1.aliyun.com iburst" >> /etc/chrony.conf  //添加阿里云的NTP服务
echo "server ntp2.aliyun.com iburst" >> /etc/chrony.conf  //添加阿里云的NTP服务
echo "server ntp3.aliyun.com iburst" >> /etc/chrony.conf  //添加阿里云的NTP服务
systemctl restart chronyd //重启服务
chronyc sources -v //确认服务是否生效

如果阿里云NTP地址不通,需和医院信息科确认医院是否内网有NTP服务,有则配置医院内网的NTP服务地址,或考虑开通阿里云白名单。

posted @ 2025-09-17 16:12  爱生活,爱代码  阅读(52)  评论(0)    收藏  举报