ntpdを使用してRaspberry PiでNTPを操作しようとしています。 systemd-timesyncdを無効にし、次のようにntpをインストールしました。
$ sudo apt-get install ntp
ただし、インストール後はntp
どのサーバーとも同期されません。 ntp 再インストール後、たまに 1~2 台のサーバに接続して同期されることがあります。ただし、リセット(sudo service ntp restart
)後は、どのサーバーにも接続できなくなります。
私はRaspberry Pi 2モデルBとRaspberry Pi 3モデルB +を使用しています。両方のデバイスで動作しません。私もRaspberry Pi 3モデルBを持っていますが、期待どおりに動作します。 Raspberry Piはすべて同じネットワークに接続されています(したがって、これはネットワークファイアウォールの障害にはなりません)。ラズベリーパイはRaspbian Busterで動作します。
時々正しく同期されると、ntpd -p
1つまたは2つのサーバーのみが実行され、表示されます。ただし、動作するRaspberry Piは4つ以上のサーバーと同期できます。 NTPは以前Raspberry Pi 2モデルBで作業していましたが、システムを変更せずに動作を停止しました。その後、NTPを完全に再インストールしましたが、成功しませんでした(sudo apt-get purge --autoremove ntp
)。これらの結果が使用されます/etc/ntp.conf
。
systemd-timesyncd
このシステムをプライマリシステムのサーバーとして使用したいので使用できません。systemd-timesyncd
正常に動作しているようですが、デバイス間で1ms未満のクロック同期を達成するにはサーバーが必要です。
NTPステータス
以下にNTPの状態と結果を示します。ntpq -pn
再起動後のntpステータス:
pi@raspberrypi:~ $ sudo service ntp status
● ntp.service - Network Time Service
Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-04-24 14:48:10 CEST; 5s ago
Docs: man:ntpd(8)
Process: 2837 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
Main PID: 2843 (ntpd)
Tasks: 2 (limit: 2200)
Memory: 1.0M
CGroup: /system.slice/ntp.service
└─2843 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 109:114
Apr 24 14:48:10 raspberrypi ntpd[2843]: Listen normally on 3 eth0 192.168.0.103:123
Apr 24 14:48:10 raspberrypi ntpd[2843]: Listen normally on 4 lo [::1]:123
Apr 24 14:48:10 raspberrypi ntpd[2843]: Listen normally on 5 eth0 [fe80::1ef8:d982:66ac:4214%2]:123
Apr 24 14:48:10 raspberrypi ntpd[2843]: Listening on routing socket on fd #22 for interface updates
Apr 24 14:48:10 raspberrypi ntpd[2843]: kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized
Apr 24 14:48:10 raspberrypi ntpd[2843]: kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized
Apr 24 14:48:11 raspberrypi ntpd[2843]: Soliciting pool server 174.138.9.187
Apr 24 14:48:12 raspberrypi ntpd[2843]: Soliciting pool server 194.5.96.30
Apr 24 14:48:13 raspberrypi ntpd[2843]: Soliciting pool server 162.159.200.123
Apr 24 14:48:14 raspberrypi ntpd[2843]: Soliciting pool server 83.162.149.224
結果ntpq -pn
:
pi@raspberrypi:~ $ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.001
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.001
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.001
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.001
結果ntpstat
:
pi@raspberrypi:~ $ ntpstat
unsynchronised
polling server every 8 s
NTPがサーバーと同期しない理由を知っている人はいますか?
出力sudo ntpdate -qu 0.debian.pool.ntp.org
:
pi@raspberrypi:~ $ sudo ntpdate -qu 0.debian.pool.ntp.org
server 213.136.0.252, stratum 1, offset 0.017778, delay 0.04608
server 45.159.204.28, stratum 2, offset 0.016319, delay 0.04184
server 83.98.155.30, stratum 2, offset 0.016869, delay 0.04346
server 94.228.220.14, stratum 2, offset 0.017546, delay 0.04454
24 Apr 16:23:17 ntpdate[3139]: adjust time server 213.136.0.252 offset 0.017778 sec
構成/etc/ntp.conf
:
pi@raspberrypi:~ $ grep '^[^#]' /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict ::1
restrict source notrap nomodify noquery
結果timedatectl status
:
pi@raspberrypi:~ $ timedatectl status
Local time: Fri 2020-04-24 16:40:05 CEST
Universal time: Fri 2020-04-24 14:40:05 UTC
RTC time: n/a
Time zone: Europe/Amsterdam (CEST, +0200)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
ベストアンサー1
問題はのパラメータが必要ですSystem clock synchronised
。timedatectl status
しかし、yes
必ずしもそうではありません。
これは次の正しい出力ですtimedatectl status
。
$ timedatectl status
Local time: Tue 2020-04-28 11:28:44 CEST
Universal time: Tue 2020-04-28 09:28:44 UTC
RTC time: n/a
Time zone: Europe/Amsterdam (CEST, +0200)
System clock synchronized: yes
NTP service: inactive
RTC in local TZ: no
この問題は、次の手順を実行することで解決できます。
まず削除する必要がありますntpd
。そうしないと、systemd-timesyncd
問題が発生する可能性があります。これは次のコマンドを使用して実行できます(このコマンドは削除されません/etc/ntp.conf
)。
sudo apt-get remove ntp
その後、次のコマンドを実行してntpを有効にし、「systemd-timesyncd」を起動できます。
sudo timedatectl set-ntp yes
コマンドがsystemd-timesyncd
自動的に開きます。したがって、systemd-timesyncd
停止して無効にする必要があります。これは、次のコマンドを使用して達成できます。
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
ntpd
これで、以下を再インストールできます。
sudo apt-get install ntp
これでntpd
、次のコマンドを使用して再起動できます。
sudo service ntp restart
正しく機能していることを確認してください
ntp
次のコマンドを実行して、正しく機能していることを確認できます。
ntpq -pn
複数のIPを返す必要があります。
ntpstat
NTPサーバーと同期しているとマークする必要があります。ntpstat
次のコマンドを使用してインストールできます。
sudo apt-get install ntpstat