今ならXeonも搭載可能なPCサーバー「PowerEdge SC440」が2万円台から買える!

マウスコンピューター」ならWindows抜きでもPCが買える。Linuxサーバーとしての利用に最適!

トップページ

  • tarの使い方
  • rpmの使い方
  • psコマンドでプロセスを確認
  • /etc/crontabを編集してアプリを自動実行
  • chkconfigコマンドでプロセスを自動起動

ntpでサーバーの時計合わせ

 ntpとはnetwork time protocolの略。ネットワークを使ってコンピュータの時計を正確に保つための通信方式のことだ。サーバーにntpクライアントをインストールしておけば、ntpサーバーに接続して正確な時間を取得することができる。
 コンピュータの時計とはいい加減なもので、しばらく時計を合わせないままでいるとすぐに数分の狂いがでてくる。この時計をもとにログを記録したり、メールのヘッダーを作成したりするので、時計がくるったままにしておくのはまずい。

ntpの使い方

 ntpの使い方は「ntpdate ntpサーバー名」とする。いたって簡単だ。ntpサーバー名はとりあえず「ntp2.jst.mfee.ad.jp」として試してみよう。
 また、ntpdateで更新できるのはLinuxのシステム時刻であり、ハードウェアの時刻とは異なっている。両者に大きな違いがあるとトラブルの元となるので、システム時計を合わせたら、次はハードウェア時計をシステム時計に同期させておく。この作業には「hwclock」を使う。

# ntpdate ntp2.jst.mfeed.ad.jp
Looking for host ntp2.jst.mfeed.ad.jp and service ntp
host found : ntp2.jst.mfeed.ad.jp
14 Feb 12:35:20 ntpdate[24108]: adjust time server 210.173.160.57
offset -3.173238 sec
# hwclock --systohc
#

 もし「command not found」と表示されれば、ntpがインストールされていない可能性がある。「apt-get install ntp」と入力して、ntpをインストールしよう。

 利用するntpサーバーだが、もし自分の利用しているプロバイダがntpサーバーを設置しているなら、そのntpサーバーを利用する。ntpサーバーのアドレスをしらべるには、こちらの「NTP - wiki@nothing」を参照してほしい。もし、プロバイダが用意していないときは、「mfeed」のntpサーバーを使わせてもらう。

ntp2.jst.mfeed.ad.jp
ntp3.jst.mfeed.ad.jp
ntp1.jst.mfede.ad.jp

 ntpについて解説しているサイトでは、よく福岡大学のntpサーバーが紹介されている。福岡大学は早くからntpの実験を進め、ntpサーバーを外部に公開していた。そのため、現在ではアクセスが集中してつながりにくくなり、精度もけっしてよいとは言えなくなっている。なにより福岡大学の回線に必要以上の負荷をかけることになるので、自分のプロバイダにntpサーバーがあればかならずそれを指定するようにしたい。もっとも近いntpサーバーを使うことが負荷を最小限にとどめるだけでなく、もっとも高い精度を期待できる。

ntpを自動起動する

 手動でいちいち更新をするのは面倒なので、自動的に同期するように設定しよう。viで/etc/ntp.confを開き、最後に次のようにntpサーバーのアドレスを追加する。複数のntpサーバーを追加してもいいが、必ず自分に近いntpサーバーを指定しよう。

server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
server ntp1.jst.mfeed.ad.jp

 ファイルを保存したら、「/etc/rc.d/init.d/ntpd start」と入力してntpデーモンを起動する。また、システムを起動したときにntpデーモンも自動的に起動するようにchkconfigコマンドで設定する。

# /etc/rc.d/init.d/ntpd start
ntpdを起動中:                     [ OK ]
# chkconfig ntpd on
#

 しばらく時間がたったら「ntpq -p」を実行して、動作状況を確認する。下の図のようにアドレスの前に「*」が付いていたら時刻が同期されている。もし「*」が付いていなかったら30分くらいたってからもう一度確認してみよう。それでもダメならアドレスが間違っていないか、ntpデーモンが起動しているかを確認する。ntpデーモンが起動しているかどうかは「ps -C ntpd」とすればチェックできる。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        LOCAL(0)        10 l   25   64   77    0.000    0.000   0.001
+ntp2.jst.mfeed. 210.173.160.86   2 u   89  256   17   10.929  -76.200   6.844
*ntp3.jst.mfeed. 210.173.160.86   2 u   90  256   17    9.975  -68.189  10.468
+ntp1.jst.mfeed. 210.173.160.86   2 u   89  256   17   10.263  -72.158   7.450
#

 上のようにntpデーモンを起動しておけば、サーバーがntpサーバーとして動作する。つまり、LANの中のほかのパソコンで「ntpdate サーバーのIPアドレス」とすることで時刻あわせができるようになるわけだ。LANの中にたくさんのパソコンがあるときはネットワークの負荷を軽減するためにも、LANの中のサーバーを指定するといい。

 
掲示板 管理者のサイト トップページへ

お問い合わせや間違いのご指摘はyasu@center-left.comまでメールください。