カーネル3.10に次のオプションがあることがわかりました。CONFIG_RTC_SYSTOHC
Device Drivers -> RTC -> Set the RTC time based on NTP synchronization
ヘルプは次のように言います。
If you say yes here, the system time (wall clock) will be stored
in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
minutes if userspace reports synchronized NTP status.
この機能の使い方を理解していません。これは、時間を同期するためにユーザースペースツール()が必要なくなることを意味しますかntpdate
?これがを使用するのとどう違うのですかntpdate
?使用するNTPサーバーをどこで指定しますか?
誰かがこれを明確にすることができますか?
答え1
Linuxは、ハードウェアクロック(RTCとも呼ばれる)に関係なく、内部的に時間を節約します。これは、システムが稼働しているときは一度date
(Linuxクロック)、実行中は別の時間hwclock
(ハードウェア時計)が表示されることを意味します。
通常、コンピュータが起動したときhwclock -hctosys
(。ntpd
hwclock -systohc
システムがハングしたり、予期せず再起動した場合はどうなりますか?時計はハードウェアと同期しません。次回の起動時にハードウェアクロックが正しくないため、クロックエラーが大きくなる可能性があります。次回は、「システムをntpdate
以前のように起動する必要がありますntpd
。そうしないと、ntpd
時刻が同期されない可能性があるためです。なぜなら、現在の時計と実際の時刻との間の差が大きすぎるからです」。このアプローチの問題は、それ自体が同期していないマシンと同期するとntp
どうなりますか?これにより、正確な時間がわからなくなります。
したがって、これらすべてを避けるために維持することをお勧めします。正しい時間は常にハードウェアと同期されます。あなたが要求するカーネルオプションは、時間が実際にNTPと同期していることを確認することです(知っている方法があります...)。その場合は、その時間(システム時間とも呼ばれます)をLinux時間で定期的に同期します。ハードウェア時計なので、突然のシステムクラッシュを含む常に非常に正確です。