Linux時間同步---NTP時間同步方案
1.方案背景:
在分布式系統或多服務器集群中,必須建立統一的時間同步機制。服務器間的時間不一致會破壞各類依賴時間交互邏輯,例如導致日志時序混亂、事務順序錯亂、證書驗證失敗等,從而引發一系列難以排查的不可預知故障。
2.NTP同步網絡拓撲圖:

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 //確認服務是否生效

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服務地址,或考慮開通阿里云白名單。

浙公網安備 33010602011771號