Ubuntu 26.04 Server では、ログの時系列、TLS 証明書の有効期限判定、監視、クラスタ構成、認証基盤の動作に時刻同期が強く関係します。時刻がずれると、サービス自体は起動していても、原因が見えにくい障害になります。
この記事では、chrony を使って NTP による時刻同期を構成し、/etc/chrony/chrony.conf、chrony.service、chronyc sources、chronyc tracking で状態を確認する基本をまとめます。
chronyパッケージの導入/etc/chrony/chrony.confの基本設定- NTP server、
iburst、preferの考え方 driftfile、rtcsync、makestep、leapsectz、logdirchronyc sourcesとchronyc trackingによる確認
| 対象 OS | Ubuntu 26.04 Server |
|---|---|
| パッケージ | chrony |
| サービス | chrony.service |
| 設定ファイル | /etc/chrony/chrony.conf |
| 確認コマンド | chronyc sources、chronyc tracking |
chrony で見るポイント
chrony は NTP クライアントとして上位の時刻サーバーを参照し、ローカルシステムの時刻を継続的に補正します。単にサービスが active であることだけでなく、どの server を参照しているか、同期済みか、どの程度ずれているかを確認することが重要です。
chrony.serviceが起動している/etc/chrony/chrony.confに参照先 server が設定されているchronyc sourcesで同期候補と選択状態を確認できるchronyc trackingで offset、stratum、leap status を確認できる- DNS 解決、UDP 123 番、ファイアウォール、経路を合わせて確認する
chrony をインストールする
まず chrony パッケージを導入し、サービス状態を確認します。Ubuntu 26.04 では systemd 管理の chrony.service として扱います。
sudo apt update
sudo apt install -y chrony
systemctl status chrony.service --no-pager
chronyc -vchrony.conf を設定する
/etc/chrony/chrony.conf では、参照する NTP server、driftfile、RTC 反映、起動直後の時刻補正、うるう秒情報、ログディレクトリを定義します。
server ntp.example.com iburst prefer
driftfile /var/lib/chrony/chrony.drift
rtcsync
makestep 1 3
leapsectz right/UTC
logdir /var/log/chrony複数の時刻サーバーを指定する
本番環境では、単一の時刻サーバーだけに依存しない構成が安全です。複数の server を指定し、優先したい参照先に prefer を付けます。
server ntp1.example.com iburst prefer
server ntp2.example.com iburst
server ntp3.example.com iburst
driftfile /var/lib/chrony/chrony.drift
rtcsync
makestep 1 3
leapsectz right/UTC
logdir /var/log/chrony設定を反映する
設定を変更したら chrony.service を再起動します。再起動後はサービス状態とログを確認します。
sudo systemctl restart chrony.service
sudo systemctl enable chrony.service
systemctl status chrony.service --no-pager
journalctl -u chrony.service --no-pager -n 100同期元を確認する
chronyc sources では、参照している NTP server と選択状態を確認できます。^* が現在選択されている同期元、^+ が利用可能な候補です。
chronyc sources
chronyc sources -v
chronyc activity同期状態を確認する
chronyc tracking では、stratum、system time、last offset、RMS offset、frequency、leap status などを確認できます。証明書やログのトラブル時は、ここで大きな時刻ずれがないか見ます。
chronyc tracking
timedatectl status
date -u
dateDNS と通信経路を確認する
NTP server を FQDN で指定している場合、名前解決できなければ同期できません。また、外部または内部 NTP server へ UDP 123 番で到達できる必要があります。
resolvectl query ntp.example.com
ip route get 192.0.2.123
sudo tcpdump -ni any 'udp port 123'
chronyc sources時刻が大きくずれている場合を見る
makestep 1 3 は、起動直後の数回に限り、大きなずれを段階的な補正ではなく step で修正できるようにする設定です。常時大きくずれる場合は、NTP server、ネットワーク、仮想化基盤の時計、ホスト OS 側の時刻も確認します。
chronyc tracking
chronyc sourcestats
timedatectl timesync-status
dmesg | grep -i clock運用前の確認ポイント
chronyパッケージが導入されている/etc/chrony/chrony.confに参照先 server が設定されているchrony.serviceが active になっているchronyc sourcesで同期元を確認できるchronyc trackingで leap status と offset を確認できる- FQDN 指定の場合は DNS 解決を確認している
- UDP 123 番の通信経路とファイアウォールを確認している
まとめ
Ubuntu 26.04 の chrony 基本設定では、chrony を導入し、/etc/chrony/chrony.conf に NTP server、driftfile、rtcsync、makestep、leapsectz、logdir を設定します。
時刻同期は地味ですが、ログ、証明書、認証、クラスタ、監視の前提です。chronyc sources と chronyc tracking を見て、サービス状態だけでなく実際の同期状態まで確認できるようにしておくと、障害時の切り分けがずっと楽になります。

