ウェブサイト検索

Linux で時刻を同期するために Chrony NTP をインストールする方法


ネットワーク タイム プロトコル (NTP) は、ネットワーク上でコンピュータのシステム クロックを自動的に同期するために使用されるプロトコルです。マシンでは、システム クロックに現地時間ではなく協定世界時 (UTC) を使用させることができます。

Linux システム、特にサーバー上で正確な時刻を維持することは、さまざまな理由から重要なタスクです。たとえば、ネットワーク環境では、根本原因の分析、問題の発生時期の特定、相関関係の発見のために、パケットとシステム ログの正確なタイムスタンプを正確に記録する必要があります。

Chrony は、CentOS StreamFedora などの RHEL ベースのディストリビューションの最新バージョンのデフォルトの NTP 実装パッケージになりました。 >、Rocky LinuxAlmaLinuxUbuntuLinux Mint などの Debian ベースのディストリビューション、デフォルトでプリインストールされています。

Chrony パッケージは、ユーザー空間で実行されるデーモンである chronyd と、chronyd を監視および制御するためのコマンドライン プログラムである chronyc で構成されています。 です。

Chrony は多用途の NTP 実装であり、幅広い条件で良好に動作します (chrony スイートと他の NTP 実装の比較を確認してください)。これは、システム クロックを NTP サーバー (クライアントとして機能)、基準クロック (GPS 受信機など)、または手動時刻入力と同期するために使用できます。また、NTPv4 (RFC 5905) サーバーまたはピアとして使用して、ネットワーク内の他のコンピュータにタイム サービスを提供することもできます。

この記事では、Linux でchrony を使用してサーバー時刻をNTP と同期する方法を学習します。

Linux サーバーへの Chrony のインストール

ほとんどの Linux システムでは、chrony コマンドはデフォルトではインストールされません。インストールするには、以下のコマンドを実行します。

sudo yum install chrony         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo apt install chrony         [On Debian, Ubuntu and Mint]

chrony デーモンのデフォルトの場所は /usr/sbin/chronyd で、コマンド ライン プログラムは /usr/bin/chronyc にインストールされます。 >

インストールが完了したら、chrony サービスを開始し、システム起動時に自動的に開始されるようにし、起動して実行されているかどうかを確認します。

systemctl enable --now chronyd
systemctl status chronyd

chrony が正常に稼働しているかどうかをクロスチェックし、それに接続されているサーバーとピアの数を確認するには、次の chronyc コマンドを実行します。

chronyc activity

Linux での Chrony 同期の確認

chronyd がアクセスしている現在の時刻ソースに関する情報 (利用可能なサーバーのリスト、ステータス、ローカル クロックとソースからのオフセット) を表示するには、-v を指定して次のコマンドを実行します。 フラグは、各列の説明を示します。

chronyc sources
OR
chronyc sources -v

前のコマンドに関して、chronyd によって現在検査されている各ソースに関するその他の有用な情報 (ドリフト レートやオフセット推定プロセスなど) を表示するには、sourcestats コマンドを使用します。 。

chronyc sourcestats
OR
chronyc sourcestats -v

chrony トラッキングを確認するには、次のコマンドを実行します。

chronyc tracking

このコマンドの出力では、参照 ID は、使用可能なすべてのサーバーのうち、コンピューターが現在同期されているサーバーの名前 (または IP アドレス) を指定します (使用可能な場合)。

Linux での Chrony タイム ソースの構成

メインの chrony 構成ファイルは、/etc/chrony.conf (CentOS/RHEL/Fedora) または /etc/chrony にあります。 /chrony.conf (Ubuntu/Debian)。

Linux OS をクラウドにインストールする場合、システムには、インストール プロセス中にいくつかのデフォルト サーバーまたはサーバーのプールが追加されている必要があります。デフォルトのサーバーを追加または変更するには、構成ファイルを開いて編集します。

vi /etc/chrony.conf
OR
vi /etc/chrony/chrony.conf

次に示すように、server ディレクティブを使用して複数のサーバーを追加できます。

server 0.europe.pool.ntp.org iburst
server 1.europe.pool.ntp.org iburst
server 2.europe.pool.ntp.org ibusrt
server 3.europe.pool.ntp.org ibusrt

または、ほとんどの場合、ntppool.org を使用して NTP サーバーを見つけるのが最善です。これにより、システムは最も近い利用可能なサーバーを検索できるようになります。プールを追加するには、pool ディレクティブを使用します。

pool 0.pool.ntp.org burst

ファイル内で構成できるオプションは他にもたくさんあります。変更を加えた後、chrony サービスを再起動します。

sudo systemctl restart chrony		
OR
systemctl restart chronyd

chronyd がクエリしている現在の時刻ソースに関する情報を表示するには、次のコマンドをもう一度実行します。

chronyc sources

chrony の追跡ステータスを確認するには、次のコマンドを実行します。

chronyc tracking

システムの現在時刻を表示するには、システム クロックが同期されているかどうか、および NTP が実際にアクティブであるかどうかを確認し、timedatectl コマンドを実行します。

timedatectl

これでこのガイドは終わりになります。ご質問がある場合は、以下のコメントセクションからお問い合わせください。詳細については、RHEL ドキュメントから chrony スイートを使用して NTP を構成するか、Ubuntu 公式ブログから chrony を使用して NTP を構成するを参照してください。