web-dev-qa-db-ja.com

時間ドリフト

サーバーの時間のずれにどのように対処しますか?

10
deadprogrammer

Network Time Protocol(NTP)を使用して、サーバー上の時刻を信頼できるソースと同期できます。たとえば、Windowsサーバーは、ネットワークドメインコントローラの1つを使用します(DCこれは、ドメインのPDCエミュレータFSMOの役割を保持します[Gramemeに感謝])) configure ドメインコントローラーを使用して、time.windows.comなどの既知のソースから情報を取得できます。

23
Justin Scott

そして、仮想マシン群衆を表すために...

仮想サーバーを実行している場合、時間のずれが一般的な問題であるように思われるため、通常、VMとホストの同期を維持する方法(NTP以外)があります。

私の場合、VMWareを使用しています。これを使用して、Linux仮想マシンからこれをオンにできます。

vmware-guestd --cmd "vmx.set_option synctime 0 1"

Windows仮想マシンから、システムトレイからvmware-toolsアイコンを開き、仮想マシンとホストOS間の時間同期を選択できます。

9
Brent

VMwareTools SyncTimeは、ESX上の仮想マシンに適したオプションではありません。 VMware自体は、問題が発生した場合にVMでのタイムキーピングに関する推奨事項を、vmware-toolsの代わりにNTPを使用するように)変更しました。

私はVMworldでVMwareのエンジニアにこれについて一度話しました、そしてvmware-toolsはそれが今行っている仕事をするように設計されていないと言われました。昔は、割り込みの喪失が大きな問題でした。今日ははるかに少ない。これが、マシンが遅れている場合にvmware-toolsがマシン時間を修正できる理由ですが、マシンが進んでいる場合は修正できません。実際、マシンが「実際の」時間よりも先に進むと、vmware-toolsを使用して計時を行う場合、かなり困惑します。

さらに良いことに:ntpを使用する場合、時間を修正するプロセスは、実際にはvmware-toolsを使用する場合に比べて目覚める頻度が低くなります。したがって、仮想マシンの場合、ntpはより多くのオーバーヘッドの代わりにlessオーバーヘッドを提供します。

したがって、Linuxの場合は、VMware仮想マシンでntpを常に使用する必要があります。 vmware-tools synctimeを完全に無効にします。

Vmware上のWindows VMについては、確信はありませんが、ほとんど同じだと思います。 ADに組み込まれている時刻同期機能を使用します。これは、VMware SyncTimeよりもうまく機能します。 (AD時刻の同期自体はかなり悪いですが、存在の唯一の理由は、Windowsのボクセンとドメインコントローラーの同期を維持することであり、時刻の差が約5分未満である限り、Kerberosは引き続き機能するため、精度の必要性が低くなります。)

LinuxでのVMware時刻同期についてもう少し読むことができます ここ

6
wzzrd

NTPデーモンを使用します。

4
iny

[〜#〜] ntp [〜#〜] はあなたの友達です。

RHEL/CentOS:

yum install ntpd

Debian/Ubuntu:

apt-get install ntpd

ウィンドウズ:

  • Windows 2000の場合Tardis 20 。うまく動作し、コントロールパネルが付属しています。これを使用する場合は、必ずWindowsタイムサービスをオフにしてください。
  • Windows 2003/2008の場合:この質問の他の回答ですでに言及されています。または、2k3ボックスでTardis 2000を実行することもできます。2k8で動作するかどうかはわかりません。
  • Windowsワークステーションの場合:ログイン時に次のコマンドを実行します:net time /domain:your-domain-here

すべてのNTPサービス:

サービスをpool.ntp.orgに向けますが、少なくとも同じ大陸に限定する必要があります。たとえば、米国のサーバーは0.us.pool.ntp.org、1.us.pool.ntp.org、2.us.pool.ntp.orgなどを使用します。

4
Avery Payne

多くの人が答えたように、NTPが適しています。ニーズと要件に応じて、時刻の同期に使用できるいくつかの可能な設計があります。

  1. 個々のマシンをパブリックホスト、つまりpool.ntp.orgに同期します
  2. ローカルマスターを指定し(アップストリームNTPを使用)、その他すべてをそれに同期します。
  3. 自分のGPSハードウェアが接続されたローカルマスター

多くのマシンを使用している場合、オプション2と3は、ネットワークにとって非常に使いやすいです。詳細については、NTPおよび クロック層 を参照してください。

さらに、Windowsの同期のデフォルトの間隔が長すぎる(1週間に1回)ため、ドリフトが多すぎることがわかりました。短い期間に設定したい場合は、以下をチェックしてください(1日に1回使用します)。

http://www.softpedia.com/get/System/System-Miscellaneous/Internet-Time-Update.shtmlhttp://www.tweakxp.com/article36948.aspx

3
Jauder Ho

良いNTPサーバー、主に。最後の同期からクロックが数秒以上ずれないように設定してくださいNTP同期してください。問題はありません。

サーバーのドリフトが1日30秒を超えている場合は、より良い代替案を検討することをお勧めしますが、ほとんどのコンピューター内のクロックは通常、1日30秒よりもはるかに優れているため、通常、1日1回の同期で問題ありません。

定期的に同期するように設定すると(ntpdate)、数分スキップする可能性があることに注意してください。NTPデーモン(ntpd)-3秒遅れている場合、およびNTP=同期は10分58秒で更新を試み、11秒1秒にスキップします。使用しているスケジューラーによっては、11分のタスクをトリガーしない場合があります。

NTPデーモンはバックグラウンドで実行され、時間をゆっくりと修正するので、プログラムとプロセスは通常よりも少し速くまたは遅くなる可能性がありますが、2番目にスキップしません。

-アダム

2
Adam Davis

NTPサーバーは、DCで時刻を同期させるために必要なものです。 DCを外部ソース と同期する方法については、この記事と、 権限を設定する方法に関するこのナレッジベース記事をお読みくださいタイムサーバー Windows2003。ドメインの時刻を同期させるには、両方が必要です。ドメインに参加しているワークステーションは、権限のあるタイムサーバーと自動的に同期します。

1
user1797

すべてのサーバーに共通のクロックソースを使用し、タイムゾーンが正しく設定されていることを確認します。適切なインターネットソースは「time.windows.com」です。 Windowsを使用している場合は、時間に関連するコマンドに「net time」と「w32tm」を使用できます。

0
Jeroen Landheer