[Oracle Cloud] NTPサービス構成に関するメモ(DBaaS編)

本記事の目的

前回の記事にて、Oracle標準イメージのOracle Linux 7.xにて構築したCompute Instance環境では、時刻同期サービスであるchronyがデフォルトで設定されていることを確認しました。

次に、同じくOracle Linux7.xで構成されるDBaaS 19c環境でのchronyの設定状況およびインストール手順を確認してみました。

 

DBaaSにおけるNTPサービスの設定指針

OCI Database(DBaaS)の環境においても、以下のマニュアルに記載の通りNTPサービスの利用が推奨されています。

マニュアル「DBシステムの構成」-ネットワーク・タイム・プロトコル
https://docs.oracle.com/cd/E97706_01/Content/Database/Tasks/configuringDB.htm
より、

1ノードのDBシステムでNetwork Time Protocol (NTP)デーモンを実行して、再起動時にシステム・クロックを安定させることをお薦めします。 NTPデーモンに関する情報が必要な場合は、「RHEL/CentOS 7のNTP (Network Time Protocol)サーバーの設定」を参照してください。

2ノードのRAC DBシステムの両方のノードでNTPを構成して、ノード間の時間を同期することをお薦めします。 NTPを構成しないと、Oracle ClusterwareはCTSS (Cluster Time Synchronization Service)を構成して使用します。クラスタ時間は、時間同期にNTPを使用するアプリケーションと同期していない可能性があります。

ちなみに、上記マニュアルではNTPDデーモンへの設定手順へのリンク(しかも謎のブログ記事?)が貼られていますが、先の記事に記載した通り、今後はchronyの利用が推奨となるはず。

 

DBaaS環境へのchrony設定

以下の記事で紹介した通り、DBaaSでDBバージョンを利用した場合はOSはLinux7.xベースとなります。

[Oracle Cloud] Oracle Database 19c on DBaaS(VM) Now Available!!

 

が、Compute Instanceの場合と異なり、DBaaSの場合はLinux7.xベースの環境においてもchronyはデフォルトで設定されていませんでした(残念!)

※2019年8月時点での確認結果であり、今後変わる可能性あり(と期待)

 

というわけで、手動でchronyをインストール&設定してみました。

 

環境

[root@dbvm01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)

 

パッケージインストール

[root@dbvm01 ~]# yum install chrony

 

設定ファイルの確認&変更

[root@dbvm01 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.pool.ntp.org iburst★
server 1.pool.ntp.org iburst★
server 2.pool.ntp.org iburst★
server 3.pool.ntp.org iburst★

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# 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

# 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

⇒NTPサーバとして外部サーバが設定されている
⇒Compute Instanceのデフォルトと同様、stepモードが有効となっている

 

ここでは以下の動作となるよう設定ファイルを修正します。
・NTPサーバをCompute Instanceと同様に「169.254.169.254 」のみを指定
・時刻同期モードをslewモードへ変更

修正箇所抜粋

#server 0.pool.ntp.org iburst ←コメントアウト
#server 1.pool.ntp.org iburst ←コメントアウト
#server 2.pool.ntp.org iburst ←コメントアウト
#server 3.pool.ntp.org iburst ←コメントアウト
server 169.254.169.254 iburst ←追加

#makestep 1.0 3 ←コメントアウト
leapsecmode slew ←追加

 

chronyサービス起動&ステータス確認

[root@dbvm01 ~]# systemctl start chronyd

[root@dbvm01 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-08-17 13:44:05 UTC; 5s ago★
Docs: man:chronyd(8)
man:chrony.conf(5)
Process: 86011 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
Process: 86005 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 86007 (chronyd)
CGroup: /system.slice/chronyd.service
└─86007 /usr/sbin/chronyd

Aug 17 13:44:05 dbvm01 systemd[1]: Starting NTP client/server...
Aug 17 13:44:05 dbvm01 chronyd[86007]: chronyd version 3.4 starting (+CMDMO...G)
Aug 17 13:44:05 dbvm01 chronyd[86007]: Could not open IPv6 command socket :...ol
Aug 17 13:44:05 dbvm01 chronyd[86007]: Initial frequency -28.029 ppm
Aug 17 13:44:05 dbvm01 systemd[1]: Started NTP client/server.
Hint: Some lines were ellipsized, use -l to show in full.

⇒起動成功

 

 

同期NTPサーバの確認

[root@dbvm01 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.169.254 2 6 7 0 +28us[ -50us] +/- 17ms

 

 

トラッキング情報の確認

[root@dbvm01 ~]# chronyc tracking
Reference ID : A9FEA9FE (169.254.169.254)
Stratum : 3
Ref time (UTC) : Sat Aug 17 13:56:43 2019
System time : 0.000000022 seconds fast of NTP time
Last offset : -0.000024474 seconds
RMS offset : 0.000024474 seconds
Frequency : 27.525 ppm slow
Residual freq : -1.266 ppm
Skew : 5.330 ppm
Root delay : 0.000585816 seconds
Root dispersion : 0.017448600 seconds
Update interval : 2.0 seconds
Leap status : Normal

 

 

DBaaSのデフォルト状態(2019/9/3追記)

DBaaSのデフォルト状態ではntpdが有効化されている状態なので、そのままntpdを利用することも可能です。

以下、chronyインストールを試したのとは別の環境ですが、DBaaS環境での確認結果↓

パッケージ確認

[opc@db19c ~]$ yum list installed | grep chrony
[opc@db19c ~]$ yum list installed | grep ntp
fontpackages-filesystem.noarch  1.44-8.el7                  @odadom1
ntp.x86_64                      4.2.6p5-28.0.1.el7          @odadom1
ntpdate.x86_64                  4.2.6p5-28.0.1.el7          @odadom1
[opc@db19c ~]$

⇒デフォルトでntpdの方はインストールされている。

 

起動ステータス確認

[root@db19c ~]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-09-02 04:14:33 UTC; 4h 14min ago★
 Main PID: 70339 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─70339 /usr/sbin/ntpd -u ntp:ntp -g

Sep 02 04:14:33 db19c ntpd[70339]: Listen normally on 1 lo 127.0.0.1 UDP 123
Sep 02 04:14:33 db19c ntpd[70339]: Listen normally on 2 ens3 10.0.0.19 UDP 123
Sep 02 04:14:33 db19c ntpd[70339]: Listen normally on 3 ens4 192.168.16.18 ...23
Sep 02 04:14:33 db19c ntpd[70339]: Listening on routing socket on fd #20 fo...es
Sep 02 04:14:34 db19c ntpd[70339]: 0.0.0.0 c016 06 restart
Sep 02 04:14:34 db19c ntpd[70339]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Sep 02 04:14:34 db19c ntpd[70339]: 0.0.0.0 c011 01 freq_not_set
Sep 02 04:14:40 db19c ntpd[70339]: 0.0.0.0 c614 04 freq_mode
Sep 02 04:32:11 db19c ntpd[70339]: 0.0.0.0 0612 02 freq_set kernel 39.685 PPM
Sep 02 04:32:11 db19c ntpd[70339]: 0.0.0.0 0615 05 clock_sync
Hint: Some lines were ellipsized, use -l to show in full.

⇒デフォルトで起動

 

NTPサーバ確認

[root@db19c ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+t2.time.bf1.yah 98.139.133.62    2 u  431 1024  377  174.225   -8.717   1.265
+ntp.xtom.com    204.123.2.5      2 u  353 1024  377  110.917   -8.434   1.248
-static-72-87-88 18.26.4.105      2 u  237 1024  377  181.601   -6.733   1.493
+vps5.ctyme.com  216.218.254.202  2 u  288 1024  377  107.283   -9.110   1.740
*169.254.169.254 192.168.0.151    2 u  493 1024  377    0.290   -9.603   1.123

⇒「169.254.169.254」と同期

 

起動オプション確認

[opc@db19c ~]$ cat /etc/sysconfig/ntpd
# Command line options for ntpd
OPTIONS="-g"
[opc@db19c ~]$

⇒slewモードは付いてない。

 

 

参考文書

・平成29年(2017年) 1月1日(日) に挿入される うるう秒に備えて 

 

 

おまけ

 

 

 

 

以上

スポンサードリンク

1 Trackback / Pingback

  1. [Oracle Cloud] NTPサービス構成に関するメモ(Compute Instance編) - IT Edge Blog

Leave a Reply

Your email address will not be published.


*