Bu yazımda Exchange yüksek çalışabilirlik (High Availability) çözümü olarak kullanılan Database Availability Group (DAG) kurulumunu anlatacağım. Bilindiği gibi DAG ilk olarak Exchange 2010 ile IT Adminlerinin kullanımına sunuldu. DAG yapısı Exchange 2013 ile de devam ediyor. Database ve Sunucu bazlı bir yedekleme sistemi olduğu için tercih edilme oranı oldukça yüksek bir yapıdır. Exchange 2013 yapısı mimari olarak Exchange 2010 yapısına göre göze çarpan değişiklikler olmasına rağmen, DAG yapısı bu alanda fazla değişiklik göstermemiştir. Önemli birkaç adımın dışında kurulum ve yapılandırma oldukça basittir.
Exchange Server 2010’da olduğu gibi member Sunucu sayısı 2 ile 16 arasında olmalıdır. Microsoft ‘un önerisi en az 3 member kullanılması yönünde olup, istenirse 2 member ile DAG yapısı kurulabilir.
DAG üyesi her bir sunucu maksimum 50 Mailbox Database ine sahip olabilir. Bu MB DB’ leri içerisinde aktif ya da pasif DB içerebilir.
Kısaca DAG’ a değindikten sonra kurulum ve konfigürasyon adımlarına geçelim.
Gereksinimler :
DAG yapısınde Windows sürümlerinin aynı olması gerekir. Windows 2012/2012r2 Standart veya Datacenter kullanılabilir. 2 Node’ lu yapılarda Witness Server kullanılmalıdır.
Active Directory & Witness Server :
Domain Controller : Windows 2012r2 Datacenter
dc.msexchangetr.local
Network: 10.0.0.10 – 255.0.0.0
NODE-1:
Windows 2012r2 Datacenter
DAG-1.msexchangetr.local
Database Name : DAG1-MBX1
Local Network: 10.0.0.20 – 255.0.0.0 Not: “Register this connection’s addresses in DNS” kutucuğu seçili olması gerekmektedir.
DAG Network: 172.16.0.10 – 255.255.0.0 Not: “Register this connection’s addresses in DNS” kutucuğu seçili olmamalıdır.
NODE-2
Windows 2012r2 Datacenter
DAG-2.msexchangetr.local
Database Name : DAG2-MBX2
Local Network: 10.0.0.30 – 255.0.0.0 Not: “Register this connection’s addresses in DNS” kutucuğu seçili olması gerekmektedir.
DAG Network: 172.16.0.20 – 255.255.0.0 Not: “Register this connection’s addresses in DNS” kutucuğu seçili olmamalıdır.
Dag Yapımızın şeması:
Database Availability Groups oluşturma işlemlerine başlamadan önce aşağıda kı adımları kontrol edelim.
CA Certificate Ayarları:
CA tarafında sıkıntı olmaması için CA’ nın sorunsuz yapılandırılması ve Sunucu ve Clientlara publish edilmesi gerekir. Aşağıda ki listede isimler fazla görülebilir ancak live ortamda yaşadığım bir sorun olduğu için işi garantiye alarak bütün ilgili sunucu isimlerini üşenmeden girdim.
Örnek CA Alternatif İsim Listesi:
· mail.msexchangetr.org,
· msexchangetr.local,
· DAG-1.msexchangetr.local,
· DAG-2.msexchangetr.local,
· DAG-1,
· DAG-2,
· msexchangetr.org,
· DAG-1.msexchangetr.org,
· DAG-2.msexchangetr.org,
· AutoDiscover.msexchangetr.local,
· AutoDiscover.msexchangetr.org,
· AutoDiscover.get-exchangeserver.com,
· get-exchangeserver.com,
· localhost,
· DC,
· dc.msexchangetr.local,
· DAG-1.get-exchangeserver.com,
· DAG-2.get-exchangeserver.com
Virtual Directory Ayarları:
Dag-1 ve Dag-2 üzerinde Internal ve External Namelerin organizasyona göre düzenlenmeli.
Örnek:
Outlook Anyware Ayarları:
Send Connector Ayaları:
Send Connector’ e DAG üyesi bütün Node’ ların ekli olması gerekir.
DNS Ayarları:
DNS Altında yeni bir zone oluşturularak, A,MX kayıtları açılmalıdır. Default Zone üzerinde ki kayıtların (Reverse) oluştuğu kontrol edilmelidir.
DC.MsexchangeTR.local (DC) üzerinden Witness Server için bir klasör açıp, gerekli yetkileri veriyoruz.
Klasör ismi : FSW
Local Path : C:\FSW
Network Path : \\DC \FSW
Sharing Permissions : DAG-1 ve DAG-2 Read/Write hakları Computer olarak eklenir. Hangi kullanıcı ile Exchange sunuculara logon olup, kurulumu yapıyorsanız, ilgili kullanıcıya Read/Write hakları verilir.
Kuruluma başlayalım: Exchange 2013 ECP’ ye bağlandıktan sonra Servers > Database Availability Groups altında + butonuna basıyoruz.
Gerekli bilgileri dolduruyoruz ve Save butonuna tıklıyoruz.
Save butonuna tıkladıktan sonra aşağıda ki hatayı alırız.
Hatanın nedeni, DC makinasının Exchange Trusted Subsystem üyesi olmaması ve aynı grubun DC üzerinde Builtin Administrators grubuna dahil olmamasından kaynaklıdır.
DC makinasını ilgili gruba üye ediyoruz.
Exchange Trusted Subsystem Grubunu Builtin Administrators grubuna üye yapıyoruz.
İlk oluşturduğumuz DAG Grubunu silip, aynı bilgiler ile tekrar oluşturuyoruz.
DAG Grubunu istersek aşağıda ki Cmdlets ile oluşturabiliriz.
New-DatabaseAvailabilityGroup -Name DAG2013 -WitnessServer dc.msexchangetr.local
-WitnessDirectory C:\fsw -DatabaseAvailabilityGroupIPAddresses 10.0.0.100
Get-DatabaseAvailabilityGroup DAG2013 | fl komutuyla içeriği PowerShell üzerinde görebiliriz.
Oluşturduğumuz DAG grubuna ilgili sunucuları ekleyelim.
Manage Database Availability Group Membership > + butonuna tıklıyoruz. DAG-1 ve DAG-2 isimli sunucuları seçiyoruz. Daha sonra OK ve Save butonlarına tıklıyoruz.
DAG-1 ve DAG-2 sunucuları Validate edip, Failover Clustering componentini otomatik olarak kuruyor.
Active Directory üzerinde DAG2013 (DAG İsmimiz) isimli Computer otomatik oluştu.
DAG-1 ve DAG-2 sunucularını Clutser’ a dahil ediyor.
Ve beklenen hatayı alıyoruz J
A server-side database availability group administrative operation failed. Error The operation failed. CreateCluster errors may result from incorrectly configured static
addresses. Error: An error occurred while attempting a cluster operation. Error: Cluster API ‘”AddClusterNode() (MaxPercentage=100) failed with 0x5b4. Error: This operation
returned because the timeout period expired”‘ failed.. [Server: DAG-1.msexchangetr.local]
Bu hatanın nedeni, Domain üzerinde oluşan DAG2013 Computer’ inin Security kısmında DAG-1 ve DAG-2 makinalarının ekli olmamasıdır. Makinaları ekleyip, full yetki veriyoruz.
Member ekleme işlemini tekrarlıyoruz. Ancak tekrar aynı sorunla karşılaşırsak, DC > Computers üzerinde ki oluşan Computer’ i (DAG2013) siliyoruz. Manuel olarak aynı isimle yeni bir Computer oluşturup, Security kısmına yeniden DAG-1 ve DAG-2 Accountlarını full yetki ile ekleyip, Computer Account’unu DISABLE bırakmamız gerekir. Computer > Securtiy altında Exchange Trusted Subsystem’ e full yetki verilmesi gerekir. Bu işlemler sonunda FSW File Sharing Permissions değişebilir. Kontrol etmenizi öneririm.
Detaya aşağıda ki linkten ulaşabilirsiniz.
http://technet.microsoft.com/en-us/library/ff367878.aspx
Dag Grubu başarılı bir şekilde oluştu ve dag sunucularını üye ettik.
Bu adımları aşağıda ki cmdlets ile PowerShell üzerinden yapabilirsiniz.
Add-DatabaseAvailabilityGroupServer -Identity DAG2013 -MailboxServer DAG-1,DAG-2
Database kopyalarının ayarlanması:
Default yapımız aşağıda ki gibidir. … Tıklayarak Add Database Copy’ e tıklıyoruz.
2. Database Copy işlemlerini de aynı şekilde yapıyoruz.
Bu işlemleri PowerShell üzerinden cmdlets ile yapabiliriz.
Add-MailboxDatabaseCopy -Identity DAG1-MBX1 -MailboxServer DAG-2 -ActivationPreference 2
Add-MailboxDatabaseCopy -Identity DAG2-MBX2 -MailboxServer DAG-1 -ActivationPreference 2
Database kopyaları hakkında ayrıntılı bilgi almak için aşağıdaki PS komutlarını kullanabiliriz.
Sunucu bazlı sorgulama:
Get-mailboxDatabaseCopyStatus –server DAG-1
Get-mailboxDatabaseCopyStatus –server DAG-2
Database bazlı sorgulama:
Get-mailboxDatabaseCopyStatus DAG1-MBX1
Get-mailboxDatabaseCopyStatus DAG2-MBX2
CopyQueue Length: Aktif’den pasif’e kopyalanmayı bekleyen log sayısıdır.
ReplayQueue Length: Pasif’e kopyalanmış fakat database commit edilmeyi bekleyen log sayısıdır.
DAG yapımızı oluşturmuş olduk. DAG’a dahil olan DAG1-MBX1 ve DAG2-MBX2 database’lerine yeni açılan posta kutularını oluşturabilir veya var olan posta kutularını da taşıyabiliriz.
Umarım faydalı olmuştur.