EC2環境でいくつかのサーバーを実行する作業をしています。ntpdが(CentOSを使用して)同期しようとすると、いくつかのエラーが発生します。
私はこのサイトを読んでいて、EC2はXenであり、ホストが仮想サーバーの時間を処理するため、ntpdを実行する必要がないという印象を受けました。
http://support.ntp.org/bin/view/Support/KnownOsIssues
これは正確ですか、または発生しているエラーを回避する方法を理解する必要がありますか?
cap_set_proc()がroot権限の削除に失敗しました
それは、新しいカーネルや、私がする必要がないのであればやりたくない他のものを構築することを含むようです。
あなたがする必要はありません。 EC2インスタンスのクロックはXen Dom0に同期されます。これを確認するには、/proc/sys/xen/independent_wallclock
の内容が0であることを確認します。
はい、ntpdを実行する必要があります。
EC2マイクロインスタンス(Ubuntu UEC Maverickを実行)での稼働時間は5日で、18.5秒ずれていました。
シャットダウンして再起動すると、正常に戻ったので、なんらかのドリフトがあるようです。
ところで、これは/sys/devices/system/clocksource/clocksource0/current_clocksource
がxen
と言っているにもかかわらずです。なぜ機能しないのかわかりません。
Ntpパッケージをインストールすることで問題は解決しました。クロックは正確なままであり、Xenのクロック同期との競合を示す可能性のあるsyslogに疑わしいものはありません。 (それはそのサーバーとしてntp.ubuntu.comを使用します。代わりに使用できるNTPサーバーがAWSネットワークにあるかどうかはわかりませんが、今のところUbuntuサーバーはうまく機能します。)
更新:私の最近の(新しい?)インスタンスでは、NTPが実行されていなくても、クロックは自動的に正確なままです。コメントから判断すると、これはすべての人に当てはまるわけではないので、念のためntpを使用することをお勧めします。
Linux ec2インスタンスを小さいものから非常に大きいものまで実行し、それらが同期していることを確認するためにチェックを行いました。
すべてのサーバーは、Amazon固有のプールに接続するntpデーモンを実行していました。
server 0.Amazon.pool.ntp.org iburst
server 1.Amazon.pool.ntp.org iburst
server 2.Amazon.pool.ntp.org iburst
server 3.Amazon.pool.ntp.org iburst
これはバグの前のケースではなかったかもしれませんが、将来これに遭遇した人が最新の情報を持っていることを確認したかっただけです。
すべてのインスタンスでntpdを構成する必要があります。サーバーの時間がない場合はドリフトし始めます。
ユーザーガイドの ネットワークタイムプロトコルの構成 で説明されているように、パブリックインターネットへのUDP 123を許可する必要があります。
インスタンスがVPC内にある場合、インスタンスをNTPサーバーにするために専用にし、そのインスタンスのみをインターネットに公開し、他のインスタンスに同期させることができます。