Bu makalemde Microsoft Exchange Server 2007 ile birlikte gelen yeniliklerden biri olan Cluster Continuous Replication (CCR)’dan bahsedeceğim. Exchange Server 2007, Exchange 2003’e nazaran clustering konusunda baya bir yol kat etmiş görünüyor. Bu yeni özelliği ile iki node arasında artık paylaşılmış bir diske ihtiyaç duyulmuyor ve her bir node diğerinden bağımsız olarak Exchange database’in bir kopyasını kendinde tutabiliyor. Mail server’ın kimlik bilgileri cluster kaynakları tarafından tutuluyor ve cluster node’ları arasında ileri geri taşınabiliyor. Sonuç olarak basit bir donanımla dahi clustering yapabiliyorsunuz ve sunucuda oluşabilecek bir soruna karşı Exchange database’in diğer kopyasını tutan sunucuya failover işlemi yapılabiliyor.

Resim-1
Yukarıdaki şekilde basit bir CCR konfigürasyonu yer almaktadır. Her iki node da yerel kaynaklara sahiptir. Bu yerel kaynak SAN veya iSCSI depolama birimi olabilir, fakat bu depolama biriminin iki node arasında paylaştırılmasına gerek bulunmamaktadır. Tek paylaşılmış kaynak üçüncü sunucuda yer alan bir klasördür. Üçüncü sunucuda paylaştırdığımız bu klasör, node’lar arası iletişimin private network üzerinden kurulamadığı durumda devreye girer ve bu durumda kullanılacak bilgiyi içerir. Böylece private network’deki bir sorunun failover işlemine sebep olmayacağından emin olabilirsiniz. Bu cluster türü Majority Node Set (MNS) olarak adlandırılmaktadır. Şekilde gördüğünüz Witness file share ise bir file server’dır. Örneğin Client Access ya da Hub Transport server rolüne sahip bir server bu görevi kolaylıkla üstlenebilir.
MNS Quorum Windows Server 2003 ile gelen bir quorum türüdür. Diğerlerinden ayıran en önemli özelliği ise her bir node’un quorum database’in bir kopyasını local olarak kendi üzerinde barındırabilmesidir.
İki node’lu bir CCR’da paylaştırılmış bir dizinin local quorum görevini üstlenebilmesi File Share Witness adı verilen bir özellik ile sağlanmaktadır. Böylece cluster’ın durumunu izlemek için paylaşılmış bir disk kullanmak yerine, iki node’un da erişebileceği paylaşılmış bir klasör kullanmak yeterli olmaktadır. Bu gayet faydalı özellik ile geçmişte Majority Node Set (MNS) quorum kullanmak için en az üç node’umuz olması gerekirken, iki node ile MNS quorum kullanabilmekteyiz. Ancak bu özelliği kullanabilmek için KB921181 numaralı makalede yayınlanmış güncellemenin sistemde yüklü olması gerekir. Bu güncelleme Server 2003 SP2 ile de gelmektedir.
Seeding – Exchange transaction log dosyaları aktif node’da işlendikten sonra, pasif node’a kopyalanır. Daha sonra pasif noddaki servis bu transaction log dosyalarını pasif node’daki kopya database’e işler. Bu işleme “seeding” adı verilmektedir.
Aktif node’daki bir hata durumunda, pasif node kendi üzerinde tuttuğu bu kopya database’i mount edecektir ve henüz işlenmemiş transaction log dosyası varsa bunlar iletilecektir.
CCR clustering ayarlarına geçmeden bu yapının olumlu ve olumsuz taraflarından bahsedelim;
-
Aktif node üzerindeki database’in, pasif node’la olan senkronizasyonunda bir iki dakikalık gecikmeler olabilir. Bu konuda Hub transport server üzerindeki transport dumpster, data kaybını minimum’a indirmeye yardımcı olacaktır.
-
Aktif node ve pasif node’un yer aldığı donanım birebir aynı olmak zorunda değildir. Fakat CPU, memory ve disk kapasitesi olarak eşdüzey değerlere sahip olmalılar.
-
Database diğer node’a storage group bazında replicate edilecektir. CCR yapısında storage group başına ancak bir database oluşturulabilir.
-
CCR, shared storage’a ihtiyacı olmadığı için, Exchange mailbox server clustering karmaşasını önemli düzeyde azaltmıştır.
-
CCR cluster, SCC cluster kadar ölçeklenebilir değildir. Örneğin 4 node’lu bir SCC cluster 3 aktif Exchange node’u destekleyebilirken, CCR clustering’de 3 aktif node’lu bir yapı için 6 server gerekmektedir.
Not: Exchange Server 2007’de sadece Mailbox rolü cluster olarak yapılandırılabilir. Diğer rollere sahip sunucular cluster yapılamaz.
CCR için neler gerekir?
Yapımızı en basit şekliyle tasarlamaya çalışacağız. Bunun içinde Exchange Server 2007 Mailbox rolüne sahip olacak iki sunucuya ihtiyacımız olacak. Yukarıda ayrıntılarıyla bahsettiğimiz özellik sayesinde paylaşılmış bir depolama alanına ihtiyacımız olmayacak, transaction log dosyaları pasif node’a gönderilecek ve local olarak işlenecek. Bunun sonucunda iki bağımsız ortamda, iki bağımsız database ve log dosyası tutuluyor olacak.
-
CCR kurulumunun yapılacağı sunucuların Enterprise Edition olması gerekecek.
-
Her bir sunucu üzerinde 2 network kartı bulunmalı.
-
921181 numaralı güncellemeyi işlemlere başlamadan her iki sunucuya da kurun . Bu güncelleme Windows Server 2003 SP2’de yer almaktadır. SP2 kurulu sistemler için bu güncellemeye gerek olmayacaktır.
921181 numaralı güncellemeyi buradan yükleyebilirsiniz
-
Cluster tarafından file share witness olarak kullanılacak paylaştırılmış bir klasör oluşturmamız gerekecek. Bu klasörü Hub Transport Server üzerinde oluşturmanızı önerebilirim.
İşletim sistemi kurulumu ile başlayalım
1- Exchange 2007 64 bitlik versiyonlara sahip olduğu için kurulumu yapacağınız işletim sistemi de Windows 2003 64 bitlik versiyona sahip olmalı. Biz bu makalede, test ortamları için geliştirilmiş 32 bitlik Exchange sürümünü kullanacağız ve kurulum yapacağımız server da 32 bitlik Server 2003 Enterprise Edition olacak.
2- Her bir sunucuya işlemlerde kolaylık sağlaması açısından Nod1 ve Nod2 isimlerini verdim. Bu sunucuların iki network kartı vardı. Bunlardan birini Public Network yapısına, diğerini Private Network yapısına uygun olarak yapılandıralım.
Resim 2: Public Network konfigürasyonu
Resim 3: Private Network konfigürasyonu
3- Node’lar arası heartbeat sinyalleri için kullanılan Private Network ayarlarını yapın. Burada kullanılan IP adres bloğu public networkünüzden farklı olmalıdır ve public network’den VLAN ya da switch kullanılarak izole edilmelidir. Private Network TCP/IP ayararında DNS ayarlarına girerek “Register this connections adresses in DNS” işaretini kaldırarak bu adresin DNS’e kaydını engelleyelim.
4- Her iki node’da da public ve private network ayarlarını yaptıktan sonra binding sıralamasında üstte public network’ün olduğundan emin olun. Bunun için Network Connections penceresinde Advanced menüsünde Advanced Settings’e girin.
Resim 4: Binding sıralaması
5- 921181 numaralı güncellemeyi işlemlere başlamadan her iki sunucuya da kurun . Bu güncelleme Windows Server 2003 SP2’de yer almaktadır. SP2 kurulu sistemler için bu güncellemeye gerek olmayacaktır.
KB921181 numaralı güncellemeyi buradan yükleyebilirsiniz.
6- Cluster kurulumundan önce IIS, WWW ve COM+ servislerinin kurulumunu yapın.
Resim 5: Servislerin kurulumu
7- .NET framework 2.0’ı ve KB926776 makalesinde geçen .NET framework 2.0 için olan güncellemeyi yükleyin.
Microsoft .NET Framework Version 2.0 Redistributable Package (x86)
A hotfix rollup package – KB926776
8- Windows Powershell KB926139 kurulumunu yapın.
9- Her iki node’u da domaine dahil edin.
10- Mailbox dışındaki rolleri başka bir server üzerine kurun. Makalede bu rolleri DC üzerine kurarak, tüm yapıda 3 işletim sistemi kullanıyoruz.
Resim 6: CAS ve HT Server kurulumu
11- File Witness Share’ın oluşturulması;
Hub Transport server rolünü kurduğumuz sunucuda bir klasör oluşturarak paylaşım verelim. Paylaşım haklarında ve NTFS haklarında Cluster servisinin çalışacağı hesaba (makalede Administrator hesabını bu iş için kullanacağız ) Full Control hakkı verelim.
Resim 7: File Share Witness
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
Exchange 2007 High Availability
Cluster Continuous Replication
Standby Continuous Replication
Upgrading Clustered Mailbox Servers to Exchange 2007 SP1
Uninstalling Clustered Mailbox Servers
Troubleshooting High Availability Deployments