パブリックNTPサーバーを実行する際の考慮事項


21

ネットワークに3つのGPSクロックが搭載されているため、技術的には少し時間をかけて他の地域に時間を提供できることが最近わかりました。これまでのところ、このアイデアの欠点はまったく見ていませんが、次の質問があります。

  1. これを仮想化できますか?このためにハードウェアを立ち上げるためにお金と時間を費やすつもりはないので、仮想化は必須です。サーバーは3つのstratum 1ソースにアクセスできるため、ntpdの構成が正しい場合、これがどのように問題になるかわかりません。

  2. パブリックNTPサーバー(pool.ntp.orgの一部)は通常どのようなトラフィックを見るのですか?また、これにはどのくらいのVMが必要ですか?ntpdは、できる限りリソースを集中的に使用するべきではありませんが、事前に知っておく必要があります。

  3. これにはどのようなセキュリティ面がありますか?DMZの2つのVMにntpdをインストールするだけで、FWを介したntpのみを許可し、DMZから内部ntpサーバーへのntpのみを許可することを考えています。NTPプールページに従って推奨されるntp設定もあるようですが、それで十分ですか?https://www.ntppool.org/join/configuration.html

  4. ローカルクロックドライバーを構成しないことをお勧めします。これは、構成ファイルからLOCALタイムソース構成を削除することと同等ですか?

  5. 他に考慮すべきことはありますか?

回答:


22

まず、あなたに良いです。それは役立つ、公然としたことです。とはいえ、3つのMeinberg GPS対応stratum-1(内部)サーバーと同期して時間を公開する1つ以上のDMZ VMを作成することを計画しているという明確な説明があります。

  1. 編集:仮想化は、プールリストで時々議論するために登場します。最近のメールは2015年7月で、このメールからフォローできます。プロジェクトリーダーのBjørnHansenにスレッド投稿してもらい、仮想化に反対しなかったと尋ねてください。明らかに、現在多くのプールサーバーオペレーターが仮想化されているので、だれかがあなたのためにあなたを撃つとは思いません。プール。KVMは、推奨される仮想化テクノロジーのようです。VMWareを特に使用している人はいなかったので、仮想化の「正直さ」についてはコメントできません。 おそらくこのテーマに関する最高の要約は言った

    私のプールサーバーは、独自のKVMホスト上のKVMで仮想化されています。監視によると、サーバーはかなり正確で、過去2〜3年間安定した時間が提供されます。しかし、別のプロバイダーからリースされた仮想サーバーにプールサーバーをセットアップしません。

  2. これは、過去1年間にプールサーバー(イギリス、ヨーロッパ、およびグローバルゾーンにある)に表示される1秒あたりの個別のクライアントの1日あたりの平均数です。

    ntpクライアント数

    これにより、システム負荷はほとんど検出されません(ntpdほとんどの場合、CPUの1%〜2%を使用しているようです)。1年のある時点で、負荷が一時的に1秒あたり約1,000クライアントでピークに達したことに注意してください(最大:849.27)。私は過度の負荷を監視していますが、アラームはすべて鳴りませんでした。そのため、その負荷レベルであっても問題はありませんでした。

  3. プロジェクトが推奨する構成はベストプラクティスであり、私にとっては有効です。またiptables、10秒のローリングウィンドウでクライアントを2つのインバウンドパケットにレート制限するために使用します(自分のクロックをすばやく設定するために自由にバーストする必要があると考えている失礼なクライアントの数は驚くべきことです)。

  4. または、で始まるサーバーアドレスを参照する行を削除します127.127

  5. また、ベストプラクティスガイドラインでは3つ以上のクロックを推奨しているため、3つのstratum-1サーバーに加えて、他のいくつかのパブリックサーバーまたは特定のプールサーバーを選択することをお勧めします。

    また、これらの両方のVMを同じホストハードウェアに配置する予定の場合は、1つを実行するだけで、プールに宣言された帯域幅を2倍にする必要があります。 )。


1
多くのLinuxディストリビューションiburstがデフォルトで設定されています...
Michael Hampton

4
iburstサーバーに到達できない場合にのみ適用されるため、あまり気にしません。burstただし、設定は実に反社会的です。
MadHatterはモニカをサポートします

1
ありがとう、私が知りたかったことを正確に!明確にするために、これらの下でVMwareを実行していますが、これは分散クラスターです。私の内部時計はMeinbergアプライアンスであり、NTPを単純に話しています。負荷は非常に合理的なようで、私の内部時計は約2倍に見えます(しかし、再び彼らはそこにいるので、私のデバイスは好きなだけ反社会的です)。
-Stuggi

@Stuggiプール運営者のリストを検索することで仮想化の質問を明確にしようとしましたが、うまくいけばそれがいくらか助けになるでしょう。すべての質問に対処していると思われる場合は、お気軽に私の回答を受け入れてください!また、プールサーバーを実行していただきありがとうございます。
MadHatterは、Monicaを

1
@MadHatterチアーズ仲間、それはそれをいくつかクリアしました。以前はVMwareで多くの時間の問題に対処しなければならず、それらの問題に対処する方法を知っていましたが、すべてを調整した後でも、NTPの計時ではVMが依然としてあまりにも悪いのではないかと心配していました。VMwareはベアメタルハイパーバイザー(別名、ハイパーバイザーはOS)ですが、KVM(正しく覚えている場合)は「通常の」OS上で実行されるため、VMwareで実行しても問題ありません。試してみて、プールから投げ出されるかどうかを確認します!:)
Stuggi

12

まず、フェイスパームではないNTPの質問におめでとうございます。:-)物事の感触をつかむために、この投稿の下部にいくつかのグラフを含めました。問題のVMは、プールコントロールパネルで100 Mbpsに設定されており、英国、ヨーロッパ、およびグローバルプールにあります。

  1. MadHatterはこれをうまくカバーしていると思います-仮想化はうまくいくはずです。あなたが言うように、彼らがあなたのGPS接続された地層1から供給しているならば、それらは適度に堅くなければなりません。私の経験では、VMは周波数に関してはベアメタルよりも少しジャンプしやすい傾向があります(下のグラフを参照)。隣人。そのような急上昇を避けたい場合は、代わりに古いサーバーまたは未使用のデスクトップをDMZ stratum 2として使用してください。

  2. このVMは、OpenStack(KVM hypervisor)で仮想化されたUbuntu 16.04 LTSを実行する1コア、2 GB RAMです。ご覧のとおり、RAMは少し上にあります。

  3. 推奨設定-ローカルドライバーが構成されていないことを含む-は、Ubuntu 16.04のデフォルトです。ピアリスト以外のストック構成に非常に近い状態で実行しています。

  4. (上記を参照)

  5. 私はおそらく、ローサイドで帯域幅を開始し、少し監視してから帯域幅を増やします。VMがすべてネットワークレイテンシの点で互いに近く、ストラタム1の近くにある場合、おそらくすべてのVMがすべてのストラタム1と通信し、おそらく相互にピアリングして、孤立モードもオンにします。

ここにグラフがあります-それらはすべて、バックアップのためにいくつかのスパイクがあったネットワーク1を除いて、およそ3週間の同じ期間をカバーします。ネットワークが急上昇すると、通常のNTPトラフィックも表示できなかったため、少し拡大して通常の背景を表示しました。

CPU CPU メモリ記憶 ネットワークネットワーク 周波数周波数 システムオフセットシステムオフセット


うーん、いい答え-私からの+1!
MadHatterは、Monicaを

1
本当にありがとうございます
Stuggi

3

NTPで考慮すべき事項

ここにはすでに良い答えがあります。私は自分自身の経験に基づいて、完全性のためにいくつかの考えを追加しています。

懸念がある場合は、その議論に関係するため、ベアメタルとVMでNTPロギングとグラフクロックスキューと補正を有効にすることをお勧めします。ハードウェアと構成は実装ごとに異なるため、これは簡単に一般化できるとは思いません。その番号で自分の番号を取得するのが最善かもしれません。

CPU時間はかなり一定で、ティックレスカーネルではないか、省電力モードが有効になっていないサーバーまたはネットワークデバイスのシステムロールを選択することを常に提案しました。特に、デーモンがファーム内の階層2のみであっても、NTPサーバーでデーモンのcpuspeedやspeed govenors、または高度な省電力機能を使用しないでください。Cステート1よりも深くなることはなくてもある程度の安定性は得られますが、消費電力は増加します。

また、ネットワークの端から40ミリ秒以内の少数のstratum 1サーバーを選択し、それらをエッジNTPサーバーに分割して、ネットワーク内の同じSNATの背後にある2つのサーバーが通信しないようにします。同じstratum 1サーバーに。と同じ線に沿っburstて、同じアップストリームサーバーを使用して同じSNATの背後に複数のサーバーを配置することは賢明ではありません。

kodアップストリームサーバーからのパケットを常に尊重し、アップストリームサーバーの時間オフセットと到達可能性をチェックする監視ツールを使用する必要があります。

GPS SAが軍によって有効になっているというまれなケースでは、いくつかのデータセンターに独自の正確な時間ソースをピアリングまたはフォールバックすることを検討できます。これ専用の費用対効果の高いアプライアンスがあります。「ケージ」環境にいて、独自のデータセンターを持っていない場合でも、ホスティング施設によってはこれに対応する場合があります。


Stuggiはすでに、問題のネットワークには3つのGPSクロックがあると述べました。
ポール・ギア

はい。特に、GPSが無効になった場合にドリフトしないローカルセシウム時計の使用について説明しています。それは大規模な軍事イベント中にのみ発生するはずですが、あなたは決して知りません。
アーロン

2

http://www.vmware.com/pdf/vmware_timekeeping.pdfの vmware timekeepingドキュメントを参照してください。

VMでNTPデーモンを実行することは、特に信頼できる時間を必要とする場合には、おそらく良い考えではありません。


3
正確な答えではありませんが、これは「TL; DR:はい、仮想化に関して対処すべき問題があります」という有効な懸念を引き起こします。
rackandboneman

対処する必要のあるこれらの問題を認識していますが、それが可能な場合はもっと考えています。
-Stuggi

1
Re:「VMでNTPデーモンを実行することは、おそらく信頼できる時間を必要とする場合は特にお勧めできません。」-これは現代のハイパーバイザーには当てはまらないと思います。リンク先のドキュメントには、VMでNTPを使用することがオプションであると具体的に記載されています。応答に含めたグラフは、VMがKVMで十分な時間を保つことができることを示しており、新しいESXiシステムでも同じことを期待しています。
ポール・ギア

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.