web-dev-qa-db-ja.com

NTPDは、必要のないときに時間を無駄にします

Rhel6.5マシンでntpdを実行すると奇妙な動作が発生します。このマシンは、kvmホスト(rhelも)上で仮想マシンとして実行され、このホストには正しい時刻(数ミリ秒以内)と、それを正しく保つntpdがあります。

私が気付いたのは、ntpdate -uを実行した後、時間は最終的には良くなり、通常はそこにとどまるということです。ただし、Red Hatでは、仮想ゲストでもntpdを実行することをお勧めします。だから私はntpdを開始します。これは、奇妙な動作が見られるいくつかのホストを除いて、ほとんどのホストでうまくいきます。

これらのホストでは、ntpdが開始されるとすぐに、これらのシステムで時間は約0.5 ms /秒遅れ始めます(または、最大ntpdである500 ppmが時間をスルーします)。そしてこれは、ntpdが同期できるピアを取得する前でも...

Ntpdを停止すると、時間がドリフトしなくなります。それを開始し、時間が再び漂い始めます。

言い換えれば、私はいくつかのシステムで(そしてこれはすべて同一であるため私を困惑させます)それがすべきことの正確な反対を行うntpdを持っているようです。

私のntp.confはかなり簡単です:

tinker panic 0

# Permit time synchronization with our time source, but do not'
# permit the source to query or modify the service on this system.'
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1


server time.mydomain.com


# Driftfile.
driftfile /var/lib/ntp/drift

これの原因は何でしょうか?

2

Ntpdが仮想マシンのクロックドリフトについて誤った考えを持っており、ドリフトを誤って補正しているようです。 ntpdを停止し、driftfileを削除して、ntpdを再起動します。

これで問題が解決しない場合は、chronyに切り替えることを検討してください。これは、EL7のデフォルトのNTPクライアントであり、EL6のEPELで使用できます。

3
Michael Hampton

私のVMはVirtualBoxまたはESXiのいずれかで実行されているため、これまでこのような問題は発生していませんでした。どちらのソリューションもホストのクロックをゲストマシンに公開しているため、クロックに問題はありませんでした。問題のあるクロックを使用してVMを試して、ホストマシンをNTPサーバーとして使用する(そしてもちろん、それに応じてホストマシンのntp.confを変更する)ように送信します。

とにかく、次のことがとても面白いと思いました。

http://support.ntp.org/bin/view/Support/KnownOsIssues#Section_9.2.2

もちろん、(CentOSではなく)RHELを実行している場合は、サポートチケットを開くことを強くお勧めします。

0
Peter