Skip to main content

Notes on the Logical Domain Time


Notes on the Logical Domain Time
  1. Notes on the logical domain time (1)
    After the firmware update from XCP 2232 or earlier to XCP 2240 or later, and after the system has been running for a long time, an XSCF reboot followed by PPAR startup may cause the Oracle Solaris time to shift.

    To avoid this problem, be sure to perform the following procedure.
    [Workaround]
    - If the setting specifying the XSCF as an NTP client is disabled (default)
    Execute the setdate command to set the XSCF time to the current time.
    In the following example, the XSCF time is set to 2017/3/25 12:00:00.
XSCF> setdate -s 032512002017.00
  1. The XSCF automatically reboots when the time is set.
  1. - If the setting specifying the XSCF as an NTP client is enabled
  1. 1. Execute the showlogs event command to check whether the XSCF time and NTP server time are successfully synchronized.
    If multiple event logs are registered, see the latest event log.
XSCF> showlogs event -rM
Date                       Message
Mar 25 11:45:31 JST 2017   NTP service found NTP server to synchronize.
  1. When "NTP service found NTP server to synchronize." appears, the time is correctly synchronized. Then, the following steps are not necessary.
  1. 2. Execute the setntp command to temporarily disable the XSCF NTP client function.
XSCF> setntp -s client -c disable
  1. 3. Reboot the XSCF.
XSCF> rebootxscf -a
  1. 4. Execute the setdate command to set the XSCF time to the current time.
    In the following example, the XSCF time is set to 2017/3/25 12:00:00.
XSCF> setdate -s 032512002017.00
  1. The XSCF automatically reboots when the time is set.
  1. 5. Execute the setntp command to re-enable the XSCF NTP client function.
XSCF> setntp -s client -c enable
  1. 6. Reboot the XSCF.
XSCF> rebootxscf -a
Note - Even if the XSCF time and NTP server time fail to synchronize and the following message appears, this workaround has been completed. 
 
XSCF> showlogs event -rM
Date                       Message
Mar 25 12:15:31 JST 2017   NTP service failed to reach appropriate NTP server.
  1. Notes on the logical domain time (2)
Note - If the firmware is updated from XCP 2232 or earlier to XCP 2240 or later, perform "- Notes on the logical domain time (1)" first.
Due to the problem reported in RTIF2-140711-001 and RTIF2-141204-001, the Oracle Solaris time may shift at PPAR startup.
To avoid this problem, be sure to perform one of the following procedures.
Note - An XCP with version number XCP 2240 or later fixes the problem reported in RTIF2-140711-001. However, if the firmware update is from XCP 2232 or earlier to XCP 2240 or later, it is necessary to resolve the time deviation problem that has been caused in XCP 2232 or earlier. Perform [Workaround] for "- XCP 2232 or earlier."
- XCP 2240 or later
[Workaround]
Save the logical domain configuration information before stopping or restarting the PPAR.
Example: Saving logical domain configuration information under the name of "config_A"
primary# ldm list-domain -l
Omitted
primary# ldm list-spconfig
Omitted
primary# ldm remove-spconfig config_A
primary# ldm add-spconfig config_A
- XCP 2232 or earlier
[Workaround]
  1. 1. Specify false for the OpenBoot PROM environment variable auto-boot?, and execute the setpparparam(8) command to disable the autoboot function of the control domain. Also execute the setpparmode(8) command to disable startup of guest domains.
    Example: Physical partition is PPAR#0
XSCF> setpparparam -p 0 -s bootscript "setenv auto-boot? false" -y
XSCF> setpparmode -p 0 -m guestboot=off
  1. 2. Execute the poweron(8) command to power on the target physical partition.
XSCF> poweron -p 0 -y
  1. 3. Execute showdomainstatus -p 0 -g primary, and confirm that "OpenBoot Running" appears under Status.
  1. 4. Execute the console(8) command to switch to the control domain console.
XSCF> console -p 0 -y

Omitted
{0} ok
  1. 5. Execute the boot -s command to start Oracle Solaris in single user mode.
{0} ok boot -s
  1. 6. Execute the date command of Oracle Solaris to set the control domain time.
    Example: Setting for 12:20:00 on March 25, 2017
primary# date 0325122017.00
Note - Execute the showdate(8) command to display the XSCF time, and confirm that the control domain time of the target physical partition is the same as the XSCF time.
  1. 7. Switch to multi-user mode.
 primary# exit
  1. 8. For a logical domain configuration, set the correct time for guest domains.
    For details on how to check for a logical domain configuration, see "Checking between a logical domain configuration and the factory-default configuration."
    Perform the following procedure on every guest domain to set the time.
  1. a. Check the CONS value of the guest domain.
primary# ldm list-domain
NAME             STATE      FLAGS   CONS  VCPU  MEMORY  UTIL  NORM  UPTIME
primary          active     -n-cv-  SP    8     3968M   0.2%  0.1%  18h 37m
guest            bound      ------  5000  8     2G
  1. b. Disable the autoboot function of the guest domain.
primary# ldm set-variable auto-boot?=false guest
  1. c. Start the guest domain.
primary# ldm start-domain guest
  1. d. Open the guest domain console.
primary# telnet localhost 5000
:
{0} ok
  1. e. Execute the boot -s command to start Oracle Solaris in single user mode.
{0} ok boot -s
  1. f. Execute the date command of Oracle Solaris to set the guest domain time.
    Example: Setting for 12:30:00 on March 25, 2017
guest# date 0325123017.00
  1. g. Switch to multi-user mode.
guest# exit
  1. h. If the guest domain is an NTP client, execute the ntpq -np command, and confirm synchronization with the NTP server.
    The asterisk ("*") at the beginning of a line below indicates that the NTP server in the "remote" column is synchronized with the guest domain.
guest# while [ 1 ]; do ntpq -np; sleep 60; done
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*203.0.113.156   203.0.113.70     4 u   46   64    3    0.458    0.754   7.243
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*203.0.113.156   203.0.113.70     4 u   39   64    7    0.478    1.487   5.664
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*203.0.113.156   203.0.113.70     4 u   35   64   17    0.450    2.164   5.077
^C
guest#
 
i. If necessary, re-enable the autoboot function of the guest domain.
primary# ldm set-variable auto-boot?=true guest
  1. 9. If necessary, re-enable the functions that were disabled in step 1.
    For the autoboot function of the control domain, specify true for the OpenBoot PROM environment variable auto-boot?, and execute the setpparparam(8) command to re-enable the function. For startup of guest domains, execute the setpparmode(8) command to re-enable it.
    Example: Physical partition is PPAR#0
XSCF> setpparparam -p 0 -s bootscript "setenv auto-boot? true" -y
XSCF> setpparmode -p 0 -m guestboot=on 
  1. 10. For a logical domain configuration, save logical domain configuration information.
    For details on how to check for a logical domain configuration, see "Checking between a logical domain configuration and the factory-default configuration."
    Example: Saving logical domain configuration information under the name of "config_A"
primary# ldm ls -l
Omitted
primary# ldm ls-config
Omitted
primary# ldm remove-spconfig config_A
primary# ldm add-spconfig config_A
 
Checking between a logical domain configuration and the factory-default configuration
You can check whether the configuration is a logical domain configuration by using the showdomainconfig command.
  1. Logical domain configuration
    If a value other than factory-default is set, as indicated by underline below, it is a logical domain configuration.
XSCF> showdomainconfig -p 0
PPAR-ID     :0
Booting config
 (Current)  :config_A
 (Next)     :config_A
-----------------------------------------------------------------------------

Index       :1
config_name :factory-default
domains     :1
date_created:-
-----------------------------------------------------------------------------

Index       :2
config_name :config_A
domains     :1
date_created:'2014-03-05 17:33:17'
  1. factory-default configuration
    If factory-default is set, as indicated by underline below, it is not a logical domain configuration but the factory-default configuration.
XSCF> showdomainconfig -p 0
PPAR-ID     :0
Booting config
 (Current)  :factory-default
 (Next)     :factory-default
-----------------------------------------------------------------------------

Index       :1
config_name :factory-default
domains     :1
date_created:-