Cluster

İki ya da daha fazla sunucunun (node), bir hizmetin en az kesinti ile çalışmasını sağlamak üzere eşgüdümlü çalışmasını sağlayan hizmet. Türkçe'ye 'kümeleme' şeklinde geçmiştir. Birçok üreticinin çok değişik kümeleme çözümleri bulunmaktadır.

Windows tabanlı sunucularda, yeni ismi Failover Cluster'dır.

Failover Cluster; DHCP, WINS, File Sharing gibi Cluster Aware (Kümeleme desteği olan) hizmetleri koruyabilir, bunun için bütünleşik desteği vardır.

Exchange Server 2010, DAG (Database Availability Group) isimli kümeleme teknolojisine sahiptir. Bu teknolojide, bir Exchange 2010 sunucu üzerindeki veriler, sürekli olarak başka bir Exchange 2010 üzerideki bir diske kopyalanır. Failover Cluster servisi de, sistem sağlığını sürekli olarak izlemektedir. Sunucuda bir sorun meydana gelirse, sistem diğer sunucudan çalışmaya devam edebilir.

Cluster servisi, hemen her zaman çoğunluk mantığı ile çalışır. Yani bir cluster, ancak (N/2)+1 node'u ayakta ise çalışmaya devam eder. 2 adet Exchange sunucunuz var ise, sayı cluster için yeterli değildir. Bu nedenle, ağ üzerindeki bir sunucuya bir klasör ekleriz. Bu sunucu, cluster'ın devamlılığını sağlamak için 3. oy sayılacaktır. Böyle bir yapıda, 1 exchange sunucu + 1 klasörün ayakta olması, cluster'ın çalışmaya devam etmesi için yeterlidir. Aklımıza şu soru gelebilir: Neden 3. bir bileşene ihtiyacımız var? 2 tane Exchange sunucu cluster oluşturamaz mı? Bu senaryoyu şu şekilde hayal edelim:

Ağımızda, sadece 2 adet Exchange 2010 sunucu var ve bunlar, cluster mantığı ile çalışıyorlar. 3. bir bileşen eklemedik. Tüm istemcilerimiz, 1. sunucuya bağlı. Buradaki tüm bilgiler, ağ üzerinden kopyalanarak 2. sunucuya gönderiliyor ve bu sunucu, stand-by olarak beklemekte.

Datacenter'ımızda elektriğin tümüyle kesildiğini düşünelim. Bu durumda, sunucular, switchler, router'lar kapanacaktır. Ancak istemcilerin bulunduğu altyapımızda bir sıkıntı bulunmamakta. Yani istemcilerimiz açık ve mail hizmeti henüz alamamaktalar çünkü mail sunucularımız kapalı durumda.

Ve sorunu halledip datacenter'a elektriği tekrar veriyoruz. Exchange sunucular açılıyor. Ancak bir şekilde, iki exchange sunucu arasındaki iletişimi sağlayan switch yanmış ve çalışmıyor. Dolayısıyla, exchange sunucularımız birbirleri ile iletişim kuramıyor ama ağı görüyorlar (Bu duruma Split-Brain Syndrome denir)

Yani elimizde, ağa bağlanabilen ama birbirleri ile iletişim kuramayan iki exchange sunucumuz var. Bunların üzerindeki Exchange hizmetlerinin başlamasını ister miyiz? Ya ikisi de aynı anda aktif olarak açılırsa? İkisi de, bir datanın iki ayrı kopyası üzerinde hizmet vermeye başlayacaktır ki, veri tutarlılığı burada kaybolur. Bazı istemciler 1. sunucuya, bazıları 2. sunucuya bağlanabilir ve istenmeyen durumlar oluşabilir. Bunu kesinlikle istemeyiz. Exchange sunucular, birbirlerini görmeden, ya da birbirlerinin tutarlılığını kontrol eden 3. bir merciye (File Share) ulaşmadan açılmamalıdır. Veri tutarlılığı, hizmet sürekliliğinden daha önemlidir. Cluster hizmeti, bunları sağlar.