none
FSMOの役割を持つドメインコントローラー(仮想マシン)の外部との時刻同期の方法 RRS feed

  • 質問

  • いつもお世話になっております。
    FSMOの役割を持つドメインコントローラーのタイムソースの設定方法について質問です。
    対象マシンはFSMOの役割を持ってるので当然PDCエミュレータでもあります。
    また、仮想マシンでもあります。
    仮想マシンであるため、ホストOSとの時刻同期を止めるため統合サービスの時刻の同期をオフにしています。

    このマシン(以下サーバーAと略します)を外部のタイムサーバーと同期させ、サーバーAを中心としてドメイン全体の時刻を同期させたいのですが、
    サーバーAを外部サーバーと同期させる部分がうまくいきません。
    外部タイムサーバーと同期させるべく下記のコマンドをサーバーA上で実行しました。

    w32tm /config /manualpeerlist:time.windows.com,0x8 /syncfromflags:manual
    w32tm /config /update
    net stop w32time
    net start w32time

    最後に「w32tm /resync」とすると
    >再同期コマンドをローカル コンピューターに送信しています
    >時刻データが利用できなかったため、コンピューターは同期をとり直しませんでした。
    という結果が返ってきてしまいます。
    このことからサーバーAは外部サーバーとの時刻同期に失敗していると考えています。
    正常に同期できた場合はおそらく下記の応答があると思っています。
    >再同期コマンドをローカル コンピューターに送信しています
    >コマンドは正しく完了しました。

    先ほど実施したこの2行
    >w32tm /config /manualpeerlist:time.windows.com,0x8 /syncfromflags:manual
    >w32tm /config /update
    がうまく反映しているかを調べるために「w32tm /query /source」としたら
    「time.windows.com」と表示されて欲しかったんですがなぜか「Local CMOS Clock」と表示されます。

    また、サーバーAには外部サーバーと時刻同期ができない状態にあるからと思うのですが
    下記のイベントが継続して上がってきています。
    ログの名前:         System
    ソース:           Microsoft-Windows-Time-Service
    日付:            2010/11/20 1:17:40
    イベント ID:       12
    タスクのカテゴリ:      なし
    レベル:           警告
    キーワード:        
    ユーザー:          LOCAL SERVICE
    コンピューター:       サーバーA.Domain.local
    説明:
    タイム プロバイダー NtpClient: このコンピューターは、ドメイン階層を使ってタイムソースを決定するように構成されていますが、フォレストのルートにあるドメイン用の AD PDC エミュレーターであるため、ドメイン階層のその上にはタイム ソースとして使用するコンピューターがありません。ルート ドメインの信頼できるタイム サービスを構成するか、または手動で AD PDC を構成して外部のタイム ソースと同期させることをお勧めします。そうでない場合、このコンピューターはドメイン階層内の権限のあるタイム ソースとして機能します。外部のタイム ソースが構成できない場合、またこのコンピューターで使用できない場合は、NtpClient を無効にすることをお勧めします。
    イベント XML:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Time-Service" Guid="{06EDCFEB-0FD0-4E53-ACCA-A6F8BBF81BCB}" />
        <EventID>12</EventID>
        <Version>0</Version>
        <Level>3</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8000000000000000</Keywords>
        <TimeCreated SystemTime="2010-11-19T16:17:40.921875000Z" />
        <EventRecordID>33207</EventRecordID>
        <Correlation />
        <Execution ProcessID="976" ThreadID="696" />
        <Channel>System</Channel>
        <Computer>S16.Myfile.local</Computer>
        <Security UserID="S-1-5-19" />
      </System>
      <EventData Name="TMP_EVENT_DOMAIN_HIERARCHY_ROOT">
      </EventData>
    </Event>

    ここまでで次に何を確認すべきかわからなくなってしまいました。
    何か勘違いしているところなどありましたらご指摘していただけませんか。
    よろしくお願いします。

    • 移動 Robin_Ren 2012年10月3日 22:45 merge forum (移動元:Windows Server 2008 R2 全般)
    2010年11月19日 18:03

回答

  • ABE NAOKIさん、試験問題作成委員会さん
    ご返答ありがとうございます。
    お二方の助言が大変参考になり、無事解決することができました。
    結果を掲載しますのでご確認ください。

    まず「w32tm /query /configuration」を実行し、今の設定がどうなっているかを確認しました。
    「NtpServer:??」と表示される行が欠落しており、
    ところどころ「(ローカル)」とうい文字ではなく「(ポリシー)」という文字が目につきました。
    そこでなぜポリシー制御になっているか確認したところ、ローカルセキュリティポリシーにて設定値が上書きされておりました。
    いろいろ試行するうちに仮設定を戻すことを失念していたようです。
    原因が初歩的で申し訳ないです。
    設定するためのコマンドがエラーを返さなかったのでてっきり反映しているものかと思い込んでおりました。
    また、以前「w32tm /query /source」コマンドで「Local CMOS Clock」と表示されておりましたので
    Hyper-Vの統合サービスの時刻同期がなぜか働いているのかと疑ってしまってことも原因の一つです。

    対処としては教えていただいたリンク先のコマンドを元に、ローカルセキュリティポリシーを変更することで対応しました。
    コンピューターの構成→管理用テンプレート→Windowsタイムサービス→タイムプロバイダの「WindowsNTPクライアントを構成する」を有効にしました。
    NtpServer:xxx.xxx.xxx.xxx
    種類:NTP

    ポイントとしては一つはNtpSeverの欄に「0x8」等のパラメータは不要でIPのみでよいこと、
    あと一つは種類を規定値の「NT5DS」ではなく「NTP」に変更することです。

    確認方法としてはこのようにしました。
    ・「w32tm /query /souce」でタイムソースのアドレスが表示される
    ・「w32tm /query /configuratoin」のTypeに「NTP」とあり、
     また、NtpSever行が表示され、値が設定値となっていること
    ・イベントに下記のイベントがあがる
     ソース:Time-Service イベントID:35
     システム時刻とタイム ソース xxx.xxx.xxx.xxx (ntp.m|0x0|0.0.0.0:123->xxx.xxx.xxx.xxx) の同期をとっています。

    非常に参考になりました。
    ありがとうございました。

    • 回答としてマーク Masato0407 2010年11月21日 2:52
    2010年11月21日 2:52
  • 阿部です

    まずはこちらが参考になるかと思われます

    時刻を手動で直ちに同期させる
    http://www.atmarkit.co.jp/fwin2k/win2ktips/703adjtime/adjtime.html

    どうやら、タイムサーバーの指定がおかしいと思われます。

    http://wiki.nothing.sh/page/NTP/%BF%E4%BE%A9%B8%F8%B3%AB%A5%B5%A1%BC%A5%D0

    「time.windows.com」ではなく適切なタイムサーバーを選んでみてはいかがでしょうか?

    また、私はコマンドで行うのはめんどくさいので、サーバーに常駐するツールを入れています。

    時計・時間関係ツール
    http://www.vector.co.jp/vpack/filearea/win/personal/tokei/tool/

    今はいろいろなツールが出ているので、それらのツールを使用するのもいいかもしれませんね。

    以上、参考になれば幸いです。


    MVP:Virtual Machine Blog:MCTの憂鬱 http://naonao71.spaces.live.com/
    • 回答としてマーク Masato0407 2010年11月21日 2:25
    2010年11月20日 15:44
    モデレータ
  • 前の回答者のとおり、「time.windows.com」でなく外部NTPサーバーを同期先としてください。

    外部NTPサーバーはこんなージにあります。

     

    PDCエミュレータで実行するコマンドについてですが、Windows Server 2008 ADであればの投稿を参考にしてください。

     

    他のドメインコントローラは自動的にPDCエミュレータと時刻同期される仕組みになっていますが、念のため再起動したほうがよいでしょう。


    試験問題作成委員会(http://shikenmondai.blog.shinobi.jp/)
    • 回答としてマーク Masato0407 2010年11月21日 2:25
    2010年11月20日 23:53

すべての返信

  • 阿部です

    まずはこちらが参考になるかと思われます

    時刻を手動で直ちに同期させる
    http://www.atmarkit.co.jp/fwin2k/win2ktips/703adjtime/adjtime.html

    どうやら、タイムサーバーの指定がおかしいと思われます。

    http://wiki.nothing.sh/page/NTP/%BF%E4%BE%A9%B8%F8%B3%AB%A5%B5%A1%BC%A5%D0

    「time.windows.com」ではなく適切なタイムサーバーを選んでみてはいかがでしょうか?

    また、私はコマンドで行うのはめんどくさいので、サーバーに常駐するツールを入れています。

    時計・時間関係ツール
    http://www.vector.co.jp/vpack/filearea/win/personal/tokei/tool/

    今はいろいろなツールが出ているので、それらのツールを使用するのもいいかもしれませんね。

    以上、参考になれば幸いです。


    MVP:Virtual Machine Blog:MCTの憂鬱 http://naonao71.spaces.live.com/
    • 回答としてマーク Masato0407 2010年11月21日 2:25
    2010年11月20日 15:44
    モデレータ
  • 前の回答者のとおり、「time.windows.com」でなく外部NTPサーバーを同期先としてください。

    外部NTPサーバーはこんなージにあります。

     

    PDCエミュレータで実行するコマンドについてですが、Windows Server 2008 ADであればの投稿を参考にしてください。

     

    他のドメインコントローラは自動的にPDCエミュレータと時刻同期される仕組みになっていますが、念のため再起動したほうがよいでしょう。


    試験問題作成委員会(http://shikenmondai.blog.shinobi.jp/)
    • 回答としてマーク Masato0407 2010年11月21日 2:25
    2010年11月20日 23:53
  • ABE NAOKIさん、試験問題作成委員会さん
    ご返答ありがとうございます。
    お二方の助言が大変参考になり、無事解決することができました。
    結果を掲載しますのでご確認ください。

    まず「w32tm /query /configuration」を実行し、今の設定がどうなっているかを確認しました。
    「NtpServer:??」と表示される行が欠落しており、
    ところどころ「(ローカル)」とうい文字ではなく「(ポリシー)」という文字が目につきました。
    そこでなぜポリシー制御になっているか確認したところ、ローカルセキュリティポリシーにて設定値が上書きされておりました。
    いろいろ試行するうちに仮設定を戻すことを失念していたようです。
    原因が初歩的で申し訳ないです。
    設定するためのコマンドがエラーを返さなかったのでてっきり反映しているものかと思い込んでおりました。
    また、以前「w32tm /query /source」コマンドで「Local CMOS Clock」と表示されておりましたので
    Hyper-Vの統合サービスの時刻同期がなぜか働いているのかと疑ってしまってことも原因の一つです。

    対処としては教えていただいたリンク先のコマンドを元に、ローカルセキュリティポリシーを変更することで対応しました。
    コンピューターの構成→管理用テンプレート→Windowsタイムサービス→タイムプロバイダの「WindowsNTPクライアントを構成する」を有効にしました。
    NtpServer:xxx.xxx.xxx.xxx
    種類:NTP

    ポイントとしては一つはNtpSeverの欄に「0x8」等のパラメータは不要でIPのみでよいこと、
    あと一つは種類を規定値の「NT5DS」ではなく「NTP」に変更することです。

    確認方法としてはこのようにしました。
    ・「w32tm /query /souce」でタイムソースのアドレスが表示される
    ・「w32tm /query /configuratoin」のTypeに「NTP」とあり、
     また、NtpSever行が表示され、値が設定値となっていること
    ・イベントに下記のイベントがあがる
     ソース:Time-Service イベントID:35
     システム時刻とタイム ソース xxx.xxx.xxx.xxx (ntp.m|0x0|0.0.0.0:123->xxx.xxx.xxx.xxx) の同期をとっています。

    非常に参考になりました。
    ありがとうございました。

    • 回答としてマーク Masato0407 2010年11月21日 2:52
    2010年11月21日 2:52