
Exchange Server ortamlarında high availability için Database Availability Group (DAG) yapısı yapılandırması sağlarız.
Exchange Server ortamında DAG nasıl kurulur? makalesini inceleyebilirsiniz.
DAG, birden fazla posta kutusu sunucusunu gruplandırarak, veritabanı düzeyinde otomatik kurtarma ve kesintisiz hizmet sunmayı amaçlar. Bu yapının önemli bileşenlerinden biri de witness server ve witness directory olup, quorum sağlamak için kullanılır
İçindekiler
Exchange Server DAG The database availability group requires the witness server to maintain quorum Hatası
Exchange Server’da Witness server veya Witness Directory hatalar verebilir, bu hatalar genellikle Witness Directory silinmesi, Witness Server’ın ulaşılamıyor olması veya hatalı yapılandırmalar kaynaklıdır. Exchange Server – ECP – Servers – Database availability Group içerisinde Witness Server’ınn failed durumunda olduğunu görebilirsiniz.
Exchange Server’da Witness Server yapılandırması nasıl yapılır, makalemizi inceleyebilirsiniz.
Exchange Server’da Alternatif Witness Server nasıl yapılandırılır, makalemizi inceleyebilirsiniz.
Warning
Database availability group 'DAG1' witness is in a failed state. The database availability group requires the witness server to maintain quorum. Please use the Set-DatabaseAvailabilityGroup cmdlet to re-create the witness server and directory.

Witness Failed Durumunu Failover Cluster Manager üzerinden Kontrol Etme
Failover Cluster Manager üzerinde Cluster Server üzerne geldiğimiz zaman File Share Witness’ın Failed durumunda olduğunu görebilirsiniz.

Witness Failed Durumunu PowerShell ile Kontrol Etme
Run as Administrator olarak açtığımız PowerShell konsolundan aşağıdaki komutu çalıştırarak Witness Server durumunu kontrol edebilirsiniz.
PS C:\Windows\system32> Get-ClusterResource
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
Cluster IP Address Online Cluster Group IP Address
Cluster Name Online Cluster Group Network Name
File Share Witness (\\fs01.contoso.local\DAG1.contoso.local) Failed Cluster Group File Share Witness

Witness Cluster Kaynağını Yeniden Başlatma
Eğer Witness Server erişebilir durumdaysa ancak bir “Failed” durumda gözüküyorsa, Failover Cluster Manager üzerinden cluster kaynaklarını kontrol etmek faydalı olacaktır. Özellikle “File Share Witness” kaynağının durumunu kontrol edin. Eğer bu kaynak “Offline” durumdaysa, aşağıdaki adımları izleyerek tekrar çevrimiçi duruma getirebilirsiniz:
Failover Cluster Manager Kullanarak Online Duruma Getirme
- Failover Cluster Manager‘ı açın ve cluster adını seçin.
- Sağ tarafta, “File Share Witness” kaynağını bulun.
- Bu kaynağa sağ tıklayın ve “Bring Online” seçeneğini seçin.

Bring Online işleminden sonra Status Online olarak değişmiyorsa aşağıdaki gibi bir Event oluşturmaktadır.
File share witness resource 'File Share Witness (\\fs01.contoso.local\DAG1.contoso.local)' failed to arbitrate for the file share '\\fs01.contoso.local\DAG1.contoso.local'. Please ensure that file share '\\fs01.contoso.local\DAG1.contoso.local' exists and is accessible by the cluster.
PowerShell Kullanarak Witness Kaynağını Yeniden Başlatma
- PowerShell’i yönetici olarak açın
- Get-ClusterResource | Start-ClusterResource komutu ile Witness Kaynağını yeniden başlatabilirsiniz.
PS C:\Windows\system32> Get-ClusterResource | Start-ClusterResource
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
Cluster IP Address Online Cluster Group IP Address
Cluster Name Online Cluster Group Network Name
Start-ClusterResource : An error occurred while attempting to bring the resource 'File Share Witness
(\\fs01.contoso.local\DAG1.contoso.local)' online.
The cluster resource could not be brought online by the resource monitor
At line:1 char:23
+ Get-ClusterResource | Start-ClusterResource
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Start-ClusterResource], ClusterCmdletException
+ FullyQualifiedErrorId : Start-ClusterResource,Microsoft.FailoverClusters.PowerShell.StartClusterResourceCommand

Exchange Server’da Witness Server’da Dizini yeniden Oluşturma
PowerShell’den ve Failover Cluster konsolu üzerinden yaptığımız işlemler Witness Server durumunu değiştirmediyse Witness Server ve Dizini yeniden oluşturmamız gerekmektedir.
- Witness Server Dizini ve Server oluşturma adımları için yukarıda paylaşmış olduğum Witness Server Nası oluşturulur? makalelerini inceleyebilirsiniz.
PowerShell Kullanarak DAG için Witness Server Değiştirme
Exchange Server DAG içinde failed durumda olan witness server sorununu çözmek için witness server ve witness directory işlemlerini yeniden oluşturmamız gerekmektedir. Bu işlem için ECP kullanılabileceği gibi PowerShell ilede yapabilirsiniz.
Öncelikle DAG durumunu kontrol etmemiz gerekmektedir.
Get-DatabaseAvailabilityGroup -Identity "DAG1" -Status | ft Name, Witness*, Servers
[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroup -Identity "DAG1" -Status | ft Name, Witness*, Servers
WARNING: Database availability group 'DAG1' witness is in a failed state. The database availability group requires
the witness server to maintain quorum. Please use the Set-DatabaseAvailabilityGroup cmdlet to re-create the witness
server and directory.
Name WitnessServer WitnessDirectory WitnessShareInUse Servers
---- ------------- ---------------- ----------------- -------
DAG1 fs01.contoso.local C:\Witness InvalidConfiguration {EXC02, EXC01}

Witness Server olarak kullanacağımız sunucuyu hazırladıktan sonra, Set-DatabaseAvailabilityGrop kullanarak Witness Server ve Witness Directory yapılandırmasını tamamlayabiliriz.
Set-DatabaseAvailabilityGroup nasıl kullanılır makalemizi inceleyebilirsiniz.
Set-DatabaseAvailabilityGroup -Identity "DAG1" -WitnessServer "fs01.contoso.local" -WitnessDirectory "C:\EXCWitness"
Bu işlemle beraber DAG Profili için Witness Server ve Witness Directory değişikliği sağlanmış olacaktır.
ECP Kullanarak Witness Server ve Witness Directory Değişikliği
Exchange Control Panel (ECP) üzerinden Database Availability Group (DAG) tanık sunucusu (witness server) ve tanık dizinini (witness directory) değiştirmek mümkündür
- Exchange Admin Center’ı (EAC/ECP) Açın
- Web tarayıcınızı açın ve Exchange Yönetim Paneli’ne erişin.
- URL:
https://<ExchangeSunucuAdı>/ecp
- Sol menüden Sunucular (Servers) sekmesine tıklayın.
- Üst menüden Database Availability Groups (Veritabanı Erişilebilirlik Grupları) sekmesine geçin.
- Mevcut DAG’ı seçin (örneğin, DAG1 gibi).

Açılan pencerede Witness Server ve Witness Directory bilgilerini göreceksiniz.
Mevcut witness server erişilemiyorsa veya değiştirilmesi gerekiyorsa, yeni bir sunucu belirleyin.
- Yeni witness sunucu adını girin (örneğin,
NewWitnessServer.contoso.com
).
Tanık Dizini Güncelleyin
- Tanık dizinini güncellemek için, mevcut yolu değiştirerek kullanılabilir bir dizin belirleyin.
- Örnek yeni tanık dizini:
C:\NewDAGWitness
Değişiklikleri Kaydedin
- Tüm değişiklikleri yaptıktan sonra “Kaydet” (Save) butonuna tıklayın

Exchange Server Witness Server Doğrulaması
PowerShell veya EAC kullanarak yaptığımız Witness Server değişiklikleri doğrulamak PowerShell kullanabilirsiniz.
PS C:\Windows\system32> Get-ClusterResource | Start-ClusterResource
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
Cluster IP Address Online Cluster Group IP Address
Cluster Name Online Cluster Group Network Name
File Share Witness (\\fs01.contoso.local\CWDAG1.contoso.local) Online Cluster Group File Share Witness

Get-DatabaseAvailabilityGroup kullanarakda kontrol işlemi sağlayabilirsiniz.
[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroup -Identity "DAG1" -Status | ft Name, Witness*, Servers
Name WitnessServer WitnessDirectory WitnessShareInUse Servers
---- ------------- ---------------- ----------------- -------
DAG1 fs01.contoso.local C:\EXCWitness Primary {EXC02, EXC01}
Bu işlemler sonucunda, DAG için yeni bir witness sunucu ve witness dizini belirlenmiş olacak ve quorum kaybı riski ortadan kalkacaktır. Eğer witnesssunucusunun değişimi sırasında herhangi bir hata alırsanız, Exchange Management Shell üzerinden Set-DatabaseAvailabilityGroup komutunu kullanarak manuel olarak güncelleme yapabilirsiniz.
Bu yöntemle, Exchange Control Panel (ECP) üzerinden DAG witnesssunucusunun nasıl değiştirileceğini adım adım ele almış olduk. Herhangi bir ek sorunuz olursa, yorumlarda belirtebilirsiniz