アスタリスク インフラTECH wiki

システムクロックとハードウェアクロック

最終更新:

ootaka

- view
メンバー限定 登録/ログイン
コンピュータに内蔵された時計は、電源がオフの状態でも常に動作しています。これがハードウェアクロックです。
一方、ハードウェアクロックとは別に、Linuxのカーネル内に存在する時計があります。これがシステムクロックです。

システムクロックは、Linux起動時にハードウェアクロックを参照して設定されますが、その後は別々に動き続けます。
そのため、起動してからの時間が経過するにつれ、ハードウェアクロックとシステムクロックの差が生じてきます。

dateコマンドを使うと、システムクロックを参照して現在の日時が表示されます。
システムクロックの設定も、dateコマンドで行います。

dateコマンドで設定したシステムクロックをハードウェアクロックにセットするには、hwclockコマンドを使います。

ただ、ハードウェアクロックもシステムクロックも、あまり正確ではありません。
正確な時刻を設定するには、ネットワーク上のマシンの時計を同期するプロトコプであるNTP(Network Time Protocol)を使い、
インターネット上にあるタイムサーバ(NTPサーバ)から正確な時刻を取得するntpdateコマンドを使用します。

また、自動的にNTPサーバに問い合わせて時刻を取得するためにはntpdデーモンを起動しておきます。
ntpdデーモンの設定情報は/etc/ntp.confに記述します。

/etc/ntp.confの例
# 時刻を取得する上位のNTPサーバの指定
server 1.jp.pool.ntp.org
server 3.asia.pool.ntp.org
server 0.asia.pool.ntp.org
# システムクロックと実時間の誤差を記録するファイルの指定
driftfile /etc/ntp.drift

時期で指定したNTPサーバはpool.ntp.orgプロジェクトにより登録されているサーバ群です。
このプロジェクトでは巨大なサーバを設置・運用せず、複数のサーバに負荷を分散させてNTPサービスを
提供しようとしています。
目安箱バナー