USN Rollback

Active directory mimarisinde domain controller makineleri birbirlerinin güncelliğini USN ismini verdiğimiz bir numara ile takip etmektedir. Bu konuda zaten bir paylaşım yapmıştık.

 

http://sozluk.cozumpark.com/goster.aspx?id=1485&kelime=USN-update-sequence-number

 

USN Rollback süreci ise aşağıdaki gibi özetlenebilir.

 

Örneğin iki adet DC olsun, bunların veri tabanlarında karşılıklı olarak USN bilgileri tutulmaktadır. Yani DC1, DC2' nin şu andaki güncel USN numarasını bilir. Benzer şekilde DC2 de DC1' in güncel numarasını bilir.

 

Örneğin DC2' nin USN numarası 200 olsun ve bu bilgi replikasyon ile DC1' e geldi. Bir süre sonra DC2 üzerinde siz 100 kullanıcı açtınız ve DC2' nin USN numarası 300 oldu, tabiki bu bilgide DC1' e ulaştı. Ancak bir sorun nedeni ile siz DC2 yi yedekten geri döner veya varsa snapshot dan geri dönerseniz DC2 tekrar 200 veya daha eski bir USN' e dönecektir. Bu tabiki yedeği aldığınız zamandaki DC2 nin USN numarası ile ilgili bir durumdur. Bu işlemden sonraki ilk replikasyonda DC1, DC2 nin USN numarasının gerilediğini fark eder ve işte bu durumda USN Rollback oluşmuş olur. Tabiki bu iyi bir senaryo, eğer siz DC2 yi snapshot' dan döndünüz ve diyelim ki USN 200 oldu tekrar ve hemen üstüne 150 kullanıcı açtınız DC2 üzerinde, bu durumda DC2 nin USN numaraso 350 olur ve ilk replikasyonda DC1 sadece bu 150 kişiden 50 kişiyi alır ve bu 100 kişi öksüz obje olarak oluşmuş olacaktır. Ayrıca yine kullanılmış SID numaraları bu kullanıcılar içinde kullanılmış olabilir ki bu da ciddi bir problemdir. Eğer USN Rollback bir DC tarafından tespit edilir ise Rollback olan DC nin netloon servisi hemen durdurulur ve o DC nin replikasyonuda engellenir.

 

Loglara ise aşağıdaki gibi bir log düşer

 

A USN rollback occurred. (NTDS General Event 2103)