このセクションでは、Openstack のサービスをノード間で正しく同期するために、推奨されるノード間での時刻同期の設定について紹介します。

コントローラーノード

コントローラーノードに Chrony がインストールされていることを確認します。標準でインストールされているはずですが、インストールされていない場合は、yum install chrony でインストールして下さい。

[root@controller ~]# rpm -qa | grep chrony
chrony-3.2-2.el7.x86_64
[root@controller ~]# 

chronyの設定ファイル( /etc/chrony.conf )を編集し、他のノードがコントローラーノードの時刻と同期できるようにします。

[root@controller ~]# vi /etc/chrony.conf 
# Allow NTP client access from local network. 
の下に以下設定を追加
allow 192.168.24.0/24

Chrony の自動起動を有効化します。

■ 自動起動の有効化
[root@controller ~]# systemctl enable chronyd
[root@controller ~]# 

■ 自動起動の状態確認
[root@controller ~]# systemctl is-enabled chronyd
enabled
[root@controller ~]# 

Chrony を再起動します。

■ 再起動
[root@controller ~]# systemctl restart chronyd
[root@controller ~]# 

■ 起動状態の確認
[root@controller ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 月 2018-10-22 09:59:24 JST; 7s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 24998 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 24994 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 24996 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─24996 /usr/sbin/chronyd

10月 22 09:59:24 controller systemd[1]: Starting NTP client/server...
10月 22 09:59:24 controller chronyd[24996]: chronyd version 3.2 starting (+...)
10月 22 09:59:24 controller chronyd[24996]: Frequency 33.699 +/- 0.122 ppm ...t
10月 22 09:59:24 controller systemd[1]: Started NTP client/server.
10月 22 09:59:29 controller chronyd[24996]: Selected source 133.243.238.163
10月 22 09:59:31 controller chronyd[24996]: Selected source 202.181.103.212
Hint: Some lines were ellipsized, use -l to show in full.
[root@controller ~]# 

コンピュートノード

コンピュートノードに Chrony がインストールされていることを確認します。

[root@compute1 ~]# rpm -qa | grep chrony
chrony-3.2-2.el7.x86_64
[root@compute1 ~]# 

chronyの設定ファイル( /etc/chrony.conf )を編集し、コントローラーノードに時刻の同期を行うようにします。 初期値の NTP 参照先サーバーの設定はコメントアウトします。

[root@compute1 ~]# vi /etc/chrony.conf 
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server controller iburst

Chrony の自動起動を有効化します。

■ 自動起動の有効化
[root@compute1 ~]# systemctl enable chronyd
[root@compute1 ~]# 

■ 自動起動の状態確認
[root@compute1 ~]# systemctl is-enabled chronyd
enabled
[root@compute1 ~]# 

Chrony を再起動します。

■ 再起動
[root@compute1 ~]# systemctl restart chronyd
[root@compute1 ~]# 

■ 起動状態の確認
[root@compute1 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 月 2018-10-22 10:16:10 JST; 5s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 26753 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 26749 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 26751 (chronyd)
    Tasks: 1
   CGroup: /system.slice/chronyd.service
           └─26751 /usr/sbin/chronyd

10月 22 10:16:09 compute1 systemd[1]: Starting NTP client/server...
10月 22 10:16:10 compute1 chronyd[26751]: chronyd version 3.2 starting (+CM...)
10月 22 10:16:10 compute1 chronyd[26751]: Frequency 34.302 +/- 1.306 ppm re...t
10月 22 10:16:10 compute1 systemd[1]: Started NTP client/server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@compute1 ~]# 

ブロックストレージノード

ブロックストレージノードに Chrony がインストールされていることを確認します。

[root@block1 ~]# rpm -qa | grep chrony
chrony-3.2-2.el7.x86_64
[root@block1 ~]# 

chronyの設定ファイル( /etc/chrony.conf )を編集し、コントローラーノードに時刻の同期を行うようにします。 初期値の NTP 参照先サーバーの設定はコメントアウトします。

[root@block1 ~]# vi /etc/chrony.conf 
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server controller iburst

Chrony の自動起動を有効化します。

■ 自動起動の有効化
[root@block1 ~]# systemctl enable chronyd
[root@block1 ~]# 

■ 自動起動の状態確認
[root@block1 ~]# systemctl is-enabled chronyd
enabled
[root@block1 ~]# 

Chrony を再起動します。

■ 再起動
[root@block1 ~]# systemctl restart chronyd
[root@block1 ~]# 

■ 起動状態の確認
[root@block1 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 月 2018-10-22 10:22:38 JST; 14s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 29328 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 29324 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 29326 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─29326 /usr/sbin/chronyd

10月 22 10:22:38 block1 systemd[1]: Starting NTP client/server...
10月 22 10:22:38 block1 chronyd[29326]: chronyd version 3.2 starting (+CMDM...)
10月 22 10:22:38 block1 chronyd[29326]: Frequency 33.656 +/- 0.078 ppm read...t
10月 22 10:22:38 block1 systemd[1]: Started NTP client/server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@block1 ~]# 

動作検証

コントローラーノードで、時刻同期されていることを確認します。MS の S 列の * は、対象の NTP サーバーと時刻同期されていることを表しています。

[root@controller ~]# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- x.ns.gin.ntt.net              2   8   377    26  +1997us[+1771us] +/-   84ms
^* ntp-b2.nict.go.jp             1   8   377    26   -654us[ -879us] +/- 9179us
^- sv1.localdomain1.com          2   7   367    25  +1082us[+1082us] +/-   45ms
^- ntp1.jst.mfeed.ad.jp          2   8   377    26  +2392us[+2392us] +/-   87ms
[root@controller ~]# 

コンピュートノードが、コントローラーノードと時刻同期できていることを確認します。MS の S 列の * は、対象の NTP サーバーと時刻同期されていることを表しています。

[root@compute1 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* controller                    2   6    17    23  -8397ns[  -40us] +/- 9933us
[root@compute1 ~]# 

ブロックストレージノードが、コントローラーノードと時刻同期できていることを確認します。MS の S 列の * は、対象の NTP サーバーと時刻同期されていることを表しています。

[root@block1 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* controller                    2   6    17    47    -10us[  -33us] +/- 9812us
[root@block1 ~]#