VMドメインコントローラーのHyper-V時間同期


13

8つのVMを実行する2つの物理Hyper-Vサーバーがあり、各物理サーバーにはVMで実行されるドメインコントローラーがあり、すべてのサーバーは2008R2です

VM PDCはNTPに設定され、time.microsoft.comと同期するように設定されており、物理サーバーを含む残りはNT5DSです。このメインVM PDCは確実にFSMOを保持し、UDP 123がアクティブです

w32tm / query / statusを実行すると

両方のVM DCでVM IC Time Synchronization Providerを取得していますが、これはホストとの同期を意味します。

w32tm / resync / rediscoverを実行すると

「時間データが利用できなかったため、再同期しませんでした」とログにイベントID 134が記録されていますか?

また、ログを調べて、イベント144と12が発生しました

外部タイムソースの設定に関するMS KBの詳細に従い、すべてのレジストリを変更しましたが、DNSで取得できていると思いますか?

しかし、物理マシンの1つで時刻を変更すると、そこから時刻が設定されます。多分私はそれらをすべて登録解除し、登録して更新し、同期しても、大きな問題を作成することを恐れています!

VMとHyper-Vホストの間の時間同期を有効にしておくことを試みています。

ご協力いただきありがとうございます



ようやく機能しました!これの目的は、ドメイン時間の設定の開始時に開始する人々を支援することです。

この例では、すべてのサーバー、プライマリドメインコントローラー(PDC)、他のドメインコントローラー(DC)および他のサーバーがWindows 2008 R2を実行しており、Hyper-Vで仮想化されています。

最初に、Hyper-V内の仮想マシンで「時刻同期統合サービス」を無効にするために最初に読むが、代わりに仮想DC内からWindowsタイムサービス(w32tmサービス)を操作する必要があります。 VMを再起動すると、問題が発生します。w32tmで実行する必要があります。 http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

どのサーバーがPDCであり、FSMOの役割を実行しているかを調べる必要があります。これを実行します:netdom query fsmo結果はPDCであり、ここでほとんどの変更を行います。

ファイアウォールでUDP123に「アウトバウンド」ルールがあり、プログラムが%SystemRoot%\ System32 \ w32tm.exeであることを確認してください。Windowsディレクトリを参照して、時間のexeを見つけてください。

これは、レジストリの変更がダウンする場所です!HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time

上記のレジストリアドレスのconfigの下にあるPDCが「type」のNTPに設定され、他のすべてのサーバーがNT5DSであることを確認してください。これは、NTPがパパであることを意味します。ここでのベストプラクティスは、PDCが外部から時間を探し、すべてがそれに同期するようにすることです。

これをすべてのドメインコントローラー(PDCを含む)で実行すると、Windowsの時間を部分的に無効にするため、ホストマシンが時間を監視しないため、仮想化されているため重要です。reg add HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ VMICTimeProvider / v有効/ t reg_dword / d 0

ntp.org http://support.ntp.org/bin/view/Servers/WebHome サイトにアクセスして、外部時刻を同期するために最も近いサーバーを見つけることができます。マイクロソフトは頻繁に使用され、そのため抜ける可能性があるため、マイクロソフトは使用しないことをお勧めします。

以下のコマンドはPDCを外部に見えるように設定しますが、外部で同期するためにここで定義されているレジストリ設定も確認します(両方を行う必要があります) http://support.microsoft.com/kb/816042

PDC w32tm / config /manualpeerlist:“0.pool.ntp.org,0x1” / syncfromflags:MANUAL / reliable:yes w32tm / config / update w32tm / resync w32tm / resync / rediscoverでこれを実行します

これらの2つのコマンドを任意のサーバーでいつでも実行してソースを確認し、最後に更新されたときに、これらのコマンドを使用してPDCおよび他のサーバーが適切な場所から時間を取得できるようにしますw32tm / query / status w32tm / query /ソース

次に、PDC以外のすべてのDCでこれを実行します。PDCを時間的に見て、再同期しますw32tm / config / syncfromflags:DOMHIER / update net stop w32time net start w32time w32tm / resync / force

問題:ステータスクエリまたはソースクエリを実行して、変更後1〜2分経過したら、ローカルCMOSクロックを見ないでください。また、ソースとしてvm ic時間同期プロバイダーを使用しないでください。

成功した場合、PDCは設定した外部サイトを読み取り、他のサーバーはソースとしてPDCを言う必要があります

これが人々の幸運に役立つことを願っています


こんにちは、質問の編集としてではなく、回答は回答セクションに移動します。
マイケルハンプトン

2
これは、最新の統合アップデートを備えた新しいHyper-V 2012R2では完全に機能しません。NTPサーバーによって設定された後、時間はすぐに基盤となるホストに戻るからです。しばらく座った後でも、それは間違った時間に引っかかっていました。レジストリキーTimeProviders / VMICTimeProvider / InputProvider = 0も変更することで、サーバーが基になるホストへのスナップバックをすぐに停止することがわかりました。
Brain2000

1
読みやすくするために、回答の形式を以下に示します。質問から回答を削除し、回答への参照のみを削除する場合があります。
ティロ

回答:


12

@PSaulはほとんど正しいです。PDCエミュレーターFSMOロールを保持しているドメインコントローラーのタイムソースとして使用したくない、time.microsoftまたは使用したくない場合time.windows.com。デフォルトとして、それらは頻繁に使用されます。多くの場合、ローカリティの欠如のために遅く、時には利用できません。自分に近いNTPプールを選択します。

ただし、Hyper-V時間同期統合を無効にしないでください。再起動後の時間のリセットや、仮想マシンが保存された状態から戻ったときなど、特定の機能に必要です。何をしたいのかは、仮想化ドメインコントローラーに、Hyper-Vホストをタイムソースとして無視するように指示することです。

これは次のように実行できます。

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

このコマンドは、W32Timeの可能なソースとしてHyper-Vタイムソースを削除します。

w32tm /config /syncfromflags:DOMHIER /update

次に、W32Timeに、ドメイン階層で可能な限り最適なタイムソースを検索するように指示します。両方のドメインコントローラーに外部ソースを使用する場合は、@ PSaul Postedコマンドまたはここからコマンドを使用して外部ソースを構成できます。一般的に、PDCエミュレーターの役割を持つドメインコントローラーは外部ソースから同期し、他のドメインコントローラーは外部ソースから同期する必要があります。

net stop w32time & net start w32time
w32tm /resync /force

タイムサービスを再起動し、再同期を強制します。

w32tm /query /source

最後に、ドメインコントローラーのタイムソースが正しいことを確認する必要があります。

詳細については、Ben Armstrongの優れたブログ投稿を参照してください。


情報をありがとう、私はベン・アームストロングのブログを読んで、ベストプラクティスに固執したかったです。今日のPDCであるVMで、次を実行しました:w32tm / config /manualpeerlist:“0.pool.ntp.org,0x1” / syncfromflags:MANUAL / reliable:yes w32tm / config / update w32tm / resync w32tm / resync / rediscover
カール

レジストリ0.pool.ntp.orgで、0x1がNTPサーバーの値になりました。PDCから0.pool.ntp.orgにpingできますが、それでもtime.windows.comにはpingできません。時間はホストの1つによって設定されていますが、NT5DSに設定され、/ query / statusがPDCの使用を通知しています。ホストでコマンドを実行して再同期させる必要がありますかVM PDCに?reg addコマンドを見ましたが、これはすべてのDCで実行する必要があると思いますか?w32tm / config / syncfromflags:DOMHIER / updateもPDCまたは他のすべてのDCで実行する必要があるのだろうか?
カール

PDCで以下のコマンドを実行した後、最初のコメントの最後が欠落していると思います。すべてが成功したと言いましたが、w32tm / query / statusを実行したときに、「vm ic時間同期プロバイダー」w32tm / config /manualpeerlist:"0.pool.ntp.org,0x1 "/ syncfromflags:MANUAL / reliable:yesのソースがまだありました。 w32tm / config / update w32tm / resync w32tm / resync / rediscoverおよび開始と停止
カール

私は最終的にそれを持っていると思うすべてのアドバイスに感謝しますが、確認するために数日間離れてから、修正するためにやったことを更新します
カール


5

ようやく機能しました!これの目的は、ドメイン時間の設定の開始時に開始する人々を支援することです。

この例では、すべてのサーバー、プライマリドメインコントローラー(PDC)、他のドメインコントローラー(DC)および他のサーバーがWindows 2008 R2を実行しており、Hyper-Vで仮想化されています。

最初に、Hyper-V内の仮想マシンで「時刻同期統合サービス」を無効にするために最初に読むが、代わりに仮想DC内からWindowsタイムサービス(w32tmサービス)を操作する必要があります。 VMを再起動すると、問題が発生します。w32tmで実行する必要があります。MSDN情報

どのサーバーがPDCであり、FSMOの役割を実行しているかを調べる必要があります。これを実行します:netdom query fsmo結果はPDCであり、ここでほとんどの変更を行います。

ファイアウォールでUDP123に「アウトバウンド」ルールがあり、プログラムが%SystemRoot%\ System32 \ w32tm.exeであることを確認してくださいちょうどwindowsディレクトリを参照し、時間のためのexeファイルを見つけます

これは、レジストリの変更がダウンする場所です!

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time

上記のレジストリアドレスのconfigの下にあるPDC が「Type」のNTPに設定され、他のすべてのサーバーがNT5DSであることを確認してください。これは、NTPがパパであることを意味します。ここでのベストプラクティスは、PDCが外部から時間を探し、すべてがそれに同期するようにすることです。

これをすべてのドメインコントローラー(PDCを含む)で実行すると、Windowsの時間が部分的に無効になり、ホストマシンが時間的に見えなくなります。

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

ntp.orgにアクセスできます外部の時間を同期するために、あなたに最も近いサーバーを見つけるためにサイト。マイクロソフトは頻繁に使用され、そのため抜ける可能性があるため、マイクロソフトは使用しないことをお勧めします。

以下のコマンドは、PDCを外部から見るように設定しますが、ここで定義されているレジストリ設定をチェックして外部と同期します(両方を行う必要があります)MS KB 816042

これをPDCで実行します

w32tm /config /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:MANUAL /reliable:yes   
w32tm /config /update   
w32tm /resync 
w32tm /resync /rediscover

これらの2つのコマンドを任意のサーバーでいつでも実行してソースを確認し、最後に更新されたときに、これらをこの演習全体で使用して、PDCおよび他のサーバーが適切な場所から時間を取得できるようにします

w32tm /query /status  
w32tm /query /source

次に、PDCを除くすべてのDCでこれを実行します。これにより、PDCを時間的に見て、再同期します。

w32tm /config /syncfromflags:DOMHIER /update 
net stop w32time 
net start w32time 
w32tm /resync /force

問題:ステータスまたはソースクエリを実行して、変更後1〜2分待ってから、ローカルCMOSクロックを確認したり、VM IC Time Synchronization Providerを使用したりしないでください。もソースとして。

成功した場合、PDCは設定した外部サイトを読み取り、他のサーバーはソースとしてPDCを言う必要があります

これが人々の幸運に役立つことを願っています


さらに2つのこと:GCEを使用してPDCEのNTP時間を構成します-これは、PDCEの役割が移動すると自動的に構成されることを意味します:www.sysadminlab.net/windows/configuring-ntp-on-windows-using-gpo。
Trix

NTPサービスでフラグを設定するには、0x8の使用を検討してください。これは、どこかでハードウェアクロックと同期している信頼できるタイムソースであることを意味します。「特別な時間間隔」に0x1を使用しないことも検討してください。指定された間隔で時計を同期する必要がない限り、最近は不要です。DCが起動直後に時刻を取得できない場合(ネットワークの準備ができていない場合など)、DCはその間隔全体を待機します。または、0x1 / 0x9を使用する場合、別のソースを0xaで設定します-フォールバックソース。プライマリソースが応答しない場合、すぐに照会されます。
Trix

1

私はお勧めします:

  • 特にDCの場合、HyperVホストとゲストVM間の時刻同期を有効にしないでください。PDCの役割保有者は、いくつかの適切な時間ソースからNTPを介して更新する必要があります。ホストのクロックもNTPを介して更新できますが、PDCを他のDCおよびメンバーサーバーの「マスター」にしたい場合があります。(少なくともVMwreでは、HyperVでも同じと仮定します)
  • アウトバウンドトラフィック用にUDPポート123が開いていることを確認してください。
  • NTPサーバーのFQDNを解決できること(PINGできますか?)
  • 他のすべてのDCおよびメンバーマシンは自動的に更新されるはずです。

time.windows.comまたはtime.microsoft.comのみを使用しないでください。*。pool.ntp.orgサーバーのいずれかを使用してください。north-america.pool.ntp.orgまたはca.north-america.pool.ntp.orgを使用します-近いほど良いです。確認できますhttp : //www.pool.ntp.org/あなたの近くのサーバーを見つけること。

次に、次のように実行します:

w32tm /config /manualpeerlist:"north-america.pool.ntp.org 0.pool.ntp.org" /syncfromflags:MANUAL /update /reliable:YES

(必要なNTPサーバーを追加します。カナダではtime.nrc.caも使用します)

に続く:

net stop w32time
net start w32time

次の方法でピアを確認できます。

w32tm /query /peers

システムログをチェックして、更新されているかどうかを確認します。クロックを1分先に設定し、w32timeサービスを再起動すると、30秒以内に更新できるはずです。[ADドメイン内では5分未満の時間スキューが許容されます]


0

他の人が推奨するように、ホストからゲストへのハードウェア時刻の同期は絶対に行わないでください。また、フォレストルートPDCエミュレーターの役割を保持しているドメインコントローラーからのみ、外部NTPサーバーと同期する必要があります。フォレストルートPDCエミュレーターの役割ドメインコントローラーが同期していない場合、それに依存するDCに問題が発生します。

次の修正プログラムも試してください。

Windows Server 2008またはWindows Server 2008 R2でW32Timeサービスが正常に開始された場合でも、時刻の同期は実行されません。

http://support.microsoft.com/kb/2493006

w32tmに/ verboseフラグを使用すると、より便利になる場合があります。

w32tm /query /status /verbose /computer:dcname

追加情報:

https://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv%28WS.10%29.aspx

「ドメインコントローラーとして構成された仮想マシンの場合、ドメインコントローラーとして機能するホストシステムとゲストオペレーティングシステム間の時刻同期を無効にすることをお勧めします。これにより、ゲストドメインコントローラーがドメイン階層の時刻を同期できるようになります。」

「Hyper-Vの時刻同期プロバイダーを無効にするには、VMをシャットダウンし、Integration Servicesの[時刻同期]チェックボックスをオフにします。」

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.