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 oldukça kolay artık. Yetkilerle ve cluster IP’leri ile uğraşmadan çok kolay bir şekilde DAG yapısını kurup çalıştırabiliyoruz artık.
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 1 adet Windows Server 2012 R2 DC sunucum var, 1 adet EXC2013 SP1 CAS (Client Access) sunucum var, 2 adet’te EXC2013 SP1 Mailbox rolu kurulu sunucu ile toplamda 4 adet sunucu ile bu çalışmayı yapacağım.
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ı maibox’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ı EXCMBX02 sunusuna replike edeceğim. Replikasyon işlemi bittikten sonra DB02 isimli database dosyasını EXCMBX02 sunucusunda Aktif duruma getirip hem yedekli hemde yük dengelemesi yapılmı bir yapıyı kurmuş olacağız bu makalenin sonunda.
Buradaki tüm sunucularım recepyuksel.net isimli domain’e dahil edilmiş durumdadır.
Exchange Server 2013 Admin Center ( ECP ) üzerinde Exchange Server sunucularım aşağıdaki gibi üzenlerin de 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.
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şturmanızda olur oluşturmasanıza 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.
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 wizart ekranı karşınıza gelecektir.
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.
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.
Mailbox Database dosyalarımız ve bunlara ait log dosyaları fiziksel disklerimiz üzerinde aşağıdaki resimlerdeki gibi oluşturulmuş olacaktır.
Mailbox Database Log dosyaları aşağıdaki gibi oluşacaktır.
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ız da 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 İlerleyen kısımlarında göreceksiniz ben bu Feature’i MBX02 sunucusuna kurmayı atlamıştım, bu sunucuyu DAG yapısına eklerken bu özellik otomatik olarak kurulduktan sonra DAG yapısına eklendi MBX02 sunucusu.
Database Availability Groups görünümü aşağıdaki gibidir. EXC2013 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.
EXC2013MBX01 isimli sunucumuz üzerinde oluşturmuş olduğumuz DB01 ve DB02 database dosyalarımız aşağıdaki gibi hazır ve çalışır durumda.
Şimdi DAG yapısını kurup bu databaselerin bir kopyasını ikinci Mailbox Sunucumuz (EXC2013MBX02) üzerinde bir kopyasını oluşturup yedekliliğini sağlamış olacağız.
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 kuracağım DAG yapımı.
-WithnessServer ’den sonra bu yapının denetleyici sunucusunu eklemeniz gerekiyor. Ben CAS sunucumu bu iş için kullanmak istediğimden 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.
New-DatabaseAvailabilityGroup -Name RCPYKSLDAG -WitnessServer exc2013cas -DatabaseAvailabilityGroupIPAddresses ([System.Net.IPAddress])::None
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.
Şimdi ortamdaki Echange Server 2013 Mailbox rolu yüklü sunucularımı bu yapıya üye olarak eklememiz gerekiyor. Ben bu makalemde 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.
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 gözükmektedir.
MBX02 isimli Mailbox sunucumuzuda buraya üye olarak ekleyelim.
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çıkça görebilirsiniz.
Bu sunucumuzda DAG grubumuza üye olarak eklendi.
DAG grubuna üye sunucuları isterseniz aşağıdaki resimdeki sarı renkle işaretlediğimiz butona basaraktan görebilir yeni sunucuları üye olarak ekleyip istemediklerinizi üyelikten çıkarabilirsiniz.
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.
Şimdi geldi en eğlenceli ve önemli bölüm. 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 resimdeki gibi 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.
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 istediğ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.
Bizim ortamımızda EXC2013MBX02 sunucumuz uygun durumda sunucumuzu seçelim ve ok butonuna basalım.
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 öncelik 2 numaralı kopyanın olacaktır.
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.
EXC2013MBX02 sunucusuna kopyalama işlemi aşağıdaki resimdeki başlamıştır. Database dosyanızın boyutu büyük ise bu işlem biraz zaman alabilir. ( Örnek olması açısından benim çalıştığım bir projede 60GB boyutundaki bir database’in 1 GB hızındaki network üzerinden diğer sunucuya gönderilmesi 2 saat sürdü.)
Kopyalama işlemi bitince aşağıdaki gibi başarılı olduğuna dair bilgilendirmeyi görebilirsiniz. Close ile bu ekranları kapatalım.
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 Server altında her iki mailbox sunucumuzda gözüküyor.
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.
Mailbox database dosyalarımızın ikinci Mailbox server üzerine gönderilen database ve log dosyaları orijinali ile aynı isimdeki diskler üzerinde aynı isimde folderlar yaratılarak bu folderlar altına kopyalanırlar.
Her iki database EXC2013MBX02 isimli mailbox sunucusuna gönderildiğinde görünüm aşağıdaki olacaktır.
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.
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.
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.
Değişiklik işlemi sırsında size aşağıdaki ekran eşlik edecektir.
Mailbox Database aktif sunucu değiştirme işlemi bitince aşağıdaki ekranı göreceksiniz, bu ekranı Close ile kapatabilirsiniz.
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 Database kopyası ise artık EXC2013MBX01 sunucusu üzerinde tutulacaktır.
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 hem de yük dengelemesi yapılmış şekilde çalışır durumdadır.
Exchange Server 2013 SP1 ile ilgili makalelerimize devam edeceğiz.
Faydası olması dileklerimle.