よくある質問・用語集

Chronyとは

Chronyは、Richard Curnow氏が開発したオープンソフトウェアで、CentOS7やRed Hat Enterprise Linux7以降、NTPサーバとNTPクライアントのデフォルトになっている。NTPのリファレンス実装であるntpdとは異なる時刻同期アルゴリズムを採用し、より効率良く正確な時刻同期を提供することができる。

Chronyと時刻同期

時刻同期の重要性

Chronyは時刻同期をする。なぜ、時刻同期が重要であるというと、システムを管理するに当たって信頼することができる基準の一つが時刻であるためである。メールで例えると、相手の時刻が誤って進んでいた場合、こちらに届くのは未来からのメールになってしまい正確な届いた時刻が不明なことから業務に支障をきたす可能性がある。また、複数のサーバからログを解析することがあったとしてもクライアント側とサーバ側で時刻が違っていると、どの通信で起きているのかの解析が困難になり、解決するのに時間を要してしまう。世界中のネットワークと共有接続するなかで、必ず共通することができるのが正しい時刻だ。そのため、時刻はあるシステムと他のシステムを関連づける重要な基準となる。時刻を合わせることは、コンピュータ間の信頼につながるため、時刻同期は必須になる。

NTPサーバの仕組み

ChronyはCentOS7やRed Hat Enterprise Linux7以降、NTPサーバとNTPクライアントのデフォルトとなっている。NTPとは、「Network Time Protocol」の略称で、ネットワークに接続された機器の時刻同期を行うためのプロトコルである。インターネット上には、時刻が正確なNTPサーバがいくつも公開・運用されている。これらのサーバにNTPクライアントが接続し時間情報を取得することで、サーバやPC内部の時刻を正しい時刻に調整することができる。取得した時刻の情報は、さらに他のサーバやPCから参照することができる。NTPサーバはstratumという階層構造になって、最上位のサーバは原子時計やGPSから正確な時刻を取得している。下位のサーバは上位のサーバに時刻の問い合わせを定期的におこなっているが、この時刻同期を行っているのがChronyである。

Chronyの特徴

  • ntpdと比べたときの特徴は以下になる。
    • Chronyは常に高速で正確に時刻同期ができる
    • Chronyはネットワークが頻繁に切断される、時刻同期が継続的に実行されない環境でも良好に機能する
    • (ntpdは良好に機能するためには時間参照の定期的なポーリングを必要となる)

    • 仮想マシンのようなシステムクロックが正確でない環境でも、柔軟に時間調整することができる
    • 温度が変わるといった様々な条件下でもすばやく適応する(ntpdは落ち着くまで時間がかかる場合がある)
    • chronydはNTPバージョン3(RFC1305)、ntpdはNTPバージョン4(RFC 5905)を使用する。(バージョン3はバージョン4と完全互換性がある)
    • ntpdは、時間のずれが大きくなると調整をすることができず、NTPサービスが停止してしまう場合がある。Chronyは大きな時間のずれが生じても、適切に対応して時刻同期する機能が備わっているためNTPサービスが停止することがない
  • Chronyの仕様

    Chronyの仕様

    Chronyはクライアントとサーバの両方の役割を持っている。 クライアントからサーバへ時刻を問い合わせすることやサーバからクライアントへ正確な時刻を伝えることができる。

    Chronyは、ユーザスペースで実行されるデーモンの chronydと、chronydの状態を閲覧したり様々なオペレーティングパラメーターを実行中に変更することに使用できるコマンドラインプログラム chronycから構成されている。

    デージーネットの取り組み

    デージーネットでは、Chronyを含むNTPサーバの設定や管理について記載したCentOSについての書籍を多数出版している。また、デージーネットでネットワークサーバを構築した際には、Chronyを含むNTPサーバの設定を行っている。

関連用語

Chronyに関連するページ(事例など)

Chronyとは先頭へ