全部產品
Search
文件中心

:行政時間同步服務

更新時間:Sep 13, 2024

時間的準確性和一致性對於ECS執行個體非常重要,它可以確保定時任務準確執行、日誌時間戳記正確記錄等。為避免在ECS執行個體上運行業務時出現資料不一致、安全性漏洞及商務程序故障等問題,阿里雲提供了NTP時間同步服務以確保執行個體的時間準確。

時間同步服務簡介

時間同步服務用於與NTP伺服器同步時間以確保ECS執行個體時間準確,它是基於網路時間協議(Network Time Protocol,簡稱NTP)實現的。阿里雲ECS執行個體會預設運行Chrony或者NTP服務進行時間同步。

關於時間同步服務的更多資訊請參見Chrony服務和NTP服務阿里雲NTP伺服器位址列表

行政時間同步服務

阿里雲公用鏡像中包含了預設的時間同步配置,基於公用鏡像建立的ECS執行個體會預設運行Chrony或者NTP服務進行時間同步,正常情況下您無需幹預時間同步服務。

您可以按照以下步驟,檢查當前ECS執行個體的時間同步服務是否正常,並根據具體訴求執行相關操作。

  1. 確認ECS執行個體中使用的是Chrony服務還是NTP服務,具體操作請參見查看ECS執行個體中使用的時間同步服務

  2. 根據使用的時間同步服務,執行以下操作確認服務是否正常。如果服務正常可以不做任何修改,如果您的業務對時間敏感可以按需修改相關配置。

查看時間同步服務狀態確認是否需要修改配置

查看ECS執行個體中使用的時間同步服務

您可以執行以下命令查看ECS執行個體中已使用的時間同步服務。如果ECS執行個體使用的是NTP服務,並且您的業務不依賴NTP服務,建議升級為Chrony服務。

sudo ps aux | grep -E "ntpd|chronyd"
  • 返回如下資訊時表示使用的時間同步服務為Chrony。

    image

  • 返回如下資訊時表示使用的時間同步服務為NTP。

    說明

    阿里雲ECS執行個體中,CentOS 6等部分老舊鏡像配置為NTP服務,當前NTP官方已經不再維護。如果您的業務不依賴NTP服務,建議升級為Chrony服務。

    image

查看目前時間是否準確

請根據您的ECS執行個體中使用的時間同步服務,執行相應的命令查看目前時間是否準確。Chrony服務和NTP服務會逐步調整時間,從而避免時間跳變的風險。如果您的業務要求目前時間必須準確,可以手動同步時間,具體操作請參見手動同步時間

Chrony服務

執行以下命令可以擷取目前時間同步狀態的詳細資料,包括系統時間偏差、系統時間的穩定性以及最後一次同步的時間等。您可以通過查看System time評估目前時間是否準確。

sudo chronyc tracking

返回資訊樣本如下:

image

NTP服務

執行以下命令可以擷取已配置的NTP伺服器以及對應的狀態指標,其中位移量offset可以大致表示本地時間和伺服器時間的差異。

sudo ntpq -p

返回資訊樣本如下:

image

查看時間同步伺服器位址是否需要修改

請根據您的ECS執行個體中使用的時間同步服務,執行相應的命令查看配置的時間同步伺服器。如果您的業務要求配置指定的時間同步伺服器,可以參考配置NTP伺服器位址

Chrony服務

cat /etc/chrony.conf

返回的內容中server <NTP伺服器> minpoll 4 maxpoll 10 iburst可以查看配置的時間同步伺服器。

NTP服務

cat /etc/ntp.conf

返回的內容中server <NTP伺服器> iburst minpoll 4 maxpoll 10可以查看配置的時間同步伺服器。

配置時間同步服務

手動同步時間

阿里雲ECS執行個體預設啟動並執行Chrony或者NTP服務會逐步調整時間,避免時間跳變的風險,不建議手動同步時間。如果因為業務需要,必須要手動同步時間,請按以下步驟進行操作。

  1. 查看ECS執行個體中使用的時間同步服務,具體操作請參見查看ECS執行個體中使用的時間同步服務

  2. 根據使用的時間同步服務,執行相應的命令手動同步時間。

    Chrony服務

    sudo chronyc makestep

    當系統返回資訊為200 OK時,表示Chrony服務已手動同步完成。

    image

    NTP服務

    重要

    當前NTP官方已經停止維護,使用ntpdate進行手動時間同步有時鐘跳變的風險,如必須使用,請在ntpdate命令後添加3個或3個以上的時鐘源,儘可能規避風險。更多阿里雲NTP伺服器資訊,請參見阿里雲NTP伺服器位址列表

    • Virtual Private Cloud執行個體

      sudo ntpdate ntp.cloud.aliyuncs.com ntp7.cloud.aliyuncs.com ntp10.cloud.aliyuncs.com ntp11.cloud.aliyuncs.com ntp12.cloud.aliyuncs.com
    • 傳統網路執行個體

      sudo ntpdate ntp1.cloud.aliyuncs.com ntp2.cloud.aliyuncs.com ntp3.cloud.aliyuncs.com ntp4.cloud.aliyuncs.com ntp5.cloud.aliyuncs.com

配置NTP伺服器位址

如果您的業務沒有特殊需求不需要修改NTP伺服器位址,但如果您的業務要求配置指定的時間同步伺服器,則需要根據您的ECS執行個體中使用的時間同步服務,執行相應的操作配置NTP伺服器位址。關於在Linux作業系統如何確認使用的時間同步服務,請參見查看ECS執行個體中使用的時間同步服務

Linux(Chrony)

CentOS 7和Alibaba Cloud Linux 2及以上版本的執行個體都使用Chrony服務實現時間同步。Chrony可以更快更準確地同步系統時鐘,最大限度地減少時間和頻率誤差。

  1. 在執行個體安全性群組的入方向添加安全性群組規則並允許存取UDP 123連接埠。具體操作,請參見添加安全性群組規則

  2. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  3. 配置NTP伺服器。

    如果您需要配置為阿里雲的NTP伺服器,請配置下面步驟中的<NTP伺服器>,具體請參見阿里雲NTP伺服器位址列表。關於如何選擇阿里雲NTP伺服器位址,請參見NTP服務同步異常怎麼辦?

    1. 執行以下命令,進入chrony設定檔。

      sudo vim /etc/chrony.conf
    2. 屏蔽不需要的NTP伺服器。在設定檔中找到server <NTP伺服器> minpoll 4 maxpoll 10 iburst的資訊後,按i鍵編輯檔案,在您暫時不需要的NTP伺服器句首前添加符號#進行隱藏。

    3. 添加新的NTP伺服器。您可以在設定檔中添加新的NTP伺服器,格式為:server <NTP伺服器> minpoll 4 maxpoll 10 iburst

    4. 完成編輯後按Esc鍵並輸入:wq儲存退出。

  4. 啟動Chrony服務。

    1. 依次執行以下命令,啟動chronyd服務並設定開機自啟動。

      sudo systemctl start chronyd.service
      sudo systemctl enable chronyd.service
    2. 執行以下命令,查看本機時間同步狀態,用於驗證服務是否已啟動。

      sudo chronyc tracking
    3. 執行以下命令,查看時間同步伺服器列表。

      sudo chronyc -n sources -v

Linux(NTP)

阿里雲ECS執行個體中,CentOS 6等部分老舊鏡像配置為NTP服務。如果您的時間同步服務運行正常可以不做任何修改,但如果業務要求配置指定的時間同步伺服器,請參考以下操作。

  1. 在執行個體安全性群組的入方向添加安全性群組規則並允許存取UDP 123連接埠。具體操作,請參見添加安全性群組規則

  2. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  3. 配置NTP伺服器。

    如果您需要配置為阿里雲的NTP伺服器,請配置下面步驟中的<NTP伺服器>,具體請參見阿里雲NTP伺服器位址列表。關於如何選擇阿里雲NTP伺服器位址,請參見NTP服務同步異常怎麼辦?

    1. 執行以下命令,進入NTP設定檔。

      sudo vim /etc/ntp.conf
    2. 屏蔽不需要的NTP伺服器。在設定檔中找到server <NTP伺服器> iburst minpoll 4 maxpoll 10的資訊後,按i鍵編輯檔案,在您暫時不需要的NTP伺服器句首前添加符號#進行隱藏。

    3. 添加新的NTP伺服器。您可以在設定檔中添加新的NTP伺服器,格式為:server <NTP伺服器> iburst minpoll 4 maxpoll 10

    4. 完成編輯後按Esc鍵並輸入:wq儲存退出。

  4. 啟動NTP服務。

    1. 依次執行以下命令,啟動NTP服務並設定開機自啟動。

      sudo service ntpd start
      sudo chkconfig ntpd on
    2. 執行以下命令,查看NTP服務運行狀態。

      sudo ntpstat
    3. 執行以下命令,查看NTP服務對等端的列表資訊。

      sudo ntpq -p

Windows

Windows Server作業系統預設配置微軟NTP伺服器(time.windows.com),但是可能經常同步出錯。使用阿里雲ECS執行個體時,您可以將預設NTP伺服器更換成阿里雲提供的內網NTP伺服器。本文以Windows Server 2016系統為例,介紹如何修改預設NTP伺服器位址。

  1. 遠端連線Windows執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Windows執行個體

  2. 在工作列的通知區域,單擊日期和時間,並單擊日期和時間設定

    image

  3. 在設定頁面,單擊添加不同時區的時鐘

    image

  4. 日期和時間對話方塊裡,單擊Internet 時間頁簽,然後單擊更改設定(C)...

    image

  5. Internet 時間設定對話方塊裡,選中與Internet時間伺服器同步(S)...,填寫一個阿里雲內網NTP伺服器位址,並單擊立即更新,然後單擊確定。關於NTP伺服器位址,請參見阿里雲NTP伺服器位址列表

    重要

    當時鐘同步失敗時,可能是執行個體中存在第三方殺毒軟體,請關閉殺毒軟體後重新同步。

    image

  6. 單擊確定

附錄

Chrony服務和NTP服務

時間同步服務

使用情境

時間同步精度

穩定性

簡介

Chrony服務

適用於高精度、高穩定性、自動化等情境。

較高

能夠更好地適應高延遲和不穩定的網路環境。

Chrony是一個實現網路時間協議(NTP)的軟體包,用於同步電腦的系統時間與世界各地的NTP伺服器。Chrony特別適合在變化的網路環境中運行,能夠以快速和高效的方式調整系統時間。更多資訊,請參見Chrony

NTP服務

適用於大多數無需太高精度要求的普通情境。

正常

僅能適應一定程度的網路不穩定。

NTP是一種經典的時間同步服務,是NTP協議的一個實現。NTP適用於長期啟動並執行伺服器,特別是在網路條件比較穩定的環境下。更多資訊,請參見NTP

阿里雲NTP伺服器位址列表

各網路下的阿里雲NTP伺服器位址(僅支援IPv4協議)如下表所示。如果您需要修改阿里雲NTP伺服器位址,可以參考該列表。

傳統網路內網

Virtual Private Cloud內網

公網

ntp1.cloud.aliyuncs.com

ntp2.cloud.aliyuncs.com

ntp3.cloud.aliyuncs.com

ntp4.cloud.aliyuncs.com

ntp5.cloud.aliyuncs.com

ntp6.cloud.aliyuncs.com

ntp.cloud.aliyuncs.com

ntp7.cloud.aliyuncs.com

ntp8.cloud.aliyuncs.com

ntp9.cloud.aliyuncs.com

ntp10.cloud.aliyuncs.com

ntp11.cloud.aliyuncs.com

ntp12.cloud.aliyuncs.com

ntp.aliyun.com

ntp1.aliyun.com

ntp2.aliyun.com

ntp3.aliyun.com

ntp4.aliyun.com

ntp5.aliyun.com

ntp6.aliyun.com

ntp7.aliyun.com

常見問題

阿里雲NTP伺服器是否收費?

不收費。阿里雲公用鏡像中包含了預設的時間同步配置,基於公用鏡像建立的ECS執行個體會預設運行Chrony或者NTP服務進行時間同步。

NTP服務同步異常怎麼辦?

請先確認您的伺服器的網路類型,請根據對應的網路類型選擇對應的NTP伺服器位址。關於NTP伺服器位址請參見阿里雲NTP伺服器位址列表。其中公網NTP伺服器位址面向整個互連網,時間準確性和穩定性不及內網的NTP伺服器位址。

  • 網路類型為專用網路:NTP伺服器位址在Virtual Private Cloud內網這一列選擇。

  • 網路類型為傳統網路:NTP伺服器位址在傳統網路內網這一列選擇。

相關文檔

如果您希望瞭解更多關於Linux時間的相關概念及操作,或者想瞭解關於Linux公用鏡像中時間配置的變化,請參見Linux時間和時區說明