ラベル NTP の投稿を表示しています。 すべての投稿を表示
ラベル NTP の投稿を表示しています。 すべての投稿を表示

2021年12月31日金曜日

時刻の設定(systemd-timesyncd.service)

Debian 10(buster)ではsystemd-timesyncd.serviceが時刻の調整などをしているようで、

NTPサーバーの設定(https://9change2debian.blogspot.com/2009/09/ntp.html)なども以前とは異なっています。


設定ファイルの場所

/etc/systemd/timesyncd.conf

設定ファイルへ使用したいNTPサーバーを記述します。

自分の設定をサンプルとして載せておきます。


[Time]

NTP=pool ntp.nict.jp

FallbackNTP=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org


NTP=

メインで使用するサーバーを設定します。


FallbackNTP=

予備のサーバーを設定します。


現在設定しているNTPサーバーの構成を表示

$ timedatectl show-timesync --all


LinkNTPServers=

SystemNTPServers=pool ntp.nict.jp

FallbackNTPServers=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org

ServerName=ntp.nict.jp

ServerAddress=133.243.238.243

RootDistanceMaxUSec=5s

PollIntervalMinUSec=32s

PollIntervalMaxUSec=34min 8s

PollIntervalUSec=1min 4s

NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=1, Precision=-20, RootDelay=0, RootDispersion=0, Reference=NICT, OriginateTimestamp=Sat 2020-10-03 11:32:52 JST, ReceiveTimestamp=Sat 2020-10-03 11:32:52 JST, TransmitTimestamp=Sat 2020-10-03 11:32:52 JST, DestinationTimestamp=Sat 2020-10-03 11:32:52 JST, Ignored=no PacketCount=1, Jitter=0 }

Frequency=693419



現在の時刻と設定を表示

$ timedatectl status


               Local time: 土 2020-10-03 11:24:52 JST

           Universal time: 土 2020-10-03 02:24:52 UTC

                 RTC time: 土 2020-10-03 02:24:52

                Time zone: Asia/Tokyo (JST, +0900)

System clock synchronized: yes

              NTP service: active

          RTC in local TZ: no


NTP service:がactive

ではなく、

NTP service: inactive

となっている場合はNTPサービスを有効にします。


NTPサービスの有効/無効(管理者権限が必要です)

有効化

$ timedatectl set-ntp true

無効化

$ timedatectl set-ntp false


NTPサービスの詳細を表示

$ timedatectl timesync-status


       Server: 133.243.238.243 (ntp.nict.jp)

Poll interval: 1min 4s (min: 32s; max 34min 8s)

         Leap: normal

      Version: 4

      Stratum: 1

    Reference: NICT

    Precision: 1us (-20)

Root distance: 0 (max: 5s)

       Offset: +2.098ms

        Delay: 15.635ms

       Jitter: 0

 Packet count: 1

    Frequency: +10.581ppm



RTC(ハードウェアクロック)は基本的にローカルタイムではなくUTCのほうが良いようです。

今回はローカルタイムを無効化しても以前のような再起動後の時刻のずれ(https://9change2debian.blogspot.com/2009/09/blog-post.html)は発生しませんでした。


RTC(ハードウェアクロック)をローカルタイムで使用

有効化

$ timedatectl set-local-rtc true

無効化

$ timedatectl set-local-rtc false


2009年9月19日土曜日

再起動後の時刻のずれ

前回に続いて時刻の調整についてです。「ntp」パッケージをインストールし、NTPサーバを設定してもPCを再起動すると大幅な時刻のずれが起こることがあります。
原因としてはハードウェアクロックの狂いが考えられます。内蔵電池が消耗している場合等もハードウェアクロックに狂いが生じますが、設定の違いから時刻がずれてしまうことがあります。
Debianの時刻合わせの流れは起動時に「ハードウェアクロック」より時刻を読み取り「システムクロック」に反映させ、狂いがあれば「ntp」により修整します。そして終了時に今度は「システムクロック」の時刻を「ハードウェアクロック」に書き出します。
このことから「ハードウェアクロック」と「システムクロック」は同じ時間設定でなければならないのですが、片方が「UTC」でもう一方が「ローカルタイム」の設定になっていたりすると大幅に時刻がずれてしまいます。(本来ずれた時間は「ntp」により修整されるのですが、あまりにずれが大きい場合はトラブルと判断され「ntp」による修整が行われません。したがって時刻はずれたままとなってしまいます)
このような症状を改善するためには「ハードウェアクロック」の設定を変更します。
以下「ハードウェアクロック」を「ローカルタイム」にする設定方法です。

$ gksu gedit /etc/default/rcS
開いたファイルの「UTC=」の部分が
UTC=yes となっていたら
UTC=no に書き換えます。

# /etc/init.d/ntp restart
「ntp」を再起動します。しばらくすると正しい時間に合わせてくれます。

# ntpq -p
ntpの動作確認をすることが出来ます。


上手く行かない場合は手動で時刻を合わせてから再び実行してみてください。

$ date
現在の日時を表示

# date -s "2009/09/10 20:30:00"
日時を設定(2009年9月10日 20時30分00秒に設定する場合)

# date -s "20:30"
時刻のみ合わせる場合は上記でも可。


# hwclock --systohc --localtime
「ハードウェアクロック」を現在の「システムクロック」に合わせて「ローカルタイム」に設定します。

$ gedit /etc/adjtime
「ハードウェアクロック」の確認をします。
3行目に「LOCAL」とあれば「ローカルタイム」で動作しています。

2009年9月11日金曜日

NTPサーバの設定

PCの時刻調整は手動でも行えますが、NTPを利用すれば自動で正確な時刻に調整してくれます。Debianでも「ntp」パッケージをインストールすることにより利用が可能です。
設定は「Synapticパッケージマネージャ」で「ntp」をインストールした後、パネルの時計を右クリック>「時刻と日付の設定」で行うか、「/etc/ntp.conf」を直接編集します。

ここでは「/etc/ntp.conf」に直接NTPサーバを書き込む方法を紹介します。

$ gksu gedit /etc/ntp.conf
(/etc/ntp.confを編集可能な状態で開きます)

以下の部分を編集し、利用したいNTPサーバを書き込みます。

# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example

# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool:
server 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org iburst dynamic

初期状態では「debian.pool.ntp.org」が設定されています。自分はデフォルトのサーバをコメントアウトし、独立行政法人情報通信研究機構のサーバを利用しています。

# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example

# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool:
# server 0.debian.pool.ntp.org iburst dynamic
# server 1.debian.pool.ntp.org iburst dynamic
# server 2.debian.pool.ntp.org iburst dynamic
# server 3.debian.pool.ntp.org iburst dynamic
server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp

もしくは次の一行を加えます。
pool ntp.nict.jp

「ntp」を再起動します。
# /etc/init.d/ntp restart

ntpの動作確認。
# ntpq -p