chrony(chronyd)のコマンドの使い方

chrony(chronyd)のコマンドの使い方 をまとめる。Linuxでよく使われる時刻同期ユーティリティ chrony(chronyd)のコマンドの使い方、同期状態の確認方法、設定の一連の流れをまとめました。https://chrony-project.org/


1. 同期状態の確認コマンド(最重要)

設定後に正しく時刻同期されているか確認するためのメインコマンドです。

  • 全体の同期ステータスを表示するbashchronyc tracking コードは注意してご使用ください。
    • チェックポイント: Leap status が Normal になっているか、Stratum が適切な値(通常2〜4程度)か、Ref time が現在の時刻に近いかを確認します。
  • 同期先サーバーの一覧と状態を表示するbashchronyc sources -v コードは注意してご使用ください。
    • チェックポイント: サーバー名の先頭にある記号(Mの列)を確認します。
      • ^* (キャレットとアスタリスク): 現在時刻同期中のメインサーバー(これが表示されていれば正常です)。
      • ^+ (キャレットとプラス): 同期可能な控えのサーバー。
      • ^? (キャレットとハテナ): 通信できない、または同期対象外のサーバー。
  • 同期先サーバーの到達性や詳細な統計を表示するbashchronyc sourcestats -v コードは注意してご使用ください。
    • 各サーバーとの通信品質や、時間のズレの変動(ピア誤差)を確認できます。

2. 基本的な管理コマンド

chrony サービスの起動や停止、設定反映は systemctl コマンドを使用します。

  • サービスの起動: sudo systemctl start chronyd
  • サービスの停止: sudo systemctl stop chronyd
  • サービスの再起動(設定変更後の反映): sudo systemctl restart chronyd
  • 自動起動の有効化: sudo systemctl enable chronyd
  • サービス稼働状態の確認: systemctl status chronyd

3. 初期設定の流れ(追加・変更方法)

新しいNTPサーバー(同期先)を追加・変更したい場合の手順です。

  1. 設定ファイルを開くbashsudo vi /etc/chrony.conf コードは注意してご使用ください。(UbuntuやDebianの一部バージョンでは /etc/chrony/chrony.conf の場合があります)
  2. 同期先サーバーを指定する(追加)
    既存の pool や server の記述をコメントアウトするか、追記します。text# 日本の公開NTPプールを指定する場合の例 pool ntp.nict.jp iburst コードは注意してご使用ください。
    • ※ iburst オプションを付けると、サービス起動時に高速で同期を試みるため必須です。
  3. 設定を反映させる
    ファイルを保存して閉じたら、サービスを再起動します。bashsudo systemctl restart chronyd コードは注意してご使用ください。
  4. 確認する
    数秒〜数十秒待ってから、再度確認コマンドを実行します。bashchronyc sources コードは注意してご使用ください。指定したサーバーの行の先頭に ^* が付けば設定完了です。

4. 知っておくと便利な応用コマンド

  • 手動で強制的に時刻を即座に同期させる(ステップ調整)
    大幅に時刻がズレている場合、通常は徐々に時間を合わせる(スルー調整)ため時間がかかります。一瞬で合わせたい場合は以下を実行します。bashsudo chronyc makestep コードは注意してご使用ください。
  • 手動でNTPサーバーを一時的に追加する(設定ファイルに書かない方法)bashsudo chronyc add server <サーバーのIP/ホスト名> iburst コードは注意してご使用ください。
  • 手動で追加したNTPサーバーを削除するbashsudo chronyc delete server <サーバーのIP/ホスト名> コードは注意してご使用ください。

さらに詳しく知りたい特定の操作(例:chronyをNTPサーバー化して他のPCに時刻を配信したい、手動で時刻がズレる原因を調査したいなど)があれば、具体的な状況を教えてください!