Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1991954.1
Update Date:2015-06-10
Keywords:

Solution Type  Technical Instruction Sure

Solution  1991954.1 :   Leap Second on Oracle SuperCluster  


Related Items
  • Oracle Exadata Storage Server Software
  •  
  • SPARC SuperCluster T4-4 Half Rack
  •  
  • SPARC SuperCluster T4-4
  •  
  • Oracle SuperCluster M6-32 Hardware
  •  
  • Oracle SuperCluster T5-8 Half Rack
  •  
  • Oracle SuperCluster T5-8 Full Rack
  •  
  • SPARC SuperCluster T4-4 Full Rack
  •  
Related Categories
  • PLA-Support>Eng Systems>Exadata/ODA/SSC>SPARC SuperCluster>DB: SuperCluster_EST
  •  
  • _Old GCS Categories>ST>Server>Engineered Systems>SPARC SuperCluster>Install
  •  


This document provides reference and steps to handle the Leap Second event on Oracle SuperCluster configurations, conveying descriptions on available options and mechanisms, and enabling the customer to properly setup and verify NTP services/clients.

In this Document
Goal
Solution
 Background
 Prerequisites and Checks
 How to check NTP services and software version
 On Database LDOMs/Zones:
 How to check RAC health (LDOMs)
 How to check RAC health (Zones)
 Exadata Storage Cells interaction-Leap Second on Linux
 Leap Second NTP setup steps:
 NTPv4 - Using a leap second file (Solaris 11):
 What to look for on Jun/30 or Dec/31
 NTPv3 - Setting leap bits via ntpq (Solaris 10):
 External References
References


Applies to:

SPARC SuperCluster T4-4 Half Rack - Version All Versions to All Versions [Release All Releases]
SPARC SuperCluster T4-4 Full Rack - Version All Versions to All Versions [Release All Releases]
SPARC SuperCluster T4-4 - Version All Versions to All Versions [Release All Releases]
Oracle SuperCluster T5-8 Full Rack - Version All Versions to All Versions [Release All Releases]
Oracle Exadata Storage Server Software - Version 11.2.1.2.0 to 12.1.2.1.1 [Release 11.2 to 12.1]
Oracle Solaris on SPARC (64-bit)

Goal

Provides references, background and steps to configure NTP to handle Leap Second events on Oracle SuperCluster.

Solution

Background

The U.S. National Institute of Standards and Technology (NIST) is publishing a file which contains a table of past and upcoming leap seconds. This file can be used by ntpd to become aware of leap second announcements and thus be able to handle leap seconds gracefully or as a guide to set older NTP versions to apply the required correction when scheduled.

Graceful handling of leap seconds implies applying the leap second locally at the appropriate time, rather than having the clock off by one second until the discrepancy with sources is noticed and corrected at a later time. ntpd will gracefully handle leap seconds which it knows about in advance

Reference: http://support.ntp.org/bin/view/Support/ConfiguringNTP#Section_6.14

Prerequisites and Checks

How to check NTP services and software version

This sentence will provide the status of the NTP service

# svcs ntp
STATE          STIME    FMRI
online          7:26:44 svc:/network/ntp:default

Software version follows the same sequence as NTP definitions and standards, basically the code is a snapshot taken from the NTP.org site.

# pkg list -a | grep ntp

or

# ntpq -c v localhost

  Finally a verification on peer NTP servers configured

# ntpq -c peers

On Database LDOMs/Zones:

SuperCluster uses non-global zones for RAC and all share the global zone kernel, therefore there is only one date/time setup, controlled by the global zone only. The NTP service can't be enabled in non-global zones, the reason being that by default the change date/time privilege is unavailable: all of them will refer to the global zone (LDOM) time/date and its NTP configuration as an extension.

That leaves Real Application Clusters working on Cluster Time Synchronization Services (CTSS) observer mode, when configured in Zones; which is safe since the lower layer of synchronization is essentially NTP.

How to check RAC health (LDOMs)

Run cluvfy on each RAC cluster, using the oracle or grid-owner user. The -noctss parameter is useful since we're interested on verifying NTP only.

$GRID_HOME/bin/cluvfy comp clocksync -n all -noctss -verbose

How to check RAC health (Zones)

Run cluvfy on each RAC cluster/set of zones, remember use the grid-owner OS user or oracle, depending on your setup. This will test both for NTP and CTSS.

$GRID_HOME/bin/cluvfy comp clocksync -n all -verbose

Clusterware tolerates a 15minute gap between members clocks, according to note 786048.1

Exadata Storage Cells interaction-Leap Second on Linux

During our tests no impact was perceived on communication between Database Nodes and Storage Cells, despite the fact that Linux Leap Second implementation differs from the one provided by Solaris, the loose level of coupling (time synchronization perspective) between Database Nodes and Storage Cells allows for continued stability.

Leap Second NTP setup steps:

While the NTP protocol addresses the leap second event as a cascading event, that propagates from the top of the hierarchy down to clients/servers and reaching the end on sole clients. It's recommended to take provisions within your infrastructure to address the event on your NTP servers and those servers that consume the service, with local NTP configuration for that purpose.

NOTE: this steps must be performed on all NTP servers providing service, as well as all Solaris LDOMs

NTPv4 - Using a leap second file (Solaris 11):

Get the file from either ftp://time.nist.gov/pub/ or ftp://tycho.usno.navy.mil/pub/ntp/ and upload/copy it to /etc/inet

Go to directory /etc/inet and edit ntp.conf and include (or uncomment) this line leapfile /etc/inet/ntp.leap

Then create a symbolic link, restart the NTP service and verify is up and running.

# ln -s leap-seconds.3629404800 ntp.leap

# ls -l ntp.leap

lrwxrwxrwx   1 root     root           10:20  ntp.leap -> leap-seconds.3629404800

# svcadm restart ntp

# svcs ntp

STATE          STIME    FMRI
online          10:26:44 svc:/network/ntp:default

 Immediatelly after the service is up, verify the file was properly "installed" querying the service using ntpq.

# ntpq

ntpq> readvar 0 leapsec

leapsec=201507010000

 or look for leap_armed within the status string

# ntpq

ntpq> readvar 0

associd=0 status=0519 leap_none, sync_local, 1 event, leap_armed,

version="ntpd 4.2.5p200@1.1948-o Thu Aug 30 01:07:46 PDT 2012 (1)"

What to look for on Jun/30 or Dec/31

24 hours before the event, the NTP service will internally activate the "awareness" mechanisms, providing a couple of useful indicators in order to verify readiness. The status string will change from leap_none to leap_add_sec and the leap variable will change from 00 to 01.

ntpq> readvar 0
associd=0 status=4519 leap_add_sec, sync_local, 1 event, leap_armed,
version="ntpd 4.2.5p200@1.1948-o Thu Aug 30 01:07:46 PDT 2012 (1)",
processor="i86pc", system="SunOS/5.11", leap=01, stratum=6

 

NTPv3 - Setting leap bits via ntpq (Solaris 10):

The NTP software provided by default is version 3 and there is no support for leap file. Leap second is handled using leap bits instead.

You can set leapwarning bit up to 31 days before the Leap Second event, that would be May/31-Jun/30 or Dec/1-Dec/31 ranges; while the leapindicator bit can only be set 24 hours before the event, that is on Jun/30 or Dec/31.

ntpq> readvar 0 leapindicator
status=c011 sync_alarm, sync_unspec, 1 event, event_restart
leapindicator=00
ntpq> readvar 0 leapwarning
status=c011 sync_alarm, sync_unspec, 1 event, event_restart
leapwarning=00
ntpq>
ntpq> writevar 0 leapwarning=1
Keyid:
done! (no data returned)
ntpq> readvar 0 leapwarning
status=c011 sync_alarm, sync_unspec, 1 event, event_restart
leapwarning=01

ntpq> writevar 0 leapindicator=1
done! (no data returned)

ntpq> readvar 0 leapindicator
status=4644 leap_add_sec, sync_ntp, 4 events, event_peer/strat_chg
leapindicator=01

ntpq> readvar 0 leap
status=4644 leap_add_sec, sync_ntp, 4 events, event_peer/strat_chg
leap=01

 Note: More information on Leap Second bits can be found on MOS Document 1474401.1.

NTP versions shipped so far with Solaris 11 SuperCluster software bundle and QFSDPs started with 4.2.5, up to 4.2.8 the latest.

External References

NOTE: This are external references, highly recommended reading.

http://www.eecis.udel.edu/~mills/leap.html

References

<NOTE:1987418.1> - What Impact Will the Upcoming Leap Second Have on Java
<NOTE:1001941.1> - How to Set "leap bits" for Leap Second via ntpq(1M) in Solaris for Stratum 1 Time Servers (NTPv3)
<NOTE:1633515.1> - Time synchronization in a Rac Cluster: What to know.
<NOTE:1453523.1> - How Leap Second Affects The OS Clock on Linux and Oracle VM
<NOTE:1019692.1> - Leap Second Handling in Solaris - NTPv3 and NTPv4

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback