Adjusting VMware ESX host Time Zone(and DST)

Details:

During installation, a time zone was selected for an ESX host that does not match the desired time zone. This article provides steps to change the time zone or daylight-saving.

Note: An ESX host with an incorrect date and time or time zone passes on that incorrect information. When a virtual machine boots up it seems to get its initial time from the BIOS hardware clock which comes from the ESX host.

Solution:

ESX hosts:

To change the time zone:

Note: It is not necessary to reboot the ESX host after following this procedure.

  1. Log into the ESX service console as root.
     
  2. Find the desired time zone under the /usr/share/zoneinfo directory. Some regions have multiple files in a subdirectory. For example, US contains several files, each representing a time zone.

    Note: The example below uses /usr/share/zoneinfo/US/Pacific as the new time zone file.
     
  3. Use nano (or another text editor) to open the /etc/sysconfig/clock file.

    On the command line, run the command:

    nano /etc/sysconfig/clock
     
  4. Edit this file to show the relative path to the file representing the new time zone, and ensure that UTC and ARC are set as shown:

    ZONE=”US/Pacific”
    UTC=false
    ARC=false
     
  5. Copy or link the desired time zone file to /etc/localtime. Continuing the example using US/Pacific:
    1. To copy, run the command:

      cp /usr/share/zoneinfo/US/Pacific /etc/localtime
       
    1. To link, run the command:

      ln -s /usr/share/zoneinfo/US/Pacific /etc/localtime

      Note: If you receive an overwrite `/etc/localtime’? prompt, answer y to replace the file representing the old time zone. Again, it is not necessary to reboot the ESX host after updating /etc/localtime.
       
  6. Confirm that /etc/localtime has been updated with the correct zoneinfo data:
    1. Reference the zoneinfo file used in step 2, and compare it to /etc/localtime using the diff command:

      diff /etc/localtime /usr/share/zoneinfo/US/Pacific

      If the files are identical, your prompt returns without any output.
       
    1. If /etc/localtime is not the same as the /usr/share/zoneinfo/your_location, the output from the diff command appears similar to:

      Binary files /etc/localtime and /usr/share/zoneinfo/US/Pacific differ

      If the files are not the same, repeat step 5.


After updating /etc/localtime with the correct zoneinfo data, confirm the system and hardware clocks are correct. Use the Linux date command to check and set the correct time if necessary, and set the hardware clock to match the correct system time.

  1. Set the system clock to the local date and time:

    date MMDDhhmmYYYY
     
  2. Update the hardware clock with current time of the system clock:

    /sbin/hwclock –systohc


Notes:

  • Upon booting, ESX runs /etc/rc.d/init.d, which reads /etc/sysconfig/clock to set the system clock based on the hardware clock’s current time and the configured time zone information.
     
  • You may be required to restart the vSphere Client for the timezone information to be updated within the GUI.
     
  • For more information about timezones, including issues with Daylight Saving Time (DST), search the VMware Knowledge Base.


 

ESXi hosts

ESXi uses UTC time and does not support changing time zones.

In ESXi 3.5, you see the message:

Note: The date and time of the host have been translated to the local time of this VI Client.

In ESXi 4.x, ESXi 5.x, ESXi 6.x,and  you see the message:

Note: The date and time of the host have been translated to the local time of this vSphere Client.

Leave a Comment