web-dev-qa-db-ja.com

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

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

VM PDC is set to NTP and sync with time.Microsoft.com and the rest with the physical servers NT5DSです。このメインVM PDCは確実にFSMOを保持し、UDP 123がアクティブです。

w32tm/query/statusを実行すると

私はVM両方のIC時間同期プロバイダーを取得していますVM DCs、これはホストと同期することを意味します。

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ロールであるサーバーを見つける必要があります。これを実行します。netdomquery fsmo結果はPDCほとんどの変更を行います。

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

これは、レジストリの変更が反映される場所です。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time

PDC上記のレジストリアドレスの設定の下にあるNTPに設定されていること、および他のすべてのサーバーがNT5DSであることを確認してください。つまり、NTPはパパです!ここでのベストプラクティスは、PDCを外部から見て時間とすべてに同期させることです。

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

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

以下のコマンドは、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 /再発見

これらの2つのコマンドを任意のサーバーでいつでも実行してソースを確認し、最後に更新されたときに、これらのコマンドをこの演習全体で使用して、PDCおよび他のサーバーが正しい時間を確保していることを確認しますw32tm/query/status w32tm/query/sourceを配置します

次に、PDCを除くすべてのDCでこれを実行します。これにより、PDCを時間で確認し、それに再同期します。w32tm/config/syncfromflags:DOMHIER/net stop w32timeを更新net start w32time w32tm/resync/force

問題:ステータスクエリまたはソースクエリを実行する場合、変更後1分または2分でそれらを与えると、ローカルCMOSクロックを見る必要がなくなり、vm ic時間同期プロバイダーを使用しないでください。ソースのいずれか。

成功した場合、PDCは設定した外部サイトを読み取り、他のサーバーはPDCをソースとして

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

13
Karl

ついに動作しました!これの目標は、ドメインの時間を設定する最初から始めている人々を助けることです。

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

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

PDCおよび実行中のFSMOロールであるサーバーを見つける必要があります。これを実行します。netdomquery fsmo結果はPDCほとんどの変更を行います。

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

これは、レジストリの変更が反映される場所です。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time

上記のレジストリアドレスのconfigの下にあるPDCが[〜#〜] ntp [〜#〜]に設定されていることを確認してください "Type =“と他のすべてのサーバーはNT5DSです。つまり、NTPはパパです!ここでのベストプラクティスは、PDCを外部から見て、すべてを同期することですそれ。

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

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

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

以下のコマンドは、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

次に、これをall DC PDCを除くで実行すると、PDCで時間を確認し、再同期します。

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

Issues:ステータスクエリまたはソースクエリを実行すると、変更後1〜2分で、Local CMOS = Clockであり、ソースとしてVM IC Time Synchronization Providerを使用しないでください。

成功した場合、PDCは設定した外部サイトを読み取り、他のサーバーはPDCをソースとして

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

5
Karl

@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または here からコマンドを使用して外部ソースを構成できます。一般的に言えば、PDCエミュレーターの役割を持つドメインコントローラーは外部ソースから同期し、他のドメインコントローラーは外部ソースから同期する必要があります。

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

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

w32tm /query /source

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

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

12
user62491

私はお勧めします:

  • HyperVホストとゲストVM間の時間同期を有効にしない-特にDCの場合。 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分未満の時間差が許容される]

1
PSaul

他の人が推奨するように、ホストからゲストへのハードウェア時間同期は絶対にありません。フォレストルートNTPエミュレーターの役割を保持するドメインコントローラーからのみ、外部PDCサーバーと同期する必要があります。フォレストルート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の[時間同期]チェックボックスをオフにします。"

0
Greg Askew