【Linux/RHEL8,9,10】chronyを使って時刻同期する方法・時刻同期を確認する方法まとめ

Linux

RHEL7でもchronyは標準で導入されていましたが、RHEL8からChronyのみがサポートされるようになりました。

この記事では、chronyの設定について詳細をまとめました。

Red Hat Enterprise Linux 9.xでchronyを使って時効同期する方法、時刻同期しているかを確認する方法をまとめました。

ChronyはRHEL8, RHEL9, RHEL10で使用します。

11.3. chrony の使用 | 基本的なシステム設定 | Red Hat Enterprise Linux | 9 | Red Hat Documentation
11.3. chrony の使用 | 基本的なシステム設定 | Red Hat Enterprise Linux | 9 | Red Hat Documentation

RHEL9ではchronydはデフォルトで使用できる

RHEL9ではデフォルトでchronydがデフォルトで使えます。

systemctl status chronyd

RHEL9.5で上記コマンドを実行してみた結果は以下です。

[root@RHEL95 ~]# systemctl status chronyd
* chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-12-08 16:46:17 JST; 43s ago
       Docs: man:chronyd(8)
             man:chrony.conf(5)
    Process: 861 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 910 (chronyd)
      Tasks: 1 (limit: 10736)
     Memory: 4.2M
        CPU: 63ms
     CGroup: /system.slice/chronyd.service
             `-910 /usr/sbin/chronyd -F 2

/etc/chrony.confの記載内容

以下のコマンドでchrony.confの内容を確認します。

# cat /etc/chrony.conf

RHEL9.5インストール時点でのchrony.confをcatコマンドで確認します。以下の設定値の詳細について解説してきます。

[root@localhost ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
pool 2.rhel.pool.ntp.org iburst

# Use NTP servers from DHCP.
sourcedir /run/chrony-dhcp

# 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

# Require authentication (nts or key option) for all NTP sources.
#authselectmode require

# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Save NTS keys and cookies.
ntsdumpdir /var/lib/chrony

# Insert/delete leap seconds by slewing instead of stepping.
#leapsecmode slew

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

/etc/chrony.confのパラメータ(設定値)について

/etc/chrony.confに設定するパラメータについて詳細を解説します。

allowディレクティブ

NTPサーバーとして接続されることを許可するために記載するディレクティブがallowです。

必要に応じて、NTP サーバーとして動作しているマシンへの NTP 接続が許可されるホスト、サブネット、またはネットワークを指定します。デフォルトでは、接続は許可されません。

18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

NTPサーバーとして接続されることを許可するにはfirewalldコマンドでポートを許可しておきます。

firewall-cmd --permanent --zone=public --add-port=123/udp

firewalldの詳細は以下の記事でまとめています。

cmdallowディレクティブ

コマンドでのNTPサーバーの操作を許可するディレクティブです。chronyc で cmdallow コマンドを実行します。

hwtimestampディレクティブ

hwtimestamp ディレクティブは、ハードウェアのタイムスタンプで非常に精度の高い同期を可能にします。詳細は chrony.conf(5) man ページを参照してください。

18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

localディレクティブ

local キーワードは、現在の同期ソースがない場合でも、(それをポーリングしているクライアントから見ると) chronyd がリアルタイムに同期しているように見えるようにします。このオプションは、通常、孤立したネットワークで master となるコンピューターで使用されます。ここでは、いくつかのコンピューターが相互に同期するようになり、master は、手動入力でリアルタイムと一致させます。

以下はコマンド例を示します。

local stratum 10

10 という大きな値が示しているのは基準クロックからのホップ数が非常に多いため、時間の信頼性が低いということです。基準クロックに最終的に同期している別のコンピューターにアクセスするコンピューターは、確実に 10 よりも下の階層に存在することになります。このため、local コマンドで 10 のように高い値を設定すると、リアルサーバーの視認性があるクライアントにリークしたとしても、マシン自体の時間がリアルタイムと混同することを防ぎます。

18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

logdirディレクティブ

このディレクティブは、ログファイルが書き込まれるディレクトリーを指定します。

このディレクティブの使用例は、以下のようになります。

logdir /var/log/chrony
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

makestepディレクティブ

時刻がずれた際に修正されるパラメータを調整するディレクティブです。

以下のパラメータでは、1.0秒のずれを3回検知した際にstepモードで同期します。

makestep 1.0 3

通常、chronyd は、必要に応じてクロックの速度を下げるかまたは上げることで、システムに対して時間オフセットの段階的修正を実施します。特定の状況では、このスルーイング (slewing) プロセスでシステムクロックを修正するのに非常に時間がかかり、システムクロックが不安定な状態になることがあります。このディレクティブは、調整がしきい値を上回ったときに、chronyd でシステムクロックを一度に修正 (step) します。ただし、chronyd が開始してからのクロックの更新が、指定した制限を上回らなかった場合に限ります (負の値は、制限を無効にします)。initstepslew ディレクティブは NTP のソースのみに対応しているため、この方法は基準クロックを使用しているときに特に有用です。

このディレクティブの使用例は、以下のようになります。

makestep 1000 10

この場合は、調整幅が 1000 秒よりも大きければシステムクロックが更新されますが、最初の 10 回の更新しか行われません。

18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

minsourcesディレクティブ

minsources ディレクティブは、ローカルクロックを更新する前にソース選択アルゴリズムで選択可能なものとして考慮されるべきソースの最小数を設定します。

構文は以下のようになります。

minsources number-of-sources

number-of-sources は、デフォルトでは 1 です。minsource を 1 よりも大きくすると、信頼性が向上します。複数のソースが互いに対応することが必要となるためです。

18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation
18.2. chrony の概要および設定 | システム管理者のガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

rtcsyncディレクティブ

カーネルが同期するのに使用するディレクティブです。

rtcsync ディレクティブは、デフォルトで /etc/chrony.conf ファイルにあります。これにより、システムクロックが同期されていることがカーネルに知らされ、カーネルによりリアルタイムクロックが 11 分ごとに更新されます。

chronyでの時刻同期を確認する

以下のコマンドでRHEL9がchronyを使って時刻同期しているかを確認します。

chronyc sources

このコマンドはntpdのntpq -pコマンドに当たるコマンドです。

RHEL9.5での実行例は以下です。

[root@RHEL95 ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- 138.3.209.153                 2   6   123   111  -2672us[+3524us] +/-   92ms
^- tama.paina.net                2   6    37    52   +746us[ +746us] +/-   48ms
^* ntp1.hnd.jp.hojmark.net       2   6    37    52   +416us[+6613us] +/-   38ms
^- 122x215x240x51.ap122.ftt>     2   6    37    52    +96ms[  +96ms] +/-  156ms
[root@RHEL95 ~]#

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