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 の混合と継承の原則

推薦する

ホストがアクセスできるようにMySQLの権限を変更する方法

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...

ウェブデザイナーは3つの側面からウェブページを最適化する必要がある

<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...

CentOS7.5 MySQLのインストールチュートリアル

1. まずシステムにmysqlがインストールされているかどうかを確認します rpm -qa | gr...

Dockerコンテナにvimコマンドがない問題を解決する方法

問題を見つける今日、Docker コンテナ内のファイルを変更しようとしたところ、コンテナ内に vim...

JavaScript を使用してセカンダリ メニューを作成する

この記事では、セカンダリメニュー効果を実現するためのJavaScriptの具体的なコードを参考までに...

Dockerコンテナのデータボリュームの詳細な説明

何ですかまず、Docker の概念を見てみましょう。アプリケーションと実行環境をコンテナにパッケージ...

MySQL 5.7.19 Winx64 ZIP アーカイブのインストールと使用に関する問題の概要

今日はMySQLのインストール方法を学びましたが、その過程でいくつか問題が発生しました。関連記事をい...

Google 翻訳ツール: 多言語ウェブサイトを素早く実装

Google Chinaは、ウェブサイトやブログを素早く簡単に多言語化できる翻訳ツールをリリースした...

JSオブジェクトの走査順序の詳細な説明

JavaScript ではオブジェクトを走査する順序は固定されていないと聞いたことがある人もいるかも...

MySQL 圧縮版 zip のインストールに関する問題の解決策

本日、MySQLの圧縮版をインストールする際に問題が発生しました。サービスが起動できず、2、3時間苦...

jQueryメソッド属性の詳細な説明

目次1. jQueryの紹介2. jQueryセレクター2.1 5つの基本セレクタ2.2 4種類の関...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

MySQLデータベースを作成し、中国語の文字をサポートする方法

まずMySQLの公式ドキュメントを見てみましょう: 5.7 {データベース | スキーマ} を作成 ...