![]() | Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition | ||
|
|
![]() |
||||||||||||
Solution Type Problem Resolution Sure Solution 1018671.1 : NTP sync problem with Microsoft Windows NTP server (clock dispersion)
PreviouslyPublishedAs 230373 Applies to:Solaris Operating System - Version 8.0 and laterOracle ZFS Storage ZS3-2 - Version All Versions and later All Platforms SymptomsHost does not remain in sync with time server CauseTime server constantly increases dispersion until it is out of bounds SolutionEnter the Main Content
Here is the definition from NTP specs: "....NTP is designed to produce three products: clock offset, roundtrip delay and dispersion, all of which are relative to a selected reference clock...... ....Dispersion represents the maximum error of the local clock relative to the reference clock..... ....They provide not only precision measurements of offset and delay, but also definitive maximum error bounds, so that the user interface can determine not only the time, but the quality of the time as well....." Why does the "Clock dispersion" value bring NTP client out of sync? This happens because the dispersion returned from the servers is slowly increasing in value. Once the value gets over 1 second, xntpd declares the server packets invalid.
If you really must use Windows time servers, check that "LocalClockDispersion" is not adding significant dispersion like 10 seconds! See https://technet.microsoft.com/en-us/library/cc773263%28v=ws.10%29.aspx Solaris 11 and Solaris 10 Update 8 and greater, provide NTPv4. The NTPv4 daemon will enforce this behavior and have a lesser tolerance for the high dispersion value. In NTPv4 there is a workaround to avoid the Windows Server dispersion behavior. It is to edit the /etc/inet/ntp.conf file adding the option: If a higher dispersion is detected from the Windows NTP Server it can be set to a higher value, ie., 15.0 for a dispersion value up to 15.nnnnn being received. Then disable and enable the ntp Service: Solaris 11: Solaris 10 Update 8 and greater:
# snoop -o /var/tmp/snoop.out -d <interface> Then use the command snoop -v -i snoop.out | grep dispersion. When the problem is present you will see something like this: NTP: Synchronizing dispersion = 0x0011.d993 (17.849899) NTP: Synchronizing dispersion = 0x0011.d993 (17.849899) As long as this value is less than or equal to 1 second, then all NTP packets will be considered valid, otherwise, as in this example, the packets will be rejected. Bear in mind, NO ERRORs will be found anywhere when this problem occurs.
Attachments This solution has no attachment |
||||||||||||
|