「Systemd-timesyncd」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
5行目: 5行目:
 
[[ru:systemd-timesyncd]]
 
[[ru:systemd-timesyncd]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related2|Time|時刻}}
+
{{Related|時刻}}
{{Related2|Network Time Protocol daemon|Network Time Protocol daemon}}
+
{{Related|Network Time Protocol daemon}}
 
{{Related|OpenNTPD}}
 
{{Related|OpenNTPD}}
{{Related2|Chrony|Chrony}}
+
{{Related|Chrony}}
{{Related2|systemd-networkd|systemd-networkd}}
+
{{Related|systemd-networkd}}
{{Related2|systemd|systemd}}
+
{{Related|systemd}}
 
{{Related articles end}}
 
{{Related articles end}}
   
20行目: 20行目:
   
 
''systemd-timesyncd'' サービスは {{Pkg|systemd}} 213 から利用することができます。サービスを[[systemd#systemctl の基本的な使い方|起動・有効化]]するには:
 
''systemd-timesyncd'' サービスは {{Pkg|systemd}} 213 から利用することができます。サービスを[[systemd#systemctl の基本的な使い方|起動・有効化]]するには:
# timedatectl set-ntp true
+
# timedatectl set-ntp true
   
  +
サービスの状態を確認したいときは、{{ic|timedatectl status}} を使います:
{{Tip|systemd 216 以前は ''systemd-timesyncd'' を使うにはネットワークの起動・停止イベントを拾うために [[systemd-networkd|systemd-networkd]] を起動させる必要がありました (ただし設定は不要)。現在はこの仕様は変更されており、[[dhcpcd|dhcpcd]] や [[NetworkManager|NetworkManager]] からのイベントも受信します。ネットワークの設定に依存するかネットワーク管理ツールを使わなくてはならないのは変わっていません。}}
 
  +
  +
{{hc|$ 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}}
  +
  +
{{Tip|systemd 216 以前は ''systemd-timesyncd'' を使うにはネットワークの起動・停止イベントを拾うために [[systemd-networkd]] を起動させる必要がありました (ただし設定は不要)。現在はこの仕様は変更されており、[[dhcpcd]] や [[NetworkManager]] からのイベントも受信します。ネットワークの設定に依存するかネットワーク管理ツールを使わなくてはならないのは変わっていません。}}
   
 
== 設定 ==
 
== 設定 ==
   
起動すると、''systemd-timesyncd'' は {{ic|/etc/systemd/timesyncd.conf}} から設定を読み込むます。[[systemd|systemd]] 217 現在、設定ファイルは以下のようになっています:
+
起動すると、''systemd-timesyncd'' は {{ic|/etc/systemd/timesyncd.conf}} から設定を読み込むます。[[systemd]] 217 現在、設定ファイルは以下のようになっています:
 
{{hc|/etc/systemd/timesyncd.conf|2=
 
{{hc|/etc/systemd/timesyncd.conf|2=
 
[Time]
 
[Time]
44行目: 55行目:
 
使用される NTP サーバーは以下のルールによって決まります:
 
使用される NTP サーバーは以下のルールによって決まります:
 
* {{ic|systemd-networkd.service(8)}} の設定や DHCP によるインターフェイスごとの NTP サーバーが優先されます。
 
* {{ic|systemd-networkd.service(8)}} の設定や DHCP によるインターフェイスごとの NTP サーバーが優先されます。
* {{ic|/etc/systemd-timesyncd.conf}} に定義された NTP サーバーは実行時にインターフェイスごとのリストに追加され、デーモンはサーバーのどれかが応答するまで通信を行います。
+
* {{ic|/etc/systemd/timesyncd.conf}} に定義された NTP サーバーは実行時にインターフェイスごとのリストに追加され、デーモンはサーバーのどれかが応答するまで通信を行います。
 
* 以上の手順を踏んでも NTP サーバーの情報がまったく得られなかったとき、{{ic|1=FallbackNTP=}} に定義された NTP サーバーのホスト名や IP アドレスが使われます。
 
* 以上の手順を踏んでも NTP サーバーの情報がまったく得られなかったとき、{{ic|1=FallbackNTP=}} に定義された NTP サーバーのホスト名や IP アドレスが使われます。
   

2015年8月19日 (水) 21:36時点における版

関連記事

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
ヒント: systemd 216 以前は systemd-timesyncd を使うにはネットワークの起動・停止イベントを拾うために systemd-networkd を起動させる必要がありました (ただし設定は不要)。現在はこの仕様は変更されており、dhcpcdNetworkManager からのイベントも受信します。ネットワークの設定に依存するかネットワーク管理ツールを使わなくてはならないのは変わっていません。

設定

起動すると、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 アドレスが使われます。

参照