Linuxの時刻同期を設定・確認する方法|chronyc・ntpstatとズレ発生時の対処


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips > Linuxの時刻同期を設定・確認する方法|chronyc・ntpstatとズレ発生時の対処
「サーバーの時刻がズレていて、ログの調査ができない」
「chrony と ntp、どっちを使えばいいの?」
Linuxサーバーの時刻同期(NTP)は、システムの安定運用に欠かせない重要な要素です。

この記事では、Linuxで時刻同期のステータスを確認するコマンドを解説します。現代のLinux(RHEL 7/8/9、AlmaLinuxなど)で標準の chrony と、古いシステムで使われる ntp の両方に対応した確認手順をまとめました。

【この記事でわかること】

・chronyc sourcesコマンドで現在同期中のNTPサーバーを確認できる
・chronyc trackingでシステム時刻のズレ量(fast/slow)を確認できる
・古い環境(CentOS 6以前)ではntpq -pコマンドを使う
・timedatectlでOS全体の時刻同期状態を素早く確認できる

1. 【現代の標準】chronyの同期状態を確認する

CentOS 7やRHEL 7以降、Ubuntu 20.04以降など、近年のLinuxディストリビューションでは chrony(クロニー) が標準のNTPクライアントとして採用されています。

まずchronydの起動状態を確認する

chronyc コマンドを実行する前に、まず chrony のサービス(デーモン)が動いているかを確認しましょう。

# systemctl status chronyd * chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled) Active: active (running) since Mon 2026-02-24 10:00:00 JST; 3 days ago

Active: active (running) であれば正常です。停止している場合は以下のコマンドで起動してください。

# systemctl start chronyd


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

現在同期しているサーバー一覧を表示する

どのNTPサーバーと同期しているかを確認するには、chronyc sources コマンドを使用します。-v オプションを付けると、ヘッダー(項目の説明)が付いて見やすくなります。

# chronyc sources -v .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current best, '+' = combined, '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \\ | | zzzz = estimated error. || | | \\ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* ntp1.jst.mfeed.ad.jp 2 6 377 25 +456us[ +480us] +/- 20ms ^+ ntp2.jst.mfeed.ad.jp 2 6 377 24 -123us[ -123us] +/- 20ms ^? 192.168.1.100 0 7 0 - +0ns[ +0ns] +/- 0ns

■一番左の記号(状態)の意味
この記号を見るだけで、同期が正常かどうかが分かります。

記号 意味
* 現在同期中のサーバー(メイン)。これがあれば正常です。
+ 同期候補(サブ)。メインに何かあった場合に切り替わります。
? 到達不能(通信できていない)。ファイアウォールなどを確認してください。

詳細な同期ステータスを確認する

サーバーとの「時刻のズレ」や「同期してからの経過時間」など、システム全体の時刻同期状況を詳しく見るには chronyc tracking を使います。

# chronyc tracking Reference ID : 85F3ECD1 (ntp1.jst.mfeed.ad.jp) ← 同期先IPの16進数表記 Stratum : 3 Ref time (UTC) : Mon Feb 24 10:00:00 2026 System time : 0.000000001 seconds fast of NTP time Last offset : +0.000000002 seconds RMS offset : 0.000000005 seconds

System time の項目を見ることで、NTPサーバーに対して自サーバーの時刻がどれくらいズレているか(fast/slow)を確認できます。

【トラブル】「506 Cannot talk to daemon」エラーが出る場合

# chronyc sources 506 Cannot talk to daemon

このエラーは chronyd サービスが停止しているか、インストールされていない場合に表示されます。

サービスが停止している場合:systemctl start chronyd で起動してください。
chronyがインストールされていない場合:dnf install chrony でインストール後、systemctl enable --now chronyd で有効化してください。

2. 【古い環境】ntpの同期状態を確認する

CentOS 6以前や、意図的に ntp パッケージをインストールして使っている環境では、ntpq コマンドを使用します。

ntpq -p コマンドで一覧表示

# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp1.jst.mfeed. 133.243.238.163 2 u 45 64 377 15.123 0.123 0.456 +ntp2.jst.mfeed. 133.243.238.164 2 u 40 64 377 14.890 -0.567 0.123

■一番左の記号の意味
chronyと同様に、左端の記号が重要です。

記号 意味
* 現在同期中のサーバー(正常)
+ 同期候補のサーバー(正常)
(空白) 同期の対象外(通信はできているが品質が低いなど)

3. OS全体の時刻設定を確認する(timedatectl)

chronyntp が動いているかどうかも含めて、OSの時刻設定全体をサクッと確認したい場合は timedatectl コマンドが便利です。

# timedatectl Local time: Mon 2026-02-24 10:00:00 JST Universal time: Mon 2026-02-24 01:00:00 UTC RTC time: Mon 2026-02-24 01:00:00 Time zone: Asia/Tokyo (JST, +0900) NTP enabled: yes NTP synchronized: yes

NTP synchronized: yes となっていれば、時刻同期は正常に機能しています。

4. chrony.confの主要パラメータと設定例

chronydの設定ファイルは /etc/chrony.conf(RHEL系)または /etc/chrony/chrony.conf(Debian/Ubuntu系)です。設定を変更した後は systemctl restart chronyd で反映します。

主要パラメータ一覧

# NTPサーバーを個別指定(iburst: 初回同期を高速化) server ntp.nict.jp iburst # NTPプール(複数サーバーを自動選択) pool pool.ntp.org iburst # 起動直後に大きなズレ(1秒以上)があれば即時補正する # 以降は通常の段階補正に切り替え("3 -1" は3回まで即時補正を許可) makestep 1.0 3 # ハードウェアクロック(RTC)との同期 rtcsync # ログ出力先 logdir /var/log/chrony

■よく使うパラメータの意味

パラメータ 説明
server NTPサーバーを1台指定する。iburstを付けると初回同期が速くなる
pool NTPプールを指定する。複数台のサーバーが自動で割り当てられる
iburst 最初の問い合わせを集中して送り、初期同期を高速化するオプション
makestep 起動時に大きなズレがある場合に即時補正する。引数は「閾値(秒)」と「許可回数」
rtcsync システム時刻をRTC(ハードウェアクロック)に定期的に書き戻す

設定変更後の確認手順

# 設定ファイルを編集後、chronydを再起動 systemctl restart chronyd # 同期が開始されているか確認(* が付いていればOK) chronyc sources -v

5. NTPプールの選び方

NTPサーバーの選択は、応答速度・安定性・地域的な近さで決まります。本番環境では複数のサーバーを組み合わせるのが基本です。

主要なNTPサーバー・プール


サーバー / プール 特徴 推奨用途
ntp.nict.jp 国立研究開発法人 情報通信研究機構(NICT)が運営する国内公式サーバー。高精度で安定 国内本番サーバー(第1候補)
pool.ntp.org 世界中のNTPサーバーのプール。地域に近いサーバーが自動で割り当てられる 汎用・開発環境・海外サーバー
asia.pool.ntp.org アジア地域のプール。日本からの応答速度が比較的速い アジア圏の汎用サーバー
time.aws.com AWS提供のNTPサービス。EC2インスタンスからは最も低レイテンシー AWS EC2環境(第1候補)
time.google.com Googleが提供するNTPサーバー。うるう秒を徐々に吸収するSmear対応 GCP環境、汎用

国内本番環境での推奨設定例

# RHEL/AlmaLinux/Rocky Linux の /etc/chrony.conf 推奨設定 # nict.jpを第1候補、pool.ntp.orgをバックアップとして使用 server ntp.nict.jp iburst pool pool.ntp.org iburst makestep 1.0 3 rtcsync logdir /var/log/chrony

6. systemd-timesyncdとchronyの使い分け

Linuxの時刻同期ツールには chronysystemd-timesyncd の2つが広く使われています。どちらを選ぶかはディストリビューションと用途で決まります。

systemd-timesyncd とは

systemd-timesyncdはsystemdに内蔵された軽量なNTPクライアントです。追加インストールが不要で、Ubuntuなどのデスクトップ・軽量サーバー環境ではデフォルトで有効になっています。NTPサーバーへの問い合わせ(クライアント機能)のみで、NTPサーバー機能は持ちません。

chrony vs systemd-timesyncd の比較


比較項目 chrony systemd-timesyncd
同期精度 高い(マイクロ秒レベル) 標準(サーバー用途には十分)
NTPサーバー機能 あり(ローカルNTPサーバーとして動作可) なし(クライアント専用)
設定ファイル /etc/chrony.conf /etc/systemd/timesyncd.conf
デフォルト採用 RHEL 7以降、AlmaLinux、Rocky Linux Ubuntu 18.04以降(デスクトップ・軽量環境)
同時起動 不可(どちらか一方を使う)

どちらを使うべきか

RHEL/AlmaLinux/Rocky Linux系:chronydが標準。追加インストール不要でそのまま使う
Ubuntu(本番サーバー):精度や複数サーバー管理が必要なら chrony をインストールして systemd-timesyncd を停止する
Ubuntu(開発・軽量環境):systemd-timesyncdで十分。設定不要で使える

Ubuntu でchronyに切り替える手順

# Ubuntu で chrony に切り替える # 1. systemd-timesyncdを停止・無効化 systemctl stop systemd-timesyncd systemctl disable systemd-timesyncd # 2. chrony をインストール・有効化 apt install -y chrony systemctl enable --now chrony # 3. 同期確認 chronyc sources -v

systemd-timesyncd の同期状態確認

systemd-timesyncdを使っている環境では timedatectl または以下のコマンドで確認します。

# systemd-timesyncd の同期状態を確認 timedatectl show-timesync --all # または systemctl status systemd-timesyncd

本記事のまとめ

環境・目的 確認コマンド / 設定
chronydの起動状態を確認する systemctl status chronyd
現代の標準(chrony)同期サーバーの確認 chronyc sources -v
chronyの詳細な時刻ズレを確認する chronyc tracking
古い環境(ntp)同期サーバーの確認 ntpq -p
OS全体の時刻設定を簡易確認する timedatectl
chrony.conf にNICTサーバーを設定する server ntp.nict.jp iburst
起動時の大きなズレを即時補正する makestep 1.0 3(chrony.conf)
Ubuntu で chrony に切り替える systemctl disable systemd-timesyncd → chrony インストール

Linuxサーバーの時刻管理を体系的に学びたい方へ

時刻同期の設定ミスはログ調査を困難にしたり、SSL証明書エラーを引き起こす原因になります。正確に設定・確認できるスキルを身につけましょう。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。