問題タブ [ntp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Nagios check_ntp_peer が機能しない
Nagios で監視している仮想化 (vmware) debian (2.6.26-2-686) を実行しています。最後に、次の重大なエラーが発生します (_check_ntp_peer_ スクリプトによって報告されます)。
それは私の注意を呼びます
どんな手掛かり?ここにntp.confがあります
それで、問題が何であるかについて何か考えはありますか?
前もって感謝します、
ウィルマー
unix - ntpd を使用すると、cron ジョブが台無しになる可能性がありますか?
私のシステムには多くの時間のずれがあり、数週間後には約 5 分進むことがあります。
これを修正するために、ntp をインストールしました。これは、ドリフトを修正し、もちろん、時々 ntp サーバーに時刻を同期するのに役立ちます。
ファイルのバックアップなどの cron ジョブがあるとします。次のシナリオは可能ですか?
cron ジョブが大きなファイルをコピーする場合、2 回目の実行では、最初のジョブが書き込みを完了していないファイルを上書きしようとする可能性があります。
ありがとう!
cloud - 多くのノードにわたってクラウド (AWS、heroku など) でクロック同期を確立するにはどうすればよいですか?
クラウド (AWS、Heroku、またはセルフマネージド VMS) で大規模なノード クラスターを実行したいと考えています。そのクロックは、事前に定義された許容範囲を念頭に置いて同期する必要があります。おそらく200ミリ秒の許容範囲を探しています。つまり、250 個のノードがある場合、250 個のノード間の最大クロック差が 200 ミリ秒を超えることはありません。世界に対する実際の日付/時刻はあまり気にしません。ソリューションはフォールト トレラントでなければならず、どのシステムのクロックの精度にも依存する必要はありません。実際、どのクロックもそれほど正確ではない可能性があります。
要件は十分に強く、何らかの理由で特定のノードのクロック同期が信頼できないと判断された場合、クロックの非同期化のためにクラスターからノードを削除することをお勧めします。そのため、障害が疑われる場合は、そのノードのある種の制御されたシャットダウンを実行できるようにしたいと考えています。
NTP のようなものを使いたいのですが、NTP の既知の問題 twikiによると:
NTP は、仮想マシン内で実行するようには設計されていません。これには、高精度で処理されるクロック割り込みへの応答時間を備えた、高分解能のシステム クロックが必要です。これらの要件を満たすことができる既知の仮想マシンはありません。
そして、同じ twiki が状況に対処するためのさまざまな方法 (ホスト OS で ntp を実行するなど) を説明していますが、AWS または horoku を使用して環境を十分に変更して準拠することができるとは思いません。回避策。
私が VM で実行していなかったとしても、ntp を実行してきた長年の経験を持つ信頼できる運用管理者は、時々ローカル クロックのずれが原因で、ntp が同期をドロップする可能性があり、ドロップする (または単純に時刻を間違える) ことを教えてくれます。頻繁に発生するわけではありませんが、実際に発生します。マシンを増やすと、これが発生する可能性が高くなります。私の知る限り、自分がどれだけ離れているかを検出するには、ntpd を停止し、クエリ モード コマンドを実行して、再度起動する必要があり、応答を得るまでに長い時間がかかる場合があります。
要約すると、主な目標は次のとおりであるクロック同期が必要です。
- 運用制御が制限されている VM (つまり、「クラウド サービス プロバイダー」) で適切に実行されます。
- すべての参加者間で約 200 ミリ秒のクラスター内の時間許容誤差
- 不良ノードを検出し、積極的に対応する機能
- 耐障害性 (単一障害点なし)
- スケーラブル (ノードを追加しても倒壊することはありません。n^2 は絶対に避けてください)
- 何百ものノードをサポートできます
- どのノードも、他のどのノードよりも優れた時間の概念を持っていると見なされるべきではありません
- 一斉にドリフトする限り、クラスター全体が (合理的な範囲内で) ドリフトしても問題ありません。
説明からすると、ここではBerkeley Algorithmが正しい選択のように思えますが、それは既に実装されていますか?
あると便利:
- 最小限の構成 (参加するノードの自動登録) -- 新しいノードを起動するために重要
- クロック同期に参加しているノードと相対時間オフセットをレポートする HTML ダッシュボードまたは (REST?) API
- きれいなグラフ?
vb.net - VB.NETを使用したNTPサーバーのクエリ
タイトルが説明しているように、「VB.NET」のNTP/SNTPサーバーからUTC時刻を照会する方法を探しています。そのようなタスクのためにVB.NETで見つけた唯一のライブラリは、さまざまな形式の通貨のかなりの合計を必要としているようです。
提案、コメント、方法、またはリンクはありますか?
ありがとう!
embedded - 組み込みデバイスのNTPタイムスタンプからDateTimeを計算します
標準のlinux/unix date / time APIがなく、NTP
サーバーに対してクロックを同期する必要がある非常に限られた環境があります。私は経由で通信し、返信UDP
を得ることができます。NTP
今、私はNTP timestamp
自分で完全にデバイスの日付/時刻に変換する必要があります。
いくつかのntp実装(、、)を見つけましqntp
たがc#
、java
それらはすべてシステム全体の関数を使用して、NTP
タイムスタンプを対応するDateTime実装に変換します。
変換方法のアドバイスや、そのような変換について読むことができるリンクをいただければ幸いです。
time - うるう秒を補正するために原子時計の秒の定義を変更した場合の影響
国際電気通信連合(ITU)は、協定世界時(UTC)を標準化する機関です。ITUは、さまざまな理由から、いわゆるうるう秒をなくすために議論してきました。うるう秒は、地球の自転の減速と、その結果として生じる地球の時間と天文時間の差に対応するために追加されます。現在の定義では、国際度量衡局(BIPM)が、地球の原子時計が天文時間0.9秒と異なることを発見した場合、うるう秒が追加されます。半年後、うるう秒は、すべての時計を1秒間停止することにより、地球の時間から差し引かれます。
このプロセスは決定論的ではないため、うるう秒を取り除くためにITUが議論しました。これは、クラッシュせずにうるう秒に対処できないコンピュータシステム(ロシアのGLANOSSシステムなど)が常に存在するためです。
私は教授の1人と、原子時計の1秒のカウント方法を変更することについて話し合いを始めました。これは現在、セシウム原子の量子変化によって定義されています。1秒は9.192.631.770の量子変化に相当します。私は、この定義を1秒あたりの量子変化を数回に再定義し、1秒を効果的に長くして、うるう秒の理由を無関係にすることを提案しました。私の教授は、これは大きな間違いであり、残念ながら議論をやめなければならないと矛盾しました。
この定義を変更することによる明らかな組織上の問題に加えて、任意の数の量子変化を任意の時間間隔にマッピングすることは、物理的または数学的に導き出されたものではないため(たとえば、PI)、技術的または物理的な問題を考えることはできません。また、非常に高い時間分解能を必要とする一部のコンピューターシステム(GPSやGalileoなど)は、うるう秒をまったく考慮していません。要約すると、これまでのところ、私の議論に問題はありません。
明日テストを受けて、この議論が続いて、私の最終的なマークを変えるという奇妙な気持ちになりました。私がまだ考えていなかった技術的、数学的、または物理的な問題について考えていただけますか?これは本当に私を怒らせます。
java - システム時刻の変更から完全に独立した Java スケジューラ
Javaタイマーを使用していた後、ScheduledExecutorServiceに切り替えましたが、私の問題は修正されていません。システム時刻の変更前に (ntpd を介して) スケジュールされたタスクは、指定された遅延で実行されません。何も起こらないのと同じようにログはありません:(。
64ビットLinuxのターゲットでjre 1.6.0_26 64ビットを使用しています。
更新: ScheduledExecutorService は Windows で正常に動作します。問題は、64 ビット JVM を実行している 64 ビット Linux ベースのシステムでのみ発生します。32 ビット JVM を実行している 64 ビット Linux で正常に動作します...奇妙なことです。どのブログにも同じ参照が見つかりませんでした。
IBM の Java SDK にも同じ問題があります (ibm-java-sdk-7.0-0.0-x86_64-archive.bin)。
私は JDK 7139684に対して欠陥を提出しました。それは受け入れられましたが、クローズされ、 6900441の複製としてマークされました。修正する価値があると思われる場合は、投票してください...数年以上修正されていない理由がわかりません
この問題をテストするために使用したサンプル コードを次に示します。
c# - Java を介して C# アプリケーションと時刻を同期する
Debian OS で Java アプリケーションを実行しており、Windows C# サーバー プログラムと通信しています。私の Java アプリケーションは、TCP/IP 経由で C# サーバー プログラムに接続します。私が今直面している問題は、Debian OS のシステム時間が常に Windows Server のシステム時間よりも遅いということです。両方のアプリケーションは、ほとんどがインターネットにアクセスできない内部ネットワークで実行されます。
- これら 2 つのアプリケーション間で時刻を同期する方法はありますか?
- NTP について読みましたが、Java は NTP を使用して C# プログラムと時刻を同期できますか?
- C# プログラムは NTP サーバーとして実行する必要がありますか? (何か方法はありますか?)
- これら 2 つのアプリケーション間のメッセージ交換を単純に記述した場合、何か問題はありますか?
誰かが実装を研究するためのリンクを提供できれば、非常にありがたいです。
linux - スクリプトのntpdate結果の取得
IPが異なる2つのNTPサーバーがあります。
システムクロックを「ntpdate」クライアントと同期するbashスクリプトを作成しようとしています。最初のNTPサーバーが応答しない場合、スクリプトは2番目のNTPサーバーへの接続を試行する必要があります。
この方法でRESULTというシステム変数を作成しようとしました:RESULT = ntpdate 192.168.100.41
NTP同期は機能しますが、「echo $ RESULT」を作成すると、その値は常に0になります。したがって、私の質問は次のとおりです。これを行う正しい方法はありますか?どのように?
c++ - リモート NTP サーバーに接続するための C/C++ ライブラリはありますか?
システム クロックをリモート NTP サーバーと同期する必要がある C++ ソフトウェアを作成しています。今のところ、「system」コマンドを使用して、コンソールの「ntpdate」コマンドを呼び出しています。
..しかし、それは醜い方法だと思います。
リモート NTP サーバーに接続できるライブラリを知っていますか? ありがとう。