İkinci Domain Controller Eklemek ve Replikasyonu Doğrulamak
Tek DC ile çalışan bir domain risktir. DC02'yi firma.local'a ikinci domain controller olarak ekliyor, DNS ayarlarını düzenliyor ve replikasyonu repadmin ile dcdiag kullanarak doğruluyoruz.
Önceki yazıda DHCP failover için DC02'yi domain'e üye bir sunucu olarak kullanmıştık. Şu an firma.local domain'inin tamamı tek bir sunucuya, DC01'e bağlı. Bu sunucunun diski bozulduğunda kimse oturum açamaz, GPO'lar uygulanmaz, DNS çözümlemesi durur. Bu yazıda DC02'yi ikinci domain controller'a yükseltecek, DNS ayarlarını doğru yapılandıracak ve replikasyonun sağlıklı çalıştığını repadmin ve dcdiag ile doğrulayacağız.
Ön Hazırlık
DC02'yi yükseltmeden önce şu maddeleri kontrol edin:
- Statik IP: DC02, 192.168.1.11 adresini statik olarak kullanmalıdır.
- DNS istemci ayarı: Kurulum sırasında DC02'nin tercih edilen DNS sunucusu DC01 (192.168.1.10) olmalıdır. Modem veya 8.8.8.8 gibi dış DNS sunucuları kesinlikle girilmemelidir.
- Domain üyeliği: Sunucu
firma.localdomain'ine katılmış olmalıdır. - Saat senkronizasyonu: Kerberos, 5 dakikadan fazla saat farkına izin vermez.
- DC01'in sağlığı: Bozuk bir DC'den yeni DC kopyalamak sorunları da kopyalar. Önce DC01'de
dcdiagçalıştırın.
DC02 henüz domain'e katılmadıysa:
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.1.10
Add-Computer -DomainName "firma.local" -Credential (Get-Credential "FIRMA\Administrator") -Restart
AD DS Rolünü Kurmak
DC02 üzerinde rolü yönetim araçlarıyla birlikte kurun:
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Yükseltmeden önce ön koşul testini çalıştırmak, olası sorunları kurulum yarıda kalmadan görmenizi sağlar:
Test-ADDSDomainControllerInstallation -DomainName "firma.local" -InstallDns `
-Credential (Get-Credential "FIRMA\Administrator") `
-SafeModeAdministratorPassword (Read-Host -AsSecureString "DSRM parolasi")
DC02'yi Domain Controller'a Yükseltmek
Test başarılıysa yükseltme komutunu çalıştırın. DC02 aynı zamanda DNS sunucusu ve Global Catalog olacak:
Install-ADDSDomainController -DomainName "firma.local" `
-Credential (Get-Credential "FIRMA\Administrator") `
-SiteName "Default-First-Site-Name" `
-InstallDns:$true -NoGlobalCatalog:$false `
-DatabasePath "C:\Windows\NTDS" -LogPath "C:\Windows\NTDS" -SysvolPath "C:\Windows\SYSVOL" `
-SafeModeAdministratorPassword (Read-Host -AsSecureString "DSRM parolasi") `
-Force
Sunucu otomatik olarak yeniden başlar. DSRM parolasını güvenli bir yerde saklayın; serinin ilerleyen yazılarında göreceğimiz DC geri yükleme işlemlerinde bu parolaya ihtiyacınız olacak.
Büyük bir veritabanını ağ üzerinden kopyalamak yerine Install From Media (IFM) kullanabilirsiniz. DC01 üzerinde medyayı oluşturup DC02'ye taşıdıktan sonra yükseltme komutuna -InstallationMediaPath "C:\IFM" parametresini eklemeniz yeterlidir:
ntdsutil "activate instance ntds" "ifm" "create sysvol full C:\IFM" quit quit
DNS İstemci Ayarlarını Düzenlemek
İki DC'li bir ortamda en sık yapılan hata DNS istemci ayarlarıdır. Önerilen düzen, her DC'nin önce diğer DC'yi, ikinci olarak kendisini göstermesidir:
- DC01: Tercih edilen 192.168.1.11, alternatif 127.0.0.1
- DC02: Tercih edilen 192.168.1.10, alternatif 127.0.0.1
# DC01 uzerinde
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.1.11, 127.0.0.1
# DC02 uzerinde
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.1.10, 127.0.0.1
İstemcilerin de iki DNS sunucusunu birden alması için DHCP seçeneğini güncelleyin:
Set-DhcpServerv4OptionValue -ComputerName "dc01.firma.local" -ScopeId 192.168.1.0 -DnsServer 192.168.1.10, 192.168.1.11
Invoke-DhcpServerv4FailoverReplication -ComputerName "dc01.firma.local" -Name "DC01-DC02-Failover" -Force
Kurulumu Doğrulamak
Önce domain'deki tüm DC'leri listeleyin:
Get-ADDomainController -Filter * | Select-Object Name, IPv4Address, Site, IsGlobalCatalog, OperatingSystem
DC02'de SYSVOL ve NETLOGON paylaşımlarının oluştuğunu kontrol edin. Bu paylaşımlar yoksa DC02, GPO'ları ve oturum açma betiklerini sunamaz:
net share
dfsrmig /getglobalstate
dfsrmig /getglobalstate çıktısı SYSVOL replikasyonunun durumunu gösterir; Eliminated değeri SYSVOL'ün DFSR ile replike edildiğini ve eski FRS'in artık kullanılmadığını belirtir. Güncel Windows Server sürümleri SYSVOL için FRS'i desteklemez.
repadmin ile Replikasyon Kontrolü
repadmin, AD replikasyonunun en önemli sorun giderme aracıdır. İlk bakış için özet raporu alın:
repadmin /replsummary
fails/total sütununda 0 hata görmelisiniz. Ayrıntılı durum için her DC'nin hangi partnerden, hangi partition'ı en son ne zaman aldığını gösteren komutu kullanın:
repadmin /showrepl DC02
repadmin /queue DC02
Replikasyonu beklemeden tetiklemek için:
repadmin /syncall DC01 /AdeP
Parametrelerin anlamı: A tüm partition'lar, d çıktıda DN göster, e site dışındaki partnerleri de dahil et, P değişiklikleri bu DC'den dışarı it.
Uygulamalı Test
En güvenilir test, bir DC'de değişiklik yapıp diğerinde görmektir. DC01 üzerinde bir test kullanıcısı oluşturun:
New-ADUser -Name "repl.test" -Path "OU=Kullanicilar,OU=Firma,DC=firma,DC=local" -Server DC01
Birkaç saniye sonra DC02'yi sorgulayın:
Get-ADUser -Identity "repl.test" -Server DC02
Get-ADReplicationPartnerMetadata -Target DC02 | Select-Object Partner, LastReplicationSuccess, LastReplicationResult
Get-ADReplicationFailure -Target DC02
Kullanıcı görünüyorsa ve LastReplicationResult değeri 0 ise replikasyon çalışıyor demektir. Test kullanıcısını Remove-ADUser -Identity "repl.test" ile silebilirsiniz.
dcdiag ile Genel Sağlık Kontrolü
dcdiag, DC'nin DNS, replikasyon, SYSVOL, servisler ve FSMO erişimi gibi onlarca testini tek seferde yapar:
dcdiag /s:DC02 /v /f:C:\Temp\dcdiag-dc02.txt
dcdiag /test:replications /s:DC02
dcdiag /test:dns /dnsbasic /s:DC02
Raporda failed test satırlarını arayın. Yeni kurulmuş bir DC'de ilk saatlerde DFSREvent veya SystemLog testlerinin kurulum sırasındaki uyarılar yüzünden başarısız görünmesi normaldir. Bu testler son 24 saatteki olaylara bakar. Olay günlüklerini silmeyin; olayları okuyup gerçek bir hata olmadığından emin olun ve 24 saat sonra testi tekrar çalıştırın.
Replikasyonu Düzenli İzlemek
Kurulum günü her şeyin yeşil görünmesi, replikasyonun aylarca sorunsuz çalışacağı anlamına gelmez. Bir DC'nin sessizce replikasyon almayı bırakması ve fark edilmemesi en tehlikeli senaryodur; tombstone lifetime süresini (varsayılan 180 gün) aşan bir DC artık domain'e geri dönemez. Bu yüzden hataları düzenli olarak kontrol edin:
repadmin /showrepl * /errorsonly
repadmin /showbackup *
İlk komut yalnızca hata veren bağlantıları listeler; çıktı boşsa her şey yolundadır. İkinci komut her partition'ın en son ne zaman yedeklendiğini gösterir ve ilerleyen yazılarda yedekleme konusunda işimize yarayacak.
Bu kontrolleri bir zamanlanmış görev ile günlük çalıştırıp çıktıyı e-posta ile kendinize göndermek, küçük ortamlarda bile izleme yazılımı kadar etkili bir başlangıçtır. PowerShell tarafında Get-ADReplicationFailure -Scope Domain komutu aynı bilgiyi tüm DC'ler için nesne olarak döndürür ve betiklerde kullanmak için daha uygundur.
Sık Karşılaşılan Hatalar
- Yükseltme sırasında "domain bulunamadı" hatası: DC02'nin DNS ayarı dış bir sunucuyu gösteriyor. Yalnızca DC01'i gösterecek şekilde düzeltin.
- SYSVOL ve NETLOGON paylaşımlarının oluşmaması: DFSR ilk senkronizasyonu tamamlamamıştır. DFS Replication olay günlüğünde 4614 (bekliyor) ve 4604 (tamamlandı) olaylarını kontrol edin.
- Error 1722 (RPC server unavailable): DC'ler arasında güvenlik duvarı TCP 135 ve dinamik RPC portlarını engelliyor.
- Error 8453 (Replication access was denied): Replikasyonu tetikleyen hesabın yetkisi yetersizdir veya DC'nin bilgisayar hesabı sorunludur.
- DC'yi snapshot'tan geri döndürmek: VM-GenerationID'yi desteklemeyen eski bir hypervisor'da ya da Windows Server 2012 öncesi bir DC'de snapshot'a dönmek USN rollback sorununa yol açar. Modern ortamlarda bile snapshot uygulama tutarlı bir yedek değildir; DC'leri System State yedeğiyle geri yükleyin.
- Saat farkı: Kerberos hataları alıyorsanız
w32tm /query /sourceile DC02'nin zamanı domain hiyerarşisinden aldığını kontrol edin.
Bir sonraki yazıda FSMO rollerini inceleyecek; bu rolleri görüntülemeyi, DC'ler arasında taşımayı ve gerektiğinde seize etmeyi göreceğiz.