Windows Server

Sistem Felaketlerine Çözümler -II (CLUSTER on Virtual Server 2005)

Fault Tolerans çözümleri hakkında konuşacak olsak cluster bu konuşmada çok uzun yer kaplayacaktır. Mantık olarak Bir sunucunun donanımsal arızası sonucu çökmesi durumunda onun üzerinde çalışan servis ve servisin datalarının ulaşılması ancak donanımsal problemin giderilmesi ile mümkün olur. Ya da standby beklettiğiniz bir sunucuya oradaki konfigürasyonu naklederek ve dataları çekerek ortama katmanız gerekir. Geliştiriciler bu konu üzerinde yaptıkları çalışmalar sonucu vardıkları noktada şunu düşünmüşler; datalar bir paylaşılabilir bir aygıtta olsa ve iki veya daha fazla sunucu bu paylaşıma erişebiliyor olsa ve sunuculardan biri hataya düştüğünde sistem hataya düşen sunucu üzerindeki servisi active olan diğer sunucuya geçirse ve o servisin (örneğin WINS) dataları da o paylaşılabilir aygıtta olduğundan servis o ana kadar tuttuğu verileri kaybetmeden hizmet vermeye devam etse .Evet gerçekten de fault tolerans sağlanmış olur bu konseptte. Fakat aslında real time olarak bir servisin diğer sunucuya geçmesi mümkün olmaz. Bu durumda cluster Fault Tolerans tan ziyade “High Availability” sağlamış olur. Hatanın algılanması ve servisin diğer sunucuya geçirilmesi elbette bir zaman kaybı oluşturacaktır. Fakat sonuçta data kaybı olmadan hizmet birkaç dakika içerisinde devam etmeye başlayacaktır. Bu da binlerce hit alan uygulamaların olduğu sunucuların 7/24 çalışması için yeterli olacaktır.

 

clip_image001

Yukarıdaki şekilde de görüldüğü üzere iki sunucu SCSI shared disklere bağlanmış durumda .Node dediğimiz cluster üyeleri Heartbeat denen prosess ile birbirlerinin yaşamları kontrol ederler. Bu kontrol işlemi cluster üyelerine özel oluşturulmuş network kullanılarak yapılır. Eğer bir node arıza durumuna geçerse ayarlarda uygun görülmüş diğer node kaynakları sahiplenme işlemi başlatır. Quorum denen cluster konfigurasyon database ise özetlemek gerekirse cluster üyelerini ve kaynakların durumu bilgisini tutar. Çok kısalttığımız bu geniş konunun uygulaması ancak doyurucu olur kanaatindeyim. Peki nasıl ? Herhalde kimsenin evinde SCSI shared aygıtlar ve iki sunu ve yeterli altyapı hazır beklemiyordur. Bu durumda size Virtual Server 2005 diyeceğim. Ve yazının gereken bölümünde size bu programın yukarıda anlattığımız hizmet için nasıl yapılandırılacağını anlatacağım.

Evvela Virtual Server 2005 indireceğiz. Nereden ?

http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/trial/default.mspx

Ben denemeyi Centrino 1.6 ve 1 GB RAM i olan XP Pro yüklü bir laptop da yaptım. PIII ve yeterli RAM e sahip bir makinede de yapmak mümkün olacaktır. Programı download edip kurduğumuzu varsayıyorum. Fakat kurulumdan önce IIS i yüklemeniz gerekmekte. Çünkü İnternet Explorer ile sanal makinelere ulaşacağız.

CD amblemine basıp yüklemeyi başlatabiliriz. Bu aşamadan sonra sırası ile bize lisanslamayı kabul edip etmedeğimiz sorulacak vkabul edip devam ettiğinizde de kurulumun Complete ve Custom olduğu sorulacak. Biz burada Complete seçeceğiz. Ve devam ettiğimizde bize sanal makinelerimize ulaşacağımız portumuzu gösterilecek.

clip_image002

Next deyip Install diyerek devam ettiğimizde kurulum tamamlanacak. “START / Programs / Microsoft Virtual Server / Virtual Server Administration Website” yolunu takip ederek sanal makinelerimizi oluşturmaya başlayabiliriz. Tıkladığımızda gelen sayfada ilk olarak yapmamız gereken sanal makinelere ulaşabilme ayarıdır.

clip_image003

Kırmızı renkli linki tıklayalım ve çıkan menuden VMRC serverı enable edelim.

clip_image004

Şimdi sıra ortam değişkenlerini tanımlamaya geldi. Bunun için yapmamız gereken “path” ler tanımlamak.

clip_image005

İşaretli menuyü tıklayarak çıkan menude hardisk ve makine ayar dosyalarının konuşlanacağı yerimizi belirleyelim.

clip_image006

Kendimiz için uygun yol tanımlarını yaptıktan sonra OK deyip bu menuden çıkabiliriz. Şimdi sıra network tanımlarına geldi. Yazının giriş kısmında bahsedildiği üzere cluster üyeleri yani node lar kendi aralarında bir özel network ile konuşmalılar.Ve bu networkü local networkumuzden izole etmemiz performansımızı ve karışıklıkları engelleyecektir. Öte yandan clientların da cluster üzerinde sunulan hizmetlere ulaşmaları için ikinci bir network ihtiyacı olacak. Bu durumda bizim ki network tanımı yapmamız gerekecek. Bunun için Soldaki menüden “Virtual Networks” başlığı altında bulunan Create linkini tıklayacağız.

clip_image007

Public yani client makineler ile paylaşacağımız network için ben Public adını uygun gördüm. Ve makinemde çalışır olan network kartımı seçtim. Sizde makinenızda aktif bulunan kartınızı seçin. OK dedikten sonra ikinci networkü yani Cluster node larının kullanacağı networku oluşturalım.

clip_image008

Bu networkun adını da Private koyduk . Ve Network adapter olarak ta “None (Guest Only) seçtik. OK dedikten sonra bu menüde işimiz bitmiş olacak.

Sıra geldi disklerimizi tanımlamaya. Burada yapacağımız 3 adet disk tanımlamak. Bunlardan biri işletim sistemini kuracağımız disk diğer ikisi ise shared device olarak kullanacağımız diskler. Bunları oluştururken dikkat etmemiz gereken husus İşletim sistemini dinamik olarak gerektikçe büyüyebilen türden bir disk kullanabilirken cluster için kullanacağımız disklerin fix tanımlanması olacak.

clip_image009

clip_image010

Location bölümünde disklerin bulunması için belirlediğimiz yeri seçip isim olarak ta KlonMasterı belirledik. İsminden de anlaşılacağı üzere bu diski bize lazım olan 3 serverı ayrı ayrı kurmaktansa bir tane kurup onu sysprep marifeti ile klonlamak olacak (Dolly mevzuu) . Create dediğimizde sistem bir süre oluşturma işlemi için bekleyecek ama bizim beklememize gerek yok. Diğer diskleri oluşturabiliriz.

clip_image011

Gene aynı menüde bir alt linki tıklayarak sabit boyutlu disklerimizi oluşturalım. Normalde Quorum bilgisinin tutulduğu partition 50-500 MB arası olması gerekir. Biz 0.5 GB lık bir “Q ” drive oluşturalım.

clip_image012

Create diyerek “q” isminde bir disk oluşturmuş olduk. Aynı işlemi bir de “R” olarak yapalım . Ve şu an elimizde toplam 3 adet disk olsun.

clip_image013

Sıra geldi filmin en heyecanlı yerine yani serverımızı oluşturmaya.

clip_image014

Sol frame den “Virtual Machines” başlığı altında Create linkini tıklayaarak ilk adımı atmış olduk. Burada Name kısmına sanal makinemizin ismini yazalım ve RAM belirleyelim Virtual Hard disk için daha evvel oluşturduğumuz KlonMaster ı seçelim. Network olarak ta daha evvel oluşturduğumuz

Public i seçelim. Ok dediğimizde artık kurulum yapmaya hazır bir makinemiz var

clip_image015

Navigation altında bulunan Master Status u tıkladığımızda sağ bölümde oluşturduğumu makineyi göreceğiz. Ve resimdeki gibi çıkan menüde Turn On yaparak makinemizi başlatalım. Bu süreçte sizin makinenize bir adet bootable Win2003 cd si takmış olmanız gerekiyor. Kuruluş işlemini yaptığınızı varsayıyorum. En azından bende kurulmuşu var J. Kurulu makinenin C sürücüsünde Deploy adlı bir klasör oluşturalım. Ve bu klasörün içine deploy.cab dosyasını cd den bulup extract edelim. Klaörün içinde bulunan Sysprep adlı dosyayı tıkladığımızda karşımıza bir menü gelecek.

clip_image016

Reseal dediğimizde sistem bir süre işlem yaptıktan sonra kendini kapatacaktır. Sanal makinemiz kapandıktan sonra harddisk lerin bulunması için tanımladığımız yere gidip orada bulunan KlonMaster.vhd dosyasını kopyalayarak çoğaltalım ve isimlerini DC, Node1,Node2 koyalım. Tavsiyem KlonMaster kalmaya devam etsin . Çünkü bu dosyayı başka deneylerde lazım olacak server kurulumları için kullanabiliriz.

Yukarıdaki işlemler bittikten sonra . Sıra yeni sanal makineler oluşturmaya geldi. Daha evvel yaptığımız prosedürü takip ederek sanal makinemizi oluşturalım.

clip_image017

Hardisk sekmesini tıklayarak daha evvel kopyalayarak çoğaltıp ismini dc.vhd yaptığımız dosyayı seçelim. Network adapter olarak ta gene daha evvel create ettiğimiz Public i seçelim . OK diyelim. Ve şimdi Master Status ten adı DC olan makinemizi Turn ON yapalım. Sysprep lediğimiz için kuruluşun tamamlanması için gerekli bilgileri girelim (Org .İsmi,ComputerName Product ID vs.) . İşlem bittiğinde artık hazır bir makinemiz olacak. Ve TCP/IP ayarlarını yapmamız gerekecek. IP adresi olarak ben 192.168.100.100/24 ve DNS adresi olarak ta kendini gösterdim. Local Are Connection ismini rename ederek Public yapalım. Sonuç olarak START/Run deyip dcpromo komutunu yürütelim. Makinemiz işlem sonunda bir Domain Controller olacak.

Bu işlem bitmeden veya makinenizin gücüne bağlı olarak bittikten sonra diğer iki sanal makineyi de create etmemiz gerekecek. Bunların DC den farklı olarak iki adet Network adapter ları olacak. Ve adı Node1 olan için harddisk olarak node1.vhd seçilecek, Node2 olan için ise Node2.vhd seçilecek.

clip_image018

Bu ayarlardaki farklılıklardan ibir olan Netwrok adapters teki Private netwrokünü eklenmesi için bu Netwrok Adapters linkini tıklamanız ve orada da Private networkunu eklememiz gerekecek. Aynı işlemi Node2 için yapacağız tabiiki onda da hardisk olarak node2.vhd yi seçeceğiz . Ve network olarak ta onda da Public ve Private bulunacak. Bu sanal makineleri oluşturma işlemi bittikten sonra bunları da Turn On yaparak açılmalarını sağlayalım. Açılış işlemleri bittikten sonra her bir makine de TCP/IP ayarları yapmamız gerekecek. Node1 için konuşacak olursak “Local Area Connection 1” Local Area Connection 2” göreceğiz . Local Area Connection 1”

İn ismini Public Local Area Connection 2” ismini ise Private olarak değiştirelim. Public networkumuzun TCP/IP ayarını 192.168.100.1 /24 DNS olarak ta 192.168.100.100 yapalım. Private Networku için IP adresini 192.168.200.1 /24 yapalım. Ve Node 1 in DC ye ping atıp atmadığını kontrol edelim. Eğer attı iseniz Node1 biri domain e üye edelim. Node2 içinde yukarıdaki işlemleri yapalım . IP adresi olarak Public için 192.168.100.2/24 Private için de 192.168.200.2/24 yapalım. Node2’yi de domain e katalım. Ve sistemlerimizin restartlardan sonra çalıştığına emin olduktan sonra Node1 ve Node 2 makinalarını kapatalım. Bu arada Bir makineden diğerine geçmek için Ctrl+Alt Gr tuş kombinasyonunu kullanmamız gerekiyor. Sanal makine ekranından kurtulduktan sonra URL de makine ismini değiştirerekte bir diğer makineye geçebilirsiniz veya Master Status u tıklayarak çalışan diğer makinelerinizi de görebilirsiniz. Kapalı olan Node1 in bazı ek ayarlara ihtiyacı olacak. Nedir bunlar daha evvel create ettiğimiz Q ve R disklerinin takılması. Bu işlem için Node1 in konfigürasyon sayfasına gidelim ve orada SCSI Adapters linkini tıklayalım

clip_image019

Burada sisteme iki adet Virtual SCSI adapter ekleyeceğiz. Eklerken “Shared SCSI bus for clustering” seçeneğini tıklamayı unutmayalım. Artı söylenecek burada SCSI ID olarak ikisinde de 7 seçili olsun. Yalnız gene unutmadan Node2 için bu ID ler ikisinde de 6 olacak. OK dedikten sonra konfigürasyon sayfasında harddisk linki tıklanacak ve orada şekildeki gibi HDD ler eklenecek.

clip_image020

OK dedikten sonra Node1 cluster için hazır duruma gelmiş oldu. Node2 yi kapalı tutma şartı ile Node1 Turn ON yapalım. Domaine logon işlemi bittikten sonra Disk Manager ı açalım. Yeni taktığımız diskleri bulacak.ve bu diskleri signature etmemiz gerekecek.

clip_image021

clip_image022

yukarıdaki işlemleri yaparken diskleri sakın dynamic diske çevirmeyi seçmeyin sadece initiliaze edeceğiz.

Bu işlemlerden sonra disklerimize letter belirleyip format atmamız gerekecek. Disk1 için “Q” disk için “R” letter larını seçelim. Bu işlemlerden sonra Q ve R drive larına erişimimizi kontrol edelim .Problem yokda START/Administrative Tools/Cluster Administrator ikonuna ulaşalım. Bu kısa yolu tıkladığımızda karşımıza çıkan menüden yeni bir cluster oluşturmamıza yarayacak “Create New Cluster” ı seçelim.

clip_image023

İlerleyen aşamada kurulum bize bir sihirbaz sunacak. Ve Next diyerek ilerleyelim..Aşağıdaki ekranda Cluster için bir isim belirleyelim.

clip_image024

Yukarıdaki testin başarılı bir şekilde bitmesi durumunda next diyerek bir sonraki aşamaya geçilecek.

clip_image025

Cluster bağlanacak management tolları için cluster a vereceğimiz IP adresini girelim. Ve bir sonraki aşama için DC de bir account oluşturmamız gerekecek. Oluşturduğumuz account name için ben “cluster” seçtim. Bu accountu bir de Domain Admins gurubuna üye yapıp passwordunun de expire olmaması için ayar yapmalıyız.

clip_image026

Bu account ve passwordun girilmesi ile sistem kurulumu bitirme aşamasına getirmiş olacak ve servisin start olması için son ayarları yapacak.

clip_image027

Ve next dedikten sonra kuruluş işlemi bitmiş olacak. Şimdi Sıra Node2 nin cluster ayarlarına geldi bu işlem için evvela Node2 ye Q ve R disk lerinin eklenmesi gerekcek . Node1 için yaptığımız disk ekleme işlemini şimdi de Node2 için yapalım. Kapalı durumda olana Node2 nin konfigürasyon sayfasına gelelim . aşağıdaki ayarları yapalım. Dikkat SCSI ID 6

clip_image028

clip_image029

Bu ayarlardan sonra Node2 yi Turn ON yapalım. Makinenin açlışı bittikten sonra START/Administrative Tools/Cluster Administrator ikonuna ulaşıp tıklayalım. Gelen pencerede yeni node u ekleyebilmek için seçim yapmamız gerekecek. Bunun için “Add nodes to cluster” seçeneğini seçelim. Node1 kurarken cluster a verdiğimiz ismi de Cluster name kısmını girelim. İşlem bittikten sonra OK tıklanacak.

clip_image030

clip_image031

Browse kullanarak sistemimizde computer accountu olan bilgisayarlar gelecek biz de buradan Node2 yi seçeceğiz. Seçim yapıldıktan sonra Next diyerek devam edelim. Artık sistem bir diagnostic test yapıp bizden cluste servisi için öngördüğümüz accountun passwordunu isteyecektir.

clip_image032

Bu işlemlerden sonra artık 2 node tan oluşan bir cluster sistemine sahip olmuş olacağız.

clip_image033

Şimdi burada söylenmesi gereken bir husus şudur ki . Shared-Nothing mantığı ile çalışan bir cluster kurmuş olduk. Ne demek derseniz sistemler kendine takılı diskleri görselerde siz sadece o an aktif (owner) olan node ta ancak bu diskleri Explorer yapabilirsiniz. Bu durumda iki node aynı anda diske yazamaz. Böylece test için Node1 i kapattığınızda Node2 nin de diske ulaştığını göreceksiniz. Clusterın çalışıp çalışmadığını anlamak için default oluşan grubu move etmeniz yeterli. Bunun için yukarıdaki resimde de görülen Groups (virtual server) un içine girip default Cluster Group un üzerinde farenizin sağ tuşunu tıklayarak move yapmanız yeterli. Göreceksiniz sistem bu gurubu Node2 ye otomatik olarak taşıyacaktır. Yani Node1’de oluşan arıza sonucu sistemin Node2 ye groupları taşımasının manuel olarak yapılması oldu bu işlem .

Hoşçakalın.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu