第2回 Active Directoryおよびワークグループ環境での時刻同期:Windowsネットワーク時刻同期の基礎とノウハウ(改訂版)(1/5 ページ)
Windows Server 2008 R2を使ったNTPサーバのセットアップ方法や動作確認、注意点について、Active Directoryドメイン編とワークグループ編に分けて詳しく解説する。
本連載では、主にWindows Vista/Windows 7/Windows Server 2008/Windows Server 2008 R2を対象としています。Windows XPやWindows 2000 Server/Windows Server 2003については、以下の旧記事を参照してください。
前回は、NTPの動作原理とWindows OSにおける時刻同期機能の基礎について解説した。今回はActive Directory環境とワークグループ環境それぞれで、各Windowsマシンがどのように時刻同期を行うのか、どのように設定すれば理想的な時刻同期を実現できるのか、具体例を挙げながら解説する(Windows Server 2008 R2のNTPサーバを対象とする)。
Windows Server 2008 R2を使ったActive Directory環境での時刻同期
Active Directory環境では、ドメイン・コントローラとクライアント間で時刻同期が行われるが、ドメイン・コントローラ間でも時刻同期が行われる。複数のドメイン環境でのドメイン・コントローラ間の時刻同期は、階層的に、かつ動的に構成される。構成のルールについてはマイクロソフトの技術情報「How the Windows Time Service Works[英語](TechNetサイト)」に記載されている。詳細は次の通りだ。
- フォレスト・ルート・ドメイン(最上位のドメイン)のPDCエミュレータ役割のドメイン・コントローラは、Stratum 1(自分自身が基準のNTPサーバ)となるか、外部NTPサーバに対して時刻同期を行う。
- フォレスト・ルート・ドメインのPDCエミュレータ以外のドメイン・コントローラは、PDCエミュレータに対して時刻同期を行う。
- 子ドメインのドメイン・コントローラは、PDCエミュレータかどうかに関係なく、自分が属する「サイト」の親ドメインのドメイン・コントローラに対して時刻同期を行う。
- 自分が属する「サイト」の親ドメインのドメイン・コントローラから時刻同期が行えない場合、ほかの「サイト」の親ドメイン・コントローラから時刻同期を行う。
筆者の手元で1フォレスト/2ドメインの検証環境を用意し、「w32tm /monitor /domain:<ドメイン名>」コマンドで、各ドメイン・コントローラが持っている「RefID」項目(同期先のNTPサーバ情報がある)を確認したところ、次のような挙動を確認することができた。なお検証にあたっては、マイクロソフトのサポート技術情報「Time synchronization is not performed even though the W32Time service is successfully started in Windows Server 2008 or in Windows Server 2008 R2[英語]」にWindows Timeサービスの不具合についての情報があったため、この修正プログラムを事前に適用している。
Active Directory環境の時刻同期(ドメイン階層とサイト構成)のテスト環境
example.comがフォレスト・ルート・ドメインとなり、exam.example.comが子ドメインとなる。サイトは2つ存在し、フォレスト・ルートおよび子ドメインのドメイン・コントローラ(DC)がsite0に所属する。
Active Directory環境の時刻同期の結果(NTP同期での階層構造)
フォレスト・ルートのPDCエミュレータ(DC00)があるサイト(Site0)では、全ドメイン・コントローラ(DC)がDC00のPDCエミュレータから時刻同期したが、他方のサイト(Site1)では、子ドメインDCはサイト内の親ドメインのDCを無作為に参照した。子ドメインPDCエミュレータから同期はせず、複製パートナでない親ドメインDCから同期した、子ドメインDCも存在した。
結果は次の通りである。
- フォレスト・ルート・ドメイン「example.com」のドメイン・コントローラは、すべて「自ドメインのPDCエミュレータ(DC00.example.com)」を参照した。
- 子ドメイン「exam.example.com」の場合、「Site0」に属するドメイン・コントローラは「Site0」の、「Site1」に属するドメイン・コントローラは「Site1」の「親ドメインのドメイン・コントローラ」をそれぞれ参照した。
子ドメインが「自サイト内の」親ドメイン・コントローラから時刻を参照できない場合、「他サイトの親ドメイン・コントローラ」の時刻を参照していることもあわせて確認できたが、子ドメインのドメイン・コントローラが「複製パートナ」である親ドメインのドメイン・コントローラから時刻を参照する、については残念ながら今回の検証では確認できなかった。この情報はマイクロソフトのサポート技術情報「Windows Server で権限のあるタイム サーバーを構成する方法」に注記されている。
なおActive Directory環境でのWindows 7クライアントやWindows Server 2008 R2メンバ・サーバの時刻同期は、「ログオンしているドメイン・コントローラ」から行われる。
時刻同期の間隔は、ドメイン・コントローラでは同期当初は64秒ごとに時刻同期が行われ、同期状況が安定すると64秒→128秒→256秒→512秒→……、と延びていき、最終的には1024秒ごとに行われる。またドメイン・コントローラ間では、NTPの問い合わせは「Symmetric Active」モードで行われるが、返答は「Client」モードで返される。これは(参照元になっている)PDCエミュレータが「権限ある時刻サーバ」として認識されており、厳密な意味でのPeerモード(相互同期)にはなっていないことを裏付けていると考えられる。
Copyright© Digital Advantage Corp. All Rights Reserved.