Merhaba arkadaşlar,

Bu makalemde sizlere Exchange Server 2013 SP1 ile yeni özellikler kazanan DAG (Database Availability
Group) kurulumunu anlatmaya çalışacağım.

Exchange 2013 SP1 ile DAG yapısını kurmak artık oldukça kolay. Yetkilerle ve cluster IP’leri ile uğraşmadan çok kolay bir şekilde DAG yapısını kurup çalıştırabiliyoruz.

Bu makalemde kuracağım kullanacağım yapının görünümü (şeması) aşağıdaki resimdeki gibidir. Exchange 2013 SP1 DAG IP adresi olmadan kurabilmek için ortamda Windows Server 2012 R2 bir DC olmasını istiyor.

Test yapımı kısaca özetleyerek işe başlayalım, ortamda aşağıdaki sunucular vardır;

1 adet Windows Server 2012 R2 DC sunucusu
1 adet EXC2013 SP1 CAS (Client Access) sunucusu
2 adet EXC2013 SP1 Mailbox rolu kurulu sunucusu

Tüm sunucularım üzerinde Windows Server 2012 R2 işletim sistemi yüklüdür.

Dışarıdan gelen tüm exchange server bağlantı istekleri EXC2013 CAS sunucuma yönlendirilmiş durumdadır. CAS sunucusu gelen kullanıcıyı mailbox’inin bulunduğu Exchange 2013 Mailbox server sunucusuna otomatik olarak yönlendirme görevini yürütmektedir.

EXC2013MBX01 isimli mailbox sunucum üzerinde DB01 ve DB02 isimli 2 adet mailbox database dosyası tanımlayacağım. DAG yapısını kurduktan sonra bu iki database dosyasını EXC2013MBX02 sunusuna replike edeceğim. Replikasyon işlemi bittikten sonra DB02 isimli database dosyasını EXC2013MBX02 sunucusunda Aktif duruma getirip hem yedekli hemde yük dengelemesi yapılmış bir yapıyı kurmuş olacağız bu makalenin sonunda.      

image001

Buradaki tüm sunucularım recepyuksel.net isimli domain’e dahil edilmiş durumdadır.

image002

Exchange Server 2013 Admin Center ( ECP ) üzerinde Exchange Server sunucularım aşağıdaki gibi üzelerinde yüklü olan rolleri ile birlikte gözükmektedirler. Bir adet CAS ve iki adet Mailbox Rolu yüklü sunucumuz hazırdır test ortamında.

image003

Exchange server üzerinde oluşturacağınız Database ve Log dosyalarını farklı fiziksel diskler ( veya .vmdk ve .vhd ) üzerinde tutmanızı tavsiye ederim. Ben test ortamımda sistem diskinden hariç ikinci bir disk oluşturdum ve oluşturacağım Databaseler için DB, bu databaselerin logları için LOG isminde iki adet folder oluşturdum. Bunun aynısını databaselerin kopyalanacağı sunucu üzerinde’de oluştursanızda olur oluşturmasanızda ama aynı volume isimde bir disk oluşturursanız iyi olacaktır, gerekli olacak olan folderlerı replikasyon sırasında Exchange Server kendisi oluşturacaktır.

Ben bu test ortamımda EXC2013MBX01 isimli sunucum üzerinde E diski üzerinde DB ve LOG isimli iki adet klasör oluşturdum.

image004

EXC2013MBX01 isimli sunucumuz üzerinde DB01 ve DB02 ismi ile yeni iki adet Mailbox Database dosyası oluşturalım.  

Exchange Admin Center üzerinde server \ database bölümüne gelip ( + ) butonuna bastığınızda yeni bir database oluşturma ekranı karşınıza gelecektir.

 image005

Mailbox DB01 Adı ve Adresi             : E:\DB\DB01\DB01.edb
Mailbox DB01 Log Dosyaları Adresi : E:\LOG\DB01_LOG\

Mailbox DB02 Adı ve Adresi             : E:\DB\DB02\DB02.edb
Mailbox DB02 Log Dosyaları Adresi : E:\LOG\DB02_LOG\

Aşağıdaki resimdeki yeni mailbox database oluşturma penceresindeki bölümleri uygun şekilde dolduralım ve Save butonuna basarak mailbox database dosyamızı oluşturalım.

Bu işlemi DB01 ve DB02 için ayrı ayrı yapmamız gerekecektir.    

 image006

DB01 ve DB02 isimli yeni Mailbox Database dosyalarımız oluşturulduktan sonra aşağıdaki resimdeki gibi EXC2013MBX01 üzerindeki Mailbox Database dosyaları arasında gözükeceklerdir.

image007

Mailbox Database dosyalarımız ve bunlara ait log dosyaları fiziksel disklerimiz üzerinde aşağıdaki resimlerdeki gibi oluşturulmuş olacaktır.

 image008

Mailbox Database Log dosyaları aşağıdaki gibi oluşacaktır.

 image009

Exchange Server DAG yapısına geçmeden önce DAG yapısına dahil edeceğimiz Exchange 2013 SP1 Mailbox rolü yüklü sunucularımız üzerine Failover Clustering Feature’ini kuralım.

Bu feature’i önceden kurmasanızda olur Exchange 2013 SP1, DAG’a dahil edeceğimiz sunucuyu önceden inceleyip eğer bu servis yoksa kendisi önce bu servisi kurup sonra DAG grubuna dahil ediyor sunucuyu. Ben çok beğendim bu özelliği.

Makalenin Ilerleyen kısımlarında göreceksiniz ben bu Feature’i EXC2013MBX02 sunucusuna kurmayı atlamıştım, bu sunucuyu DAG yapısına eklerken bu özellik otomatik olarak kurulduktan sonra DAG yapısına eklendi EXC2013MBX02 sunucusu.

 image010

Database Availability Groups görünümü aşağıdaki gibidir. Exchange 2013 SP1 IP adresi olmadan DAG yapısı kurulum işlemini bu ekrandan yapamıyoruz.

DAG yapısını kurarken Exchange PowerShell’i kullanmamız gerekiyor.  

image011

EXC2013MBX01 isimli sunucumuz üzerinde oluşturmuş olduğumuz DB01 ve DB02 database dosyalarımız aşağıdaki gibi hazır ve çalışır durumdadır.

Şimdi DAG yapısını kurup bu databaselerin bir kopyasını ikinci Mailbox Sunucumuz (EXC2013MBX02) üzerinde bir kopyasını oluşturup yedekliliğini sağlayalım.  

 image007

Exchange 2013 SP1 PowerShell’i açıp DAG yapısını kurulum işlemine başlayalım.  

PowerShell üzerinden IP adresi olmadan DAG kurulum komutu aşağıdaki gibidir.

Bu Komut setinde;

-Name ‘den sonra kurmak istediğiniz DAG yapısının ismini yazmanız gerekiyor. Ben RCPYKSLDAG ismi ile kuruacağım DAG yapımı.

-WithnessServer ’den sonra bu yapının denetleyici sunucusunu eklemeniz gerekiyor. Ben CAS sunucumu bu iş için kullanmak istedigimden bu sunucumun adını exc2013cas olarak ekledim komut içine. Siz ortamınızda 7/24 çalışan active directory’e üye herhangi bir sunucunuzu bu iş için kullanabilirsiniz.

Komut seti aşağıdaki gibidir;

New-DatabaseAvailabilityGroup -Name RCPYKSLDAG -WitnessServer exc2013cas -DatabaseAvailabilityGroupIPAddresses ([System.Net.IPAddress])::None

 image012

Aşağıdaki resimde gördüğünüz gibi kendisine ait özel bir IP adresi olmadan Exchange Server DAG yapımız kurulmuş olacaktır. 

 image013

Şimdi ortamdaki Echange Server 2013 Mailbox rolu yüklü sunucularımı bu yapıya üye olarak eklememiz gerekiyor. Bu işlemide PowerShell komutları ile yapacağım.

EXC2013MBX01 isimli sunucumu RCPYKSLDAG isimli DAG grubuna üye olarak eklemek için aşağıdaki komutu kullandım.

Add-DatabaseAvailabilityGroupServer -Identity RCPYKSLDAG -MailboxServer exc2013mbx01

Aşağıdaki resimde de görebileceğiniz gibi 1 dk kadar sonra sunucum DAG yapısına eklenmiş oldu.

 image014

PowerShell üzerinden kurmuş olduğumuz bu yapıyı PowerShell’denmi yöneteceğiz diye düşünenler olabilir, hayır hemen Exchange admin center üzerine gidip control edelim. PowerShell komutları ile oluşturduğumuz DAG yapısı aşağıdaki resimdeki gibi DAG bölümü altında gözükmeye başlayacaktır.  

DAG ismi, Withness Server ve DAG’a üye sunucumuz aşağıda resimdeki gibi gözükmektedir.

 image015

EXC2013MBX02 isimli Mailbox sunucumuzuda buraya üye olarak ekleyelim. Komut aşağıdaki gibidir.

Add-DatabaseAvailabilityGroupServer -Identity RCPYKSLDAG -MailboxServer exc2013mbx02

Microsoft Exchange benim kurmayı atladığım Failover Cluster Feature’ını önce sunucuma kuracak sonrada bu sunucu ortama uyumlu hale getirildikten sonra DAG’a üye olarak eklenecektir.

Çok beğendim ben bu özelliği. Aşağıdaki resimde bu işlemi açıkca görebilirsiniz.

image016

Bu sunucumuzda DAG grubumuza üye olarak eklendi.

image017

DAG grubuna üye sunucuları Exchange Admin Center üzerinde aşağıdaki resimdeki sarı renkle işaretlediğimiz butona basarak’ta görebilir yeni sunucuları üye olarak ekleyip istemediklerinizi üyelikten çıkarabilirsiniz.

image018

Database Availability Group, membership ekranı görünümü aşağıdaki resimdeki gibi olacaktır. 2 adet Mailbox sunucumuz buraya eklenmiş olmalıdır.

 image019

Şimdi geldi en eğlenceli ve önemli olan bölüme. DAG yapımızın kurulumunu yaptık 2 adet mailbox sunucusunu bu gruba üye olarak ekledik.  

Biz bu makaleye başlarken EXC2013MBX01 isimli sunucumuz üzerinde bulunan DB01 ve DB02 isimli 2 adet mailbox database dosyamızın EXC2013MBX02 isimli sunucu üzerinde yedeklenmesini istiyorduk.

DB01 isimli mailbox database dosyamızı seçelim ve aşağıdaki resimde 3 numara ile işaretlediğim üç nokta ( … ) işaretine basalım, karşımıza çıkan ekranda ise 4 numara ile işaretlediğimiz Add database copy seçerek devam edelim. 

 image020

Aşağıdaki ekran karşımıza gelecektir. Specify Mailbox server bölümüne bu database dosyasının bir kopyasının gitmesini sitediğimiz mailbox sunucumuzu eklememiz gerekmektedir. Browse.. butonuna basarak DAG’a üye mailbox sunucularımızı görelim ve EXC2013MBX02 isimli DAG’a üye olan mailbox sunucumuzu seçelim.

image021

Bizim ortamımızda EXC2013MBX02 sunucumuz uygun durumda sunucumuzu seçelim ve ok butonuna basalım.

image022

Database’imin yedek kopyasının gönderileceği Mailbox sunucusunu seçtikten sonra Ok butonuna basarak kopyalama işlemini başlatabiliriz.

Activation preference number ise bir database’in birden çok kopyasını farklı sunuculara gönderdiğinizde daha çok işinize yarayacak bir bölümdür. Böyle bir durumda sizin için öncelikli olan database kopyasının değerini 1’e en yakın değer’i vererek bir felaket anında ilk devreye alınacak olan yedek kopyayının sıralamasını yapabilirsiniz.   

Örnek olarak bir database’in kopyasını local network’te bir mailbox sunucuya bir kopyasını’da FKM veya cloud ortamındaki bir sunucuya gönderiyor olabilirsiniz. Böyle bir durumda merkeze en yakın database kopyasının değerini 2 cloud veya FKM deki kopyayı 3 veya 4 yaparak önce merkezdeki kopyanın devreye alınmasını sağlayabilirsiniz. O sunucuda’da sorun varsa diğer kopyalar devreye alınmaya çalışılacaktır. Ama devreye alınma önceliği 2 numaralı kopyanın olacaktır.    

image023

Yukarıdaki ekranda More options bölümüne tıkladığınızda aşağıdaki bölüm açılacaktır.

Replay lag time bu database kopyasının maksimum kaç gün güncellenmemiş ise geçersiz sayılması gerektiğini belirleyebilirsiniz. 

 image024

EXC2013MBX02 sunucusuna kopyalama işlemi aşağıdaki resimdeki başlamış olacaktır. Database dosyanızın boyutu büyük ise bu işlem biraz zaman alabilir. ( Örnek olması açısından bir örnek vermek isterim, benim çalıştığım bir projede 60GB boyutundaki bir database’in 1 GB hızındaki network üzerinden diğer sunucuya gönderilmesi yaklaşık 2 saat sürdü. )

 image025

Kopyalama işlemi bitince aşağıdaki gibi başarılı olduğuna dair bilgilendirmeyi görebilirsiniz. Close ile bu ekranları kapatalım.

 image026

DB01 isimli mailbox database dosyamız, Database ekranında aşağıdaki gibi gözükecektir artık. Sol taraftaki ekranda Servers With Copies altında 2 mailbox sunucumuzun isminin olduğuna dikkat ediniz.

Sağ taraftaki bilgilendirme ekranında daha çok detay bilgileri görebilir kopyala durumu hakkında bilgi edinebilirsiniz.

Aşağıdaki ekranda Servers bölümü altında her iki mailbox sunucumuzda gözüküyor olmalıdır.

image027

Bilgilendirme ekranın alt kısmının görünümü ise aşağıdaki resimdeki gibi olacaktır.  

Database copies altında üst tarafta bu database’imiz hangi mailbox sunucu üzerinde mount edilmiş ve hizmet veriyor durumda ise o taraftaki durum bilgisini görebilirsiniz.

Copy queue length bize aktif kopyalama işi olup olmadığını gösteriyor.

Content index state ise database’in sağlık durumunu bize bildiriyor. Healty durumda ise sorun yok demektir. 

Alttaki bölüm ise bu database’in yedek kopyasının durum bilgisini bize gösteriyor.  

 image028

Mailbox database dosyalarımızın ikinici Mailbox server üzerine gönderilen database ve log dosyaları orjinali ile aynı isimdeki diskler üzerinde aynı isimde folderlar yaratılarak bu folderlar altına kopyalanırlar.

 image029

Her iki database EXC2013MBX02 isimli mailbox sunucusuna gönderildiğinde görünüm aşağıdaki olacaktır.

 image030

Yukarıdaki ekranda View Details butonuna bastığınızda database kopyalama detaylarını aşağıdaki iki resimdeki gibi inceleyebilirsiniz. Sorunsuz kopyalanmış bir mailbox database dosyası görünümü aşağıdaki resimdeki gibi olacak Content index state ve Status Healty şeklinde gözükmelidir. 

  image031

image032

Makalemizin başında paylaşmış olduğumuz bu makalede kurmayı planladığımız bu yapının şemasında DB01 isimli database EXC2013MBX01 sunucusunda aktif, EXC2013MBX02 sunucusunda pasif durumda olması gerekiyordu.

Biz şimdi DB02 isimli database dosyasını EXC2013MBX01’de Pasif ve EXC2013MBX02’de Aktif duruma getirelim.

DB02 isimli database dosyamızı seçelim ve sağ taraftaki bölümde EXC2013MBX02 sunucu altında gözüken Activate butonuna basalım.  

image033

Bu işlem gerçekleştirilmeden önce aşağıdaki uyarı ekranını göreceksiniz. Yes ile onaylarsanız aktif database’in değiştirilme işlemi başlayacaktır.

image034

Değişiklik işlemi sırasında size aşağıdaki ekran eşlik edecektir.

image035

Mailbox Database aktif sunucu değiştirme işlemi sorunsuz olarak bitince aşağıdaki ekranı göreceksiniz, bu ekranı Close ile kapatabilirisiniz.

image036

Ekranı güncellediğinizde (refresh butonu) DB02 isimli database dosyasının Aktif olduğu sunucu EXC2013MBX02 olarak değişmiş olacaktır, bu database’in Pasif kopyası ise artık EXC2013MBX01 sunucusu üzerinde tutulacaktır.

 image037

Makalemizin başında hedeflediğimiz yapıyı böylelikle kurmuş olduk. Exchange Server 2013 SP1 sunucularımız üzerindeki Mailbox Database dosyaları artık hem yedekli hemde yük dengelemesi yapılmış şekilde çalışır durumdadır.

Exchange Server 2013 SP1 ile ilgili makalelerimize devam edeceğiz.

Faydası olması dileklerimle.

Exchange Server 2013 hakkında faydalı olacağını düşündüğüm kaynaklar;
http://technet.microsoft.com/en-us/exchange/fp179701
http://technet.microsoft.com/library/jj150540(EXCHG.150)