[Linux] ntpからchronyに移行する

サーバやLinux端末、ネットワーク機器などの時刻合わせとしてこれまでNTPが広く利用されてきましたが、最近ではより高速で正確なChronyが普及しつつあります。CentOSなどディストリビューションによっては最初からインストールされているようです。NTPから移植されていない機能もあるようですが、サーバ自身の時刻を合わせるだけであればChronyで必要十分です。

今回はAmazonLinuxの1系を利用しているサーバをNTPからChronyへ移管したいと思います。

ntpdを停止する

デーモンを停止

まずはntpdが現在起動しているか確認します。してますね。

$ service ntpd status
ntpd (pid  27308) is running...

これを停止させます。

$ sudo service ntpd stop
Shutting down ntpd:                                        [  OK  ]

$ service ntpd status
ntpd is stopped

自動起動をOFF

chkconfigで確認すると自動起動がONになってます。

$ chkconfig --list | grep ntpd
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

これをOFFにして再起動などを行った際に再び起動するのを防ぎます。

$ sudo chkconfig ntpd off


$ chkconfig --list | grep ntpd
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off

ntpdを削除

ntpdが存在した状態でchronyを入れようとすると、依存関係のエラーが発生してインストールができません。

$ sudo yum -y install chrony
()
--> 衝突を処理しています: chrony-3.2-1.26.amzn1.x86_64 は ntp と衝突しています
--> 依存性解決を終了しました。
エラー: chrony conflicts with ntp-4.2.8p12-1.39.amzn1.x86_64

というわけでntpdを削除しておきます。

$ sudo yum erase ntp*

chronyを導入

インストール

yumで一発です。

$ sudo yum install chrony

起動

特に設定することなくchronydを起動すれば、自動的に時刻の同期が始まります。

$ sudo service chronyd start

念のためプロセスが存在するかも確認。

$ ps aux | grep chrony
chrony   27744  0.0  0.3 103040  3356 ?        S    16:05   0:00 /usr/sbin/chronyd

忘れないうちに自動起動の設定も行っておきます。

$ sudo chkconfig chronyd on

$ chkconfig --list | grep chronyd
chronyd         0:off   1:off   2:on    3:on    4:on    5:on    6:off

設定としては以上です。あっという間でしたね。

設定ファイル

必要があれば/etc/chrony.confで設定の変更が行なえます。 以下はAmazon Linuxのデフォルトの物です。169.254.169.123はAmazonが公式に提供している物ですので、AWS環境下で運用しているのであれば何らかの事情がなければ変更しなくても大丈夫です。

# use the local instance NTP service, if available
server 169.254.169.123 prefer iburst

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
pool 2.amazon.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

# Allow NTP client access from local network.
#allow 192.168.0.0/16

# 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

# save data between restarts for fast re-load
dumponexit
dumpdir /var/run/chrony

参考ページ