You can manage system time for an OpenVMS Cluster system with
SYSMAN CONFIGURATION commands.
SYSMAN CONFIGURATION Commands summarizes these CONFIGURATION commands and their
functions.
Table 5 SYSMAN CONFIGURATION Commands
Command
Function
CONFIGURATION
SET TIME
Updates system time
CONFIGURATION SHOW TIME
Displays current system time
Modifying
the System Time
Use the CONFIGURATION SET TIME command to modify system time
for nodes in an OpenVMS Cluster system, as well as for individual
nodes. You can specify time values in the following format:[dd-mmm-yyyy[:]] [hh:mm:ss.cc]
You can also enter delta time values. Refer to the OpenVMS
User's Manual
for more information about time formats.
In a cluster environment, SYSMAN sets the time on each node
to the value you specify. However, if you do not specify a value,
SYSMAN reads the clock on the node from which you are executing
SYSMAN and assigns this value to all nodes in the cluster. In a
remote cluster, SYSMAN reads the clock on the target node in the cluster
and assigns that value to all nodes. Note that the time-of-year
clock is optional for some processors; refer to your processor's
hardware handbook for more information.
SYSMAN tries to ensure that all processors in the cluster
are set to the same time. Because of communication and processing
delays, it is not possible to synchronize clocks exactly. However,
the variation is typically less than a few hundredths of a second.
If SYSMAN cannot set the time to within one-half second of the specified time,
you receive a warning message that names the node that failed to
respond quickly enough.
As a result of slight inaccuracies in each processor clock,
times on various members of a cluster tend to drift apart. The first
two examples show how to synchronize system time in a cluster.
The following
procedure sets the time on all cluster nodes to the value obtained
from the local time-of-year clock, waits 6 hours, then resets the
time for the cluster:
$ SYNCH_CLOCKS:
$ RUN SYS$SYSTEM:SYSMAN
SET ENVIRONMENT/CLUSTER
CONFIGURATION SET TIME
EXIT
$ WAIT 6:00:00
$ GOTO SYNCH_CLOCKS
The next example sets the environment to NODE21,
NODE22, and NODE23, sets privilege, and modifies the system time
on all three nodes:
SYSMAN> SET ENVIRONMENT/NODE=(NODE21,NODE22,NODE23) SYSMAN> SET PROFILE/PRIVILEGE=LOG_IOSYSMAN> CONFIGURATION SET TIME 12:38:00
The following example sets the environment to cluster
and displays the system time for all nodes:
SYSMAN> SET ENVIRONMENT/CLUSTER/NODE=NODE23SYSMAN> CONFIGURATION SHOW TIMESystem time on node NODE21: 19-APR-2001 13:32:19.45System time on node NODE22: 19-APR-2001 13:32:27.79System time on node NODE23: 19-APR-2001 13:32:58.66
Resetting System Time After January 1
The
Time of Day Register (TODR), which the system uses to maintain system
time, has a limit of approximately 15 months. Between January 1
and April 1, reset the system time; otherwise, the following problems
might occur:
The first time in a new year that
you reboot an OpenVMS Cluster system or a node in the system, one
or more nodes display any of the following system times:
A year in the past
A year in the future, which might cause passwords
to expire and other difficulties
A correct time, but a SHOW SYSTEM command indicates
that the system has been up since a time in the 1800s
Even if you correct the system time during system
boot, the following problems might remain:
A SHOW SYSTEM command displays an
incorrect up time such as a date in the 1800s
The error log report (ERRLOG) shows errors for a
year in the future
Batch jobs are waiting for a year in the future
Files have a creation or modification date in the
future
Because the TODR has an approximate limit of 15 months, the
system maintains time by combining the TODR value with a base time
recorded in the base system image (SYS$LOADABLE_IMAGES:SYS.EXE).
The definition of base time is:
01-JAN-CURRENT_YEAR 00:00:00.00
Because all TODRs ordinarily have the same base, multiple
CPUs can boot off the same system disk, and you can use multiple
system disks on one CPU; the system sets the time correctly.
When a SET TIME command is issued (with or without specifying
a time), OpenVMS performs the following actions:
Writes the current
time to the system image file
Resets the TODR as an offset within the current
year
In an OpenVMS Cluster system (or for a node that is not part
of the cluster), when you set the time, the TODR and the base time
in the system image are reset with the values for the new year.
However, multiple systems might share the system image. This does
not normally cause a problem except after the first day of a new
year.
The system issues the SET TIME command when it boots
and as a part of the normal SHUTDOWN command procedure.
By December, each node has a very large offset stored in the
TODR (from the base time of 1-JAN of that year). When the time advances
to a new year, the system image still has the old year and the TODR
values are still large.
After January 1, if a SET TIME command is issued on any node
(or any node is shut down using SHUTDOWN.COM), the following events
occur:
The new year
becomes the base year.
The system resets the TODR on that node.
The other nodes still have a large value in the
TODR.
After these three events occur, if a node that has a large
TODR crashes and rejoins the cluster, its system time is initially
in the next year (applying the large TODR to the new year). This
system time is recorded as the system's boot time. When the node
joins the cluster, its time is set to the correct value but the
boot time remains one year in the future. Certain forms of the SHOW
SYSTEM command compare current time to boot time; in this instance,
SHOW SYSTEM displays incorrect values.
If a system disk is used at different times by different,
unclustered CPUs or if different system disks are used at different
times on the same CPU, the system might incorrectly set the time
to a year in the future or a year in the past, depending on how
the CPU's TODR and the value recorded on the system disk become unsynchronized:
Sharing a system disk across multiple
CPUs pushes the time into the future
Using multiple disks on one CPU pushes the time
into the past
The following example uses SYSMAN commands to reset the time
on all nodes in an OpenVMS Cluster system:
$ RUN SYS$SYSTEM:SYSMANSYSMAN> SET ENVIRONMENT/CLUSTERSYSMAN> SET PROFILE/PRIVILEGE=(LOG_IO,SYSLCK) SYSMAN> CONFIGURATION SET TIME 05-JAN-2001:12:00:00SYSMAN> EXIT
In a node that is not part of a cluster, use the SET
TIME command and specify a time. If you do not specify a time, the
SET TIME command updates the system time using the time in the TODR.
If you are running the DIGITAL Distributed Time Service (DECdts)
on your system, you must use it to set the time.