Fırat Boyan 25.11.2017 4

Windows Server 2012 R2'den, Windows Server 2016'ya Domain Controller Migration

Windows Server 2012 R2'den Windows Server 2016'ya geçiş, yalnızca yeni bir işletim sistemine yükseltme süreci değildir. Mevcut altyapının detaylı bir analizi, gereksinimlerin netleştirilmesi ve herhangi bir kesinti yaşanmadan geçiş yapılabilmesi için dikkatlice planlanması gereken bir dönüşümdür. Bu süreçte, Active Directory'nin replikasyon durumu, DNS servislerinin doğruluğu, DHCP yapılandırmalarının sürekliliği ve Group Policy nesnelerinin taşınabilirliği gibi birçok kritik bileşenin detaylıca gözden geçirilmesi gerekir.

Güncellenmiş donanım desteği, gelişmiş güvenlik özellikleri ve daha verimli kaynak yönetimi sunan Windows Server 2016, Microsoft Hyper-V ve Storage Spaces Direct gibi bileşenlerle sanallaştırma ve depolama ortamlarında büyük yenilikler getirir. Ancak, var olan yapıyı bu yeni sürüme taşımanın başarıyla tamamlanabilmesi için her adımın özenle ele alınması gerekir. Migration işlemi sırasında, Server Role ve Feature'ların yeni sürümde nasıl çalışacağını anlamak ve geçişin ardından herhangi bir uyumluluk sorunu yaşanmaması için gerekli testlerin yapılması büyük önem taşır.

Upgrade ya da Clean Install tercihi yapılırken, mevcut uygulamaların ve servislerin yeni sürümle tam uyumlu olup olmadığına dikkat edilmelidir. In-place upgrade seçeneği, Windows Server 2012 R2’den doğrudan Windows Server 2016’ya yükseltmeye izin verirken, daha eski versiyonlardan doğrudan geçiş mümkün değildir. Üstelik, her ne kadar teorik olarak desteklense de, uzun vadede stabilite açısından temiz kurulum yapıp mevcut servisleri ve verileri taşımak daha güvenli bir yaklaşımdır. Çünkü eski yapıdan devralınan kalıntılar ve hatalar, ilerleyen dönemlerde performans ve güvenlik sorunlarına yol açabilir.

Active Directory Federation Services, yeni versiyonla birlikte daha gelişmiş güvenlik protokolleri sunarken; Credential Guard ve Remote Credential Guard gibi ek önlemler, Kimlik Yönetimi tarafında daha sağlam bir güvenlik katmanı oluşturur. Windows Server 2016’nın getirdiği Just Enough Administration ve Just-In-Time Administration gibi yetkilendirme mekanizmaları ise, saldırı yüzeyini minimize etmek için kritik öneme sahiptir. Bu nedenle, geçiş sürecinde mevcut güvenlik politikalarının gözden geçirilmesi, yeni mimari ile entegre edilmesi ve gerekli iyileştirmelerin yapılması gerekmektedir.

Depolama tarafında ise Storage Replica ve ReFS gibi yenilikler, veri güvenliği ve süreklilik açısından ciddi avantajlar sunar. Eğer Windows Server 2012 R2 ortamında Storage Spaces gibi teknolojiler kullanılıyorsa, geçiş öncesinde yapılandırmanın tam uyumlu olduğundan emin olunmalıdır. Aynı şekilde, Failover Cluster’ların Windows Server 2016’da farklı bir yönetim modeli sunduğu unutulmamalı, bu değişikliklerin Cluster ortamlarına nasıl yansıyacağı detaylı bir şekilde analiz edilmelidir.

Geçiş işlemi planlanırken, mevcut donanım ve sürücülerle ilgili uyumluluk testleri de atlanmamalıdır. Windows Server 2016, bazı eski nesil donanımlarla tam uyumlu olmayabilir ve bu durum beklenmedik performans sorunlarına yol açabilir. Firmware güncellemeleri, BIOS ve Driver versiyonları gözden geçirilmeli ve yeni sürüme tam uyumlu bileşenlerle ilerlenmelidir. Ayrıca, geçiş sürecinde rollback senaryolarının da oluşturulması, herhangi bir başarısızlık durumunda hızlı geri dönüş sağlanabilmesi açısından kritik bir adımdır.

Windows Server 2016’nın yönetim tarafında sunduğu PowerShell 5.1 ile gelen genişletilmiş otomasyon kabiliyetleri, Migration süreçlerinde büyük kolaylık sağlar. Mevcut yapıdaki servislerin ve ayarların PowerShell ile yedeklenmesi ve yeni ortama taşınması, manuel işlem gereksinimini minimuma indirerek hata oranını düşürür. Özellikle, Configuration Management sistemleriyle entegre edilen PowerShell Desired State Configuration, Migration sonrası sistemlerin tutarlı ve standart hale getirilmesini sağlayan en güçlü araçlardan biri haline gelmiştir.

Son aşamada, Windows Server 2016'ya geçişin yalnızca bir yükseltme işlemi değil, aynı zamanda daha güçlü bir altyapı oluşturma fırsatı sunduğu unutulmamalıdır. Modern sistem yönetimi yaklaşımı, güvenlik ilkeleri ve performans gereksinimlerini göz önünde bulundurarak, her adımın dikkatlice planlanması gerekir. Geçiş tamamlandıktan sonra detaylı testler yapılarak stabilite sağlanmalı, izleme ve loglama mekanizmaları optimize edilerek uzun vadeli sürdürülebilirlik garanti altına alınmalıdır.

Senaryomuzda, ortamımızdaki Server bilgisayarın işletim sistemleri Windows Server 2012 R2'dir. Ortamımda, Migration işlemi için kullanacağım Windows Server 2012 R2 işletim sistemli bir Primary Domain Controller bulunmaktadır. Bu Windows Server 2012 R2 işletim sistemli Primary Domain Controller'ımı, Windows Server 2016 İşletim sistemli bir Domain Controller'a taşıyacağım. Burada amacım özetle, işletim sistemi Windows Server 2012 R2 olan Primary Domain Controller'ımı, Windows Server 2016 işletim sistemli bir Domain Controller yapmak olacaktır.

Kaynak ve Hedef Server Yapılandırmaları

Bu çalışma kapsamında migrasyon ve yükseltme işlemlerine esas teşkil eden Kaynak Server ve Hedef Server sistemlerine ait Domain, Hostname, IP Address, DNS, FQDN, Operating System, Server Role, Forest Functional Level ve Domain Functional Level bilgileri aşağıda detaylı olarak belirtilmiştir.

Kaynak ortamda yer alan Primary Domain Controller rolündeki sistem, mevcut Forest Functional Level ve Domain Functional Level yapısının temelini oluşturmakta; hedef ortamda konumlandırılan sistem ise Additional Domain Controller olarak yapıya dahil edilerek replikasyon, kimlik doğrulama ve yüksek erişilebilirlik senaryolarını destekleyecek şekilde yapılandırılmıştır. Bu yapı, Domain Architecture’ın sürekliliğini ve Replication Topology’nin sağlıklı çalışmasını garanti altına almak üzere tasarlanmıştır.

Kaynak Ortam

Domain firatboyan.com
Hostname SRV001A
IP 10.10.10.100
DNS 10.10.10.100
FQDN SRV001A.firatboyan.local
İşletim Sistemi Windows Server 2012 R2
Görev Primary Domain Controller
Forest Functional Level Windows Server 2012 R2
Domain Functional Level Windows Server 2012 R2

Hedef Ortam

Domain firatboyan.com
Hostname SRV001B
IP 10.10.10.200
1. DNS 10.10.10.200
2. DNS 10.10.10.100
FQDN SRV001B.firatboyan.local
İşletim Sistemi Windows Server 2016
Görev Additional Domain Controller
Forest Functional Level Windows Server 2012 R2
Domain Functional Level Windows Server 2012 R2
Migration yapılacak hedef Server'a Active Directory Domain Services rolünü kurup, Additional Domain Controller olarak yapılandırmadan, Migration işlemini gerçekleştiremeyiz ancak ben, makalemin ana temasından sapmamak adına lab ortamım için, makalemi yazmadan önce, Windows Server 2016 işletim sistemli Server'ımı Member Server yaparak üzerinde Active Directory Domain Services rolünü kurup, Additional Domain Controller kurulum işlemini tamamladım.

Sizin kendi sistemlerinizde Migration Yapılacak Windows Server 2012 R2 işletim sistemli kaynak Server'ın Primary Domain Controller olarak çalışıyor, Migration Yapılacak Windows Server 2016 işletim sistemli hedef Server'ın da Member Server yapıldıktan sonra, Additional Domain Controller olarak hayata geçtiğini varsayarak Windows Server 2012 R2'den Windows Server 2016'ya Migration işlemlerime devam ediyorum.

Domain Controller’ların Active Directory Üzerindeki Durumlarının İncelenmesi

Mevcut senaryoda, Windows Server 2012 R2 işletim sistemine sahip olan kaynak sunucunun Primary Domain Controller (PDC) olarak görev yaptığı, Windows Server 2016 işletim sistemine sahip olan hedef sunucunun ise önce Member Server olarak etki alanına dahil edilip ardından Additional Domain Controller olarak yapılandırıldığı bir Active Directory migrasyon süreci temel alınmıştır.

Bu yapılandırma sonrasında, her iki Domain Controller sunucunun Active Directory üzerindeki konumsal ve işlevsel durumları doğrulanmıştır.

Windows Server 2012 R2 Üzerindeki PDC (SRV001A) Durumu

Windows Server 2012 R2 işletim sistemi üzerinde çalışan SRV001A Hostname'li sunucunun, Active Directory Users and Computers konsolu üzerinden yapılan incelemede yalnızca Domain Controllers organizasyon birimi (OU) altında yer aldığı görülmüştür. Bu durum, sunucunun etki alanı içerisinde yalnızca Domain Controller rolüne sahip olduğunu ve standart üye sunucu veya istemci nesneleri ile karışmadığını göstermektedir.

Komut satırı üzerinden yapılan Hostname ve nltest /dsgetdc:firatboyan.com sorguları sonucunda, sunucunun aktif olarak etki alanına hizmet verdiği, DNS ve kimlik doğrulama süreçlerinde Domain Controller olarak çalıştığı doğrulanmıştır. Ayrıca sunucunun Global Catalog (GC) rolünü de üstlendiği tespit edilmiştir.

migration

Windows Server 2016 Üzerindeki ADC (SRV001B) Durumu

Windows Server 2016 işletim sistemi üzerinde çalışan SRV001B Hostname'lisunucu, Member Server rolünden Additional Domain Controller rolüne yükseltildikten sonra yapılan kontrollerde, Active Directory üzerinde yine yalnızca Domain Controllers OU altında konumlandığı görülmüştür.

Hostname ve nltest komut çıktıları incelendiğinde, SRV001B sunucusunun etki alanına başarıyla dahil olduğu, aktif olarak Domain Controller olarak çalıştığı ve Default-First-Site-Name site yapısı altında replikasyon sürecine dahil olduğu doğrulanmıştır. Ayrıca bu sunucunun da Global Catalog (GC) rolüne sahip olduğu tespit edilmiştir.

migration

Replikasyon Durumlarının İzlenmesi

Active Directory ortamında birden fazla Domain Controller bulunduğunda, etki alanına ait nesnelerin ve yapılandırma bilgilerinin tutarlılığının korunması için replikasyon süreçlerinin sağlıklı şekilde çalıştığının düzenli olarak doğrulanması gerekmektedir. Bu doğrulama işlemi için kullanılan repadmin /replsum komutu, tüm Domain Controller’lar arasındaki replikasyon durumunu özetleyerek olası senkronizasyon hatalarının hızlı şekilde tespit edilmesini sağlar.

Yapılan incelemede, komut çıktısında SRV001A ve SRV001B isimli Domain Controller’ların hem Source DSA hem de Destination DSA olarak başarılı şekilde görev yaptığı görülmektedir. Tüm replikasyon denemelerinin 0 hata ile tamamlandığı, largest delta değerlerinin kabul edilebilir süreler içerisinde olduğu ve herhangi bir senkronizasyon problemi yaşanmadığı doğrulanmıştır.

Elde edilen bu sonuçlar, Active Directory Replication mekanizmasının sağlıklı çalıştığını, Domain Controller’lar arasındaki eşitlemenin sorunsuz şekilde gerçekleştirildiğini ve etki alanı bütünlüğünün korunduğunu göstermektedir.

migration

migration

Son olarak, dcdiag komutu ile Migration Yapılacak Windows Server 2016 işletim sistemli hedef Additional Domain Controller'ımızın sağlık kontrolünü  yapıyoruz. Komut ekranında Domain Controller'ımızın tüm testleri geçtiğini görüntülüyoruz.

migration

migration

migration

Artık Windows Server 2012 R2'den, Windows Server 2016'ya Migration için her şey hazır durumda. Migration için FSMO (Flexible Single Master Operations) rollerinin transfer işlemlerini gerçekleştireceğiz. Bunun için netdom query fsmo komutu ile FSMO Rollerinin Server'da olduğunu kontrol ediyorum.

migration

FRMO rollerinin, Migration Yapılacak Windows Server 2012 R2 işletim sistemli SRV001A Hostname'li kaynak Server'ın üzerinde olduğunu görüyorum. Yapacağımız işlem; rollerimizi Migration yapılacak Windows Server 2016 işletim sistemli hedef Server'a taşımak olacak.

FSMO Rollerinin İncelenmesi

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 toplam 5 ana bileşenden oluşur. Bunlar; 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.

Schema FSMO

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

AD USer SID

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.

AD USer SID

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.

Available RID Pool for the Domain

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, aşağıdaki gibi olacaktır.

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.

FSMO Rolleri

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.

FSMO Rollerinin Transferi

FSMO (Flexible Single Master Operation) rollerinin transferi işlemine başlamadan önce bilmenizde fayda olduğunu düşündüğüm nokta; FSMO rollerinin transferi, başka bir ifade ile başka bir Domain Controller'a ya da birden çok Domain Controller'a taşıma işlemi, sadece bu makalenin konusu olan Migration işlemi için değil, aynı zamanda Load Balancing (yük dengeleme) amacı ile de kullanılabilmektedir. Yukarıda belirttiğimiz 5 rolün, tek bir Domain Controller'de barındırılması gibi zorunluluğun olmadığıdır.

Ben, bu makalemde tüm FSMO (Flexible Single Master Operation) rollerini, rollerin barındırıldığı Windows Server 2008 R2 işletim sistemli Domain Controller'dan, Domain ortamına sonradan eklediğim Windows Server 2022 işletim sistemli Additional Domain Controller'a taşıyarak hem PDC Emulator'ın taşınması ile bu Additional Domain Controller'ı Primary Domain Controller'a dönüştürmüş olacağım ki bu durumda Windows Server 2008 işletim sistemli eski Primary Domain Controller artık Additional Domain Controller olmuş olacak hem de PDC Emulator'dan kalan tüm rollerin taşınması ile tüm Forest ortamından Windows Server 2008 işletim sistemli Domain Controller'ları Demote edebilir, yani ortamdan kaldırabilir duruma gelebileceğim. Bu makalemde FSMO (Flexible Single Master Operation) Rollerinin Transferi işlemlerini GUI (Graphical User Interface) üzeinden yapacağım. Aynı işlemleri, alternatif olarak CMD (Command Promt) ya da tek seferde PowerShell ile de gerçekleştirebilirsiniz.

NOT 3: PDC Emulator, RID Master ve Infrastructure Master rolleri, yapınızdaki diğer Domain Controller'lara taşınarak yük dengelemesi sağlanabilir.

RID Master, PDC Emulator ve Infrastructure Master rollerin Transferi

Öncelikle RID Master, PDC Emulator ve Infrastructure Master rollerini taşıyacağız. Rollerin taşınması işlemine başlamadan önce, rolleri aktaracağımız Windows Server 2016 işletim sistemli, SRV001B Hostname'li hedef Server'a bağlantı kurmamız gerekmektedir. Bunun için Active Directory Migration Yapılacak Windows Server 2012 R2 işletim sistemli, SRV001A Hostname'li kaynak Server (Primary Domain Controller) üzerinde sağ tıklayarak Change Domain Controller... seçiyorum.

migration

Açılan ekranda This Domain Controller or AD LDS instance altında rolleri taşımak istediğimiz Server seçilerek OK butonu tıklanır. Bu işlem gerçekleştirilmezse, rollerin aktarımı sırasında Change... butonuna tıkladığımızda hata verecektir.

migration

RID Master, PDC Emulator ve Infrastructure Master rolleri, Active Directory Users and Computers üzerinden taşınmaktadır. Bu işlemler için rolleri taşıyacağımız Server'da Active Directory Users and Computers'ı açıp Domain üzerinde sağ tıklayarak Operations Masters seçilir ve tekrar her bir rol için ayrı ayrı Change Domain Controller... seçeneği ile, seçim yapmanıza da gerek yoktur.

migration

RID Master FSMO Rolünün Transferi

Açılan ekranda RID Master rolünü taşınmak için Change... butonu göreceksiniz. Burada yukarıda bulunan DC adı mevcut rolün sahibi, altta bulunan kısım ise transfer edilecek yeri göstermektedir. Burada gördüğünüz bilgiler doğru ise Change... butonuna basınız.

migration

Rolü taşımak isteyip istemediğinizi soran soruya YES butonuna basarak onaylıyoruz.

migration

Eğer sunucular arasında iletişimde bir sorun yoksa aşağıdaki gibi başarılı bir şekilde rolün taşınması gerçekleşecektir.

migration

PDC Emulator FSMO Rolünün Transferi

Bu işlemi de RID Master FSMO rolünün taşınması işlemindeki gibi gerçekleştirdim.

migration

Infrastructure Master FSMO Rolünün Taşınması

Bu işlemi de RID Master FSMO rolünün taşınması işlemindeki gibi gerçekleştirdim.

migration

RID Master, PDC Emulator ve Infrastructure Master rollerinin taşınması işlemini tamamladıktan sonra rollerin Migration yapacağımız Windows Server 2016 işletim sistemli, SRV001B Hostname'li hedef Server'a taşındığını görmek için netdom query fsmo komutunu çalıştıyorum.

migration

Domain Naming Master ve Schema Master Rollerinin Transferi

Şimdi sıra, Domain Naming Master ve Schema Master Rollerinin aktarımına geldi. Domain Naming Master rol transfer işlemi, Active Directory Domains and Trusts üzerinden gerçekleşmektedir. En yukarıdaki Active Directory Domains and Trusts üzerinde sağ tıklıyor, Operations Masters seçeneği seçilir.

migration

Açılan ekranda aynı taşığımız diğer 3 rol gibi, yukarıda bulunan ana rolü taşıyan DC, aşağısındaki ise, taşınacak DC yer almaktadır. "Change..." Butonuna basıyorum.

migration

Rolü taşımak isteyip istemediğinizi soran soruya YES butonuna basarak onaylıyoruz.

migration

migration

C) Şimdi sıra geldi Schma Master Rolünün taşınması işlemine.

Schema Master, default olarak görülmeyen tek roldür. Örn. MMC Snap-in'de görülmez. Schema'ya erişimi aktif etmek için, Windows+R ile çalıştırdığımız RUN(Çalıştır) penceresinde regsvr32 schmmgmt.dll komutu yazılıp, dll register edilmiş olunuyor.

migration

schmmgmt.dll başarılı bir şekilde yüklendi.

migration

Şimdi yine Windows + R tuşuna basarak RUN (Çalıştır) ekranını açıyoruz. Açılan ekranda MMC yazıp enter tuşuna basıyoruz.

migration

Console ekranı açılacaktır. Bu ekranda File menüsü altında Add/remove Snap-in... seçilir.

migration

Açılan ekranda sol tarafta Active Directory Schema kısmını tıklayınız ve Add > butonuna basarak sağ tarafa alınır ve OK butonuna tıklanarak Add/remove Snap-in ekranı kapatılır.

migration

migration

En yukarıdaki Active Directory Schema üzerinde sağ tıklanarak Change Active Directory Domain Controller... seçeneği seçilerek, Migration yapacağımız Windows Server 2016 işletim sistemli, SRV001B Hostname'li hedef Server seçilir ve bağlantı kurulur.

migration

migration

Tekrar en yukarıdaki Active Directory Schema üzerinde sağ tıklanarak Operations Master... seçeneği seçilerek, Change Schema Master penceresinde Migration yapacağımız Windows Server 2016 işletim sistemli, SRV001B Hostname'li hedef Server olduğundan emin olduktan sonra Change butonuna basılarak transfer işlemi gerçekleştirilmiş olur.

migration

migration

Açılan ekranda Change butonuna basılır ve rolü taşımak istiyor musunuz sorusuna YES butonuna tıklayarak devam edilir.

migration

Rol başarılı bir şekilde taşınmıştır.

migration

Rolleri aktardığımız Server olan SRV001A ve SRV001B üzerinde CMD ekranından netdom query fsmo komutu ile rolleri kontrol ettiğimizde, rollerinin tamamı, istediğimiz Server üzerine başarılı bir şekilde transfer edilmiştir. Migration işlemi yaptığımız Windows Server 2012 R2 işletim sistemli, SRV001A Hostname'li kaynak DC'nin durumu.

migration

Migration yaptığımız Windows Server 2016 işletim sistemli, SRV001B Hostname'li hedef DC'nin durumu.

migration

Migration Sonrası DFL ve FFL Durumu

Tüm işlemlerimizi tamamladıktan sonra Windows Server 2016 işletim sistemli Server'ımızı Primary Domain Controller olarak tanımladık. Forest'ımızdaki en güncel Windows Server işletim sistemi, Windows Server 2016'dır, ancak fonksiyonlellik seviyesi olarak değil. Domain Controller Migration işlemi gerçekleştirmeden önce Windows Server 2012 R2 işletim sistemi üzerinde çalışan  Primary Domain Controller'ımızın Forest Functional Level'ı, kendisinin alabileceği en yünsek FFL değeri olarak  Windows Server 2012 R2, Domain Functional Level'ı ise, yine kendisinin alabileği en yüksek değer olan Windows Server 2012 R2 seviyesindeydi.

Bu Functional Level'lar; Migration öncesi eklediğimiz, Windows Server 2016 işletim sistemi üzerinde çalışan, Additional Domain Controller'a da aynı şekilde tamınlandı ve Migration sonrasında Primary Domain Controller'a Promote edilen Windows Server 2016 işletim sistemli yeni Primary Domain Controller'ımız da aynı Functional Level'lar ile Primay Domain Controller olarak çalışmaya devam etmektedir.

Buna göre, şimdi de Functional Level seviyesinin ne olacağını belirlememiz gerekiyor. Windows Server versiyonu olarak ortamımızdaki en yeni işletim sistemi Windows Server 2016 olsa da, Windows Server 2016'nın getirdiği fonksiyonelliklerden yararlanamamaktayız.

migration

Migration işlemini tamamladıktan sonra yeni Primary Domain Controller Server'ım artık Windows Server 2016 işletim sistemli Server'ım olduğu ve ortamımda da hala Windows Server 2012 R2 Additional Domain Controller (Eki Primary Domain Controller) olduğu için, Forest Functional Level seviyem Windows Server 2012 R2 olarak kalmak zorunda ki zaten değiştirmenize de izin vermez.

Eğer Forest Functional Level'ı, şuan ortamımdaki en yüksek işletim sistemi versiyonu olan, Windows Server 2016'ya yükseltmek istersem, Forest ortamımda Windows Server 2012 R2 işletim sistemli DC'ler ile artık çalışma imakanım kalmayacaktır ve bu işletim sistemli Server'larımı ortamımdan kaldırmam gerekecektir.

Bu noktada iki seçeneğim var;

1- Windows Server 2016 ile gelen Windows Server gelişmiş özelliklerini Forest bazında kullanmak istiyorsak, Forest içindeki Windows Server 2012 R2 işletim sistemli tüm Server'larımı ortamımdan Demote ederek kaldırmamız ve Forest Functional Level'ı Windows Server 2016'ya Raise etmemiz gerekir. 

Bu işlemi ancak ve ancak ortamınızda Windows Server 2012 R2 işletim sistemli Domain Controller barındırmak istemiyorsanız yapın.

2- Windows Server 2012 R2 işletim sistemli DC'lerimizi de Windows Server 2016 İşletim sistemli DC'lerimiz ile kullanmak istiyorsak ve Windows Server 2016 ile gelen Windows Server gelişmiş özelliklerinden faydalanmayacaksak Forest Functional Level, ortamımızdaki en düşük seviyeli Forest Functional Level'da bırakılır. Bu durumda benim senaryoma göre; Forest Functional Level'ı Windows Server 2012 R2 olarak bırakır, Forest ortamımda Windows Server 2012 R2 işletim sistemli DC'ler ile de çalışmaya devam edebiliriz.

1. seçeneği hayata geçirmek ve Domain Functional Level ve Forest Functional Level'larınızı Windows Server 2016'ya yükseltmek istiyorsanız, ortamınızdaki Windows Server 2012 R2 işletim sistemli Domain Controller'larınızı ortamdan kaldırmak için, DC'lerdeki Active Directory'lerinizi kaldırma, yani Active Directory Demote etme işlemi uygulamanız gerekmektedir. Demote etme işlemi tamamlandıktan sonra da Functional Leval Yükseltme işlemini gerçekleştirebilirsiniz.

Domain Functional Level (DFL) ve Forest Functional Level (FFL) Seviyelerini Kontrol Etme

DFL ve FFL seviyelerini yükseltme işlemini, Active Directory Domains and Trusts bölümünden yapacağım;

1- Active Directory Domains and Trusts'ı açıyorum. Burada öncelikle Domain'imin firaboyan.com olduğunu görüyorum. Aynı anda da CMD ekranında nltest /dsgetdc:firatboyan.com komutu ile Domain ortamımla ilgili özet bir bilgi çekiyorum. CMD ekranındaki bilgilere göre DC: SRV001B.firaboyan.com Domain Controller, Migration işlemi yaptığım Windows Server 2016 işletim sistemli Domain Controller'dır.

Migration yapmadan önce DFL ve FFL seviyeleri Windows Server 2012 R2 idi. Domain Controller Migration işlemi tamamlandıktan sonra Active Directory Demote etme işlemi uygulayarak, ortamımdaki Windows Server 2012 R2 işletim sistemli tüm DC'leri kaldırdım. Sonuç olarak Forest ortamımda ve dolayısı ile de Domain ortamımda Windows Server 2012 R2 işletim sistemli DC olmadığı için, DFL ve FFL seviyelerini yükseltme işlemini gerçekleştirebilirim.

functional level yükseltme

2- Active Directory Domains and Trusts üzerinde, firatboyan.com Domain üzerinde sağ tıklayarak, Properties seçeneğini seçiyorum.

functional level yükseltme

3- firatboyan.com Properties penceresi açıldığında, karşımıza çıkan pencerede DFL ve FFL seviyelerinin Migration öncesi durumda yani Windows Server 2012 R2 olduğunu görüyorum.

functional level yükseltme

PowerShell Üzerinden Domain ve Forest Functional Level (DFL / FFL) Kontrolleri

4- Active Directory ortamında Domain Functional Level (DFL) ve Forest Functional Level (FFL) seviyeleri, yalnızca Active Directory Domains and Trusts konsolu üzerinden değil, aynı zamanda Windows PowerShell aracılığıyla da hızlı ve güvenilir bir şekilde sorgulanabilmektedir. PowerShell üzerinden yapılan bu kontroller, özellikle otomasyon, uzaktan yönetim ve sistem doğrulama süreçlerinde önemli avantaj sağlamaktadır.

Aşağıda kullanılan PowerShell komutları ile ilgili etki alanına ait Domain Functional Level ve Forest Functional Level bilgileri ayrı ayrı sorgulanmaktadır:


Get-ADDomain | fl Name, DomainMode

Get-ADForest | fl Name, ForestMode

functional level yükseltme

Bu yöntem sayesinde Active Directory altyapısının fonksiyonel seviyeleri hızlı bir şekilde doğrulanabilir ve planlanan sürüm yükseltme (upgrade) veya migrasyon işlemleri öncesinde mevcut yapı güvenilir biçimde analiz edilebilir.

DFL ve FFL Seviyelerinin PowerShell Üzerinden Doğrudan Sorgulanması

Active Directory ortamında Domain Functional Level (DFL) ve Forest Functional Level (FFL) seviyeleri, PowerShell üzerinden -Identity parametresi kullanılarak doğrudan etki alanı bazında sorgulanabilmektedir. Bu yöntem, özellikle çoklu Domain yapılarında hedef sistemin net olarak belirtilmesini sağlar.


Get-ADDomain -identity firatboyan.com


functional level yükseltme

Bu komut ile:

✔ Domain Name
✔ Domain Mode (Domain Functional Level)
✔ PDC Emulator
✔ RID Master
✔ Infrastructure Master
✔ Domain SID
✔ DNS yapı bilgileri

gibi Domain'e ait tüm teknik bilgiler detaylı olarak listelenmektedir. Çıktıda yer alan DomainMode alanı üzerinden mevcut Domain Functional Level seviyesi net olarak doğrulanmaktadır.


Get-ADForest -identity firatboyan.com

functional level yükseltme

Bu komut ile:

✔ Forest Name
✔ Forest Mode (Forest Functional Level)
✔ Schema Master
✔ Domain Naming Master
✔ Global Catalog sunucuları
✔ Site bilgileri

gibi forest yapısına ait tüm kritik roller ve fonksiyonel seviye bilgileri detaylı şekilde görüntülenmektedir. Çıktıda yer alan ForestMode alanı üzerinden Forest Functional Level seviyesi doğrulanmaktadır. 

DFL ve FFL Yükseltme İşlemleri

Active Directory ortamında gerçekleştirilecek sürüm yükseltme (upgrade) ve modernizasyon çalışmalarının sağlıklı şekilde tamamlanabilmesi için, mevcut Domain Functional Level (DFL) ve Forest Functional Level (FFL) seviyelerinin hedef sunucu sürümleriyle uyumlu olacak şekilde yükseltilmesi gerekmektedir. Fonksiyonel seviyelerin artırılması, Active Directory’nin yeni sürümlere ait özellikleri desteklemesini sağlar ve ortamın daha güvenli, daha kararlı ve daha verimli çalışmasına katkı sunar.

DFL ve FFL seviyelerinin kontrol edilmesinin ardından, uygunluk sağlandığında ilgili seviyelerin yükseltme işlemi gerçekleştirilir. Bu süreçte, ilk olarak etki alanı seviyesini ifade eden Domain Functional Level (DFL) yükseltilir. İşlem, Active Directory Domains and Trusts konsolu üzerinden hedef domain üzerinde sağ tıklanarak Raise Domain Functional Level… seçeneğinin kullanılmasıyla başlatılır.

1- Öncelikle Domain Functional Level-DFL seviyesini yükselteceğim.

Bunun için, Active Directory Domains and Trusts'ı açıyorum. firatboyan.com Domain'i üzerinde sağ tıklayarak Raise Domain Functional Level... seçeneğini seçiyorum. 

functional level yükseltme

2- Karşıma gelen Raise Domain Functional Level penceresinde Current Domain Functional Level seviyesinin Windows Server 2012 R2 olduğunu görüyorum. Alt kısımdaki select an available Domain Functional Level seçeneğinde, Windows Server 2016'yı seçip, Raise butonuna basıyorum.

functional level yükseltme

2.1- Domain Functional Level yükseltme işlemi başlatıldığında sistem tarafından bir uyarı penceresi görüntülenmektedir. Bu pencerede aşağıdaki ifade yer almaktadır:

This change affects the entire domain. After you raise the domain functional level, it is possible that you may not be able to reverse it.

Bu mesajın Türkçe anlamı:

Bu değişiklik tüm etki alanını etkiler. Etki alanı işlevsel düzeyini yükselttikten sonra, bu işlemi geri alamayabilirsiniz.

Bu ifade, yapılan işlemin geri dönüşü olmayan ve tüm domain genelinde etkili bir değişiklik olduğunu açıkça belirtmektedir. Mevcut yapı ve uyumluluk kontrolleri daha önce doğrulandığı için, OK butonuna tıklanarak Domain Functional Level yükseltme işlemi onaylanmış ve başlatılmıştır.

functional level yükseltme

2.2- Yükseltme işlemi başarıyla tamamlandığında sistem tarafından bir bilgilendirme penceresi görüntülenmektedir. Bu pencerede şu ifade yer almaktadır:

The functional level was raised successfully. The new functional level will now replicate to each Active Directory Domain Controller in the domain. The amount of time this will take varies, depending on your replication topology.

Bu mesajın Türkçe anlamı:

İşlevsel düzey başarıyla yükseltildi. Yeni işlevsel düzey artık etki alanındaki her Active Directory Domain Controller’a çoğaltılacaktır. Bu işlemin ne kadar süreceği, çoğaltma topolojinize bağlı olarak değişir.

Bu bilgilendirme, yapılan DFL yükseltme işleminin sorunsuz şekilde tamamlandığını ve yeni seviyenin domain içindeki tüm Domain Controller’lara replikasyon topolojisi doğrultusunda otomatik olarak dağıtılacağını göstermektedir.

 functional level yükseltme

3- firatboyan.com Properties penceresini tekrar açıyor, Domain Functional Level seviyesinin Windows Server 2016 olarak değiştiğini görüyorum.

 functional level yükseltme

4- İkinci aşamada da Forest Functional Level-FFL seviyesini yükselteceğim.

Bunun için yine Active Directory Domains and Trusts'ı açıyorum. firatboyan.com Domain'i üzerindeki Active Directory Domains and Trusts üzerinde sağ tıklayarak Raise Forest Functional Level... seçeneğini seçiyorum.

functional level yükseltme

5- Karşıma gelen Raise Forest Functional Level penceresinde Current Forest Functional Level seviyesinin Windows Server 2012 R2 olduğunu görüyorum. Alt kısımdaki Select an available Domain functional level seçeneğinde, Windows Server 2016'yı seçip, Raise butonuna basıyorum.

functional level yükseltme

6.1- Karşıma gelen pencerecedeki uyarıda OK butonuna tıklayıp, yükseltme işlemini onaylıyorum.

functional level yükseltme

6.2- Yükseltme işlemininin başarılı bir şekilde tamamlandığı bilgisini alıyorum.

functional level yükseltme

7- firatboyan.com Properties penceresini tekrar açıyor, Forest Functional Level seviyesinin Windows Server 2016 olarak değiştiğini görüyorum.

functional level yükseltme

Yükseltme (Raise) sonrası DFL ve FFL Seviyelerinin  Doğrulanması

Domain ve Forest Functional Level yükseltme işlemleri tamamlandıktan sonra ortam üzerinde doğrulama kontrolleri gerçekleştirilmiştir. Yapılan kontroller sonucunda, etki alanına ait Domain Functional Level (DFL) seviyesinin başarıyla Windows Server 2016 Domain Functional Level seviyesine yükseltildiği teyit edilmiştir. Bu durum, Domain genelinde Windows Server 2016 sürümüne ait özelliklerin aktif olarak kullanılabildiğini göstermektedir.

Aynı şekilde gerçekleştirilen kontrollerde, yapıdaki Forest Functional Level (FFL) seviyesinin de Windows Server 2016 Forest Functional Level seviyesine başarıyla yükseltildiği doğrulanmıştır. Böylece Forest genelindeki tüm Domain’ler için güncel Functional Level etkin hale getirilmiştir.

Ayrıca yapılan doğrulama işlemleri sırasında Domain Mode, FSMO Roles, Replication bileşenleri ve sistem Container yapılarının yeni Functional Level ile uyumlu şekilde çalıştığı tespit edilmiştir. Bu sonuçlar doğrultusunda, gerçekleştirilen yükseltme işleminin hem Domain Level hem de Forest Level kapsamında başarılı ve tutarlı şekilde tamamlandığı kesin olarak doğrulanmıştır.

functional level yükseltme

Bu makalenin sonunda, Windows Server 2012 R2'den Windows Server 2016'ya yapılan Migration sürecinin değerlendirmesini yapmış bulunmaktayız. Bu geçiş, yeni özellikler, gelişmiş güvenlik protokolleri ve artırılmış sistem performansı sunarak, IT altyapılarının modernleştirilmesi ve optimize edilmesi açısından büyük önem taşır.

Windows Server 2016, bir dizi yenilikçi özellikle birlikte geliyor. Özellikle, gelişmiş güvenlik mekanizmaları, sanallaştırma kapasiteleri ve bulut tabanlı entegrasyon seçenekleri, bu platformu, özellikle büyük ölçekli ve güvenlik odaklı işletmeler için cazip kılar. Bu özellikler, Windows Server 2012 R2'den gelen kullanıcılara, daha esnek, güvenli ve yönetilebilir bir IT ortamı sağlamaktadır.

Migration süreci boyunca, uygun planlama ve dikkatli uygulama, veri bütünlüğünü korumak ve sistem kesintilerini en aza indirgemek için kritik öneme sahiptir. Ayrıca, yeni sistemdeki güncellemeleri ve yapılandırmaları anlamak için gerekli eğitim ve adaptasyon süreçlerinin, bu süreçte büyük bir yer tuttuğunu gözlemledik.

Sonuç olarak, Windows Server 2012 R2'den Windows Server 2016'ya Migration, sadece mevcut teknolojiyi güncellemekle kalmaz, aynı zamanda kuruluşların daha verimli ve güvenli bir şekilde çalışmasını sağlar. Bu Migration, teknolojik ilerlemeleri benimseyerek, kuruluşların gelecekteki zorluklara daha hazırlıklı olmasına yardımcı olur. Kuruluşlar, bu teknolojik geçişle birlikte, yeni ve gelişmiş özelliklerden yararlanarak, IT altyapılarını daha rekabetçi hale getirebilirler. Okuyuculara tavsiyem, bu tür bir geçiş sürecini kapsamlı bir şekilde planlamaları ve sistematik bir şekilde uygulamalarıdır; böylece, yeni platformun sunmuş olduğu avantajlardan tam anlamıyla yararlanabilirler. Bu süreç, sadece bir güncelleme değil, aynı zamanda kuruluşunuz için stratejik bir yatırımdır.

Faydalı olması dileğiyle....


Bu makaleye 4 yorum yapıldı. Sen de düşünceni paylaş!


750 karakter yazabilirsiniz.
Captcha
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.

20.01.2021 Duran Gökpınar

Daha öncesinde okumuştum makalenizi ama migration şimdi yapınca daha bir etkili oldu. Teşekkürler emeğin için. Fakat bir sorum var. Geçişi başarılı bir şekilde yaptım, lakin user and computer kısmından veya domains and trusts kısmından Change ADC dediğimde 2016 olan sunucumun status kısmı unavailable olarak görüyorum. Normal mi yoksa çözümü var mıdır? Bu arada DC ler senkron olarak çalışıyor, sorun görünmüyor. Rollerde başarılı taşındı. Şimdiden teşekkürler

07.03.2018 Emin Ersin

ellerine sağlık tam aradığım makaleyi yazmışsın :)

20.12.2017 Enis Kollugil

Çok güzel doküman elinize sağlık

25.11.2017 CENK SAYGIN

Eline sağlık Fırat Hocam