none
USNについて教えてください。 RRS feed

  • 質問

  • ActiveDirectoryのUSNなのですが、

    1.各オブジェクトにUSNがあって、それらをドメイン内のどのDCで参照しても値が一致するのでしょうか?

    2.ディレクトリパーティション全体を表すようなUSNはあるのでしょうか? (DNSのシリアル番号のような。)

    よろしくお願いします。

    2010年5月18日 2:51

回答

すべての返信

  • 阿部です

    ADの複製には "更新シーケンス番号" (USN)が使用されます。各DCではこのUSNを伝達して保存している番号よりも大きなものを全て複製要求します。

    ですので、1は違いますね。2はありません

    次のページが参考になると思われます

    http://technet.microsoft.com/ja-jp/library/cc984971.aspx


    MVP:Virtual Machine Blog:MCTの憂鬱 http://naonao71.spaces.live.com/
    2010年5月18日 6:46
    モデレータ
  • ありがとうございます。

    USNの一番大きいものが複製されるのは知っていたのですが、

    では複製が完了したあとは、そのオブジェクトのUSNはどのDCでも同じ値になるのでしょうか?

    2010年5月20日 12:43
  • 阿部です

    USNは複製パートナー間で使用するものでAが主体としてBとCが複製パートナーだとするとそれぞれ異なるUSNをもつので、どのDCでも同じ値にはなりませんね

    DCで同じ値になるのは、各属性項目のバージョンナンバーになります(更新世代を表す)

     


    MVP:Virtual Machine Blog:MCTの憂鬱 http://naonao71.spaces.live.com/
    2010年5月21日 0:22
    モデレータ
  • ありがとうございます。

    USNだけでなく属性のバージョンナンバーというのがあるのですね。

    ユーザーやコンピュータなどのオブジェクトがそれぞれUSNをもっていて、そのオブジェクトの属性にも

    バージョンナンバーがあるということでよいのでしょうか?

    複製するかしないかがUSNの比較で行われて、複製後も複製をうけたDCのオブジェクトのUSNは

    変わらないのだとするとずっと複製が行われ続ける気がするのですが?

     

    あとrepadminなどで強制的に複製を開始させられると思いますが、

    ドメイン内で複製が完全に完了したかどうかはどのように判断したらよいのでしょうか?

    よろしければ教えてください。

     

     

    2010年5月21日 12:54
  • 阿部です

    ちょっとうまく伝わっていないような気がします。

    まずは参考のURLを見ていただけましたでしょうか?

    ADでの更新を行うために、タイムスタンプではなくUSNを使用しています。そして、最大のものに複製します。当然ながら複製を受けたUSNは更新されます。そういう意味ではDCのUSNはおなじになります。しかし、USNは複製パートナーごとに異なるのですべてのDCで同じにはならないということです。

    repadminに関しては次のページが参考になると思われます。

    Active Directoryのデータベースを強制的に複製する
    http://www.atmarkit.co.jp/fwin2k/win2ktips/285adrepl/adrepl.html 

     


    MVP:Virtual Machine Blog:MCTの憂鬱 http://naonao71.spaces.live.com/
    2010年5月22日 5:29
    モデレータ
  • ありがとうございます。

    更新の伝達 の部分も含めて拝見しました。

     

    USN は、各 Active Directory サーバーに保持されます。この Active Directory サーバーが Active Directory にプロパティを書き込むと、USN は 1 つ増分され、書き込まれたプロパティと共に格納されます。この処理は非常に小さな単位で実行されます。つまり、USN の増分と保存、およびプロパティ値の書き込みは、何か 1 つの操作が行われるたびに失敗か成功かが判断されます。

    また、各 Active Directory サーバーでは、複製パートナーから受信した USN のテーブルが維持されます。このテーブルには、各パートナーから受信した USN のうち、最も大きいものが格納されます。パートナーからディレクトリ サーバーに対し、複製が必要であることが通知されると、ディレクトリ サーバーは最後に受信した USN より大きい USN が関連付けられている変更をすべて要求します。これにより、タイムスタンプの正確さに依存せずに更新を伝達することが可能になっています

     

    の部分ですよね。

    ユーザーやコンピュータなどの各オブジェクトごとのUSNを各DCがそれぞれ保持している。

    複製パートナーどうしの複製が完了した状態では、複製を要求した方、された方のUSNは一致する。複製対象にはいっていないDCとのUSNは必ずしも一致しないということでしょうか?

    ではシングルドメインとして、DCがどれかのサイトに必ず所属しているとして、各サイトでサイト内の全DCが複製しあっていて、各サイト間でもサイト間の複製が行われていれば、そのオブジェクトのUSNはドメイン内の全DCで最終的には一致するという認識でよいでしょうか?



     

    2010年5月23日 2:47
  • チャブーンです。

    阿部さんも答えられていますが、USNはすべてのドメインコントローラ間で一致していませんし、その必要もありません。これはUSNはあくまで複製パートナーでの比較に利用されるためです。

     複製の際には、High WatermarkベクターとUTDベクターという、別の要素により、「受け取った内容が最新のものか」を判定します。したのページを読んでみられてはどうでしょう。

    http://technet.microsoft.com/ja-jp/magazine/2007.10.replication.aspx

    追記:
    各ドメインコントローラの内容を比較(同期が完了しているか)したい、とお見受けしました。その場合はUSNを比較するのではなく、dsastatというコマンドで行なうことができます。細かいところはしたのページを参照してください。

    HOW TO: Verify That Active Directory Partitions Are Replicated Properly on All Domains in Windows 2000

    2010年5月23日 6:55
    モデレータ
  • ありがとうございました。

    リンクを拝見しました。なかなかむずかしいですね。^^;;

    >各ドメインコントローラの内容を比較(同期が完了しているか)したい、とお見受けしました。

    はい。そうです。それでUSNが使えるかと思ったのですが無理みたいですね。

    dsastatは便利そうですね。

    2台のDCを比較するだけでなく3台以上を比較するツールなどはあるでしょうか?

    2010年5月26日 15:29
  • チャブーンです。

    dsastat は 3 台以上のドメインコントローラも、比較できます。構文については、ヘルプをどうぞ。

    Dsastat Syntax

    2010年5月26日 18:36
    モデレータ
  • ありがとうございました。

    大変参考になりました。^^

    2010年5月29日 16:23