プールディレクティブを指定するntp.confファイルを見つけました。
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
pool 0.ubuntu.pool.ntp.org
pool 1.ubuntu.pool.ntp.org
pool 2.ubuntu.pool.ntp.org
pool 3.ubuntu.pool.ntp.org
それでも、同じファイルにサーバーディレクティブがあります。
プールについて読むと、サーバーの代わりに使用することを意図していることがわかります。どちらかを使用する必要があります。
しかし、ntp.confに両方ある場合はどうなりますか? 1つのセットが他のセットよりも優先されますか、それともすべて使用されますか?
これはUbuntu 14.04で、ntpdはバージョン4.2.6p5です。
ソースで確認できる限り、ntpd
はプールのメンバーと個々のサーバーの両方をほぼ同じ方法で処理します。ピアのリストにそれらを追加します。
これらのピアはすべてntpd
によって使用されます。
プールメカニズムの魔法はラウンドロビンDNSにあります。ntpd
はDNSを通じてプール名を解決するため、DNSクエリからの応答は単一のノードであり、解決が要求されるたびに異なる場合があります。
答えはmboehnによって与えられました。さらに明確にするために: 彼が言及したドキュメント を参照してください。特に最後の行:
プールスキームは、1つ以上のプールコマンドを使用して設定され、DNS名はそこから取得するプールを示します。 poolコマンドは複数回使用できます。重複するサーバーが検出され、破棄されます。原則として、1行のプールpool.ntp.orgを含む構成ファイルを使用できます。 NTPプールプロジェクト 指示を提供 サーバーコマンドでのプールの使用について、これは最適ではありませんが、プールコマンドよりも古いバージョンのntpdで動作します。最近のntpdでは、例の複数のサーバーコマンドを単一のプールコマンドに置き換えることを検討してください。
私の設定は:
# Specify one or more NTP servers.
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
pool 3.pool.ntp.org iburst
# Provide your current local time as a default should you temporarly lose Internet connectivity
server 127.127.1.0
fudge 127.127.1.0 stratum 10
確認すると、地理的な場所(オランダ)の近くに複数のntpサーバーがあります。
$ ntpq -4np
remote refid st t when poll reach delay offset jitter
==============================================================================
0.pool.ntp.org .POOL. 16 p - 64 0 0.000 0.000 0.000
1.pool.ntp.org .POOL. 16 p - 64 0 0.000 0.000 0.000
2.pool.ntp.org .POOL. 16 p - 64 0 0.000 0.000 0.000
3.pool.ntp.org .POOL. 16 p - 64 0 0.000 0.000 0.000
127.127.1.0 .LOCL. 10 l - 64 0 0.000 0.000 0.000
-85.255.214.66 193.190.230.66 2 u 5 64 177 6.937 1.588 1.645
-5.39.184.5 91.148.192.49 3 u 64 64 77 8.907 1.197 1.635
-91.198.87.229 193.79.237.14 2 u 5 64 177 8.447 -0.042 0.894
+37.34.57.151 193.79.237.14 2 u 1 64 177 7.463 0.168 0.297
*91.198.87.118 192.87.110.2 2 u 2 64 177 8.593 0.070 0.384
+88.159.1.197 80.94.65.10 2 u 2 64 177 10.497 0.454 0.213
+213.154.236.182 213.136.0.252 2 u 67 64 77 8.793 0.455 2.391
#178.21.23.127 91.121.157.10 3 u 66 64 77 9.129 -0.911 1.541
#213.109.127.195 193.79.237.14 2 u 66 64 77 11.766 -7.330 1.501
+213.154.229.24 80.50.231.226 2 u 4 64 177 8.496 0.121 0.538
-217.77.132.1 213.136.0.252 2 u 2 64 177 7.026 -0.782 1.253
#87.253.148.92 195.13.1.153 3 u 4 64 177 7.338 -3.859 0.964
-94.228.220.14 193.67.79.202 2 u - 64 177 8.347 2.797 1.019
NTPがタイムサーバーのプールを適切に要請し、フェイルオーバーシナリオでタイムサーバーの可用性を利用するためには、ntp.conf
は次のように構成する必要があります:
pool
コマンドではなく、server
コマンドでプールのドメイン名を宣言します
プールが関連を動員できるようにします(つまり、「restrict source
... "nopeer
ディレクティブを含まない行)