barisnetblog.space — FSMO Rolleri: Görüntüleme, Taşıma ve Seize
Windows Server 21 Ekim 2026 5 dk okuma 4 görüntülenme

FSMO Rolleri: Görüntüleme, Taşıma ve Seize

Active Directory'deki beş FSMO rolünün görevlerini öğreniyor, rolleri netdom ve PowerShell ile görüntülüyor, DC01'den DC02'ye taşıyor ve DC çöktüğünde seize işlemini uyguluyoruz.

Önceki yazıda DC02'yi firma.local domain'ine ikinci domain controller olarak eklemiş ve replikasyonu doğrulamıştık. Active Directory çoklu yöneticili (multi-master) bir yapıdadır; yani bir kullanıcıyı DC01'de de DC02'de de oluşturabilirsiniz. Ancak bazı işlemler çakışmaya tahammül edemez ve yalnızca tek bir DC tarafından yapılmalıdır. Bu görevlere FSMO (Flexible Single Master Operations) rolleri denir. Bu yazıda rolleri tanıyacak, görüntüleyecek, taşıyacak ve en kötü senaryoda seize edeceğiz.

Beş FSMO Rolü

Rollerin ikisi forest genelinde, üçü her domain için birer tanedir:

  • Schema Master (forest): AD şemasında değişiklik yapılabilen tek DC'dir. Exchange kurulumu veya forest seviyesi yükseltme gibi şema genişletmelerinde gerekir.
  • Domain Naming Master (forest): Forest'a domain eklenmesini ve kaldırılmasını yönetir.
  • RID Master (domain): Her DC'ye nesne oluştururken kullanacağı 500'lük RID (Relative ID) havuzlarını dağıtır. Erişilemezse DC'ler havuzlarını bitirdiğinde yeni kullanıcı ve grup oluşturulamaz.
  • PDC Emulator (domain): En kritik roldür. Parola değişikliklerini öncelikli alır, hesap kilitleme işlemlerini yönetir, domain'in zaman kaynağıdır ve GPO düzenlemelerinde varsayılan olarak kullanılır.
  • Infrastructure Master (domain): Başka domain'lerdeki nesnelere yapılan referansları günceller. Tek domain'li ortamlarda veya tüm DC'ler Global Catalog ise pratikte etkisi yoktur.

Tek domain'li küçük bir ortamda beş rolün de aynı DC'de durması normaldir ve önerilen düzendir. Asıl mesele, rollerin hangi DC'de olduğunu bilmek ve DC'yi kapatmadan önce rolleri taşımaktır.

FSMO Rollerini Görüntülemek

En hızlı yöntem netdom komutudur:

Komut İstemi
netdom query fsmo

PowerShell ile forest ve domain rollerini ayrı ayrı görebilirsiniz:

PowerShell
Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster
Get-ADDomain | Select-Object PDCEmulator, RIDMaster, InfrastructureMaster

Bir DC'nin üzerindeki rolleri tek satırda görmek için:

PowerShell
Get-ADDomainController -Filter * | Select-Object Name, OperationMasterRoles

Kurulumdan sonra beş rolün de DC01.firma.local üzerinde olduğunu görmelisiniz, çünkü forest'taki ilk DC tüm rolleri üstlenir.

Rolleri Taşımak (Transfer)

Transfer, rolü elinde tutan DC çalışır durumdayken yapılan kontrollü devirdir. İki DC de çevrimiçidir, rol kayıpsız ve güvenle aktarılır. DC01'i bakıma alacağınızı ya da emekliye ayıracağınızı düşünelim. Önce replikasyonun sağlıklı olduğundan emin olun:

Komut İstemi
repadmin /replsummary

Ardından beş rolü DC02'ye taşıyın. Schema Master için Schema Admins, Domain Naming Master için Enterprise Admins üyeliği gerekir:

PowerShell
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" `
    -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster

Komut her rol için onay ister. Onay istemeden çalıştırmak için -Confirm:$false ekleyebilirsiniz. Rolleri sayısal değerleriyle de belirtebilirsiniz: 0 PDCEmulator, 1 RIDMaster, 2 InfrastructureMaster, 3 SchemaMaster, 4 DomainNamingMaster.

PowerShell
# Yalnizca PDC Emulator ve RID Master'i tasimak
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" -OperationMasterRole 0, 1 -Confirm:$false

Taşıma sonrası netdom query fsmo ile sonucu doğrulayın.

PDC Emulator ve Zaman Ayarı

PDC Emulator'ı taşıdığınızda zaman kaynağını da taşımanız gerekir. Domain'deki tüm bilgisayarlar zamanı hiyerarşi içinde alır, en üstte PDC Emulator vardır ve o da dış bir NTP sunucusuna bakmalıdır. Yeni PDC Emulator olan DC02'de:

Komut İstemi
w32tm /config /manualpeerlist:"0.tr.pool.ntp.org 1.tr.pool.ntp.org" /syncfromflags:manual /reliable:yes /update
net stop w32time && net start w32time
w32tm /resync
w32tm /query /status

Artık PDC olmayan DC01'i domain hiyerarşisinden zaman alacak şekilde geri döndürün:

Komut İstemi
w32tm /config /syncfromflags:domhier /reliable:no /update
net stop w32time && net start w32time
w32tm /query /source

DC01'in kaynağı olarak DC02 görünmelidir. Bu adımı atlarsanız iki DC birbirinden farklı zaman kaynaklarına bakar ve ilerleyen günlerde Kerberos hataları başlar.

Rolleri Seize Etmek

Seize, rolü elinde tutan DC kalıcı olarak kaybedildiğinde, örneğin donanımı tamamen bozulduğunda yapılan zorla devralmadır. Eski DC'nin onayı alınmaz; yeni DC rolü kendisine yazar.

Seize kararını vermeden önce şunları bilin:

  • Geri dönüş yoktur: Rolü seize edilen DC bir daha asla ağa bağlanmamalıdır. Özellikle eski RID Master geri gelirse aynı RID'lerin iki kez dağıtılması ve SID çakışması yaşanabilir.
  • Acele etmeyin: PDC Emulator dışındaki rollerin birkaç saat erişilemez olması çoğu zaman fark edilmez. DC'nin onarılabileceği ihtimali varsa bekleyin.
  • Son değişiklikler kaybolabilir: Çöken DC'de henüz replike edilmemiş değişiklikler kaybolur.

PowerShell ile seize işlemi, aynı komuta -Force eklenerek yapılır. Komut önce transfer dener, eski DC'ye ulaşamazsa rolü seize eder:

PowerShell
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" `
    -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster `
    -Force -Confirm:$false

Aynı işlemi klasik ntdsutil ile de yapabilirsiniz. DC02 üzerinde:

Komut İstemi
ntdsutil
roles
connections
connect to server DC02
quit
seize schema master
seize naming master
seize rid master
seize pdc
seize infrastructure master
quit
quit

Her seize komutu için bir onay penceresi açılır. Kontrollü taşıma için aynı menüde seize yerine transfer kullanılır.

Seize işleminden sonra çöken DC'nin AD'deki kayıtlarını, yani metadata'sını temizlemeniz gerekir. Bu konuyu serinin son yazısında ayrıntılı olarak ele alacağız.

Rollerin Sağlığını Kontrol Etmek

Rollerin bilindiğini ve erişilebilir olduğunu doğrulamak için:

Komut İstemi
dcdiag /test:knowsofroleholders /v
dcdiag /test:fsmocheck
dcdiag /test:ridmanager /v

ridmanager testi, mevcut RID havuzunu ve kalan RID miktarını gösterir.

Rolleri Nereye Yerleştirmeli?

Küçük ve orta ölçekli ortamlarda en basit ve önerilen yaklaşım, beş rolün tamamını tek bir güçlü ve iyi izlenen DC'de tutmaktır. Rollerin hepsi aynı yerde olduğunda hangi DC'nin kritik olduğunu herkes bilir, bakım planlaması kolaylaşır ve sorun giderme sırasında "PDC hangisiydi?" sorusu ortadan kalkar.

Büyük ortamlarda ise şu ayrımları düşünebilirsiniz:

  • PDC Emulator: En çok yük alan roldür. Kullanıcıların yoğun olduğu merkezi site'ta, en iyi donanıma sahip DC'de tutun.
  • RID Master: PDC Emulator ile aynı DC'de durması önerilir; ikisi de domain seviyesinde sık kullanılır.
  • Schema ve Domain Naming Master: Nadiren kullanılır. Forest root domain'deki bir DC'de, birlikte tutulabilir.
  • RODC'ler: Salt okunur DC'ler hiçbir FSMO rolünü üstlenemez.

Hangi düzeni seçerseniz seçin, rollerin yerini ve taşıma tarihlerini dokümante edin. Bir felaket anında bu bilgiyi aramak zorunda kalmak istemezsiniz.

Sık Karşılaşılan Hatalar

  • DC'yi kapatmadan önce rolleri taşımamak: Rolleri, DC'yi kaldırmadan önce Move-ADDirectoryServerOperationMasterRole ile kontrollü olarak taşıyın. Sunucuyu demote etmeden doğrudan kapatıp silmek seize gerektirir.
  • Seize edilen DC'yi geri açmak: Ciddi tutarsızlıklara yol açar. Eski DC'yi diskini sıfırlamadan ağa bağlamayın.
  • PDC taşındıktan sonra zamanı ayarlamamak: Saat kaymaları ve oturum açma hataları ortaya çıkar. w32tm /query /source ile her DC'yi kontrol edin.
  • "Access is denied" hatası: Schema Master için Schema Admins, Domain Naming Master için Enterprise Admins üyeliği gerekir.
  • Replikasyon hatası varken taşıma yapmak: Önce repadmin /replsummary temiz olmalıdır, aksi halde yeni rol sahibinin verisi eksik kalır.
  • Infrastructure Master ile Global Catalog'u çok domain'li yapıda aynı DC'de tutmak: Tüm DC'ler GC değilse referans güncellemeleri yapılmaz. AD Recycle Bin açıksa her DC referansları kendisi güncellediği için bu kısıt ortadan kalkar.

Bir sonraki yazıda AD Sites and Services ile site, subnet ve site link yapılandırmasını yapacağız.

Okuma görünümü 4 görüntülenme