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
コメント