Linuxで時刻ずれが起きる原因とNTP同期確認方法【chrony/ntpd対応】

  • URLをコピーしました!

Linuxサーバーの時刻ずれは、一見地味ですが、

  • ログの時系列が崩れる
  • 証明書認証が失敗する
  • クラスタ・DB・認証系が不安定になる

など、深刻な障害の引き金になります。

本記事では、

  • Linuxで時刻ずれが発生する主な原因
  • NTP同期状態の正しい確認方法
  • chrony / ntpd それぞれの実務チェックポイント

トラブルシューティング視点で解説します。

目次

Linuxで時刻ずれが起きる主な原因

① NTPサービスが動作していない

最も多い原因です。

  • chronyd / ntpd が停止している
  • サービス未インストール
  • systemd 起動失敗

→ 時刻はローカルクロック任せになり、徐々にズレていきます。

② NTPサーバーと通信できていない

  • FWで UDP/123 が遮断
  • DNS解決不可
  • プロキシ・閉域網環境

サービスは起動しているが、同期できていない典型例です。

③ 仮想環境特有の問題

  • VMware / Hyper-V の時刻同期機能
  • ホストOSとの二重同期

NTPと仮想化基盤の時刻同期が競合し、逆にズレることがあります。

④ 大きな時刻ずれが一気に補正できない

NTPは基本的に「徐々に補正」します。

  • 数分〜数時間のズレ
  • 起動直後の古い時刻

この場合、同期に時間がかかる or 失敗します。

⑤ ハードウェアクロック(RTC)の問題

  • 電池切れ
  • UTC / Localtime 設定ミス

再起動後に毎回ズレる場合は要注意です。

現在の時刻・タイムゾーン確認

基本確認

date
timedatectl

確認ポイント

  • Time zone が正しいか
  • NTP service が有効か
  • System clock synchronized が yes か

chrony 環境での同期確認方法(推奨)

最近の Linux(RHEL8+, Ubuntu20+)では chrony が主流です。

① サービス状態確認

systemctl status chronyd

② 同期状態の確認

chronyc tracking

重要な項目

  • Leap status : Normal
  • System time : 0.xxx seconds fast/slow

③ NTPサーバー接続確認

chronyc sources -v
  • ^*:現在同期中のサーバー
  • ^+:候補
  • ^?:通信不可

④ 強制同期(初回・大幅ズレ時)

chronyc makestep

→ 大きな時刻ずれを即時補正

ntpd 環境での同期確認方法

① サービス確認

systemctl status ntpd

② 同期状態確認

ntpq -p
  • *:同期中
  • +:候補
  • .INIT.:未同期

NTP通信の疎通確認

UDP/123 の疎通

FWが原因で同期できないケースは非常に多いです。

ntpdate -q ntp.example.com

※ chrony 環境でも疎通確認として有効

仮想環境での注意点

VMware の場合

  • ホスト時刻同期を無効化
  • NTP(chrony)のみに統一

二重管理は時刻ドリフトの原因になります。

ハードウェアクロックの確認

RTC 確認

hwclock --show

システムクロックと同期

hwclock --systohc

再起動後にズレる場合は必須確認項目です。

よくある障害パターン

  • 証明書が「まだ有効でない」エラー
  • Kerberos / AD 認証失敗
  • クラスタノード間の不整合
  • ログ解析不能

→ 原因は時刻ずれというケースは非常に多いです。

まとめ

  • Linuxの時刻ずれは重大障害に直結する
  • まずは NTPサービス稼働と同期状態を確認
  • chrony の tracking / sources は必須チェック
  • 仮想環境・FW・RTC も忘れずに確認

「なんかおかしい」と思ったら、まず時刻を疑う。 これはインフラ運用の鉄則です。

目次