序章

正確な計時は、最新のソフトウェア展開の重要なコンポーネントになっています。 ログが正しい順序で記録されていることを確認している場合でも、データベースの更新が正しく適用されている場合でも、非同期の時間は、エラー、データ破損、およびその他のデバッグが難しい問題を引き起こす可能性があります。

Ubuntu 18.04には時刻同期が組み込まれており、systemdのtimesyncdサービスを使用してデフォルトでアクティブ化されます。 この記事では、いくつかの基本的な時間関連コマンドを確認し、timesyncdがアクティブであることを確認し、代替ネットワークタイムサービスをインストールする方法を学習します。

前提条件

このチュートリアルを開始する前に、このUbuntu 18.04サーバーセットアップチュートリアルで説明されているように、root以外のsudo対応ユーザーがいるUbuntu18.04サーバーが必要です。

サーバー上の時間を見つけるための最も基本的なコマンドは次のとおりです。 date. すべてのユーザーがこのコマンドを入力して、日付と時刻を印刷できます。

  1. date
Output
Tue Jul 10 14:48:52 UTC 2018

上記の出力で強調表示されているように、ほとんどの場合、サーバーはデフォルトでUTCタイムゾーンになります。 UTCは協定世界時、経度0度の時間です。 ユニバーサルタイムを一貫して使用すると、インフラストラクチャが複数のタイムゾーンにまたがる場合の混乱が軽減されます。

要件が異なり、タイムゾーンを変更する必要がある場合は、 timedatectl そうするためのコマンド。

まず、利用可能なタイムゾーンを一覧表示します。

  1. timedatectl list-timezones

タイムゾーンのリストが画面に印刷されます。 押すことができます SPACE ページダウンし、 b ページアップする。 正しいタイムゾーンを見つけたら、それをメモして、次のように入力します q リストを終了します。

次に、タイムゾーンを次のように設定します timedatectl set-timezone、以下で強調表示されている部分を、リストで見つけたタイムゾーンに置き換えてください。 使用する必要があります sudotimedatectl この変更を行うには:

  1. sudo timedatectl set-timezone America/New_York

を実行して変更を確認できます date また:

  1. date
Output
Tue Jul 10 10:50:53 EDT 2018

タイムゾーンの省略形は、新しく選択した値を反映している必要があります。

時計を確認してタイムゾーンを設定する方法がわかったので、時刻が正しく同期されていることを確認しましょう。

timedatectlを使用したtimesyncdの制御

最近まで、ほとんどのネットワーク時間同期はネットワークタイムプロトコルデーモンまたはntpdによって処理されていました。 このサービスは、他のNTPサーバーのプールに接続して、一定の正確な時刻更新を提供します。

Ubuntuのデフォルトのインストールでは、ntpdの代わりにtimesyncdが使用されるようになりました。 timesyncdは同じタイムサーバーに接続し、ほぼ同じように機能しますが、より軽量で、systemdおよびUbuntuの低レベルの動作とより統合されています。

を実行することでtimesyncdのステータスを照会できます timedatectl 引数なし。 使用する必要はありません sudo この場合:

  1. timedatectl
Output
Local time: Tue 2018-07-10 10:54:12 EDT Universal time: Tue 2018-07-10 14:54:12 UTC RTC time: Tue 2018-07-10 14:54:12 Time zone: America/New_York (EDT, -0400) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no

これにより、現地時間、協定世界時(UTCタイムゾーンから切り替えなかった場合は現地時間と同じになる場合があります)、および一部のネットワーク時間ステータス情報が出力されます。 System clock synchronized: yes 時刻が正常に同期されたことを示し、 systemd-timesyncd.service active: yes timesyncdが有効で実行されていることを意味します。

timesyncdがアクティブでない場合は、timedatectlを使用してオンにします。

  1. sudo timedatectl set-ntp on

走る timedatectl もう一度ネットワーク時間の状態を確認します。 実際の同期が行われるまでに1分かかる場合がありますが、最終的には両方 Network time on:NTP synchronized: 読む必要があります yes.

ntpdへの切り替え

timesyncdはほとんどの目的に適していますが、時間のわずかな摂動にも非常に敏感な一部のアプリケーションは、より高度な技術を使用してシステム時間を常に順調に維持するため、ntpdの方が適している場合があります。

ntpdをインストールする前に、timesyncdをオフにする必要があります。

  1. sudo timedatectl set-ntp no

timesyncdがオフになっていることを確認します。

  1. timedatectl

探す systemd-timesyncd.service active: no 出力で。 これの意味は timesyncd 停止されました。 これで、 ntp とのパッケージ apt:

  1. sudo apt update
  2. sudo apt install ntp

ntpdは、インストール後に自動的に開始されます。 ntpdにステータス情報を照会して、すべてが機能していることを確認できます。

  1. ntpq -p
Output
remote refid st t when poll reach delay offset jitter ============================================================================== 0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 0.000 0.000 +ec2-52-0-56-137 216.239.35.0 2 u 16 64 1 7.872 -2.137 1.485 +66.220.10.2 129.6.15.30 2 u 12 64 1 65.204 3.740 2.686 +block.steinhoff 209.51.161.238 2 u 11 64 1 33.364 1.710 3.586 +eterna.binary.n 216.229.0.50 3 u 11 64 1 35.330 2.821 2.839 +2604:a880:800:1 209.51.161.238 2 u 14 64 1 0.394 0.386 2.462 +ec2-52-6-160-3. 130.207.244.240 2 u 11 64 1 8.150 2.050 3.053 +mx.danb.email 127.67.113.92 2 u 13 64 1 63.868 1.539 2.240 *hydrogen.consta 129.6.15.28 2 u 12 64 1 2.989 1.755 2.563 +ntp-3.jonlight. 127.67.113.92 2 u 10 64 1 64.561 2.122 3.593 +undef.us 45.33.84.208 3 u 12 64 1 33.508 1.631 3.647 +ntp-3.jonlight. 127.67.113.92 2 u 8 64 1 64.253 2.645 3.174 2001:67c:1560:8 145.238.203.14 2 u 22 64 1 71.155 -1.059 0.000 +test.diarizer.c 216.239.35.4 2 u 11 64 1 64.378 4.648 3.244 2001:67c:1560:8 145.238.203.14 2 u 18 64 1 70.744 -0.964 0.000 alphyn.canonica 132.246.11.231 2 u 17 64 1 7.973 -0.170 0.000 +vps5.ctyme.com 216.218.254.202 2 u 10 64 1 65.874 1.902 2.608

ntpq ntpdのクエリツールです。 The -p フラグは、ntpdが接続しているNTPサーバー(または p eers)に関する情報を要求します。 出力は少し異なりますが、デフォルトのUbuntuプールサーバーと他のいくつかのサーバーをリストする必要があります。 ntpdが接続を確立するのに数分かかる場合があることに注意してください。

結論

この記事では、システム時刻の表示、タイムゾーンの変更、Ubuntuのデフォルトのtimesyncdの操作、およびntpdのインストールの方法を示しました。 ここで説明したものよりも高度なタイムキーピングのニーズがある場合は、公式のNTPドキュメントを参照し、NTPプールプロジェクトのグローバルグループを参照してください。世界のNTPインフラストラクチャの多くを提供するボランティア。