更新日 2019/04/11 10:34

WebClass サーバの時刻設定について説明します。

前提

  • Debian 8以降およびRHEL7 以降では systemd が導入されており、そのサブセットの timedatectl コマンドを利用することができます
    • systemd のサブセットの systemd-timesyncd が ntp 同期機能を持ちますが、WebClass サーバでは ntpd を使用します。
  • Debian 8 または 9 を利用している場合は ntp 4.2 がインストールされます
  • RHEL7 を利用している場合は chrony と ntp がどちらもインストールされます
    • RHEL7 のデフォルトの時刻同期デーモンは chrony です。
    • chrony は ntp より後発のデーモンで、同期速度が速く、頻繁にネットワークから切れたりサスペンドするようなマシンで有効です

設定確認

以下のコマンドでおおよその設定状況が確認できます。

root@debian8:~# timedatectl 
      Local time: Mon 2019-04-08 10:00:12 JST
  Universal time: Mon 2019-04-08 01:00:12 UTC
        RTC time: Mon 2019-04-08 10:00:12
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: no
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

NTP enabled が no になっているのは、systemctl-timesyncd に対して ntp 同期設定を行なっていないためです。ntpd をインストールして動かしていれば、ntpd がシステムクロックを同期させてくれるので問題ありません。何れにせよ時刻同期できていれば NTP syncronized が yes になります。

root@debian8:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp-b3.nict.go. .NICT.           1 u   17   64    7   13.660   -1.149   3.735
*ntp-a2.nict.go. .NICT.           1 u   77   64   16   13.373   -6.548   3.408
+30-213-226-103- .PPS.            1 u   53   64    5   42.529   -3.167   3.163
-ntp1.jst.mfeed. 133.243.236.17   2 u   50   64   17   18.364   -6.511   4.934

ntpq の出力結果では、同期しているサーバには * のマークが、同期可能なサーバには + のマークがつきます。

NTP の設定

debian のデフォルト設定では /etc/ntp.conf では以下のようにサーバ指定されています。

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

同期する NTPサーバは server もしくは pool で指定できます。pool で指定すると、DNS ラウンドロビンにより複数のIP登録がある場合は、自動的にそれらをまとめてすべて登録します。server のように1台ずつバラバラに指定する必要がなくなります。

最後の iburst は、初回起動時に急いで同期させるオプションになります。

時刻を合わせる

iburst の指定を付けてNTPのサーバの指定ができていれば、ntp の再起動をするとすぐに時刻が揃うと思います。

参考資料