NTPサーバの運用(Windows Server2003/2008) | ミニミニ管理者(システム管理者/社内SE/CIO)の独り言

[ ミニミニ管理者の独り言サーバー構築 > NTPサーバの運用(Windows Server2003/2008) ]
スポンサードリンク

NTPサーバの運用(Windows Server2003/2008)

JUGEMテーマ:コンピュータ


サーバにとって時間の正確さはクライアントPC以上に重要なものです。

■なぜ、サーバにおいて時刻同期が必要か。
例えば、ログ(履歴)を取るシステムがあります。
他のサーバと時間がずれていると間違った時間をログに記載してしまいます。

他にもOracleなどのDBMSもレコードに処理時間(年月日時分秒)を記載することがあります。これも時刻がズレていると間違った時刻で登録されてしまいます。

基幹システムなどでサーバー間にバッチ連動がある場合、デュアルシステムやデュプレックスシステムなどを構成している場合などでサーバ間の同期が必要なものなど様々あります。

1)デュアルシステム
2つのコンピュータが同一処理を行い、一定間隔で処理結果を照合し合う方式。一方がダウンしても、もう一方が処理を続行する。

2)デュプレックスシステム
2系統のシステムで構成され、一方は運用系としてオンライン処理を行い、もう一方は待機系として故障に備えている。多くの場合、待機系はバッチ処理を行っている。


そこで、サーバ間にて時刻の同期を取るための仕組みが「NTPサーバ」です。
これは正確な時間を刻むサーバ(NTPサーバ)とそのNTPサーバと同期を取るNTPクライアントで構成されます。

■NTPサーバの構築
WindowsServerではNTPサーバに標準で対応していないため、NTPサーバを構築するには専用のサーバアプリケーションを入れる事になります。Windows用であれば桜時計が有名です。

しかし、WindowsをNTPサーバにするのはあまり好ましくありません。
それは時刻同期において信頼性に欠けるからです。

一般的には、社内にUNIXやLINUXサーバにてNTPサーバを構築するか、外部のNTPサーバを参照するか、CISCOなどのネットワーク機器でNTPサーバ機能を有しているものをNTPサーバとすることが多いです。

■NTPクライアントの設定
ここで紹介する設定は基本的にネットワークの構成が「ワークグループ」で運用している場合か、Activedirectory環境におけるドメイン・コントローラです。ActiveDirectory環境にて運用している場合のメンバーサーバはドメインコントローラの時刻に同期されるようになっています。

1)NTPクライアントの確認
まず、はじめに該当するサーバにてNTPクライアントの設定がされているか確認します。
・コマンドプロンプトを起動します。
・DOSコマンドを実行します。

・Windows2000Server/Windows2003Serverの場合
DOS>net time /querysntp 

・Windows2008Server
DOS>w32tm /query /configuration
※w2k8サーバには「net time」コマンドはありますが、「/querysntp」オプションが廃止されています。

2)参照するNTPサーバを設定

・Windows2003Serverの場合
タスクトレイに時計から「インターネット時刻」タブにて設定
または、
DOS>net time /setsntp:xxx.xxx.xxx.xxx,0x8
DOS>net stop w32time & net start w32time

・Windows2003Server/Windows2008Server共通
下記のコマンドでは「設定を変更」して、「設定の保存」します。そして「即時に同期」したい場合には「resync」を実行します。
DOS>w32tm /config /manualpeerlist:xxx.xxx.xxx.xxx /syncfromflags:manual
DOS>w32tm /config /update
DOS>w32tm /resync

3)同期する時間間隔の設定
Windowsのデフォルトの設定だと、時間の同期間隔は1週間に1回となっています。
この値を変更するにはレジストリを変更します。
注)レジストリの変更は自己責任で。バックアップを取ってからやるほうがいいでしょう。

キー:HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥W32Time¥TimeProviders¥NtpClient
値の名前:SpecialPollInterval
値の内容:60480秒(=1週間)


となっています。
これを例えば1日に一回(86400秒=1日)とかに変更する場合には値を変更すればOKです。

・レジストリエディタを起動します。
・上記のキーを開きます。
・SpecialPollIntervalの値を秒単位で指定します。
60480秒(=1週間)→86400秒(=1日)


■NTPサバに関するレジストリ項目
1)NTPサーバとの同期方法を指定するレジストリ設定
キー:HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥W32Time¥Parameters
値の名前:NtpServer
型:REG_SZ
値の内容:time.windows.com,0x1 (初期値)

・値の内容にある「0x1」は同期の仕方や同期間隔に影響を与える。
なし:Windows端末同士を含む標準的なNTP時刻同期方法(Symmetric Active/Passive Mode)
0x0:Windows端末同士を含む標準的なNTP時刻同期方法(Symmetric Active/Passive Mode)
0x1:Windows 上のみ実装された定間隔での同期方法
0x2:ドメインおよび外部の両方から時刻を同期する
0x4:明示的なSymmetric Active/Passive Modeによる同期方法
0x8:明示的なClient/Server Modeによる同期方法

2)最小同期間隔のレジストリ設定
キー:KEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥W32Time¥Config
値の名前:MinPollInterval
型:REG_DWORD
値の内容:
0xa(ワークグループ環境での初期値。10進では10。2の10乗=1,024秒)
0x6(ドメイン環境での初期値。10進では6。2の6乗=64秒)

3)最大同期間隔のレジストリ設定
キー:HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥W32Time¥Config
値の名前:MaxPollInterval
型:REG_DWORD
値の内容:0xf(初期値。10進では15。2の15乗=32,768秒)

4)同期間隔のレジストリ設定
キー:HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥W32Time¥TimeProviders¥NtpClient
値の名前:SpecialPollInterval
型:REG_DWORD
値の内容:
0x93a80(10進数では604,800秒) (ワークグループ環境での初期値)
0xe10(10進数では3,600秒)   (ドメイン環境での初期値)



■NTPサーバ(W32Timeイベント)のイベントログの参考
下記の「xxx.xxx.xxx.xxx」はIPアドレスを表しています。
イベントログをみて「W32Time」でエラーが出ていなければ設定完了です。
イベントログの「W32Time」の最後の表示が「1)NTPと時刻同期中1」または「2)NTPと時刻同期中2」であれば問題ありません。

またNTPサーバの仕様上、時刻のズレが大きいと同期をとれません。その場合にはある程度の時間で時計を合わせておいて同期をとればエラー解消できます。またこの場合の多くは内蔵電池が消耗していることが多く、内蔵時計がシャットダウン時にズレることがあります。

1)NTPと時刻同期中1
タイム プロバイダ NtpClient は現在 xxx.xxx.xxx.xxx (ntp.m|0x1|xxx.xxx.xxx.xxx:123->xxx.xxx.xxx.xxx:123) から有効な時間データを受信しています。

詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。

→問い合わせた結果、有効なデータを受信した場合のイベント。

2)NTPと時刻同期中2
システム時刻とタイム ソース xxx.xxx.xxx.xxx (ntp.m|0x1|xxx.xxx.xxx.xxx:123->xxx.xxx.xxx.xxx:123) の同期をとって います。

詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。

→Windows Timeサービスがタイム・ソースから得た時刻を自身のシステム時刻と同期させる際に記録されるイベント。

3)NTP参照エラー
タイム プロバイダ NtpClient: 手動で構成されたピア 'time.windows.com,0x1' の DNS 参照を 行っているときに、エラーが発生しました。NtpClient は 960 分に 1 回、 DNS 参照を試行します。この手動で構成されたピアの参照に成功するまで、 このメッセージのログはこれ以上記録されません。  エラー: 到達できないホストに対してソケット操作を実行しようとしました。 (0x80072751)

詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。

4)システム時刻同期エラー
使用可能なタイム スタンプがタイム サービス プロバイダによって提供されなかったため、 タイム サービスは 86400 秒間、システム時刻を同期していません。タイム サービスは 現在同期されておらず、他のクライアントへの時間の提供、またはシステム クロック の更新を行うことができません。これ以上深刻な問題が発生していないことを確認 するために、イベント ビューアに表示されるシステム イベントを監視して ください。 

詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。

5)システム時刻のズレが判明
システム時刻を -3 秒変更しなくてはならないことが判明しました。 タイム サービスはシステム時刻を -0 秒以上変更することは できません。時刻とタイム ゾーンが正しいこと、またタイム ソース xxx.xxx.xxx.xxx (ntp.m|0x1|xxx.xxx.xxx.xxx:123->xxx.xxx.xxx.xxx:123) が正しく動作していることを確認してください。

詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。





■Oracle学ぶならこれ!












スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン
| 2012年12月13日 | サーバー構築 | comments(0) | trackbacks(0) |

コメント
コメント投稿フォーム:
 上の情報を次回も利用する

トラックバック
トラックバックURL:
※ クリックで選択できます。
トラックバック一覧: