Merhaba,

Active Directory replication’dan bahsedeceğim. AD replicatiın 4 group altında sınıflandırılır.

1) Multimaster

Tüm DC’lerde değişiklik yapılır.

2) Pull Replication

Replikasyon her zaman Pull olarak çalışır. Source DC destination DC’ye değişiklikleri göndermez, destination DC source DC’den değişiklikleri alır.

3) Store and Forward

Sadece değişiklik yapılan attribute’ler belirlenir ve diğer DC’lere update edilir.

4) State Based Replication

Sadece değişiklik yapılan attribute’ler replike edildiği için herhangi bir conflict durumu söz konusu olmaz.

Directory Partition Replicas:

clip_image002

Schema Partition’ında Attribute ve Classes’lar bulunur.Fores wide’dır.Bir Forest altında birden fazla domain olabilir. Bu domain’lerin hepsini kapsıyorsa buna Forest wide denir.

Configuration Partition’ında Forest’in configurasyon’u ile ilgili bilgiler bulunur.Forest wide’dır.

Domain Partition’ında Userlar, Computer’lar ve Group Policy’ler bulunur. Domain wide’dır. Sadece bir domain’i kapsıyorsa buna Domain wide denir.

Application Partition’ında DNS ile ilgili data’lar bulunur. Domain wide veya Forest wide olabilir.

Bir DC Global Catalog ise Partial Replike Set edilir ve Read Only Partition’dır.

Changes to Attributes:

Bir DC’de yapılan herhangi bir değişiklik Attribute düzeyinde yapılır. Tüm değişiklikler replikasyon zamanında alınır ve zamana bağlı değildir. DC’ler Kerberos v 5 kullanır.

Effect of Schema Changes on Replication:

DC’ler arası schema’ın versiyon’unun aynı olması gerekmektedir. Eğer schema versiyon’ları aynı değilse replikasyon bloklanır ve schema versiyon’u aynı olana kadar replike etmez. Schema versiyon’ları aynı olduğu zaman replikasyon yeniden programlanır.

Change Notification:

Bir DC’deki object’de herhangi bir değişiklik yapıldığında buna change notification denir. Aynı site içindeki DC’lere change notification broadcast olarak gönderilir. DC’ler 15 saniye kendini kilitler ve bu bilgiyi almaz bu arada DC’lere event düşer.15 saniye sonra DC’ler bu bilgiyi replike eder ve bir sonraki replikasyon gecikmesi 3 saniye olur.

Gecikme süreleri aşağıdaki Attribute’lerden düzenlenebilir.

• The value for initial change notification delay is stored in the

msDS-Replication-Notify-First-DSA-Delay attribute.

• The value for subsequent notification delay is stored in the

msDS-Replication-Notify-Subsequent-DSA-Delay attribute.

Change Notification Between Sites:

Change notification site’lar arasında replikasyon zamanı geldiğinde replike edilir.Replikasyon süresi konfigure edilebilir. Bu süre en düşük 15 dk yapılabilir.

Ayrıca change notification ADSI Edit’den aşağıdaki değerler ile enable edilebilir. Böylelikle herhangi bir object’de değişiklik olduğunda change notification aynı site içindeymiş gibi hareket eder.

ADSI Edit içerisinden Configuration Partition içinde aşağıdaki değerler verilebilir.

CN=Configuration,DC=ForestRootDomainName and CN=Sites.

Expand the CN=Inter-Site Transports container, and then click CN=IP.

If the Value(s) box displays <not set>

0100 (existing value)

0001 (value that enables change notification)

0101 (adds enable change notification to the existing setting)

Originating Update:

Bir Object üzerinde yapılan değişiklik, taşıma ve silme gibi işlemlerin hepsi Originating Update olarak adlandırılır. Originating update’in yapıldığı DC’ye Originating DC denir.

Active Directory içinden herhangi bir object silindiğinde isDeleted attribute’ü TRUE olur ve silinen attribute Directory Partititon içinde Deleted Objects Container’ına taşınır. Bu container gizlidir sadece ADSI Edit’den bakılabilir.

Update Sequence Number (USNs)

Object’de bir değişik değişiklik yapıldığında Update Sequence Number’i artar.Bu artış bir bir olur. Her DC üzerinde 64 bit local USN counter vardır. USN counter object’de değişiklik yapıldığında o object’in USN numarasını arttırır.

Aşağıdaki komut ile object’in USN numaralarına bakabiliriz

repadmin /showobjmeta DCLIST

<object_DN>

Her DC’nin bir Object GUID (DSA GUID) numarası vardır. Replikasyon sırasında DC’ler arasında Object GUID numarası kullanılır. Invocation ID ( Database GUID) Active Directory kurulurken Invocation ID oluşur ve bu ID her Active Directory kurulduğunda değişir.Ayrıca restore sonrasında Object GUID numarası değişmiyorken Invocation ID değişmektedir.

Bir DC üzerinde bir object oluşturduğumuzda ve bu object Source DC üzerinden Destination DC’ye replike olup, destination DC üzerinde bu object’in password’ü değiştirildiğinde tekrar Source DC’ye replike edildiğinde oluşan attribute’lerin USN değerlerini aşağıda bulabilirsiniz.

clip_image004

clip_image006

clip_image008

clip_image010

Replication Request Filtering

Replication Filter demek, sadece değişiklik yapılan attribute’ün replike edilmesi demektir.

Bu iki listede bulunur.

1) Up-to-Dateness Vector

Tüm DC’lerin directory partition’larındaki attribute’lerin en son aldıkları USN numaralarını bulundurur.

2) High Watermark (direct up-to-dateness vector)

Bir attribute Source DC’den Destination DC’ye replike edildiğinde en son aldığı USN numarasına High Watermark değeri denir.

Up-to-Dateness vector ve High Watermark birlikte çalışırlar.Destination DC change notification’ı Source DC’den almak istediği zaman up-to-dateness vector ve high watermark değerlerini Source DC’ye gönderir. Source DC bu değerleri kendinde bulunan Up-to-dateness vector ve high watermark değerleri ile karşılaştırır.Bu değerler eşit ise ve Source DC’de bulunan değer düşük ise replike etmez. Eğer Destination DC’de bulunan değer düşük ise replike eder.

Böylelikle sonsuz replikasyon engellenmiş olur.

Up-to-dateness vector’e aşağıdaki komut ile bakılabilir.

Repadmin /showvector

Multimaster Conflict Resolution Policy

Eğer ayrı site’larda bulunan DC’ler üzerinde bir attribute aynı anda değiştirildiyse ve versiyon numaraları her iki attribute’ünde 1 ise 2 olur. Bu durumda time stamp devreye girer en güncel olan attribute replike edilir. En yeni olan her zaman kazanır.

Varolan isimli bir object oluşturulduğunda varolan object ismi "CN=ABC" ise 2. oluşturulan object ismi "CN=ABC*CNF:<GUID>" olarak değiştirir ve eski olan isim silinir.

Replication of Linked and Nonlinked Attribute

Bir object’e bağlı olarak bazı back link’ler eklenebilir. Bunlar object’in membership’leri olabilir.Back link limit’i 1,200 values’dur. Bu değerden fazla back link eklenmez.

Replication of Deletions

Bir object silindiğinde isDeleted attribute’ü 1 olur ve object Deleted Object Container’ina taşınır.Tombstone life time süresi kadar durur.

Her DC’nin ve her object’in bir tombstone life time değeri vardır. Bu zaman dolunca DC tekrar demote\promote edilir. Object’ler için ise silindikten sonra tombstone life time süresi başlar. Süresi dolduğunda garbage collection tarafından silinir.

Lingering Objects

A object’inin DC1 ve DC2 üzerinde olduğunu düşünelim. Herhangi bir sebepten dolayı DC2 kapatıldığında DC1 üzerinden A object’si silindiğinde tombstone life time’a düşer. Tombstone life time süresi kadar bekleyip ordanda silindiğini düşünürsek, DC2 üzerinde eski tarhli object hala vardır. DC2 açıldığında bu object’i replikasyon etmeye çalışırsa directory partition üzerinde bazı lingering object’ler oluşur ve replikasyon engellenir.

Event ID:1988

Bu durumda öncelikle aşağıdaki komut ile lingering object’ler silinir.

/removelingeringobjects <Dest_DC_LIST> <Source DC GUID> <NC>

[/ADVISORY_MODE]

Eğer yukarıdaki komut ile lingering object’leri silmeyi başaramazsak 2. Bir yöntem olarak aşağıdaki yöntem’i deneyebilirsiniz.

1) Strict-prevents lingering object replication

Strict replication lingering object’lerin replikasyonunu engellemektedir ve default olarak (1)’dir.

2) Loose-allows lingering object replication

Loose replication lingering object’lerin replikasyon yapmasına izin verir ve default olarak (0)’dır.

Eğer biz Strict replication değerini (1)’den (0)’a değiştirirsek lingering object’lerin replikasyon yapmasına izin veririz. Bu durumda loose replication değeri (1) olur.

Böylelikle lingering object’lerin replikasyon yapmasına izin vermiş oluruz.

Biz bu yöntemi zor durumda kaldığımız zaman uygulamayı öneriyoruz. Bunun nedeni bu işlemi yaptığımız zaman replikasyonu zorlamış oluyoruz diğer DC’ler üzerine de lingering object’ler yayılabilir.

Registry değerini aşağıda bulabilirsiniz.

Default(daily)The value for the backup latency interval is stored as a REG_DWORD value, in the Backup Latency

Threshold (days) entry, in

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters.

The value for the consistency setting is stored in the Strict Replication Consistency entry,

in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters.

The values are as follows:

• Value: 1 (Set to 0 to disable)

• Default: 1 (enabled) in a new Windows Server 2003 forest, otherwise 0.

• Data type: REG_DWORD

AD Replication on a Restored Domain Controller

Non-authoritative Restore

Bir DC’nin system state backup’i alınır ve DC herhangi bir hata ile karşılaştığında bu hatayı onarmak için backup’dan restore edilir ve diğer DC’lerden değişiklikleri aldığı için non-authoritative restore denir.

Authoritative Restore

Non-authoritative restore’da silinen bir object geri gelmez. Eğer silinen bir object’i tekrar oluşturmak istiyorsak authoritative restore yapılır. Bu işlem için ilk önce non-authoritative restore işlemi yapılır. Backup’dan restore edilir. Daha sonra restart etmeden ntdsutil içerisinden authoritative restore komut’ları ile silinen object yeniden oluşturulur. Bu işlemden sonra restart işlemi yapılır.

Silinen ve restore edilen bir user’in back link’lerinin yani membership’lerinin gelmesi için ldifde dosyası kullanılarak import edilir.

Active Directory Replication Topolojy

Active Directory replication topology’sini ve connection object’sini aynı site içerisinde KCC oluşturur. ISTG farklı site’lar için her site içinden rastgele bir DC seçerek connection object’i

oluşturur.

KCC her DC üzerinde vardır ve her 15 dk’da bir çalışır.Connection object’i oluşturur siler. Object’leri AD databaze içinden okur ve yazar.

Inter-site connection object’leri içinse ISTG bu görevi yapar.

Aşağıdaki ekran görüntüsünde detaylı örneklendirilmiştir.KCC Active Directory database’i ile konuşma ihtiyacı hisseder ve KCC’nin AD Database’ine ulaşmasını sağlayan servis DSA servisidir.

Active Directory database’indeki kayıtların manage edilmesini sağlayan servis ise ESE servisidir.

clip_image012

DSA:Ntdsa.dll

Extensible Storage Engine (ESE):Esent.dll

KCC RPC kullanır. KCC diğer DC’ler üzerindeki KCC’lerin replikasyon sırasında aldığı hataları RPC ile log’lar. KCC farklı site’da bulunan KCC ile haberleşmez. Forest’in Konfigurasyon’u Configuration Partition içinde Global Data içinde bulunur. KCC Global Data içinden Forest Configuration ile ilgili bilgilere ulaşır.

KCC’nin ve ISTG’nin oluşturduğu topology’leri aşağıda bulabilirsiniz.

clip_image014

Her site konfigurasyon’u içinde bir connection object’leri, Server’lar, directory kurulum sırasında oluşan NTDS settings object’leri, Subnet’ler, Site link’ler ,Site link bridges ve cross-reference object’ler bulunur.

Kendimiz site link oluşturup site link bridge yapabiliriz. Böylelikle istediğimiz site’lar için bridge yapabiliriz. Cross-reference object bir Active Directory kurulurken oluşur ve replikasyon sırasında cross-reference object değeri ile DC’lerin AD database’ine ulaşılır.

Replication Between Sites

Default olarak her site’dan bir tane bridge server ISTG tarafından seçilir.Eğer default olarak her site’dan bir DC seçilmesini istemiyorsak manuel connection object’i oluşturup bridgehead server seçilebilir. Küçük yapılı şirketlerde default olarak her site’dan bir tane DC seçilmesi önerilebilir ancak büyük yapılı şirketlerde bu gereksiz network trafiğine neden olur.

Aşağıdaki komut ile bridgehead server’ları görebiliriz.

repadmin /bridgeheads

Ayrıca bridgehead server olduğunda bir DC’nin aşağıdaki attribute’leri değişir.

ISTG bridgeheadTransportList attribute

(Back link)bridgeheadServerListBl

Site Link Settings

DC’lerin hangi DC ile replikasyon yapmasını belirleyen site linkdir. Bu site link üzerinden connection object’leri oluşur.

Schedules; Replikasyon zamanı geldiğinde hangi saat’ler arasında replikasyon yapılacağı belirlenebilir.

Schedule aynı site içinde default olarak 1 saat’dir. Eğer change notification yoksa aynı site içinde DC’ler saat başı replikasyon yaparlar.

Replikasyon her zaman cost değeri düşük olan connection object’i üzerinden yapılır.

Site’lar arası replikasyon defeult olarak 180 dk’dır. Bu aralık en düşük 15 dk olabilir.

Örnek olarak A-B-C site’larının olduğunu düşünürsek, Bridge all site seçeneği default olarak geldiği gibi enable’sa A-B arasında ve B-C arasında connection object’leri varsa ama A-C arasında connection object’i yoksa yinede A site’inda bulunan bir DC C site’ında bulunan bir DC ile replikasyon yapabilir.

Replikasyon zamanı ise A-B arasında 13:00 am\16:00 pm 90 dk’da bir, B-C arasında 12:00 am\15:00 pm 60 dk’da bir yapılıyorsa A-C arasında yüksek olan interval yani 90 dk’da bir saat olarak ise kesişen saat’ler arasında yani 12:00 am\15:00 pm arasında replikasyon yapılabilir.

Bridge All Site link seçeneği default oalrak açıktır ancak bu seçenek gereksiz network trafiğini engellemek için disable edilebilir. Bu işlem bazı DFS problem’lerine neden olabilir ancak aşağıdaki komut ile disable edersek herhangi bir sorun oluşmaz.

W2K3 SP1 : repadmin /siteoptions W2K3_BRIDGES_REQUIRED

Ayrıca KCC herhangi bir DC’ye ulaşamazsa otomatik olarak başka bir DC’ye yönlendirir.

Aşağıdaki örneklerde detaylı olarak görebilirsiniz.

clip_image016

clip_image018

Global Catalog Replication

Global catalog olan DC tüm site’larda bulunan DC’lerin domain partition’larını okur. Bir attribute’e ulaşılacağı zaman global catalog içerisinden ulaşılır. Ortamda tek bir DC varsa global catalog’dur ancak birden fazla DC varsa global catalog seçilebilir.Glocal catalog olan DC’nin isGlobalCatalogReady attribute’ü enable olur ve DNS içinde SRV kaydı oluşur. Ayrıca isMemberOfPartialAttributeSet attribute’ü schema içinde TRUE olur.Böylelikle diğer DC’lerin domain partition’larını global catalog olan DC okuyabilir.

Aşağıdaki şekilden detaylı bilgiye ulaşabilirsiniz.

clip_image020

Urgent Replication

Bazı değişiklikler urgent replication olarak adlandırılır. Bunlar aşağıdaki değişikliklerdir. Bu değişiklikler olduğunda replikasyon süresi beklenmeden değişiklik replike edilir. Site’lar arasında ve aynı site içerisinde de bu şekildedir.

clip_image022

Replication Tools and Settings

Aşağıdaki komutlar ve yöntemler ile replikasyon’da oluşan problemleri ve replikasyon ile ilgili detaylı bilgiyi görebilirsiniz.

1) Repadmin

2) Replmon

3) DCDiag

4) NTDSUtil

5) Events and Registry Entries

6) Network Ports and Protocols

Aşağıdaki komut server’in replikasyon partner’i ve replikasyon tarihleri ile ilgili detaylı bilgi verir.

repadmin /showrepl server1.microsoft.com

Aşağıdaki komut ile iki DC arasında replikasyon’u tetikleyebiliriz.

repadmin /replicate rootdc01.contoso.com rootdns.microsoft.com dc=contoso,dc=com

Aşağıdaki komut ile bir DC’nin tüm DC’ler ile replikasyon’unu tetikleyebiliriz.

repadmin /syncall server1.microsoft.com dc=contoso,dc=com

Aşağıdaki komut ile USN numaralarını ve detaylı bilgiye ulaşabilirsiniz.

repadmin /showutdvec . dc=contoso,dc=com server2.microsoft.com

Aşağıdaki komut ile tüm DC’ler arasındaki replikasyon özetlerine ulaşabiliriz.

repadmin /replsummary

Teşekkürler,

Sinem Erdem