Ubuntu で時刻同期に NTP を使用する

Ubuntu で時刻同期に NTP を使用する

NTP は、ネットワーク上で時間を同期するための TCP/IP プロトコルです。通常、クライアントはサーバーから現在の時刻を要求し、その結果に基づいてクロックを設定します。

この説明は非常にシンプルですが、この機能の実装は非常に複雑です。まず、複数層の NTP サーバーが必要です。最初の層の NTP サーバーは原子時計に接続し、2 番目と 3 番目の層のサーバーは負荷分散の役割を担い、インターネットからのすべての要求を処理します。また、クライアントはあなたが思っているよりも複雑かもしれません。クライアントは通信の遅延を考慮し、時間を調整し、サーバー上で実行されている他のプロセスに干渉しないようにする必要があります。幸いなことに、この複雑さはすべてカプセル化されているため、ユーザーはそれを見ることはなく、見る必要もありません。

Ubuntu では、ntpdate と ntpd を使用して時間を同期します。

タイムデート

最新の Ubuntu バージョンでは、timedatectl が古い ntpdate に置き換わります。デフォルトでは、timedatectl はシステムの起動時にすぐに時刻を同期し、ネットワーク接続がアクティブなときにソケット経由で再度確認します。

ntpdate / ntp がすでにインストールされている場合、timedatectl はフォールバックして以前の設定を使用できるようにします。これにより、アップグレード時に元の動作と構成が維持され、2 つの時間同期サービスが互いに競合することがなくなります。しかし、これは、古いディストリビューションからアップグレードする場合、ntp/ntpdate が引き続きインストールされ、新しい systemd ベースのタイム サービスが無効になることを意味します。

タイムシンク

最新の Ubuntu バージョンでは、timesyncd が ntpd のクライアント部分を置き換えます。デフォルトでは、timesyncd は定期的に時間を検出して同期します。また、更新された時刻をローカルに保存して、システムの再起動時に単一ステップの調整を行えるようにします。

timedatectl および timesyncd によって設定された現在の時間ステータスと時間構成は、timedatectl status コマンドを使用して確認できます。

timedatectl ステータス
     現地時間: 2016-04-29 金 06:32:57 UTC
   世界時間: 2016-04-29 金曜日 06:32:57 UTC
      RTC 時間: 金曜日 2016-04-29 07:44:02
      タイムゾーン: Etc/UTC (UTC, +0000)
   ネットワーク時間オン: はい
  NTP同期: いいえ
   ローカル TZ の RTC: いいえ

NTP がインストールされており、timedatectl の代わりに時刻を同期するために使用される場合、NTP synchronized は yes に設定されます。

timedatectl と timesyncd が時刻を取得するために使用するネームサーバーは、/etc/systemd/timesyncd.conf で指定できます。さらに、/etc/systemd/timesyncd.conf.d/ の下には柔軟な追加の設定ファイルがあります。

ntpdate

timedatectl の存在により、ディストリビューションでは ntpdate が非推奨となり、デフォルトではインストールされなくなりました。これをインストールすると、システムの起動時に Ubuntu の NTP サーバーに従ってコンピューターの時刻が設定されます。その後、新しいネットワーク インターフェイスが起動されるたびに、時刻の同期が再試行されます。同期が試行される間に、時間差が大きすぎない限り、時刻は徐々にずれていきます。この動作は -B/-b スイッチで制御できます。

タイムサーバー

デフォルトでは、systemd ベースのツールは ntp.ubuntu.com から時刻同期を要求します。従来の ntpd ベースのサービスは、基本的に [0-3].ubuntu.pool.ntp.org プールの 2.ubuntu.pool.ntp.org と ntp.ubuntu.com を使用し、必要に応じて IPv6 をサポートします。 IPv6 の使用を強制したい場合は、ipv6.ntp.ubuntu.com を使用できますが、これはデフォルトの設定ではありません。

ntpd
ntp デーモン ntpd はシステム クロックの時間オフセットを計算し、それを継続的に調整するため、たとえばログの不連続の原因となるような大きな修正は行われません。このプロセスは少量のプロセス リソースとメモリを消費しますが、最新のサーバーではそれほど重要ではありません。

インストール

ntpdをインストールするには、ターミナルのコマンドラインに次のように入力します: sudo apt install ntp

構成

/etc/ntp.conf を編集し、サーバー行を追加/削除します。デフォルト構成には次のサーバーが含まれます。

# NTP プール プロジェクトのサーバーを使用します。Ubuntu 技術委員会によって承認されています
  # 2011-02-08 (LP: #104525)。詳細はhttp://www.pool.ntp.org/join.htmlを参照。
  # 詳細情報。
  サーバー 0.ubuntu.pool.ntp.org
  サーバー 1.ubuntu.pool.ntp.org
  サーバー 2.ubuntu.pool.ntp.org
  サーバー 3.ubuntu.pool.ntp.org

設定ファイルを変更した後、ntpd をリロードする必要があります。

sudo systemctl ntp.service をリロードします

ステータスを表示

詳細情報を表示するには、ntpq を使用します。

# sudo ntpq -p
     リモートrefid st t ポーリング到達遅延オフセットジッター
  ==============================================================================
  +stratum2-2.NTP. 129.70.130.70 2 u 5 64 377 68.461 -44.274 110.334
  +ntp2.m-online.n 212.18.1.106 2 u 5 64 377 54.629 -27.318 78.882
  *145.253.66.170 .DCFa. 1 u 10 64 377 83.607 -30.159 68.343
  +stratum2-3.NTP. 129.70.130.70 2 u 5 64 357 68.795 -68.168 104.612
  +ユーロピウム.カノーニ 193.79.237.14 2 u 63 64 337 81.534 -67.968 92.792

PPSサポート

Ubuntu 16.04 以降、ntp は PPS 仕様をサポートしており、これにより ntp にローカル時間ソースが提供され、より高い精度が実現します。詳細な構成情報については、以下のリンクを参照してください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Ubuntu で NTP を使用して時刻同期を設定する
  • Ubuntu でパスワードを変更し、パスワードの複雑さのポリシーを設定する方法
  • Ubuntuはポート22を開きます
  • Ubuntu 20.04 に GitLab をインストールして設定する方法
  • Ubuntu 20.04にvncserverをインストールする方法
  • Ubuntu20.04 VNCのインストールと設定の実装
  • Ubuntu 20.04の新バージョンでルートユーザーを使用してシステムにログインする方法の詳細なチュートリアル
  • ubuntu20.04 LTS システムのデフォルト ソース ソース リスト ファイルの変更

<<:  MySQLスローログクエリの詳細な説明

>>:  Web プロジェクト開発 VUE の混合と継承の原則

推薦する

Douyin ロゴを作成する手順の CSS3 分析

「Tik Tok」も大人気で、ユーザー数は7億人と言われています。今日は、注目を集めるためにTikT...

CSS3でカルーセル画像を作成する方法

スライドショーは Web ページでよく見られます。美しい写真が使われています。こちらは純粋な CSS...

純粋な JS を使用して vue.js で双方向バインディング機能を実装する方法

目次まず、双方向バインディングを実装するアイデアについて説明します。これらの機能を実装するための j...

Vue が配列の変更を監視できない問題の解決方法

目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...

MySQL トリガーの使用方法と利点と欠点の紹介

目次序文1. トリガーの概要2. トリガーの作成2.1 トリガー構文の作成2.2 コード例3. トリ...

優れたHTML印刷コードがページめくりをサポート

ylbtech_html_print HTML 印刷コード、ページめくりをサポートコードをコピーコー...

スクロールバーがスペースを占有することで発生するバグを修正しました

背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...

Linux 向けの強化されたスクリーンショットと共有ツール: ScreenCloud

ScreenCloud は、必要だとは思わなかった素晴らしい小さなアプリです。デスクトップ Lin...

指定したディレクトリに nginx をインストールする方法の例

会社の要件により、異なる場所にある 2 つの nginx サーバーを同じマシンにインストールする必要...

Windows が MySQL サービスを開始できず、エラー 1067 を報告する場合の解決策

突然、MySQLにログインすると、アクセスが拒否されたか、データベースに接続できないと表示されました...

CocosCreatorメッセージ配信メカニズムの詳細な説明

概要この記事は、ゲームビジネスアーキテクチャに関連するコンテンツの紹介から始まります。ゲームビジネス...

Centos7 システム上の nginx サーバーで Phalcon 環境を構築する方法の詳細な説明

この記事では、centos7 システムの nginx サーバーの下に phalcon 環境を構築する...

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

HTML で水平ナビゲーション構造を設定する方法

この記事では、主にリスト構造を使用して水平ナビゲーション構造を設定する 2 つの方法を紹介します。こ...

Linux 環境に mysql5.7.36 データベースをインストールするチュートリアル

ダウンロードアドレス: https://dev.mysql.com/downloads/mysql/...