【RHEL/CentOS】chrony による NTP 設定について

インフラサーバ

はじめに

Red Hat Enterprise Linux や CentOS で NTP サービスを提供する chrony について記載します。

chrony を使用すると以下のようなことができます。

  • システムクロックを NTP サーバと同期する
  • 自身を NTP サーバとしてネットワーク内の他の端末にタイムサービスを提供する

作業環境

  • Red Hat Enterprise Linux 7.3
  • chrony 3.4

パッケージインストール

chrony パッケージが必要なため、インストールされていない場合は以下コマンドでインストールします。

yum -y install chrony

サービスの起動

以下コマンドでサービスを起動させます。

systemctl start chronyd

以下コマンドでサービスを有効化します(自動起動するようになる)。

systemctl enable chronyd

設定ファイルの編集

chronyd の設定ファイルは /etc/chrony.conf です。

/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.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.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

主な設定項目

項目値の書式説明
server<IP|ホスト名> [オプション]同期先の NTP サーバを指定
driftfileファイルパスレート情報の保存先ファイルを指定
makestepしきい値(秒) 更新回数システムクロックの調整しきい値と調整回数上限を指定
rtcsyncカーネルによりリアルタイムクロックが
11 分ごとに更新される
logdirディレクトリパスログファイルが保存されるディレクトリを指定
allowIP自身を NTP サーバとして動作させる際に
アクセスを許可する NTP
クライアントを指定
peer<server と同じ>ピアとは互いにサーバとクライアントの
両方になることができる
local[オプション]NTPサーバとして動作している chronyd が
同期されていない場合や最終同期が長時間前の場合でも、
NTP クライアントからはリアルタイムで
同期されているように見える
leapsecmodeモードうるう秒の修正方法を指定

server ディレクティブの主なオプション

オプション値の書式説明
iburstchronyd 開始直後に最初の時計の更新を行う
burstサーバーから適切な測定値を取得できない場合
最大4つのリクエスト間の間隔を2秒以下に短縮
trustこのソースからの時間が常に真であると想定される

local ディレクティブのオプション

オプション値の書式説明
stratumstratum値ローカル参照がアクティブなときにクライアントに報告されるサーバの層を設定
デフォルト値:10
値の範囲:1~15
distancedistance値ローカル参照をアクティブにするルート距離のしきい値を設定
chronyd が何らかのソースに同期された場合、ローカル距離はそのルート距離が
指定された値に達するまでアクティブ化されない
デフォルト値:1(秒)
[距離]=[遅延]/ 2 +[分散]

leapsecmode ディレクティブのオプション

オプション説明
systemうるう秒を挿入する場合、システムクロックが 00:00:00 UTC になると
カーネルがシステムクロックを 1 秒戻す。
逆にうるう秒を削除する場合、システムクロックが 23:59:59 UTC になると

カーネルがシステムクロックを 1 秒進める。
stepカーネルではなく chronyd によってクロックがステップされることを除いて、
system モードと同様
slewうるう秒を挿入する場合、ずれを補正するために単位時間あたりに進む時刻を調整し、
徐々に同期する
ignoreうるう秒の修正は行われない

設定変更の反映

設定変更を反映させるためには以下コマンドを実行して chronyd を再起動させます。

systemctl restart chronyd

参考資料

第18章 chrony スイートを使用した NTP 設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.
chrony – chrony.conf(5)

―――――――――――――

タイトルとURLをコピーしました