共用方式為


設定高精確度的系統

Windows 10 和 Windows Server 2016 中的時間同步處理已增強。 在最佳條件下,這些系統可以設定為相對於 UTC 達到並維持 1 毫秒(ms)或更好的精確度。

Warning

Windows Server 2012 R2 和舊版不符合相同的高精確度目標。 這些操作系統不提供高精確度的支援。 在這些版本中,Windows Time 服務滿足下列需求:

  • 提供必要的時間準確度以滿足 Kerberos 第 5 版的驗證需求。
  • 為已加入一般 Active Directory 樹系的 Windows 用戶端和伺服器提供精確度沒那麼高的時間。

2012 R2 和舊版的更大容差範圍不在 Windows Time 服務的設計規格之內。

Windows 10 和 Windows Server 2016 的預設設定

雖然我們在 Windows 10 或 Windows Server 2016 上支援最多 1 毫秒的正確性,但大多數客戶不需要高度精確的時間。

因此, 預設配置 旨在滿足與先前作業系統相同的要求:

  • 提供必要的時間準確度以滿足 Kerberos 第 5 版的驗證需求。
  • 為已加入一般 Active Directory 樹系的 Windows 用戶端和伺服器提供精確度沒那麼高的時間。

如何設定高準確度的系統

時間準確度必須以端對端的方式將精確時間從授權時間來源發佈到終端裝置。 在這個路徑上導致不對稱測量的任何因素,皆會對裝置上可達到的精確度造成負面影響。

基於這個理由,針對 高精確度環境設定Windows Time服務的支援界限 會記載於必須滿足才能達到高精確度目標的環境需求。

作業系統需求

高準確度設定需要使用 Windows 10 或 Windows Server 2016。 時間拓撲中的所有 Windows 裝置都必須符合這項需求,包括較高層級的 Windows 時間伺服器,而在虛擬化案例中,則包括執行有時效性虛擬機器的 Hyper-V 主機。 這些裝置全都必須至少使用 Windows 10 或 Windows Server 2016。

下圖顯示需要高精確度的虛擬機正在執行 Windows 10 或 Windows Server 2016。 同樣地,虛擬機器所在的 Hyper-V 主機,以及上游 Windows 時間伺服器也都必須執行 Windows Server 2016。

此圖顯示使用 Windows Time 服務連線到 Windows Server 2016 Hyper-V 主機的三部虛擬機。

Tip

您可以在命令提示字元中或透過 PowerShell 執行 winver 命令,以檢視 OS 版本和組建編號:

w i n v e r 命令的螢幕快照,其中顯示 Windows Server 2016 版本 1607 和作業系統組建 14393。

系統配置

要達到高準確度目標就需要進行系統設定。 有各種方式可以執行此設定,包括直接在登錄中或透過群組原則執行。 如需這些設定的詳細資訊,請參閱 Windows Time 服務技術參考:Windows Time Service Tools

Windows Time 服務的啟動類型

若要確保 Windows 時間服務 (W32Time) 持續執行,請將其啟動類型設定為 [ 自動]。

Windows Time 服務屬性方塊的螢幕快照,其中顯示其啟動類型設定為自動。

累計單向網路延遲

測量不確定性和「雜訊」會增加網路延遲。 因此,就必須將網路延遲控制在合理界限內。 特定需求取決於您的目標精確度,並概述於 支援界限中,以設定適用於高精確度環境的 Windows Time 服務 一文。

若要計算累計單向網路等待時間,請在時間拓撲中新增網路時間通訊協定 (NTP) 用戶端-伺服器節點配對之間的個別單向延遲,從目標開始,並在高精確度階層 1 時間來源結束。

例如:假設有一個時間同步階層,其具有依該順序的一個高精確度來源、兩個中繼 NTP 伺服器 (A 和 B),以及一個目標機器。 若要取得目標和來源之間的累計網路延遲,請測量下列項目之間的平均個別 NTP 來回時間 (RTT):

  • 目標和時間伺服器 B
  • 時間伺服器 B 和時間伺服器 A
  • 時間伺服器 A 和來源

執行下列步驟,即可使用收件匣 w32tm.exe 工具取得此度量:

  1. 從目標和時間伺服器 B 執行計算。

    w32tm /stripchart /computer:TimeServerB /rdtsc /samples:450 > c:\temp\Target_TsB.csv
    
  2. 從時間伺服器 B 針對 (指向) 時間伺服器 A 執行計算。

    w32tm /stripchart /computer:TimeServerA /rdtsc /samples:450 > c:\temp\Target_TsA.csv
    
  3. 從時間伺服器 A 針對來源執行計算。

  4. 接下來,新增在上一個步驟中測量到的平均 RoundTripDelay,並除以 2 來取得目標和來源之間的累計網路延遲。

登錄設定

MinPollInterval

設定系統輪詢所允許的最小間隔 (以 log2 秒為單位)。

Description Value
主要位置 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
Setting 6
Outcome 最小輪詢間隔現在是 64 秒。

MaxPollInterval

設定系統輪詢所允許的最大間隔 (以 log2 秒為單位)。

Description Value
主要位置 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
Setting 6
Outcome 最大輪詢間隔現在是 64 秒。

UpdateInterval

每次相位校正調整所間隔的時鐘刻度數目。

Description Value
主要位置 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
Setting 100
Outcome 每次相位校正調整所間隔的時鐘刻度數目是 100 刻度。

SpecialPollInterval

設定啟用了 SpecialInterval 0x1 旗標時的輪詢間隔 (以秒為單位)。

Description Value
主要位置 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
Setting 64
Outcome 輪詢間隔現在是 64 秒。

FrequencyCorrectRate

Description Value
主要位置 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
Setting 2

UtilizeSslTimeData

Description Value
主要位置 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
Setting 0
Outcome 安全時間同步功能已停用。

套用修改過的登錄設定

下列命令會指示 Windows Time 取得已更新的設定:

w32tm /config /update

下列命令會重新啟動 Windows Time 來取得已更新的設定:

net stop w32time && net start w32time

套用 UtilizeSslTimeData 設定變更需要重新啟動系統。

Note

若要深入瞭解 W32Time 登錄設定,請參閱 W32Time 登錄參考