Instiq
第4章 · 重要なシステムサービス·v1.0.0·更新 2026/7/6·読了目安 約11分

変更要約: 初版(主題1.09・副主題1.09.1〜1.09.3に対応)

4.1システム時刻の管理

この節の要点

システム時刻の維持と同期を学びます。dateハードウェアクロックhwclock)、タイムゾーンの設定(/usr/share/zoneinfo//etc/localtime/etc/timezoneTZtzselecttimedatectl)、NTP による時刻同期(ntpdntpdatentpqchronydchronycpool.ntp.org)を押さえます。

ログの突き合わせ・証明書の検証・認証——正確な時刻はあらゆる運用の前提です。Linux には2つの時計(OS が刻むシステムクロックと、マザーボード上のハードウェアクロック)があり、これを NTP でインターネットの正確な時刻源に揃えるのが基本形です。

4.1.12つの時計とタイムゾーン

  • date=システムクロックの表示・設定(date/書式指定 date +%Y-%m-%d)。hwclock=ハードウェアクロックの参照・同期(hwclock --systohcシステム→ハードへ書き込み・--hctosys は逆)。
  • タイムゾーンの実体=/usr/share/zoneinfo/ 配下のファイル。/etc/localtime をそこへのシンボリックリンクにするのが設定の実装(Debian 系は /etc/timezone にも名前を記録)。
  • 設定手段=timedatectl(systemd 環境の統合コマンド。timedatectl set-timezone Asia/Tokyo・状態表示も)/対話選択=tzselect/一時的な切り替え=環境変数 TZTZ=UTC date)。

4.1.2NTP による時刻同期

  • NTP=ネットワーク経由で時刻源と同期するプロトコル(UDP/123)。公開時刻源の定番=pool.ntp.org(世界中のサーバー群を DNS で分散提供)。
  • 伝統系=ntpd(常駐して徐々に補正・設定は ntp.conf)・ntpdate一回きりの即時合わせ・非推奨化)・ntpqntpq -p で同期状態・参照先を確認)。
  • 現行主流=chronyd(不安定な回線・仮想環境に強い後継デーモン・設定は chrony.conf)と管理ツール chronycchronyc sources で参照先確認)。
試験ポイント

「hwclock --systohc=システム→ハードウェアへ書き込み(向きを問う)」「タイムゾーン設定=timedatectl set-timezone(実体は /etc/localtime のリンク)」「常駐で徐々に補正=ntpd/chronyd・一回きり=ntpdate」「同期状態の確認=ntpq -p/chronyc sources」 が定番です。NTP のポート UDP/123 は 1.07 のポート問題としても再登場します。

2つの時計の関係を運用の流れで押さえましょう。電源投入時、OS はハードウェアクロック(電池で動き続ける)から時刻を読み込んでシステムクロックを初期化します。以後 OS が刻むのはシステムクロックで、NTP デーモンが補正するのもシステムクロック側です。だからシャットダウン前や大きく合わせ直した後は hwclock --systohcハードウェア側へ書き戻す運用が伝統でした(systemd 環境では自動化されています)。ntpd/chronyd が「徐々に」補正する(slew)のには理由があります——時刻が逆行すると、ログの順序が狂い、cron の実行が飛び/重複し、データベースが誤動作しかねないからです。だから稼働中のサーバーで ntpdate のような一発合わせを使うのは危険で、選択肢としても「稼働中システムには常駐デーモンで徐々に」が正解筋になります。仮想マシンではホスト側のスケジューリングの影響で時計が狂いやすく、chrony が推奨という文脈も覚えておくと安心です。

目的コマンド要点
システム時刻の表示/設定date / timedatectltimedatectl は統合管理
システム→ハードへ書き込みhwclock --systohc--hctosys は逆向き
タイムゾーン変更timedatectl set-timezone実体は /etc/localtime リンク
同期状態の確認ntpq -p / chronyc sources参照先と到達性が見える
注意

ひっかけ: 「hwclock --systohc はハードウェアクロックの値をシステムに反映する」は誤りです(それは --hctosys。systohc=system to hardware clock と読み解く)。また「稼働中の本番サーバーの時刻ずれは ntpdate で即時修正するのが最善」も誤り=時刻の急変(特に逆行)は運用事故のもとで、常駐デーモンによる漸進補正が正解です。

システム/ハードウェアクロック・タイムゾーン設定・NTP デーモンの図。
稼働中は漸進補正が正解

4.1.3この節のまとめ

  • システムクロック(date/timedatectl)⇔ ハードウェアクロック(hwclock・--systohc の向き)。ゾーンは zoneinfo→/etc/localtime リンク
  • 同期=常駐 ntpd/chronyd(漸進補正)・時刻源は pool.ntp.org・確認は ntpq -p/chronyc sources

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. NTP で合わせたシステムクロックの時刻を、ハードウェアクロックに書き込みたい。適切なコマンドは?

Q2. systemd 環境のサーバーのタイムゾーンを Asia/Tokyo に恒久設定したい。適切なコマンドは?

Q3. 稼働中の本番データベースサーバーの時刻が数分ずれている。対処として最も適切なのはどれ?

理解度を確認第4章「重要なシステムサービス」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。