How to set up chronyd (time server)

Note: The following time server setup documentation is for general reference. You can configure the time server as suitable for your environment. In the simplest example, the EMS host is used as the time server and the I/O nodes (or protocol nodes) are used as clients. Customers might want to have all nodes point to an external time server. Use online references for more detailed instructions for setting up Chrony.

Chrony is the preferred method of setting up a time server. NTP is considered deprecated. Chrony uses the NTP protocol.

For the following example steps, it is assumed that the EMS node is the chronyd server and there is no public internet synchronization.
  • Do the following steps on the EMS node, outside of the container.
    1. Set the time zone and the date locally.
    2. Edit the contents of the /etc/chrony.conf file.
      Note: Replace the server and the allow range with the network settings specific to your setup.
      # Use public servers from the pool.ntp.org project.
      # Please consider joining the pool (http://www.pool.ntp.org/join.html).
      #server 0.rhel.pool.ntp.org iburst
      #server 1.rhel.pool.ntp.org iburst
      #server 2.rhel.pool.ntp.org iburst
      #server 3.rhel.pool.ntp.org iburst
      server 192.168.7.1 prefer iburst
      
      # Record the rate at which the system clock gains/losses time.
      driftfile /var/lib/chrony/drift
      local stratum 8
      manual
      
      # Allow the system clock to be stepped in the first three updates
      # if its offset is larger than 1 second.
      makestep 1.0 3
      
      # Enable kernel synchronization of the real-time clock (RTC).
      rtcsync
      
      # Enable hardware timestamping on all interfaces that support it.
      #hwtimestamp *
      
      # Increase the minimum number of selectable sources required to adjust
      # the system clock.
      #minsources 2
      
      # Allow NTP client access from local network.
      #allow 192.168.0.0/16
      allow 192.168.7.0/24
      
      # Serve time even if not synchronized to a time source.
      #local stratum 10
      
      # Specify file containing keys for NTP authentication.
      #keyfile /etc/chrony.keys
      
      # Specify directory for log files.
      logdir /var/log/chrony
      
      # Select which information is logged.
      #log measurements statistics tracking
    3. Save the changes in /etc/chrony.conf file.
    4. Restart chronyd.
      systemctl restart chronyd
       
      chronyc makestep
      chronyc ntpdata
      timedatectl
  • Do the following steps on the client nodes (canister nodes or ESS nodes).
    1. Edit the contents of the /etc/chrony.conf file.
      Note: Replace the server and the allow range with the network settings specific to your setup.
      # Use public servers from the pool.ntp.org project.
      # Please consider joining the pool (http://www.pool.ntp.org/join.html).
      #server 0.rhel.pool.ntp.org iburst
      #server 1.rhel.pool.ntp.org iburst
      #server 2.rhel.pool.ntp.org iburst
      #server 3.rhel.pool.ntp.org iburst
      server 192.168.7.1 prefer iburst
       
      # Record the rate at which the system clock gains/losses time.
      server master iburst
      driftfile /var/lib/chrony/drift
      logdir /var/log/chrony
      log measurements statistics tracking
       
      # Allow the system clock to be stepped in the first three updates
      # if its offset is larger than 1 second.
      makestep 1.0 3
       
      # Enable kernel synchronization of the real-time clock (RTC).
      rtcsync
       
      # Enable hardware timestamping on all interfaces that support it.
      #hwtimestamp *
       
      # Increase the minimum number of selectable sources required to adjust
      # the system clock.
      #minsources 2
       
      # Allow NTP client access from local network.
      #allow 192.168.0.0/16
      #allow 192.168.7.0/24
       
      # Serve time even if not synchronized to a time source.
      #local stratum 10
       
      # Specify file containing keys for NTP authentication.
      #keyfile /etc/chrony.keys
       
      # Specify directory for log files.
      logdir /var/log/chrony
       
      # Select which information is logged.
      #log measurements statistics tracking
       
    2. Save the changes in the /etc/chrony.conf file.
    3. Restart chronyd.
      systemctl restart chronyd
       
      chronyc makestep
      chronyc ntpdata
      timedatectl