Windows Timeサービスでは同期するNTPサーバを複数指定できるが、どのNTPサーバから同期を行うかは動的に変化する。しかしシステムの要件上、通常は指定したNTPサーバから優先的に時刻同期を行い、そのNTPサーバがダウンしている場合のみ別のNTPサーバから時刻同期したい、ということもあるだろう。
UNIX系のNTPサーバ(ntpd)では「Refer」というオプションで実現できる機能だが、Windows Timeサービスでは直接該当する機能はない。その代わりに、先に紹介した「フォールバック時に利用するNTPサーバ」を指定することで、実質的に同じ動作を実現できる。w32tmコマンドで設定する場合は、次のコマンドを実行後、Windows Timeサービスを再起動する。
w32tm /config /update /manualpeerlist:"dc00.example.com,0x9 ntp.nict.jp,0xa" /syncfromflags:manual /reliable:YES
このコマンドの意味は、「NtpServerレジストリ値」で、「通常はdc00.example.comサーバに一定間隔(SpecialPollInterval)で同期する」ことと、「フォールバック(通常のNTPサーバに同期できない)時のみntp.nict.jpサーバにClientモードで同期する」ことを設定している(それ以外に「AnnounceFlagsレジストリ値を5に設定」も行っている)。こうすることで、「通常はdc00.example.comサーバに同期し、できないときはntp.nict.jpサーバに同期」するというふうに動作する。
最初は、今回の検証環境(example.comフォレスト)の「dc00.example.com」に同期しているが(4)、dc00.example.comがネットワークから切断されると「ntp.nict.jp」に同期を行うようになる(5)。そして「dc00.example.com」が復帰すると、最初のように「dc00.example.com」に再度同期を行うようになる(6)。この状況は、Time-Service イベントからも確認ができる。
なお、上記のワークグループ構成のケースでもドメイン環境と同様に、通常同期するNTPサーバと、フォールバック時に同期するNTPサーバの両方に対して、常にポーリングが発生することは避けられない。
今回は、Active Directoryとワークグループ環境における、Windows Server 2008 R2ドメイン・コントローラの時刻同期機能について解説した。次回は、今回紹介できなかったw32tmコマンドやWindows Timeサービスのレジストリに関する情報を中心に解説する予定である。
Copyright© Digital Advantage Corp. All Rights Reserved.