古代の仮想マシンのクレイジーウォッチドリフト

古代の仮想マシンのクレイジーウォッチドリフト

巨大なクロックドリフトを示すCentos 5.3 VM(Proxmoxで実行)で停止しました。 5分ごとにntpdateを実行するように設定されていますが、クロックは実行中に最大20秒間同期していません。 ntpdを実行してcronジョブを停止しようとしましたが、エラーは報告されませんでした。 ntp.drift ファイルはどこにも生成されず、時計はドリフトし続けます。

クラスタで約30個のVMと同じ数のコンテナを実行していますが、他のものも同じ問題を示していません。 /etc/ntp.conf には、サーバーアドレス以外の設定はありません。

ベストアンサー1

カーネルのタイミング調整のアイデアを修正する必要があります。プロセスntpdは通常これを制限するため、時間が現実に近づくにつれて変化率は減少します。これは、修理時間ステップを使用しようとする相互作用の結果である可能性がありますntpdate

systemd私の提案は、時間同期を使用しているのか、ntpdその周りに構築されたbodgeのようなものを使用しているのかを確認することですntpdate

  • すべて消して
  • やけどしてください/etc/adjtime(あなたの質問に何が書かれているのか見るのは面白いでしょう)
  • 今再起動

同期の良いコンピュータには次の値が含まれており、/etc/adjtimeファイル自体は2月に最後に変更されました。この値をコピーしないでください

0.001341 1613401384 0.000000
1613401384
UTC

値を見ると、man 5 adjtimeシステムのシステムドリフトが0.001341秒/日(1秒のドリフトに2年かかります)で、最後に調整されたのは2月であることがわかります。かなり安定しています。ああ、そしてシステムクロックはUTCで正しく実行されます。

お客様の状況に応じて考慮すべきその他の事項

  • カーネルはVMハイパーバイザーから日付/時刻を取得しようとしますか?
  • その場合、仮想マシンで時間同期ツールを使用すると、時間保持が中断されます。
  • 非アクティブ期間中に仮想マシンがスリープモードに入るか、遅くなりますか? VMハイパーバイザーで同期しないと、ウォールクロックが中断される可能性があります。

kvm-clockカーネルモジュールのないCentOS 5.3を説明するいくつかの便利な参考資料があります。

このモジュールがないと、ハイパーバイザーが一時的に(そして不正確に)VMのCPUリソースが不足すると、VMのクロックが遅くなったり停止したりする可能性があります。このモジュールはVMカーネル時間の正確さを維持します。

次のコマンドを使用して自分の状況を確認できますkvm-clock

cat /sys/devices/system/clocksource/clocksource0/current_clocksource

これ最初どちらの参照も、タイミングの問題を解決するために最新のCentOS 5.3(当時関連)にアップデートすることをお勧めしました。しかし、2021年にはそれが現実的ではないかもしれません。

その他のソースdivider=10 clocksource=acpi_pmカーネルブートラインに追加することをお勧めしますが、これはVMwareに適用され、kvmを持つProxmoxには適用されない可能性があります。

おすすめ記事