「Systemd-timesyncd」の版間の差分
ナビゲーションに移動
検索に移動
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://lists.freedesktop.org/」を「https://lists.freedesktop.org/」に置換) |
(→インストール: 英語版と同期して、詳細なサービス情報を表示を翻訳して追加) |
||
33行目: | 33行目: | ||
NTP synchronized: yes |
NTP synchronized: yes |
||
RTC in local TZ: no}} |
RTC in local TZ: no}} |
||
+ | |||
+ | 詳細なサービス情報を表示するには、 {{ic|timedatectl timesync-status}} を使います: |
||
+ | |||
+ | {{hc|$ timedatectl timesync-status| |
||
+ | Server: 103.47.76.177 (0.arch.pool.ntp.org) |
||
+ | Poll interval: 2min 8s (min: 32s; max 34min 8s) |
||
+ | Leap: normal |
||
+ | Version: 4 |
||
+ | Stratum: 2 |
||
+ | Reference: C342F10A |
||
+ | Precision: 1us (-21) |
||
+ | Root distance: 231.856ms (max: 5s) |
||
+ | Offset: -19.428ms |
||
+ | Delay: 36.717ms |
||
+ | Jitter: 7.343ms |
||
+ | Packet count: 2 |
||
+ | Frequency: +267.747ppm |
||
+ | }} |
||
{{Tip|systemd 216 以前は ''systemd-timesyncd'' を使うにはネットワークの起動・停止イベントを拾うために [[systemd-networkd]] を起動させる必要がありました (ただし設定は不要)。現在はこの仕様は変更されており、[[dhcpcd]] や [[NetworkManager]] からのイベントも受信します。ネットワークの設定に依存するかネットワーク管理ツールを使わなくてはならないのは変わっていません。}} |
{{Tip|systemd 216 以前は ''systemd-timesyncd'' を使うにはネットワークの起動・停止イベントを拾うために [[systemd-networkd]] を起動させる必要がありました (ただし設定は不要)。現在はこの仕様は変更されており、[[dhcpcd]] や [[NetworkManager]] からのイベントも受信します。ネットワークの設定に依存するかネットワーク管理ツールを使わなくてはならないのは変わっていません。}} |
2020年11月21日 (土) 17:12時点における版
systemd メーリングリスト より:
- systemd-timesyncd はネットワークを介してシステム時刻を同期させるために追加されたデーモンです。SNTP クライアントが実装されています。chrony や NTP リファレンスサーバーなどの NTP 実装とは対照的に、timesyncd はクライアント側しか実装しておらず、完全な NTP の複雑性に悩むことなく、リモートサーバーに時刻を問い合わせてそれにローカルクロックを同期させることだけに焦点を置いています。NTP をネットワークのクライアントに提供したりローカルのハードウェアクロックに接続したいのでなければ、このシンプルな NTP クライアントだけでほとんどの場合は十二分に間に合います。デーモンは最小権限で動作し、networkd と紐付けられることでネットワーク接続が有効なときだけ同期を行います。Raspberry Pi や組み込みデバイスなどの RTC を載せてないシステムのために、新しい NTP の同期が取得される度にディスクに現在の時刻を保存し、それを使って起動時にシステム時刻を修正することができ、時刻が常に正しいわけではないときでも、それらのシステムで時刻がモノトニックに進むことを保証します。このデーモンを利用するには systemd のインストール時に新しいユーザーとグループ "systemd-timesync" を作る必要があります。
インストール
systemd-timesyncd サービスは systemd 213 から利用することができます。サービスを起動・有効化するには:
# timedatectl set-ntp true
サービスの状態を確認したいときは、timedatectl status
を使います:
$ timedatectl status
Local time: Thu 2015-07-09 18:21:33 CEST Universal time: Thu 2015-07-09 16:21:33 UTC RTC time: Thu 2015-07-09 16:21:33 Time zone: Europe/Amsterdam (CEST, +0200) Network time on: yes NTP synchronized: yes RTC in local TZ: no
詳細なサービス情報を表示するには、 timedatectl timesync-status
を使います:
$ timedatectl timesync-status
Server: 103.47.76.177 (0.arch.pool.ntp.org) Poll interval: 2min 8s (min: 32s; max 34min 8s) Leap: normal Version: 4 Stratum: 2 Reference: C342F10A Precision: 1us (-21) Root distance: 231.856ms (max: 5s) Offset: -19.428ms Delay: 36.717ms Jitter: 7.343ms Packet count: 2 Frequency: +267.747ppm
設定
起動すると、systemd-timesyncd は /etc/systemd/timesyncd.conf
から設定を読み込みます。systemd 217 現在、設定ファイルは以下のようになっています:
/etc/systemd/timesyncd.conf
[Time] #NTP= #FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
時刻サーバーを追加したり変更するには、適当な行をアンコメントして、空白で区切られたホスト名か IP を記述してください。例えば、NTP プールプロジェクト によって提供されているサーバーやデフォルトの Arch のサーバーを使うことができます (こちらも NTP プールプロジェクトによって提供されています):
/etc/systemd/timesyncd.conf
[Time] NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.jp.pool.ntp.org
デーモンの設定だけでなく、systemd-networkd の設定の NTP=
オプションを使ったり、動的に、DHCP サーバーを使うことで提供される NTP サーバーもあります (systemd 216 から)。
使用される NTP サーバーは以下のルールによって決まります:
systemd-networkd.service(8)
の設定や DHCP によるインターフェイスごとの NTP サーバーが優先されます。/etc/systemd/timesyncd.conf
に定義された NTP サーバーは実行時にインターフェイスごとのリストに追加され、デーモンはサーバーのどれかが応答するまで通信を行います。- 以上の手順を踏んでも NTP サーバーの情報がまったく得られなかったとき、
FallbackNTP=
に定義された NTP サーバーのホスト名や IP アドレスが使われます。