このチュートリアルでは、 Chronyをインストールして構成する方法について説明します。 、Unixライクなシステム用の代替NTPクライアントおよびサーバー。 Chronyは、システムクロックをより高速に同期し、時間の精度を高めることができます。これは、常にオンラインではないシステムに特に役立ちます。 Chronyは無料のオープンソースであり、GNU / LinuxおよびFreeBSD、NetBSD、macOS、SolarisなどのBSDバリアントをサポートしています。
Chronyのインストール
Chronyは、ほとんどのLinuxディストリビューションのデフォルトのリポジトリで利用できます。 Arch Linuxを使用している場合は、次のコマンドを実行してインストールします。
$ sudo pacman -S chrony
Debian、Ubuntu、Linux Mintの場合:
$ sudo apt-get install chrony
Fedoraの場合:
$ sudo dnf install chrony
インストールしたら、 chronyd.serviceを開始します まだ起動されていない場合はデーモン:
$ sudo systemctl start chronyd.service
コマンドを使用して、再起動するたびに自動的に起動するようにします:
$ sudo systemctl enable chronyd.service
Chronyd.serviceが開始されているかどうかを確認するには、次のコマンドを実行します。
$ sudo systemctl status chronyd.service
すべて問題がなければ、次のような出力が表示されます。
● chrony.service - chrony, an NTP client/server Loaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: ena Active: active (running) since Wed 2018-10-17 10:34:53 UTC; 3min 15s ago Docs: man:chronyd(8) man:chronyc(1) man:chrony.conf(5) Main PID: 2482 (chronyd) Tasks: 1 (limit: 2320) CGroup: /system.slice/chrony.service └─2482 /usr/sbin/chronyd Oct 17 10:34:53 ubuntuserver systemd[1]: Starting chrony, an NTP client/server... Oct 17 10:34:53 ubuntuserver chronyd[2482]: chronyd version 3.2 starting (+CMDMON Oct 17 10:34:53 ubuntuserver chronyd[2482]: Initial frequency -268.088 ppm Oct 17 10:34:53 ubuntuserver systemd[1]: Started chrony, an NTP client/server. Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 85.25.84.166 Oct 17 10:35:03 ubuntuserver chronyd[2482]: Source 85.25.84.166 replaced with 2403 Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 91.189.89.199 Oct 17 10:35:06 ubuntuserver chronyd[2482]: Selected source 106.10.186.200
ご覧のとおり、Chronyサービスが開始され、機能しています!
Chronyの構成
NTPクライアントは、現在の時刻を取得するために接続する必要があるNTPサーバーを知る必要があります。 サーバーでNTPサーバーを指定できます またはプール NTP構成ファイルのディレクティブ。通常、デフォルトの構成ファイルは /etc/chrony/chrony.confです。 または/etc/chrony.conf Linuxディストリビューションのバージョンによって異なります。信頼性を高めるために、少なくとも3台のサーバーを指定することをお勧めします。
次の行は、Ubuntu18.04LTSサーバーから取得した単なる例です。
[...] # About using servers from the NTP Pool Project in general see (LP: #104525). # Approved by Ubuntu Technical Board on 2011-02-08. # See http://www.pool.ntp.org/join.html for more information. pool ntp.ubuntu.com iburst maxsources 4 pool 0.ubuntu.pool.ntp.org iburst maxsources 1 pool 1.ubuntu.pool.ntp.org iburst maxsources 1 pool 2.ubuntu.pool.ntp.org iburst maxsources 2 [...]
上記の出力にあるように、NTPプールプロジェクト デフォルトのタイムサーバーとして設定されています。不思議に思う人のために、NTPプールプロジェクトは、世界中の数千万のクライアントにNTPサービスを提供するタイムサーバーのクラスターです。これは、Ubuntuおよび他のほとんどの主要なLinuxディストリビューションのデフォルトのタイムサーバーです。
ここで
- イバースト オプションは、初期同期を高速化するために使用されます。
- maxsources NTPソースの最大数を指します。
選択したNTPサーバーが十分に同期され、安定していて、場所に近いことを確認して、NTPソースとの時間の精度を向上させてください。
コマンドラインからChronydを管理する
Chronyには、 chronycという名前のコマンドラインユーティリティがあります。 chronyを制御および監視する デーモン(chronyd)。
chronyかどうかを確認するには 同期されている場合は、追跡を使用できます 以下に示すコマンド。
$ chronyc tracking Reference ID : 6A0ABAC8 (t1.time.sg3.yahoo.com) Stratum : 3 Ref time (UTC) : Wed Oct 17 11:48:51 2018 System time : 0.000984587 seconds slow of NTP time Last offset : -0.000912981 seconds RMS offset : 0.007983995 seconds Frequency : 23.704 ppm slow Residual freq : +0.006 ppm Skew : 1.734 ppm Root delay : 0.089718960 seconds Root dispersion : 0.008760406 seconds Update interval : 515.1 seconds Leap status : Normal
chronyがコマンドで使用している現在のタイムソースを確認できます:
$ chronyc sources 210 Number of sources = 8 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^- chilipepper.canonical.com 2 10 377 296 +102ms[ +104ms] +/- 279ms ^- golem.canonical.com 2 10 377 302 +105ms[ +107ms] +/- 290ms ^+ pugot.canonical.com 2 10 377 297 +36ms[ +38ms] +/- 238ms ^- alphyn.canonical.com 2 10 377 279 -43ms[ -42ms] +/- 238ms ^- dadns.cdnetworks.co.kr 2 10 377 1070 +40ms[ +42ms] +/- 314ms ^* t1.time.sg3.yahoo.com 2 10 377 169 -13ms[ -11ms] +/- 80ms ^+ sin1.m-d.net 2 10 275 567 -9633us[-7826us] +/- 115ms ^- ns2.pulsation.fr 2 10 377 311 -75ms[ -73ms] +/- 250ms
Chronycユーティリティは、 sourcestats を使用して、ドリフト率やオフセット推定プロセスなどの各ソースの統計を見つけることができます。 コマンド。
$ chronyc sourcestats 210 Number of sources = 8 Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ============================================================================== chilipepper.canonical.com 32 16 89m +6.293 14.345 +30ms 24ms golem.canonical.com 32 17 89m +0.312 18.887 +20ms 33ms pugot.canonical.com 32 18 89m +0.281 11.237 +3307us 23ms alphyn.canonical.com 31 20 88m -4.087 8.910 -58ms 17ms dadns.cdnetworks.co.kr 29 16 76m -1.094 9.895 -83ms 14ms t1.time.sg3.yahoo.com 32 16 91m +0.153 1.952 +2835us 4044us sin1.m-d.net 29 13 83m +0.049 6.060 -8466us 9940us ns2.pulsation.fr 32 17 88m +0.784 9.834 -62ms 22ms
システムがインターネットに接続されていない場合は、システムがインターネットに接続されていないことをChronyに通知する必要があります。これを行うには、次を実行します:
$ sudo chronyc offline [sudo] password for sk: 200 OK
NTPソースのステータスを確認するには、次のコマンドを実行します。
$ chronyc activity 200 OK 0 sources online 8 sources offline 0 sources doing burst (return to online) 0 sources doing burst (return to offline) 0 sources with unknown address
ご覧のとおり、現在、すべてのNTPソースがダウンしています。
インターネットに接続したら、コマンドを使用してシステムがオンラインに戻ったことをChronyに通知します。
$ sudo chronyc online 200 OK
NTPソースのステータスを表示するには、次のコマンドを実行します。
$ chronyc activity 200 OK 8 sources online 0 sources offline 0 sources doing burst (return to online) 0 sources doing burst (return to offline) 0 sources with unknown address
すべてのオプションとパラメータの詳細については、マニュアルページを参照してください。
$ man chronyc
$ man chronyd
そして、今のところこれですべてです。これがお役に立てば幸いです。以降のチュートリアルでは、Chronyを使用してローカルNTPサーバーをセットアップし、それを使用して時刻を同期するようにクライアントを構成する方法を説明します。
しばらくお待ちください!