Windows 2000 Server による NTP サーバの立ち上げ


これは、私が Windows2000 Server にてサーバを立ち上げたときの記録です。

Windows2000 Server で NTP サーバを立ち上げようと探していたところ、「MS の部屋 (http://www.sato.nakano.tokyo.jp/) 」と言うところに、「「謎のGPSユニット」で時刻同期 (http://www.sato.nakano.tokyo.jp/gps/product/furuno/junk/furuno-junk.html) 」と言うページを見つけました。この中で、「<時刻同期用ソフト利用>---NMEA+1PPS利用可能なもの」を参考にさせていただきました。


上記のページから、私が求めていた物に非常に近い NTP サーバだと思ったので、すぐに、http://www.five-ten-sg.com/ からダウンロードして試してみました。この時点のバージョンは 4.1.71 でした。

VC6++でできており、ソースも提供されているようですが、私はVC6も知識も持っていないため、バイナリーをダウンロードしました。

● インストールの開始

  1. ダウンロードしたファイルは ZIP 形式なので、ツールを使用して解凍します。
  2. 解凍したファイルの中に、「 SETUP.EXE 」があるので、ダブルクリックしてインストールを開始します。
  3. 「 Would you like to see the readme file before proceeding? 」と聞いてきます。ここでは「いいえ」をクリックします。「はい」をクリックすると Readme が開きます。
  4. Welcome 画面が開きます。「 Next 」をクリックします。
  5. 「 Choose the directory ・・・ 」とどこのディレクトリにインストールするかを聞いてきます。ここではデフォルトのディレクトリを使用することにし、「 Next 」をクリックします。
  6. 「 For creation of configuration files,please select the setup you want for NTP.Do you want to set up a:」と聞いてきます。時刻源を、1つのみ使用、2つ使用、使わない から選択できます。ここでは、「 Two Time Sources 」(2つ使用)を選択して、「 Next 」をクリックします。
  7. 「 Please enter the IP address of the First Time Source from which you will RECEIVE synchronization」と聞いてくるので、対象となる1つ目の時刻源のサーバアドレスを入力して、「 Next 」をクリックします。
  8. 「 Please enter the IP address of the Second Time Source from which you will RECEIVE synchronization」と聞いてくるので、対象となる2つ目の時刻源のサーバアドレスを入力して、「 Next 」をクリックします。
  9. 「 Do you want to see the NTP configuration file which has been created for this host? 」と聞いてくるので、「はい」をクリックすると、ntp.conf がメモ帳にて開きます。メモ帳を閉じるとインストールが続きます。
  10. 「 Setup is complete. The NTP service is running. Do you want to look at the documentation for NTP? 」と聞いてくるので、「はい」をクリックすると、リファレンスの所在を示す URL がワードパットにて開きます。ワードパットを閉じて終了です。この時点で、 NTP はサービスにて起動しています。

● インストールされるファイル

%SystemRoot%\ntp.conf
%SystemRoot%\ntp.drift

%SystemRoot%\system32\ntpd.exe
%SystemRoot%\system32\ntpdate.exe
%SystemRoot%\system32\ntpdc.exe
%SystemRoot%\system32\ntpq.exe
%SystemRoot%\system32\ntptrace.exe

● 設定方法

Linux の NTP の設定と同じ様です。 ntp.conf をメモ帳等で修正すればよいようです。インストール時に NTP サーバを指定しているので、その分は既に記述されています。

詳細の記述方法は「 NTP 4.x for Windows NT  (http://www.eecis.udel.edu/~ntp/ntp_spool/html/hints/winnt.html)」「Trimble Palisade Receiver (http://www.eecis.udel.edu/~ntp/ntp_spool/html/driver29.html) 」参照してください。(2006/4/17 ダウンロードサイトにリンク切れが発生しましたのでリンクを削除します)

私は、Server の設定のみ追加してみました。

● 起動方法

サービスで起動しているので、サービスのウインドウで指定するしかないようです。コマンドプロンプトから起動してみましたが、起動できませんでした。

● 動作確認

Linux と同様に

C:\>ntpq -p と入力する。

remote              refid      st t when poll reach   delay  offset   jitter
==============================================================================
+ntp1.jst.mfeed. mf-isdn3.mfeed.2 u   77   64  176  36.867   49.885  108.525
+ntp2.jst.mfeed. mf-isdn3.mfeed.2 u   13   64   73  35.847   44.439  147.385
+ntp3.jst.mfeed. mf-isdn4.mfeed.2 u   77   64  176  35.716   34.853  159.936
*sutntp.sut.ac.j .GPS.          1 u   13   64  173  41.373   33.640  90.205

などと表示される。

● 精度

「 Trimble Palisade Receiver 」の中の記述で Windows NT 系は精度が 1ms 程度になっていました。他の OS は 10us 〜 50us なので、何か NT 上の仕様の問題があるのかもしれません。

● ログ

ログは Windows のイベントログに吐き出されます。かなり頻繁に吐き出される場合がありますので、ログの容量等に注意した方がいいでしょう。


<あとがき>

Windows2000上で NTP サーバは動いているようです。ただ、精度の面で他の OS とは数倍劣るようです。現実的には問題がないようにも考えられますが、比較的安価に精度の高い物を手に入れられるなら、そちらの方がよいかと思います。

Windows2000上で長期に渡って使用してみてから決める予定です。


● 長期運用の結果 (2001/12/26 追加)

24時間の計測の結果、LAN 環境下で2台の SNTP クライアントから5分に1回程度問い合わせを行うと、2回に1回程度、失敗していました。また、平均すると20〜40ms程度の誤差があるように感じられました。(環境の影響もあるかもしれませんが。)

その為、今回はこのアプリケーションによる、 NTP サーバの構築は見送ることにしました。

他のシェアウエア、フリーウエア等で、再度、構築してみることにしました。

現状では、精度を求めると Linux で構築するしかないように感じます。

このソフトウエアはアンインストールしようとしても、「アプリケーションの追加と削除」の中に表示されません。インストールされたファイルをエクスプローラにて削除し、レジストリを検索して該当する項目を削除するしかありませんでした。
削除したレジストリ・キー
 マイ コンピュータ\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\NTP
 マイ コンピュータ\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Network Time Protocol
 マイ コンピュータ\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\NTP
 マイ コンピュータ\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Network Time Protocol


● その他の方法 (2002/1/15 変更)

SNTP サーバの機能を持った、フリーウェア、シェアウェアがあるので、それを使用します。私が使用した代表的な物は下記のソフトウェアです。

AdjustPC
NTのサービスとして稼働し、SNTP サーバとしも稼働します。

ピッタリでチュ! (シェアウェア)
NTのサービスとして稼働し、SNTP サーバとしも稼働します。また、時間の誤差をグラフで表示したり、時間で PC のシャットダウン等ができます。

私は、時刻源となるサーバに F 社のフリーのソフト(ただし、ハードのサポート契約を行ったユーザのみ配布対象なので、ソフトの名前は伏せさせていただきます。)を入れました。設定をどうすればよいか試行錯誤中です。
F 社のソフトより、「ピッタリでチュ!」の方が優れている様にも感じましたが、私のサーバを建てた環境下では時間によってネットワークがきつくなるので、 F 社のソフトはサーバを4つ登録できるメリットがあった為に使用しました。

設定内容は、
8分おきに時間を確認し、問い合わせ応答時間が80ms以上はエラーとし、3ms以上、時間に誤差があれば同期する様にしました。
どのソフトもネットワーク遅延が大きい場合に誤差が大きくなるように感じられます。長期運用して、誤差の少ない設定が必要だと思います。



注意 : これは、私個人の覚え書きであり、何も保証するもではありません。自己責任でお読み下さい。
Create:2001/12/25   Last modified:2009/10/02
Copyright (c) 2001-2013 Yoshi All Rights Reserved