オフライン時間同期

オフライン時間同期

クライアントに接続されている完全にオフラインのLinuxサーバーの時計を同期する安定した方法はありますか?

単一の「起源以降のミリ秒」数をサーバーに渡すのは単純ではありますが、不正確になる可能性があると思います。

クライアントがNTPサーバーから取得する必要な情報をNTPD(サーバー上で実行)に提供できるかどうか疑問に思います。

答え1

注目すべき重要な点は、オンボード時計が必ずしも信頼できるわけではなく、異なるマシンが異なる速度でドリフトするということです。 ntpこのドリフトを測定しようとしましたが、近似を計算するには十分な接続時間が必要です。

何らかの理由でインターネット上のNTPサーバーと同期できないコンピュータに対して時計を同期したままにする標準的な方法は、ローカルの「特権」タイムソースを持つことです。通常、これはGPS受信機です。これで、お使いのコンピュータが正確なタイムソースにアクセスできるようになります。

外部タイムソースがなければ、コンピュータのどれも十分に信頼できると見なすことはできません。

今度は正確さを大幅に気にせずに接続で「再同期」したい場合は、リンクが確立されている間にntpdate実行するだけで十分です。これは時計のタイムアウトを引き起こす可能性があることに注意してください。戻るしたがって、推奨されませんが(Unixの時間は単調に増加します)、ユースケースに害を及ぼすことはありません。

答え2

GPSを使用することは、実際にシステムクロックを同期する最も簡単な方法です。私のインターネット接続は通常良いですが、ここはFrontierですので、毎年数日ほどインターネットが壊れています。インターネットでIPセキュリティカメラの時計を同期しましたが、このカメラの内部時計は本当に悪いので、より安定したものが必要です。だからGPSを探しに行きました。

私はntpdとgpsdを一緒に設定してみましたが、インターネットで説明されているすべてのステップは、より高価なGPSとカーネルパッチを必要とするPPS信号を使用すると仮定します。私はどちらにも興味がなく、Linuxカーネルを永遠に手動で維持したくありません。

一方、私はNTPとGPSについて知っていて、もっと学びたいです。 NTPサーバーは実際には非常に単純です(クライアントはほとんどのタスクを実行します)。私は過去にGPSとNMEAを使用してきました。私は安いUSB GPSマウス(約12ドル)を購入しました。作業には数週間かかりましたが、構成がほとんどなく、Raspberry PiやDebian PCに簡単にインストールできるNTPサーバーがあります。家の時計

また、既存のNTPサーバーツールが気に入らない。独自開発のNTPサーバーツールを使用してください。池httpWebサーバーライブラリ。

全体的に、私はGPSDを設定する方法を見つけるよりも多くの時間を費やしましたが、WebクライアントでGPSD(および他のデバイス)を自動的に監視する機能があります。これは私の将来のペットプロジェクトです。また、IPカメラとの時刻同期にはいくつかの問題があり、NTPクライアントのアクティビティを監視できるため、この問題を解決するのに役立ちました(うるう年のカメラファームウェアのバグ)。

すべてのアドバイスは、PPSがなければ、GPS同期が1秒以上安定していないことです。私の経験によれば、ほとんど安定していますが、一定期間が過ぎると50〜100ミリ秒ほど減らすことができます。誰が気にしますか:私は粒子物理学実験をしているわけではありません。 1秒の精度で十分です。

他のRaspberry Piの負荷がそれほど高くなかったので、2番目のGPSマウスを購入しました。チャジャン、自家製のNTPサーバーの冗長ペア。

関連情報