"Enter"a basıp içeriğe geçin

Sunucu sanallaştırma da neyin nesi?

Merhaba arkadaşlar,

Yeni bir makale yeni bir konu ile başlıyorum. Biraz mizahi bir şekilde “Sunucu sanallaştırma da neyin nesi?” diyerek başlıyorum ama önce sunucu nedir önce onu irdelememiz gerekirki sunucu sanallaştırma kavramanıda anlayalım.

Sunucu, istemciye bilgi sunan, diğer istemciler ile istemciyi konuşturan; bunun yanında bilgi depolayan veya bilgiyi başka biryerden başka bir yere taşıyan bilgisayar türüdür. Amacı son kullanıcıya yardım etmek olsa da, sistemi kuran kişiye çoğu zaman hiç yardımcı olmuyor 🙂 Aynı zaman da sunucular tek başına çalışmazlar. Örnek vermek gerekirse küme çalışma mantığı ile (cluster) verilerinizi birden çok sunucu üzerinde çalıştırabilirsiniz ve bir tanesi çökerse (fail over cluster – herhangi bir türkçesi yok ama meâli şudur; çökme anında sorumlu sunucuyu aktif hale getirmek) diğerki sunucu sistemin sürekliliğini sağlar.

Şimdi biraz resimli anlatıyım

linux_kafasi_svm001

Aynen böyle bir sunucu yapınız var. Yani yedekli bir sunucu yapınız var. Xen 001 sizin master, yani öncelikli sunucunuz (bu arada xen reklam amaçlı değildir. Aklıma ilk gelen basit cluster yapısı olduğu için yazmış bulundum 🙂 ), ve ram de bir çökme oldu sunucunuz çöktü o sırada. Sizin yapacağınız ilk işlem -cluster olmasaydı- müşterilerinize özür dileyecektiniz veya MySQL sunucunuz da o sırada kritik bir işlem yaparken çökmesi MySQL’in kafasını bulandırdı ve database’inizi okumuyor (bu nasıl olur bende bilmiyorum olaslık işte :)) veya o sırada elektrikler kesildi ve A departmanına yeni gelen malların girişini yapamıyorsunuz.

İşte buraya Cluster deyimi geliyor. Elbette Cluster sadece felaket senaryoları için geliştirilmiş bir kavram değil. İş gücünden tutunda -insan iş gücünden bahsediyorum-, çalıştıracağınız işçiye kadar herşeyi değiştiren bir yapı. Mantığı aslında Raid’den geliyor desem yanlış olmaz.

Sanallaştırma ise Cluster’dan farklı bir terim. Zaten ikiside farklı kulvarlar ama bir yerde kesişiyorlar. Sanallaştırma terimi -bence- 2005-2006 yılında çift çekirdek ve çift işlemci terimi daha popüler hâle gelince çıktı. Çünkü tek çekirdeğin neyini sanallaştıracaksın, önce kendi OS’unu beslesin. Sanallaştırma da amaç az kaynak, az enerji, az alan ile birden çok sunucu veya istemci barındırmak. Ayrıca enerji verimli datacenter’lar kurmak, bunun yanında daha az IT uzmanı çalıştırmak hatta ve hatta tek pencere üzerinden onlarca, yüzlerce hatta binlerce sunucuyu aynı anda yönetmek ve canınız sıkıldığında bir tanesini durdurup yedekli olan çalışan sunucun çalışmasını seyretmek (Not: denemenizi tavsiye etmem); hepsi sanallaştırma sayesinde oluyor.

Şimdi siz Mimarlık şirketinde bir IT hizmeti veren şirket veya bireysiniz diyelim. Mimarlık şirketlerinin vazgeçilmez teknolojik ürünleri; taşınabilir bilgisayarı, hızlı render alan makinalar ve kahve makinalarıdır. Şimdi bir sunucu yapısı kurmanız gerek ve kısıtlı bir bütçeniz var. Tek tek sunucu alıp hepsine görev vermektense,

linux_kafasi_svm003

yani resimde ki yaparsanız her sunucuya 1000 dolar verseniz 4000 dolara işi kapatacaksınız ki, hangi dhcp sunucusu %100 işlemci kullanıyor. Ama,

linux_kafasi_svm004

Bunun gibi yaparsanız bir sunucu için 1000 dolar verirsiniz ve üstünde biraz oynama ile 3 sunucu barındırısınız. Aynı zamanda üstteki görselde hdd’si bozuldu ram’i çöktü masrafında azcık kurtulmuş oldunuz ama burada bir sıkıntı var. Bu sunucu çökerse?

O zaman çözüm malesef 2 den fazla sunucu alıp bunları kümeleştirmek. En en üstteki birinci fotoğrafta Failover Cluster’lı iki Xen Server var. Bunlar üstünde de windows server 2003 var diyelim ve 3ds max için render node olarak ayarladınız. Bir çalışanınız o güzelim projesini iRay’den çıkartırken “Xen Server 001” çöktü ve

linux_kafasi_svm002

bu hale geldi sistem. Siz sanacaksınız ki o sırada bilgiler gitti. Hayır öyle birşey olsa cluster mantığı olmazdı. Cluster’ların amacı gerçek zamanlı olarak sistemi kendisine yedeklemek ve böylelikle sunucunuz çöktüğünde (Master sunucunuz) tekrar açılana kadar ikincil sunucunuz görev alacaktır.

Tabiki felaket senaryolarından biraz da gerçekçi senaryolara gelelim.

İnsan kaynakları departmanında bir CRM sunucunuz var. Ve CRM sunucunuza yeni bir güncelleme geldi ama Forum’larda okuduğunuz yorumlarda bu sürümün hiç de stabil olmadığını ve sorunlu olduğunu belirten yorumlar gördünüz ve içinize kurt düştü. O zaman yapacağınız ilk iş CRM sunucuzu sanallaştırma ortamına almak. Elbette bu biraz zaman alacaktır ama emin olun daha faydalı olacaktır. Ardından CRM sanallaştıktan sonra yapağanız iş -mümkün mertebe çalışan gittikten sonra yapın- snapshot alın ve sonra ki gün bir sıkıntı var mı diye bakarsanız. Sıkıntı mı çık bir gün önce ki yedeğe 1 ile 5 dakika içinde geriye alın.

Şimdi bu kadar uzun örnekte ben ne dedim 🙂 Snapshot ile uzun soluklu güncellemeleri yedekli bir şekilde yönetebilirsiniz örneğiydi.

Mesela Windows 2008R2’niz sanallaştırdınız ve güvenlik güncelleştirmesi geldi. Yapmadan önce Snapshot alın ve güncellemeleri yapın. Blue screen alıyorsunuz yeniden başlatmada. en başta aldığınız Snapshot’u başlatın ve sadece 1 ile 5 dakika içinde o güncellemeden önce ki sisteme kavuştunuz.

Veya virüs saldırısına uğrayan bir mail sunucunuz var. Dakikalar içinde virüssüz haline alabilirsiniz (ama Snapshot’ı aynı bir kahin gibi 1-2 saat önce almanız gerekir).

Sanallaştırılmış bir sistemin kurulumu elbette sadece tek bir sunucu kurulumdan biraz daha uzun ve emek isteyen bir işlem. Ama bir o kadar da uzun vadede çok faydasını göreceksiniz.

Olabildiğince anlatmaya çalıştım. Umarım ki bir yerde işinize yaracaktır ve size yardımım olacaktır bu satırlar.

Daha fazla sorunuz olursa “berkhan.berkdemir@linuxkafasi.org” den bana ulaşabilirsiniz. Yorumlarınızı bekliyorum.

İlk Yorum Sizden Gelsin

Bir Cevap Yazın

%d blogcu bunu beğendi: