NTPで時刻同期している環境で、OSを再起動すると、ログのタイムスタンプがずれてしまう。結論から言うとBIOS時刻をUTC(日本時間-9時間)を設定して、BIOS時刻(RTC)をUTC とみなす設定をする。
現状確認
timedatectl コマンド設定と確認ができる。現状を確認してみる。
# timedatectl Local time : 木 2023-06-15 22:42:44 JST Universal time : 木 2023-06-15 13:42:44 UTC RTC time : 木 2023-06-15 13:42:44 Time zone: Asia /Tokyo (JST, +0900) NTP enabled: yes NTP synchronized: no RTC in local TZ: yes DST active: n /a |
RTC in local TZ: yes となっているので BIOSがLocal time とみなす設定になっている。
おそらくOS起動時にNTP同期する前にログが出力された場合、BIOS時刻を参照してしまうことでOS起動時のログだけ時刻がズレてしまう。
設定変更
設定変更は timedatectl コマンドに set-local-rtc オプションをつけて引数は 0 とする。
# timedatectl set-local-rtc 0 |
変更後、同じく timedatectl コマンドで確認する。
RTC in local TZ が no になったことでBIOS時刻(RTC)をUTCとしてみなす設定となり、時刻ズレは発生しなくなった。
# timedatectl Local time : 木 2023-06-15 22:42:44 JST Universal time : 木 2023-06-15 13:42:44 UTC RTC time : 木 2023-06-15 13:42:44 Time zone: Asia /Tokyo (JST, +0900) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: n /a |
もし設定を戻したい場合はtimedatectl コマンドに set-local-rtc オプションをつけて引数は 1 とする。
# timedatectl set-local-rtc 1 |
コメント