NTPサーバーを利用して正しい時刻へ同期するには

カテゴリー:Linux OS タグ:,
 

本記事ではご利用Linuxサーバーの時刻を XpressOne.net が提供するNTPサーバーと同期させる方法を記載します。

※XpressOne.net 提供のNTPサーバーをご利用いただくにはお申し込みが必要になります。
予めお申し込みを済まされた上で本記事をご参照下さい。

※また、本記事では yum コマンドによるrpmパッケージインストール環境のみを対象としています。
同名ソフトウェアをソースインストールした環境や、yum コマンドを利用せずに直接RPMパッケージをダウンロード・インストールした環境には本文書内容は適用できない場合がありますのでご注意ください。

1. 対象OS

  • RedHat Enterprise Linux 4.x (注)
  • RedHat Enterprise Linux 5.x
  • CentOS 4.x
  • CentOS 5.x

(注)RedHat Enterprise Linux 4.x に関しては yumup2date に置き換えてお読み下さい。

2. yum 利用のまえに

※ご利用サーバーに ssh を利用してログインし、管理者権限(root)となります。
コマンドプロンプトが $ から # に変更されている事を確認してください。

参考記事: root 権限取得方法

3. ntp インストール

※インストールを実施する前に、既に ntp がインストールされていないか確認します。

インストールされていなかった場合、何も表示されず次のコマンドプロンプトが表示されます。
[root@ds00000 ~]# rpm -qa ntp
[root@ds00000 ~]#
インストールされている場合、インストール済みのパッケージ名が表示されます。
[root@ds00000 ~]# rpm -qa ntp
ntp-4.2.2p1-8.el5.centos.1
[root@ds00000 ~]#

※インストールされていないことを確認してから、インストール作業を実施します。

[root@ds00000 ~]# yum -y install ntp

※インストールされたファイルを検索できるよう、ファイルシステムを更新します。

[root@ds00000 ~]# updatedb

4. 設定ファイル編集

※ntp の設定ファイルである ntp.conf を作成します。

[root@ds00000 ~]# vi /etc/ntp.conf
中身を以下の2行の記述のみにして保存してください。
driftfile /var/lib/ntp/drift ← driftfile の指定
server 202.143.65.17 minpoll 6 maxpoll 6 ← NTPサーバーの指定及び同期問い合せ間隔を64秒に固定。

5. 現在時刻の設定

※ご利用サーバーの現在時刻が正しい時刻と大きく異なると正常に同期できませんので、事前に date コマンドで現在時刻を正常な時刻に調整します。

(例)「2009年3月4日17時06分」に設定する場合
[root@ds00000 ~]# date 030417062009
Wed Mar 4 17:06:00 JST 2009
[root@ds00000 ~]#

6. 自動起動設定

※サーバー再起動時に、自動的に ntp が起動するための設定を行ないます。

[root@ds00000 ~]# chkconfig ntpd on ← 自動起動を on にします。
[root@ds00000 ~]# chkconfig –list ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 起動レベル 2,3,4,5 において on となっていることを確認します。
[root@ds00000 ~]#

7. サービス起動

※以上で ntp を利用するための設定が整いましたので機能を起動させます。

[root@ds00000 ~]# service ntpd start
[root@ds00000 ~]# Starting ntp: [ OK ]
[root@ds00000 ~]# ps waux |grep ntpd ← ntp のプロセスが正しく起動しているかを確認します。
ntp 3036 0.0 0.4 4232 4232 ? SLs 14:40 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g ← 赤文字の表示があれば正しく起動しています。

8. 動作確認

※正しく同期がとれているか、以下のコマンドで確認します。

サービスを起動して間もない場合はまだ同期されておらず、以下のように表示されます。
[root@ds00000 ~]# ntpq -p

remote refid st t when poll reach delay offset jitter
=============================================================
202.143.65.17 133.243.238.163 2 u 22 64 3 3.612 30015.8 1.396

サービス開始から同期が取れるまで数分必要とし、開始直後は上記のようにIPアドレス 202.143.65.17 の先頭に * がなく、同期がとれていません。
少し時間をおいてから再度上記コマンドを試行すると、以下のように* が表示され、同期が完了していることが確認できます。

正しく同期されている場合、NTPサーバIPの先頭に * マークがつきます。
[root@ds00000 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
=============================================================
*202.143.65.17 133.243.238.163 2 u 40 64 37 3.575 -0.629 1.513