Eyl 17

Clustering yani kümeleme Türkçe çevirisinden de rahatça anlaşılacağı üzere bir araya getirilmiş, kümelenmiş belli sayıdaki bilgisayarın ortak uygulamaları birlikte çalıştırması, uygulamaya ya da istemciye kendilerini tek bir bilgisayarmış gibi göstermesidir. Ben cluster konusunu üç adımda anlatmayı planlıyorum ve ilk makalemde cluster’ın ne olduğunu anlatacağım.

Cluster işleminin üç temel amacı vardır.
 
Bunların başında süreklilik (continuity) gelir. Süreklilikten kast edilen hata toleransını (fault tolerance) bir başka deyişle sistemin her daim ayakta ve çalışır durumda kalmasını sağlamaktır. Dünya üzerindeki büyük internet sitelerini bir düşünün. Amazon, ebay, Google, Paypal gibi sitelerin down olması yani erişilemez hale gelmesi, çökmesi bu şirketlerin prestij kaybına uğramasının yanı sıra, çok büyük müşteri ve hesap sorunları ortaya çıkmasına sebep olacaktır.
 
Bir diğer amaç ise yük dengeleme yani load balancing’tir. Buradaki amaç eldeki bilgisayarlardan olabildiğince yararlanabilmek, işlerini daha hızlı görüp yanıtı daha hızlı gönderebilmelerini sağlamak için işin paylaşılması, gelen yüklerin cluster içindeki bilgisayarlara eşit oranda dağıtılmasıdır. Cluster içindeki 3 bilgisayardan 2’si başka işlerle meşgul olduğunda sistem yeni gelen yükü boşta olan bilgisayara yönlendirir.
Yüksek performansı amaçlayan cluster’lar ise adı üstünde çok yüksek hesaplama gücü gerektiren programlar, uygulamalar için hazırlanırlar.Örneğin; IBM’in Kasparov’a karşı hazırladığı Big Blue adlı süperbilgisayarı veya sağlık alanındaki genetik araştırmalarda milyarlarca olasılığı hesaplayan bilgisayar clusterları.
 
Birçok proje kendi misyonuna göre bu amaçların belli bir kısmından faydalanır. Bazı clusterlar önceliklerinde sürekliliği en başa alırken bazıları yüksek performansı gözetmek durumundadır. Bu yüzden aşağıdaki cluster  türleri oluşmuştur:
 

  • High-availability clusters (yüksek-süreklilikli kümeler)
  • Load-balancing clusters (yük dengeleyici kümeler)
  • High-performance computing clusters (yüksek performanslı kümeler)
  • Grid clusters (şebekeli kümeler)

Yukarıda anlatılanlara ek olarak bir de şebekeli clusterlar vardır. Şebekeli clusterlar geleneksel clusterlarla aynı mantıkta çalışır ancak bariz farklılıkları vardır. Geleneksel clusterlar aynı ortamda bulundurulan bilgisayarları kullanırken şebekeli clusterlar coğrafik olarak birbirinden uzak ve birbirlerine tam olarak güvenmeyen, trust etmeyen bilgisayar gruplarından oluşturulurlar. Bu konudaki en büyük örnek SETI projesidir. Yeryüzünün her yanına dağılmış 3 milyon civarında ev bilgisayarı Arecibo gözlemevindeki radyoteleskoptan gelen verileri analiz ederek dünya dışı canlılara ilişkin kanıtların bulunması araştırmasına yardımcı olmaktadır.
 
İşletim sistemleri dünyası şu an hepimizin bildiği üzere Microsoft ile UNIX türevlerinin rekabetine sahne olmaya devam ediyor. Unix türevlerinden Linux’ın sunucu sistemlerinde Microsoft’a kafa tuttuğunu hatta önde olduğunu bile söyleyebiliriz. Birkaç yabancı devletin dahi maliyetinin ucuzluğundan ötürü geçtiğimiz yıllarda bilgisayar sistemlerini Linux’a geçirdiğine dair haberler vardır. Sonuçta biz olaylara Microsoft tarafından baktığımızdan Windows Server 2003’le birlikte gelen cluster sistemini inceleyeceğiz.  Araştırdığım kadarıyla dış şirketler tarafından Windows için geliştirilen 3. parti yazılımsal cluster çözümleri de bulunmaktadır.
 
MICROSOFT CLUSTER SERVER
 
İlk kez Windows NT’yle birlikte 1997’de duyurulan Microsoft’un kümeleme çözümü Microsoft Cluster Server “MSCS” bugün Windows Server 2003’te 1.2 versiyonuna ulaşmıştır.

 
Microsoft Cluster Servisi; Server Cluster ve Network Load Balancing (NLB) adı verilen iki teknolojiyi içerir.
Bu teknolojilerden Server Cluster çok kritik uygulamalar için hata durumlarında fail-over yaparak sistemin yüksek sürekliliğini sağlamayı öncelikli olarak hedefler. Fail-over durumunda çöken bilgisayardaki istemciye ait işlem cluster içinde sağlam durumdaki diğer bilgisayarlardan birine aktarılarak işlemin tamamlanması, gerekli yanıtın gönderilmesi sağlanır. Veritabanı, ERP/CRM, OLTP, dosya, yazıcı ve e-posta servisleri genellikle Server Cluster kullanılarak yapılandırılır.
 
NLB ise gelecek client/istemci isteklerini beklemekte olan web sunucusu, proxy sunucusu gibi servisler için cluster içindeki bilgisayarlara (node’lara) dağıtır.
Bu iki cluster işlemi farklı yöntemler kullandığından aynı sunucuda aynı anda kullanılamaz, birinin seçilmesi gerekir.
 
Özelliklerini bir tablo şeklinde özetleyelim:
 Genel olarak cluster yapısından bahsettiğim bu makalenin sonuna geldik. İkinci bölümde Server Cluster yapısını anlatacağım.

Yazar ceyhun çamlı \\ Etiketler: , , ,

One Response to “Clustering ve Türleri”

  1. 1
    Nurettin KEMAH Says:

    Hocam ellerine sağlık.Gerçekten güzel ve aydınlatıcı olmuş makalelerin.üçünüde detaylı şekilde okudum…

Leave a Reply