Active Directory altyapısının yönetimsel karmaşıklığı, sistemin temelini oluşturan FSMO (Flexible Single Master Operation) rollerinin etkin bir şekilde yönetilmesini gerektirir. Domain ortamı kurulduğunda, ilk oluşturulan Domain Controller (DC), tüm FSMO rollerini üstlenir ve bu roller, Active Directory'nin stabilitesini ve işlevselliğini sağlamak için kritik öneme sahiptir. FSMO rolleri, Active Directory'deki belirli görevlerin tek bir DC tarafından yönetilmesini sağlarken, aynı zamanda sistem genelinde tutarlılık ve veri bütünlüğü sağlar. Bu rolleri doğru bir şekilde anlamak ve yönetmek, organizasyonların Active Directory altyapısını güvenli ve verimli bir şekilde sürdürmelerini mümkün kılar.
FSMO rolleri, her biri belirli bir yönetimsel işlevi yerine getiren beş ana bileşenden oluşur: Schema Master, Domain Naming Master, Infrastructure Master, RID Master ve PDC Emulator. Her bir rol, Active Directory'nin belirli bir yönünü yönetir ve sistemin tüm bileşenlerinin uyum içinde çalışmasını sağlar. Örneğin, Schema Master rolü, Active Directory şemasında yapılan değişikliklerin merkezi bir noktadan kontrol edilmesini sağlayarak, sistemin diğer DC'lerle senkronize çalışmasını temin eder. Bu rolleri barındıran DC'ler, sistemin genel performansı ve veri bütünlüğü açısından kritik bir rol oynar.
FSMO rollerinin dağıtımı sırasında dikkat edilmesi gereken en önemli unsurlardan biri, ağ topolojisi ve organizasyonel ihtiyaçlardır. FSMO rollerinin doğru bir şekilde dağıtılması, sistemin yüksek erişilebilirlik ve performans gereksinimlerini karşılamasına yardımcı olur. Büyük ve dağınık yapılarda, FSMO rollerinin stratejik olarak konumlandırılması, replikasyon süreçlerinin verimli bir şekilde yürütülmesini ve olası arıza durumlarında sistemin hızlı bir şekilde toparlanmasını sağlar. Bu nedenle, FSMO rollerinin yönetimi ve izlenmesi, Active Directory'nin sürdürülebilirliği ve güvenliği için kritik bir bileşendir.
1- Schema Master
Active Directory (AD) ortamında Schema Master FSMO rolü, Şema üzerinde yapılan değişikliklerin yönetiminden sorumlu olan hayati bir bileşendir. AD Şema'sı, ortamınızdaki tüm Object Class'lar (nesne sınıfları) ve Attribute'lerin (öz niteliklerinin) nasıl yapılandırıldığını belirler. Dolayısıyla, bu rol, Active Directory'nin genişletilebilirliğini ve esnekliğini sağlamak için kritik bir görev üstlenir.
Şema'da yeni bir Class veya Attribute eklemek gibi bir değişiklik yapmak istediğinizde bu değişiklikler, yalnızca Schema Master rolünü üstlenen Domain Controller üzerinden yapılabilir. Bu, Schema Extention (şema genişletmeleri) veya diğer önemli değişiklikler sırasında yalnızca bir otoritenin tüm işlemleri kontrol ettiğinden emin olmanızı sağlar. Böylece, Active Directory Forest yapısındaki tüm Domain Controller'lar, bu değişikliklerin doğruluğundan emin olarak senkronize olabilir.
Schema Master rolü devre dışı kaldığında, Şema üzerinde herhangi bir değişiklik yapılması engellenir, ancak bu durum AD'nin genel işleyişini aksatmaz. Yani, kullanıcılar, Gruplar ve diğer AD nesneleri normal şekilde yönetilmeye devam edebilir; ancak Şema üzerinde yapılacak yeni değişiklikler beklemeye alınır. Özellikle, Exchange Server gibi uygulamalar, AD Şema'sını genişletmek zorunda kaldıklarında, Schema Master'ın etkin ve erişilebilir olması hayati önem taşır.
Bir Forest içinde yalnızca bir Schema Master olabileceğini hatırlatmakta fayda var. Bu durum, Şema değişiklikleri sırasında olası çakışmaları ve tutarsızlıkları önlemek amacıyla tasarlanmıştır. Schema Master rolünün başka bir Domain Controller'a devredilmesi, dikkatle planlanması gereken bir süreçtir. Yanlış bir adım, AD ortamında ciddi sorunlara yol açabilir. Genellikle, bu rol, yüksek kapasiteli ve güvenilirliği kanıtlanmış bir Domain Controller üzerinde barındırılır.
Schema Master rolünün doğru yönetimi, özellikle büyük ve karmaşık AD ortamlarında kritik bir rol oynar. Şema değişiklikleri, AD'nin temel yapısını etkilediği için, burada yapılacak hataların tüm ortamı etkileme potansiyeli vardır. Bu nedenle, Schema Master rolünü devralacak olan Domain Controller'ın iyi yapılandırılması ve güvenliğinin sağlanması şarttır.
Bu rol, Forest içerisinde tektir.
2- Domain Naming Master
Domain Naming Master FSMO rolü, Active Directory (AD) ortamında oldukça kritik bir görev üstlenir. Bu rol, AD Forest'ındaki Domain adlandırma süreçlerini kontrol eden merkezi bir otorite olarak çalışır. Yeni bir Domain oluşturulması veya mevcut bir Domain'in silinmesi gibi işlemler, yalnızca Domain Naming Master tarafından gerçekleştirilir. Bu, AD ortamında benzersiz ve çakışmasız bir adlandırma şeması sağlamak için son derece önemlidir.
Daha başka bir ifade ile Active Directory (AD) ortamında her Domain'in benzersiz bir isimle tanımlanmasını sağlar ve aynı isim alanına sahip iki Domain'in bulunmasını engeller. Bu, AD ortamında isim çakışmalarının önlenmesi ve sistemin tutarlı bir şekilde çalışması için kritik bir rol oynar. Yani, bu rol sayesinde bir Forest içinde aynı isme sahip birden fazla Domain oluşturulamaz, bu da adlandırma şemasının benzersiz ve çakışmasız kalmasını garanti eder.
AD ortamında bir Forest, birden fazla Domain içerebilir. Her Domain, kendi içindeki nesneleri ve kaynakları yönetmek için belirli bir isim alanı kullanır. Domain Naming Master, bu Domain'lerin isim alanlarının benzersizliğini garanti altına alır. Yeni bir Domain eklenmek istendiğinde, bu işlem Domain Naming Master FSMO rolüne sahip Domain Controller tarafından kontrol edilir ve onaylanır. Böylece, aynı Forest içinde aynı isim alanına sahip birden fazla Domain oluşturulması engellenir.
Domain Naming Master rolü, yalnızca bir Forest içinde bulunur ve bu rolü barındıran Domain Controller, diğer tüm Domain Controller'lar arasında adlandırma işlemleriyle ilgili tek yetkili olarak kabul edilir. Eğer bu rolün barındırıldığı Domain Controller devre dışı kalırsa, yeni Domain oluşturma veya mevcut bir Domain'i kaldırma gibi işlemler gerçekleştirilemez. Ancak, bu durum, var olan Domain'lerin çalışmasını etkilemez; sadece yeni adlandırma işlemleri yapılamaz.
Bu rolün önemi, özellikle büyük ve karmaşık AD ortamlarında daha da belirginleşir. Domain Naming Master, Forest içindeki her Domain'in benzersiz bir isimle tanımlanmasını sağlar ve bu isimlerin çakışmasını önler. Bu, AD'nin bütünlüğünü ve tutarlılığını korumak için kritik bir işlevdir.
Domain Naming Master FSMO rolünün devredilmesi gerektiğinde, bu işlem dikkatle planlanmalı ve gerçekleştirilmelidir. Yanlış yapılandırmalar, AD ortamında ciddi sorunlara yol açabilir ve Forest'taki Domain'lerin isimlendirme bütünlüğünü tehlikeye atabilir. Bu nedenle, Domain Naming Master rolünün doğru bir şekilde yönetilmesi ve güvenliğinin sağlanması, AD ortamının uzun vadeli başarısı için vazgeçilmezdir.
Bu rol, Forest içerisinde tektir.
3- PDC Emulator
Active Directory ortamında, belirli kritik yönetim görevlerinin tek bir Domain Controller üzerinde toplanması gerekir. Bu görevlerden biri olan PDC Emulator FSMO rolü, bu sorumluluğu üstlenen Domain Controller'ın, organizasyon içinde merkezi bir otorite olarak hizmet vermesini sağlar. PDC Emulator FSMO rolünü üstlenen bir Domain Controller, diğer hiçbir FSMO rolünü barındırmasa bile, sistemde Primary Domain Controller (PDC) olarak görev yapar ve bu rol, birkaç kritik işlevin sorumluluğunu taşır.
PDC Emulator FSMO rolünü tutan bir Domain Controller, özellikle zaman senkronizasyonu, parola değişiklikleri ve Kerberos Authentication (kimlik doğrulama) süreçlerinde merkezi bir rol oynar. Tüm sistemin zaman senkronizasyonu, PDC Emulator FSMO rolünü üstlenen Domain Controller tarafından yönetilir, bu da sistem genelindeki tüm cihazların saatlerinin doğru ve uyumlu olmasını sağlar. Zaman senkronizasyonu, güvenlik açısından kritik olan zaman damgalı işlemler ve log kayıtlarının tutarlılığı için hayati öneme sahiptir.
Ayrıca, PDC Emulator, parola değişikliklerinin anında replikasyonunu (Urgent Replication) sağlayarak, kullanıcıların güncellenmiş şifrelerinin hızlı bir şekilde diğer Domain Controller'lar tarafından tanınmasını mümkün kılar. Bu işlev, kullanıcıların hesaplarının güvenliğini artırır ve sistemdeki kimlik doğrulama süreçlerinin tutarlılığını sağlar. Kerberos Authentication sürecinde de PDC Emulator, belirli durumlarda merkezi bir otorite olarak hareket eder, bu da kimlik doğrulamanın güvenli ve hızlı bir şekilde yapılmasını sağlar.
PDC Emulator FSMO Erişilemezse?
PDC Emulator FSMO rolünü tutan Domain Controller erişilemez hale geldiğinde, parola değişiklikleri, zaman senkronizasyonu ve Kerberos Authentication (kimlik doğrulama) süreçlerinde belirli aksaklıklar meydana gelir. Ancak, bu süreçlerin bir kısmı geçici çözümlerle sürdürülebilir.
1- Parola Değişiklikleri
PDC Emulator FSMO rolünü tutan Domain Controller, kullanıcıların parolalarını değiştirdiklerinde, bu değişikliklerin acil replikasyon (Urgent Replication) ile diğer Domain Controller'lara hemen yansıtılmasını sağlar. PDC erişilemez hale geldiğinde, bu acil replikasyon gerçekleşmez. Sonuç olarak, parola değişiklikleri hemen diğer Domain Controller'lara yayılmaz ve bu durum geçici bir süreyle kimlik doğrulama süreçlerinde tutarsızlıklara neden olabilir. Diğer DC'ler kullanıcıların eski parolalarını kabul etmeye devam edebilir ve bu da kullanıcıların geçici olarak yeni parolalarıyla oturum açamamalarına yol açabilir.
PDC Emulator FSMO rolü olmadan da parola değişikliği yapabilmenizin nedeni, her Domain Controller'ın kendi veritabanı olan NTDS.dit içinde kullanıcı hesapları ve şifre bilgilerini yerel olarak tutmasıdır. Bir kullanıcı parolasını değiştirdiğinde, bu değişiklik ilk olarak kullanıcıya hizmet veren DC tarafından işlenir ve hemen bu DC'nin veritabanına kaydedilir.
PDC Emulator rolü, bu parola değişikliğinin acil replikasyon (Urgent Replication) ile diğer DC'lere hemen yayılmasını sağlar. Ancak, PDC erişilemez olduğunda bile, parola değişikliği yerel DC üzerinde gerçekleştirilebilir. Parolanın tüm DC'ler arasında senkronize edilmesi biraz gecikebilir, ancak bu, parola değişikliğini engellemez. Bu yüzden, PDC olmadığında bile kullanıcılar parolalarını değiştirebilirler, sadece bu değişikliklerin diğer DC'ler tarafından tanınması biraz zaman alabilir.
2- Zaman Senkronizasyonu
PDC Emulator FSMO rolü, Active Directory ortamındaki zaman senkronizasyonundan sorumludur. PDC Emulator, orman içindeki diğer DC'lere zaman kaynağı olarak hizmet eder. PDC erişilemez hale geldiğinde, diğer DC'ler zaman senkronizasyonu için alternatif zaman kaynaklarına başvurur. Bu, genellikle harici bir zaman sunucusu (NTP) veya alternatif bir DC olabilir. Zaman senkronizasyonu geçici olarak etkilenebilir, ancak düzgün yapılandırılmış bir Network'te bu etki minimal olur ve sistem genelindeki zaman senkronizasyonu sürdürülebilir.
3- Kerberos Authentication
PDC Emulator FSMO rolü, Kerberos Authentication sürecinde belirli senaryolarda merkezi bir rol oynar, özellikle de kullanıcıların hesap kilitleme veya parolalarının doğrulanması gibi durumlarda. PDC Emulator erişilemez hale geldiğinde, Kerberos Authentication süreci devam eder, ancak hesap kilitleme gibi olayların doğrulanması gecikebilir veya hatalı olabilir. Diğer DC'ler, PDC ile iletişim kuramadan kendi lokal veritabanlarındaki bilgilere dayanarak kimlik doğrulama işlemlerini sürdürür, ancak bu süreçte bazı tutarsızlıklar ortaya çıkabilir.
NOT: PDC Emulator FSMO rolü, Group Policy değişikliklerinden doğrudan sorumlu değildir. Group Policy'ler, AD ortamında tüm Domain Controller'lar arasında senkronize edilir ve herhangi bir Domain Controller'da yapılan değişiklikler, normal AD replikasyon süreciyle diğer Domain Controller'lara yayılır. PDC Emulator'ün görevleri arasında Group Policy yönetimi bulunmaz; bu, Domain Controller'ların genel replikasyon işlevlerinin bir parçasıdır.
Bu rol, Domain bazlı olup, Forest ortamındaki tüm Domain'lerde bulunur.
4- RID Master
Active Directory Domain yapısı içerisindeki her bir obje, benzersiz bir kimlik numarasıyla tanımlanır. Bu benzersiz kimlik numaraları, Active Directory nesnesi oluşturulduğunda sistem tarafından otomatik olarak atanır ve bu numaralara Relative Identifier (RID) adı verilir. RID, nesnenin Domain içerisindeki benzersizliğini sağlayan bir bileşendir ve nesneye atanan Security Identifier (SID) numarasının bir parçası olarak kullanılır. Her Domain'in kendine ait sabit bir SID'si vardır, bu SID, Domain içerisindeki tüm nesnelerin kimliğini oluştururken temel alınır. RID ise, bu sabit SID'nin sonuna eklenen ve nesnenin Domain içinde benzersiz olmasını sağlayan numaradır.
Örneğin, bir Active Directory Domain'inde bir User nesesi oluşturulduğunda, bu User nesesine otomatik olarak bir SID atanır. Bu SID, iki ana bileşenden oluşur. Bunlar, Domain'in sabit SID'si (Domain SID) ve bu Domain içinde yalnızca o User nesesine atanmış olan benzersiz RID numarasıdır. Domain içerisindeki her nesnenin benzersiz olmasını sağlayan bu sistem, Active Directory'nin güvenli ve tutarlı bir kimlik yönetimi yapısına sahip olmasını mümkün kılar.
RID Master FSMO rolü, Domain içerisindeki her Domain Controller'a belirli bir miktarda RID havuzu tahsis etmekle görevlidir. Bu havuzlar, Domain Controller'ların yeni nesneler oluştururken kullanacakları RID numaralarını içerir. Domain Controller'lar, tahsis edilen bu havuzlardan yeni nesnelere RID ataması yapar. Ancak, bir Domain Controller'ın RID havuzu tükenirse, yeni bir RID havuzu almak için RID Master'a başvurması gerekir. Bu talep üzerine RID Master, ilgili Domain Controller'a yeni bir RID havuzu tahsis eder. Bu işlem, Domain içerisindeki SID'lerin benzersizliğini ve çakışma yaşanmamasını garanti altına alır.
RID Master rolü, sadece RID havuzlarının dağıtımından sorumlu olmakla kalmaz, aynı zamanda Domain'ler arası nesne taşımalarında da kritik bir görev üstlenir. Bir nesne, bir Domain'den başka bir Domain'e taşındığında, eski Domain’deki RID bileşeni geçersiz hale gelir ve yeni Domain'de bu nesneye yeni bir RID atanır. Bu süreç, RID Master tarafından yönetilir ve Domain'ler arası güvenli ve tutarlı bir kimlik yönetimi sağlanmış olur.
Bu rolün sorunsuz çalışmaması, Domain içerisinde ciddi operasyonel aksaklıklara neden olabilir. Örneğin, Domain Controller'lar yeni nesneler oluşturamaz hale gelebilir veya mevcut nesneler üzerinde gerekli işlemler yapılamayabilir. Bu da Domain içerisindeki tüm operasyonları durma noktasına getirebilir ve sistemin güvenliği açısından ciddi zafiyetlere yol açabilir. RID Master'ın sürekli erişilebilir ve işlevsel olması, Active Directory yapısının stabilitesi ve güvenliği için kritik öneme sahiptir.
RID Master FSMO rolü, Domain içerisindeki diğer tüm Domain Controller'larla uyumlu bir şekilde çalışmalı ve her zaman erişilebilir olmalıdır. Erişimde yaşanacak herhangi bir kesinti, Domain'deki kimlik yönetim süreçlerini olumsuz yönde etkileyebilir. Bu yüzden, bu rolü barındıran sunucunun performansı ve güvenliği, Active Directory'nin genel sağlığı açısından büyük bir öneme sahiptir.
Security Identifier (SID) Yapısı
Prefix |
Domain SID (Security Identifier) |
RID (Relative Identifier) |
S-1-5-21 |
2239823876-3844753369-1393557922 |
3618 |
» S-1-5-21: Bu bölüm, SID'nin standart bir ön eki olarak adlandırılabilir.
• S harfi, SID'nin bir Security Identifier olduğunu belirtir.
• 1 numarası, SID'nin versiyon numarasıdır ve Windows NT 3.1'den bu yana değişmeyen bir sabittir.
• 5 numarası, SID'nin NT tarafından atanmış bir SID olduğunu belirtir.
• 21 ise, NT tarafından atanmış bir ön ekin devamıdır.
» 2239823876-3844753369-1393557922: Bu bölüm, Domain'e özgü olan 32-Bit'lik kimlik numarasını ifade eder. Bu numara, her Domain'in kendine özgü benzersiz bir parçasıdır ve Domain içerisindeki tüm nesneler için sabittir. Domain kurulduğunda otomatik olarak oluşturulan bu numara, Domain'in güvenli kimlik yönetimini sağlar.
» 3618: Bu son kısım ise Relative Identifier (RID) olarak bilinir. RID, her Domain içindeki nesnelere benzersiz bir kimlik kazandırır. Domain içerisindeki her nesneye atanmış bir RID bulunur ve bu RID numarası Domain'in SID'si ile birleşerek o nesnenin tam SID'sini oluşturur. Örneğin, 3618 numaralı RID, Domain içerisindeki bir User nesnesine ait olabilir. Bu User nesnesine verilen 3618 numaralı RID, o kullanıcıya ait SID'nin bir parçası olarak kullanılır ve bu kullanıcı silinse bile 3618 numaralı RID başka bir nesneye verilemez! RID numaraları, Domain içindeki benzersizliği sağlamak adına bir kez kullanılır ve bu şekilde sistemin tutarlılığı korunur.
Active Directory içindeki nesnelerinin SID numaralarını ve dolayı ile RID numaralarını görebilmek için PowerShell üzerinde aşağıdaki cmdlet'i yazmanız yeterlidir. Bu cmdlet, Active Directory üzerindeki tüm nesnelerinin SID numaralarını listeleyecektir.
Get-ADUser -Filter * -Properties * | Select SamAccountName, ObjectSID |
Active Directory üzerinden, kullanıcısının özelliklerinden Attribute Editor tab'ı üzerinde objectSid bilgisini görüntülediğimde de aynı sonucu görebilmekteyim.
RID Master FSMO rolü, varsayılan olarak Domain yapısının ilk kurulduğu Primary Domain Controller üzerindedir. RID Master FSMO rolünü tutan Domain Controller, kendi üzerindeki RID havuzunda 1,073,741,823 (1 milyar 73 milyon 741 bin 823) adet RID numarası barındırır ki bu rakam, 2,147,483,647 (2 milyar 147 milyon 483 bin 647) üst sırınına kadar artırılabilmektedir.
Domain ya da Forest ortamındaki RID Master FSMO rolünü tutmayan diğer Domain Controller'lar kendilerine tahsis edilen RID havuzunda 500 adet RID numarası bulundurular ve bu havuzun %50'si tükendiğinde RID master FSMO rolünü tutan Domain Controller ile iletişime geçerek, RID havuzunun tekrar 500 seviyesine gelmesi için RID talebinde bulunurlar. Tüm bu işlemleri yerine getiren RID Master FSMO rolüdür.
RID Matser'ı barındıran Domain Controller'ın işlevsiz kalması ve yapınızdaki herhangi bir diğer Domain Controller'ın da barındırdığı bu sınırlı RID numarasının tükenmesi durumunda, RID numarasının tükendiği Domain Controller üzerinde yeni Active Directory nesneleri oluşturulamayacaktır ve the directory service has exhausted the pool of relative identifiers hatası oluşacaktır.
Bu rol, Domain bazlı olup, Forest ortamındaki tüm Domain'lerde bulunur.
5- Infrastructure Master
Infrastructure Master rolü, bir Active Directory (AD) Domain'inde önemli bir işleve sahiptir. Bu rol, Domain içindeki nesneler arasındaki referansları günceller. Özellikle, bir nesne başka bir Domain'deki bir nesneye referans verdiğinde, Infrastructure Master bu referansların doğru ve güncel olmasını sağlar. Örneğin, bir kullanıcı bir gruba eklendiğinde ve bu grup başka bir Domain'de olduğunda, Infrastructure Master bu üyeliğin doğru şekilde yansıtılmasını sağlar.
Senaryo
Domain-A'daki bir kullanıcı (User-A), Domain-B'deki bir gruba (Group-B) üye olsun. User-A'nın Distinguished Name (DN) bilgisi değiştiğinde, bu değişikliğin Domain-B'deki referanslarda güncellenmesi gerekir.
Adımlar
1- DN Değişikliği
» User-A'nın DN bilgisi değişti. Örneğin;
"CN=User-A,OU=OU-1,DC=Domain-A,DC=com" iken,
"CN=User-A,OU=OU-2,DC=Domain-A,DC=com" oldu.
2- Değişikliğin Algılanması
» Domain-A'daki Domain controller, User-A'nın DN değişikliğini algılar ve kaydeder.
3- Replikasyon Başlatma
» Domain-A'daki Domain controller, bu DN değişikliğini diğer Domain controller'lara ve Global Catalog (GC) sunucularına iletir.
4- Global Catalog'un Güncellenmesi
» GC, bu DN değişikliğini alır ve kendi veritabanında günceller. GC, tüm Domain'lerden gelen belirli özniteliklerin kısmi kopyalarını içerir.
5- Infrastructure Master'ın (IM) Rolü
» IM, bu DN değişikliğini fark eder ve referansları güncellemek için harekete geçer. » IM, User-A'nın yeni DN bilgilerini almak için GC'ye başvurur.
6- Referansların Güncellenmesi
» IM, GC'den aldığı yeni DN bilgilerini kullanarak, Domain-B'deki Group-B gibi referansları günceller.
» Böylece, Group-B'nin üye listesinde User-A'nın yeni DN bilgisi doğru şekilde yer alır.
Özet
1- Değişiklik Algılama: UserA'nın DN bilgisi değiştiğinde, bu değişiklik DomainA'daki Domain controller tarafından algılanır ve kaydedilir.
2- Replikasyon: Değişiklik, diğer Domain controller'lara ve GC sunucularına iletilir.
3- IM'in Güncelleme İşlemi: IM, bu değişikliği fark eder ve IM, GC'den güncel DN bilgilerini alır. Daha sonra IM, DomainB'deki referansları günceller, böylece UserA'nın yeni DN bilgisi doğru şekilde yansır.
Infrastructure Master (IM) ve Global Catalog (GC) İlişkisi
IM (Infrastructure Master) ve GC (Global Catalog) rollerinin aynı sunucuda olmaması, Microsoft'un Active Directory tasarımı ve yönetimi konusunda önerdiği bir Best Practice yaklaşımdır. Ancak bu öneri, belirli koşullar ve yapılandırmalar için geçerlidir. Microsoft’un bu öneriyi yapmasının nedeni, Active Directory ortamında veri tutarlılığını ve doğru referans yönetimini sağlamaktır.
IM ve GC Neden Aynı Sunucuda Olmamalı?
1. Veri Tutarlılığı Sorunları
» Durum: IM, Domain içindeki nesnelerin diğer Domain’lerdeki nesnelere verdiği referansları yönetir ve günceller. GC ise tüm forest’taki tüm Domain’lerin kısmi bir kopyasını tutar.
» Sorun: IM ve GC aynı sunucuda bulunduğunda, IM referans bilgilerini kendi sunucusundaki GC’den alır. Ancak, bu durumda IM, referans bilgilerini diğer Domain’lerdeki değişikliklerle karşılaştırmaz. Çünkü GC, bu bilgileri zaten içerir.
» Sonuç: IM, güncel olmayan bilgileri kullanarak referans güncellemelerini yapabilir. Bu da, referans verilen nesnelerin (örneğin, başka bir Domain’deki kullanıcılar veya gruplar) doğru şekilde güncellenmemesine ve veri tutarsızlıklarına yol açabilir.
2. GC’nin Tamamlayıcı Rolü
» Durum: GC, tüm forest’taki nesnelerin bir kopyasını tutar, ancak yalnızca kısmi bir replikasyon içerir (örneğin, yalnızca en sık kullanılan öznitelikler replike edilir).
» Sorun: IM, referans bilgilerini güncellerken, bu kısmi verilerle çalışır. Eğer IM ve GC aynı sunucuda olursa, IM’in referans güncellemeleri bu kısmi verilere dayanarak yapılır ve bu, eksik veya hatalı güncellemelerle sonuçlanabilir.
» Sonuç: IM’in aynı sunucuda çalıştığı GC’den aldığı bilgiler, her zaman en güncel olmayabilir. Bu da, diğer Domain’lerdeki nesnelerin doğru şekilde yönetilmesini engelleyebilir.
IM ve GC Neden Ayrı Sunucuda Olmalı?
1. Veri Tutarlılığını Sağlama
» Durum: IM, kendi Domain’inde yer alan nesnelerin diğer Domain’lerdeki referanslarını günceller ve yönetir.
» Fayda: IM'in cross-Domain referanslarını güncellerken her zaman GC'den bilgi alması, IM'in doğru ve güncel bilgilerle çalışmasını sağlar. GC, tüm Domain'lerdeki nesnelerin bir kopyasını tuttuğu için, IM bu bilgileri kullanarak referansların en güncel ve doğru şekilde güncellenmesini sağlar. Bu durum, veri tutarlılığını korur ve referans hatalarını önler.
» Sonuç: Bu yaklaşım, IM’in daha güncel ve doğru bilgilerle çalışmasını sağlar. Böylece, Cross-Domain referansları doğru şekilde güncellenir ve veri tutarlılığı korunur.
2. GC’nin Kapsamlı Verisi
» Durum: GC, tüm forest’taki Domain’ler hakkında kısmi veri replikasyonu yapar. Ancak bu veriler, tam ve güncel bilgiler içermeyebilir.
» Fayda: IM, GC’den bağımsız olarak çalıştığında, diğer Domain controller’lardan aldığı tam verilerle çalışır. Bu, IM’in Cross-Domain referanslarını doğru şekilde yönetmesini sağlar.
» Sonuç: IM’in, Domain’ler arası referans güncellemelerini daha doğru ve güvenilir bir şekilde yapması sağlanır.
3. Performans ve Yük Dağılımı
» Durum: IM ve GC, her biri kendi görevlerini yerine getirmek için belirli kaynaklara ihtiyaç duyar.
» Fayda: Bu rollerin farklı sunucularda olması, sunucu üzerindeki yükü dağıtır ve her iki rolün de performansını artırır.
» Sonuç: Sunucuların performansı ve işlevselliği artar, IM ve GC’nin görevleri daha verimli bir şekilde yerine getirilir.
Özet
» IM ve GC Aynı Sunucuda: IM, kendi sunucusundaki GC'den bilgileri alır. Bu GC, bilgilerinin güncel olup olmadığını anında kontrol edemez çünkü güncellemeler periyodik olarak gelir.
» IM ve GC Ayrı Sunucularda: IM, harici GC sunucularından bilgileri alır. Bu GC sunucuları, geniş bir replikasyon ağına sahip olduğundan, IM'in aldığı bilgilerin güncel olma olasılığı daha yüksektir.
Bu süreç, çapraz Domain referanslarının doğru ve güncel kalmasını sağlar. IM, referansları güncellerken GC'den aldığı bilgileri kullanır, böylece Active Directory'nin tutarlılığı korunur.
Bu rol, Domain bazlı olup, Forest ortamındaki tüm Domain'lerde bulunur.
Yukarıda bahsettiğim "Forest ortamındaki tüm Domain'lerde bulunur." ve "Forest bazında tektir." ifadlerimin altını doldurmam gerkirse örneğin, Forest yapınızda 3 ayrı Domain olduğunu, bunlardan 1 tanesinin Forest'ın ilk oluşturulduğu Parent Domain, diğer 2 tanesinin de Child Domain olduğunu varsayalım. İster Parent Domain, isterse de Child Domain olsun; Domain ortamının ilk kurulduğu ilk Server, Domain Controller görevindedir. Bu sebeple de aynı Forest içindeki farklı Domain'leri oluşturuan ilk Server'lar da kendi bulundukları Domain'ler içine Domain Controller görevindedir ancak buradaki FSMO rolleri noktasında bir ayrım söz konusudur.
Child Domain'ler, aynı Forest içindeki Parent Domain'e bağlıdırlar. Aynı Forest içindeki herhangi bir Domain'deki, herhangi bir Domain Controller'da FSMO rolleri sorgulama işlemi gerçekleştirdiğinizde çıkacak olan sonuçta, Schema Master ve Domain Naming Master FSMO rollerinin her zaman her ikisinin de Forest bazında tek olduğunu görürsünüz. Bahsettiğim örnek yapıdaki gibi bir yapıda aksi belirtilmedikçe, yani roller taşınmadıkça bu iki Forest bazlı FSMO rolü, Parent Domain'deki Domain Controller'da bulunacaktır.
Bu roller elbette ki Child Domain'lerdeki Domain Controller'dan herhangi bir tanesine de taşınabilir! Burada unutulmaması gereken tek şeyin, bu iki FSMO rolünün tüm Forest ortamında tek olduğudur ki zaten yukarıdaki şemaya baktığınızda, hem Parent Domain'deki Domain Controller'lardaki hem de Child Domain'deki Domain Controller'lardaki kalan 3 FMO rolünün, sadece ilgili Domain'e ait olarak tüm Domain Controller'larda bulunduğunu görürsünüz.
Daha önce yazmış olduğum fsmo rollerinin taşınması isimli makalemde FSMO rollerinin taşınması işlemlerini GUI üzerinden gerçekleştirdik. Bu makalemde artık FSMO rollerinden detaylıca bahsetmeyeceğim. Çünkü bu rollere detaylı bir şekilde FSMO rollerinin taşınması makalemde değindim. FSMO rollerinin taşınması makalemin bir nevi devamı niteliğinde olan bu makalemde; FSMO rollerinin grafiksel arayüzle taşınmasına alternatif olarak rollerin, ntdsutil komutu ile Command Promt (CMD) üzerinden taşınmasına değineceğim.
NTDSUTIL komutu
NTDSUTIL komutu, Active Directory Domain Services (AD DS) ve Active Directory Lightwetight Directory Services (AD LDS) için yönetim kolaylıkları sağlayan bir araçtır. NTDSUTIL, Windows Server 2008 ve Windows Server 2008 R2 sürümlerinde işletim sistemi kurulumuyla birlikte hazır olarak gelir fakat AD DS veya AD LDS rolleri kurulmuşsa kullanabilirsiniz. Bunun yanında Uzak Sunucu Yönetimi Araçlarının (Remote Server Administration Tool – RSAT) bir parçası olan AD DS Araçları yüklenmişse yine bu aracı kullanabilirsiniz. Şimdi ise sıra; direkt olarak rollerin ndtsutil komutu kullanılarak, CMD komut satırı üzerinden, daha önce SRV001 isimli Server'ımızdan SRV002 server'ımıza aktarmış olduğumuz rollerin, bu sefer tam tersi bir işlemle SRV002 isimli server'ımızdan, SRV001 isimli Domain Controller'ımıza ntdsutil komutu ile Transfer'i işlemine geldi.
netdom query fsmo komutu ile kontrol ettiğimde, FSMO rollerinin tamamının SRV002 Host Name'li Domain Controller üzerinde oluduğu görüyorum.
ntdsutil komutunu yazıyorum.
ntdsutil adımında, roles komutunu yazarak Enter'a basıyorum.
fsmo maintenance adımda, bağlantının oluşturulması için Connections komutunu yazarak, Enter'a basıyorum.
server connections adımında, FSMO rollerini aktarmak için FSMO rollerini barındıran Domain Controller erişilmez durumda oladığu için, ortamdaki herhangi bir Domain Controller'a bağlantı kurmamız gerekmektedir. Bunun için, Connect to Server SRV001 yazıp, Enter'a basıyorum. SRV001 Host Name'li Domain Controller, benim FSMO rollerini aktaracağım Domain Controller'dır.
Görüldüğü gibi, Connected to SRV001 using credentials of locally logged on user mesajı ile bağlantımızın gerçekleştiği bilgisini alıyoruz.
Yine server connections adımında iken Quit yazarak ya da q tuşuna basıp, fsmo maintenance adımına geri dönüyoruz.
Buraya kadar olan adımlarda, zorlamalı yöntemle FSMO rollerini aktaracağımızı Domain Controller'a bağlantı kurduk.
fsmo maintenance adımında iken "?" koyarak neler yapabileceğimize bir göz atalım. Bu noktada karşımıza "SEIZE" ve "TRANSFER" olmak üzere iki seçenek çıkıyor. FSMO rollerini barındıran Domain Controller'ın, DC Migration gibi önceden planlama yapılarak artık kullanılmayacağı durumlarda bir FSMO rollerinin başka bir Domain Conetoller'a aktarımı için TRANSFER metodunu kullanırız. FSMO rollerini üzerinde barındıran Domain Controller, herhangi bir sebeple erişilemez duruma gelmişse SEIZE medotunu kullanırız. Ben, Transfer komutu ile FSMO follerinin aktarım işlemini gerçekleştiriyor olacağım.
fsmo maintenance adımında iken, Transfer Schema Master komutu ile öncelikle Schema master FSMO rolünü Transfer ediyorum. Komutu yazarak Enter'a bastığımda, Transfer'i gerçekleştirmek isteyip istemediğim soruluyor. YES butonuna basarak Tansfer işlemini gerçekleştiriyorum.
Görüldüğü gibi, Transfer işlemim başarılı bir şekilde gerçekleşti. Geri kalan diğer 4 FSMO rolünü de aynı şekilde Transfer edeceğiz.
SRV001 Host Name'li Domain Controller'ım üzerinde netdom query fsmo komutunu kullanarak tüm FSMO rollerininin başarılı bir şekilde Transfer edildiğini görüyorum.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.