KB2007.418
FAQ: How do I configure Domain Time II on a virtual machine (i.e. VMware, Virtual PC/Hyper-V, Xen, etc.)?

    This article applies to Domain Time II.

    Last Updated: 20 October 2016

    Question

      How do I configure Domain Time II on a virtual machine (i.e. VMware, Virtual PC/Hyper-V, Xen, etc.)?

    Answer

      Because operating systems running as virtual machine guests share the host's physical resources (such as CPU time and interrupt handling), their ability to keep their own accurate time is diminished. Accurate OS time depends on regular servicing of timers so that the clock continually moves forward smoothly. Virtual machines must often wait while the host OS is busy servicing other guests, resulting in clock drift or erratic behavior. This problem is inherent in the basic nature of multiple operating systems sharing the same physical hardware.

      As a result of this inherent instability, a virtual guest OS is generally not suitable for use as a platform for providing highly-accurate time to other clients. Excessive clock instability of the server machine can result in serious problems with time sychronization throughout your enterprise. Also, any tools that calculate time variances (such as Domain Time II Audit Server, Domain Time II Monitor Service, the Domain Time II Manager variance report, DTCheck utility, etc.) cannot usually be relied upon to provide accurate results when executed from a virtual OS 1.

      Guidelines for using the various Domain Time II components on virtual machines



      • Domain Time II Server: Domain Time II Server is not supported on most virtual machine guest operating systems 1.

      • Domain Time II Audit Server: Domain Time II Audit Server is not supported on most virtual machine guest operating systems 1.

      • Domain Time II Manager and Tools: The Domain Time II Management tools contain a number of programs that calculate, compare, and report on clock variance such as Domain Time II Monitor Service, the Domain Time II Manager Variance Report page, the DTCheck utility, etc. Tools that calculate comparative time variances cannot be relied upon to provide accurate results when executed from a virtual OS. These should be run on physical machines 1.

      • Domain Time II Client:
        Depending on your particular requirements, hardware, application, and load, you may be able to use Domain Time Client to achieve reasonable synchronization of your guest OS, however this is not guaranteed. In general, any machine where accurate time synchronization is critical should run directly on physical hardware.

        Domain Time II Client can be configured on a guest OS in the same manner it is configured on a stand-alone physical machine. However, given the additional instability of the platform, you should take into account the need to synchronize more frequently to compensate for drift. As a result, the default target-seeking mode Domain Time II Client may not be able to sufficiently adjust automatically for your needs. If so, you need to set the Client to synchronize on a regular schedule and adjust that schedule up or down to acheive your desired accuracy. See Client Timings for how to set a fixed synchronization schedule.

      It's very important that you regularly monitor your clock synchronization on virtual machines. The environment is extremely susceptible to changes in load. Since these changes can occur at any time in other guests or on the host, settings that were once perfectly adequate to keep your time synched in any particuar guest may suddenly be insufficient. We recommend using a monitoring product capable of generating alerts to notify you of insufficient sync, such as Domain Time II Audit Server.

      The host machine's operating system should also be synchronized as much as possible to the correct time (preferably using Domain Time II). The guest OS will use the host's time at startup, and occasionally, some functions of the virtualization software will attempt to match the guest clock to the host (even if you have built-in time synchronization disabled - see below). It's therefore very important that the host clock be as close to accurate as possible.

      Regarding the host built-in time sync features (i.e. VMWare Tools, Hyper-V Integration Services, etc.)



      Most virtualization products include a built-in time synchronization function that attempts to synchronize the guest OS clock to that of the host (such as those included in the VMWare Tools, Hyper-V Integrations Services, etc.). These functions vary in effectiveness and often create additional problems for accurate timekeeping, such as unexpected stepping of the clock, backwards time jumps, etc.

      Previous versions of this KB article recommended using the built-in time sync functions of the virtual software based on manufacturer documentation; however, we have revised our recommendations based on extensive testing and customer feedback. It is almost always best practice to disable the built-in guest-to-host time sychronization functionality of the guest and use Domain Time II Client to synchronize the guest OS clock.

      As mentioned above, even if you have the built-in sync tools turned off, some virtual environments (like VMWare) do still occasionally attempt to set the guest OS clock to match the host, such as when doing backups of the guest image files, or other housekeeping. Domain Time will detect these attempted changes and immediately attempt to correct for them, however, the host clock should still be kept correct to prevent a wild-time situation where the guest clock suddenly jumps to a highly incorrect value that Domain Time cannot quickly repair. If these types of unexpected clock adjustments will present serious problems for your application, you should change to using a physical machine instead of a virtual one. Note, some of these unwanted events can be avoided by disabling internal time synchronization on the VMWare host as well as in the Guest VMWare tools as described in VMWare KB article (1189).

       

      Notes
      1 As of Windows Server 2012, Microsoft has made significant improvements in Hyper-V guest clock handling, such that on sufficient hardware, Hyper-V guests may be suitable for running time services such as Domain Time Server, Audit Server, Manager, tools, etc. for general purpose use. Highly time critical environments should (such as those requiring sub-millisecond timing) should continue to use physical machines for these systems. Older Hyper-V environments (i.e. Server 2008) are not suitable for serving time.

      References
      Disabling Virtual Machine Guest-to-Host Time Synchronization on Multiple Hypervisors
      Disabling Time Synchronization under Virtual PC 2007
      VMware Time Sync and Windows Time Service
      Timekeeping in VMware Virtual Machines
      Disabling Time Synchronization (1189) - VMWare

Domain Time II Software distributed by Microsemi, Inc.
Documentation copyright © 1995-2018 Greyware Automation Products, Inc.
All Rights Reserved
All Trademarks mentioned are the properties of their respective owners.