Etiket arşivi: Quick Migration Nedir?

Hyper-V Failover Cluster Kurulumu (Bölüm-7)

 

 

Önceki bölümler doğrultusunda failover cluster yapımızı hazırladığımıza göre, artık cluster yeteneklerini test edebiliriz.  

10. Hyper-V Failover Cluster Sonrası Gelen Yetenekler

 

10.1. Quick Migration – QM (Hızlı Taşıma)

 

10.1.1. Quick Migration Nedir? 

 

Quick Migration yani hostlar arası Hızlı Taşıma özelliği cluster temelli bir özelliktir. Kullanım amacı ise bir fiziksel node üzerinde çalışan sanal makineyi, hızlı bir şekilde diğer fiziksel node üzerine taşımaktır. Yani QM, sanal makine seviyesinde hızlı taşıma sağlıyor.

 

Konuyu küçük bir senaryo ile örneklendirelim. 

 

Yukarıda bir failover cluster yapısı kurduk ve üzerinde Cluster-XP isimli bir VM var. Bu VM şu an HV-Node1 fiziksel sunucusu üzerinde çalışıyor. Herhangi bir nedenden dolayı  HV-Node1’in kapatılması gerekiyor (Örneğin sunucuya fiziksel olarak ram ilavesi yapacağız). Bu durumda Quick Migration özelliğini kullanarak birkaç küçük tıklama ile HV-Node1 üzerinde çalışan Cluster-XP isimli VM’i, tüm içeriği ile birlikte cluster’ın diğer üyesi olan HV-Node2 üzerine taşımamız mümkün. İşimiz bittikten sonra HV-Node2 üzerinde çalışan VM’i tekrar Quick Migration ile eski konumuna geri alabiliriz.

 

 

Bu özellik Live Migration yani Canlı Taşıma özelliği ile karıştırılmamalı ki bu sık yapılan hatalardan birisi.

 

 

Quick Migration ile taşıma sırasında VM network üzerinde hizmet veremez ve taşıma sonrasında hizmet verdiği session’lar kapanmış, connection’lar kesilmiş durumdadır. QM’in en önemli karakteristiği budur, taşıma esnasında VM’e erişim kesilir!

 

 

Quick Migration aşağıdaki ürünler ile kullanılabilir (cluster üyesi node’lar bu işletim sistemlerinden biri olmalı):

 

 

·         Windows Server 2008 (Enterprise, Datacenter)

 

·         Hyper-V Server 2008

 

·         Windows Server 2008 R2 (Enterprise, Datacenter)

 

·         Hyper-V Server 2008 R2

 

 

Live Migration ise tamamen canlı bir taşıma teknolojisidir. Taşıma sırasında VM network üzerinde hizmet verebilir durumdadır ve taşıma süresince üzerindeki servis ve uygulamalara erişim kesilmez. Taşıma tamamlandıktan sonra session’lar ve tüm connection’lar hala bağlı ve açık durumdadır. LM’in en önemli karakteristiği ise taşıma esnasında VM’e ve üzerindeki servislere erişilebiliyor olmasıdır.

 

 

Live Migration R2 ile gelen bir özelliktir ve aşağıdaki ürünler ile kullanılabilir (cluster üyesi node’lar bu işletim sistemlerinden biri olmalı):

 

 

·         Windows Server 2008 R2 (Enterprise, Datacenter)

 

·         Hyper-V Server 2008 R2

 

 

Quick Migration ile taşıma sırasında VM’e erişim durduğu için taşıma işleminin süresi önem kazanıyor çünkü süre ne kadar uzarsa, VM o kadar hizmet dışı kalacaktır. Peki bu süre ne kadardır ve süreye etki eden faktörler nelerdir?

 

 

Aslında bu konuyu fazla detaylandırmak istemiyorum çünkü önümüzdeki makalelerde ayrıntılı olarak ele alacağız. Ama ön bilgi olması açısından şunları söyleyelim.

 

 

VM’in memory miktarı başta olmak üzere, node’lar ile storage arasındaki bağlantı tipi ve storage üzerindeki disklerin tipi/hızı Quick Migration işleminin süresine direkt olarak etki eden temel faktörlerdir.

 

 

Bunun nedenini anlamak için Quick Migration işleminin background’una bakmak gerekir.

 

 

Quick Migration esnasında gerçekleşen işlemler sırası kabaca şöyle.

 

 

1. VM saved state duruma alınır.

 

2. VM durumu (VSV ve BIN bilgisi) diğer node üzerine taşınır.

 

3. VM diğer node üzerinde start edilir. VSV ve BIN dosyaları sayesinde kaldığı yerden çalışmaya devam eder.

 

 

Bir VM için QM (Quick Migration) komutunu verdikten sonra, VM bulunduğu host üzerinde saved state dediğimiz bir duruma alınır (VM’in o anki durumu ile dondurulduğunu düşünün). VM’in o anki durumunu (başta sanal memory içeriğini ve process bilgilerini) tutan dosyalar ise VSV ve BIN dosyalarıdır. QM işleminin süresine etki eden temel faktör bu dosyaların boyutlarıdır. Bu dosyaların boyutları ise VM’e atadığımız sanal memory miktarı ile doğru orantılıdır.

 

 

Örneğin 256MB memory’e sahip bir VM için yaklaşık 256mb boyutunda bir BIN dosyası vardır ve bunun QM sırasında save edilmesi, bilgisinin diğer node üzerine taşınması gerekir.

 

 

Ama 2GB memory’e sahip bir VM için 2048mb boyutunda bir BIN dosyası vardır ve haliyle taşıma işlemi daha uzun sürecektir.

 

 

Bunun dışında storage ve node’lar arasındaki bağlantı teknolojisi de bu taşıma işleminin hızına direkt olarak etki edecektir.

 

 

Dediğim gibi ayrıntılar daha sonra 🙂

 

 

Bizim kurmuş olduğumuz iSCSI cluster yapısında 1GB ram’e sahip makineyi 10sn gibi bir sürede QM ile diğer node’a taşıyabiliyoruz.

 

 

Aşağıdaki tablo ise storage bağlantı teknolojileri ve VM üzerindeki ram miktarına göre bazı ortalama rakamları yansıtmaktadır. iSCSI tarafındaki rakamlara takılmayın, süreler çok daha aşağılara çekilebiliyor.

 

 

VM Memory

 

1 GbE iSCSI

 

2 Gb FC

 

4 Gb FC

 

512 MB

 

~8 seconds

 

~4 seconds

 

~2 seconds

 

1 GB

 

~16 seconds

 

~8 seconds

 

~4 seconds

 

2 GB

 

~32 seconds

 

~16 seconds

 

~8 seconds

 

4 GB

 

~64 seconds

 

~32 seconds

 

~16 seconds

 

8 GB

 

~2 minutes

 

~64 seconds

 

~32 seconds

 

 

 

Quick Migration işlemi biz yöneticiler tarafından başlatılır ve geçiş süresince VM’in erişilemez durumda olacağı bilinir. Bu nedenle QM’i planlı kesintiler sınıfına sokabiliriz.

 

 

Şimdi kurmuş olduğumuz failover cluster yapısında QM (Quick Migration)’i nasıl yapıyoruz bir bakalım. Hem de yapıyı test etmiş olalım.

 

 

10.1.2. Quick Migration Nasıl Yapılır?

 

 

HV-Node1 üzerinde Failover Cluster Management konsolunu açıyoruz.

 

 

QM işlemini Failover Cluster konsolu üzerinden yapabileceğimiz gibi SC Virtual Machine Manager 2008 ile de yapabiliriz.

 

 

Services and  Applications altındaki Virtual Machine servisine sağ tıklıyoruz ve Move virtual machine(s) to another node altındaki Move virtual machine(s) to node ‘HV-Node2’ seçiyoruz.

 

 

Bu komut ile Virtual Machine servisi içerisinde eklemiş olduğumuz ve şu an HV-Node1 tarafından sahiplenilmiş olan VM’i/VM’leri, HV-Node2 üzerine QM yapıyoruz (biz bir adet eklemiştik: Cluster-XP).

 

 

clip_image002

 

Komutu verdikten sonra işlem hemen başlıyor. Aşağıda da gördüğüz gibi öncelikle VM save ediliyor yani saved state durumuna geçiyor.

 

 

Bu esnada ilgili VM’in sahibi (Current Owner) HV-Node1. VM HV-Node1 üzerinde çalışıyor. Bunu da aşağıda görebiliyoruz.

 

 

clip_image004

 

 

Saving işlemi saniyeler içinde tamamlandıktan sonra ilgili VM artık diğer node’a (bizim yapımızda HV-Node2) devrediliyor ve owner’lık değişiyor.

 

 

VM HV-Node2 üzerinde start olmaya başladı. Artık Current Owner HV-Node2.

 

 

clip_image006

 

 

Kısa bir süre içerisinde işlem tamamlanıyor ve Cluster-XP isimli makine diğer HV-Node2 üzerinde çalışmaya devam ediyor.

 

 

clip_image008

 

 

Bu noktada HV-Node1 yani Cluster-XP’nin eski sahibi olan node üzerinde Hyper-V Manager konsolunu açarsanız, Cluster-XP’nin yer almadığını görebilirsiniz. Çünkü artık diğer node üzerinde.

 

clip_image010

 

 

HV-Node2 üzerinde ise Hyper-V Manager konsolunu açtığınızda Cluster-XP’nin yer aldığını görebilirsiniz.

 

 

clip_image012

 

 

Hatırlarsanız Cluster-XP VM’i HV-Node1 üzerinde çalışırken, clustered diskler de HV-Node1 üzerinde direkt olarak erişilebilir durumdaydı.

 

 

Şu an ise clustered diskler den birisi (VM’in yer aldığı disk) otomatik olarak HV-Node2 üzerinde erişilebilir duruma geçti.

 

 

clip_image014

 

 

 

Diğer clustered disk yani quorum bilgisinin tutan disk ise hala HV-Node1 üzerinde çalışıyor çünkü HV-Node1 up durumda. QM işleminde quorum diskin yeri değişmez.

 

 

Disk sahiplik durumlarını Failover Cluster Management konsolunda Storage bölümünde daha net görebilirsiniz.

 

 

clip_image016

 

 

 

Quick Migration başlatmadan hemen önce network üzerinden Cluster-XP sanal makinesine ping atmaya başlamıştım.

 

 

QM bitene kadar olan ping istatistiği aşağıdaki gibidir.

 

 

clip_image018

 

 

 

Görüldüğü gibi 5 ping paketi kaybı sonrasında VM tekrar network üzerinde erişilebilir hale gelmiş.

 

 

Şimdi VM’i tekrar eski yerine taşıyalım. Yani HV-Node2 üzerinden yine HV-Node1 üzerine alalım.

 

 

Yine Failover Cluster Management konsolu üzerinde Services and  Applications altındaki Virtual Machine servisine sağ tıklıyoruz ve Move virtual machine(s) to another node altındaki Move virtual machine(s) to node ‘HV-Node1’ seçiyoruz.

 

 

Eğer cluster yapımızda başka node’lar olsaydı onları da burada görüyor olacaktık.

 

 

clip_image020

 

 

 

Bu komut sonrası yine VM hızlıca save ediliyor.

 

 

clip_image022

 

 

 

Ve HV-Node1 üzerinde tekrar start ediliyor.

 

 

clip_image024

 

 

 

Taşıma işlemi bittiğinde current owner olarak HV-Node1 görünüyor ve VM online/running durumda.

 

 

clip_image026

 

 

 

Quick Migration işlemi bu kadar. Gördüğünüz gibi birkaç küçük tıklama ile VM’leri cluster üyesi sunucular arasında rahatlıkla dolaştırabiliyoruz 🙂

 

 

10.2. VM Failover (Sanal Makine Hata Telafisi)

 

 

10.2.1. VM Failover Nedir?

 

 

Cluster yapısına eklenmiş Host ve VM’ler için failover yeteneği temelde bir HA (High Availability) özelliğidir.

 

 

Cluster üyesi Node’lardan birinin başına bir şey geldiğinde (donanımsal bir başarısızlık nedeni ile sunucunun down olması gibi), down olan node üzerindeki servis ve uygulamanın (bizim yapımızda Virtual Machine servisi) up durumda olan diğer node üzerinde hizmet vermeye devam etmesi durumudur.

 

 

Yine küçük bir senaryo ile örneklendirelim.

 

 

Yapımızdaki Cluster-XP makinesi şu an HV-Node1 üzerinde çalışıyor. Diğer cluster üyesi node ise HV-Node2 ve şu an pasive node konumunda bekliyor.

 

 

Gün içerisinde HV-Node1 üzerinde bir donanım arızası oluşuyor ve sunucu bir anda down oluyor. Kısa bir süre içerisinde telefonlar yağmaya başlıyor çünkü HV-Node1 üzerinde hizmet veren VM ve servislere erişilemiyor ve bu hizmetleri kullanan kullanıcılarımız hemen telefona sarılıyor 🙂

 

 

Hatırlarsanız makalenin ilk bölümlerinde heartbeat isimli bir network ten bahsetmiştik. Bu network için farklı bir ip config yaparak public networkten ayırmış ve cluster üyesi sunucuların bu network üzerinden birbirlerini yokladıklarını, up durumda olup olmadıklarını kontrol ettiklerini söylemiştik. İşte bu network üzerinden yapılan kontroller sırasında down olmuş bir node tespit edilirse, otomatik olarak gerekli aksiyon alınabiliyor.

 

 

Senaryomuza dönersek, HV-Node1 down olduğu zaman HV-Node2 bunu kısa süre içerisinde fark edebiliyor çünkü sunucular heartbeat network üzerinden sürekli birbirlerini kontrol ediyor. Daha sonra HV-Node2 gerekli cluster kaynaklarını ve HV-Node1 üzerinde çalışan servisleri otomatik olarak kendi üzerine alıyor yani VM’ler otomatik olarak HV-Node2 üzerinde failover oluyor (hata telafisi).

 

 

Bu noktada geçen süre, node’un down olduğuna karar verilmesi ve ilgili kaynakların diğer node üzerine taşınması gibi işlemler ile birlikte ortalama 1-2 dakikadır (değişkenlik gösterir). Node’lar arası kontrol süresini çok kısa tutmak sağlıklı değildir çünkü heartbeat network üzerinde meydana gelebilecek anlık ve ya kısa süreli geçici problemlerde node’lar birbirine ulaşamaz ise ortalık bir anda karışabilir 🙂

 

 

Bir sunucunun down olması durumu biz yöneticilerin isteği dışında gerçekleşen bir olay olduğu için plansız kesintiler sınıfına sokuyoruz.

 

 

Şimdi failover aksiyonunu test edelim.

 

 

10.2.1. VM Failover Nasıl Yapılır?

 

 

Yapılması gereken ekstra bir ayar yok. Daha önceden kurmuş olduğumuz failover cluster yapısı dahilinde bu özellik otomatik olarak etkin durumdadır. Cluster yapısına Services and  Applications olarak Virtual Machine servisinin eklenmesi ve ilgili VM’lerin seçilmesi yeterli (biz bunu zaten yapmıştık).

 

 

HV-Node1 üzerinde Failover Cluster Management konsolunu açtığımızda Virtual Machine servisinin sahibinin HV-Node1 olduğunu görebiliyoruz ve servis şu an online durumda.

 

 

clip_image028

 

 

 

Nodes altında HV-Node1’e baktığımızda her iki clustered disk’in ve virtual machine servisinin HV-Node1 üzerinde olduğunu açıkça görebiliyoruz.  Yani aktive node durumunda.

 

 

Ayrıca node up durumda.

 

 

clip_image030

 

 

 

Şu an HV-Node2 ye baktığımızda ise üzerinde hiçbir cluster kaynağının olmadığını görüyoruz. Yani pasive node durumunda.

 

 

Ayrıca o da up durumda.

 

 

clip_image032

 

 

 

Şimdi herhangi bir nedenden dolayı HV-Node1’in down olduğunu düşünelim. Ben test için HV-Node1’in fişini çekiyorum 🙂

 

 

Cluster ortamı hemen HV-Node1 de bir problem olduğunu anlıyor. Aşağıdaki görüntüde HV-Node-1 üzerindeki küçük kırmızı uyarıyı görebilirsiniz.

 

 

Ayrıca şu an Virtual Machine servisinin sahibi hala HV-Node1.

 

 

clip_image034

 

 

 

Saniyeler içerisinde servis pending duruma geçiyor ve HV-Node2’ye aktarılıyor.

 

 

clip_image036

 

 

 

İşlem tamamlandığında servisin yeni sahibi HV-Node2 ve Cluster-XP online olmuş durumda.

 

 

clip_image038

 

 

 

HV-Node1 şu an kapalı durumda bekliyor ve üzerinde hiçbir cluster kaynağı olmadığını görebiliyorsunuz.

 

 

clip_image040

 

 

 

HV-Node2 ise tüm cluster kaynaklarını kendi üzerine almış durumda ve sistem çalışmaya devam ediyor.

 

 

clip_image042

 

 

 

Storage bölümünden baktığımızda ise iki diskin de HV-Node2 tarafından sahiplenildiğini görüyoruz.

 

 

QM işlemini hatırlayın, sadece VM’in olduğu diskin sahipliği değişiyordu çünkü planlı bir kesintiydi ve diğer Node up durumdaydı.

 

 

Failover da ise HV-Node1 down olduğu için quorum diski de diğer node üzerine taşınmış durumda.

 

 

clip_image044

 

 

 

Şimdi down durumda olan HV-Node1’i tekrar açıyorum.

 

 

Cluster yapısı hemen HV-Node1’in up olduğunu anlıyor ve bu durumu Failover Cluster Management konsolu üzerinde görebiliyoruz.

 

 

Şu an VM’i QM ile eski yerine yani HV-Node1 üzerine alabiliriz yada bu şekilde bırakabiliriz.

 

 

HV-Node1 üzerine almak için Move virtual machine(s) to node ‘HV-Node1’ dememiz yeterli.

 

 

clip_image046

 

 

 

Saving …

 

 

clip_image048

 

 

 

Ve Starting…

 

 

clip_image050

 

 

 

Sonrasında Virtual Machine servisinin sahibi tekrar HV-Node1 olur.

 

 

clip_image052

 

 

Quorum disk ise hala HV-Node2 üzerindedir çünkü QM ile quorum yada diğer clustered disklerin taşınmadığını söylemiştik.

 

 

Quick Migration ve Failover(HA) özelliklerini test ettikten sonra iSCSI Storage ile Hyper-V Failover Cluster makalemizin sonuna gelmiş olduk.

 

 

Bu makalede öğrendikleriniz ile fiber channel storage kullanarak ta aynı yapıyı kurmanız mümkün. Belki bazı konfigürasyon adımlarında değişiklikler olabilir ancak olayın mantığı tamamen aynı.

 

 

Bu yapı üzerinde Hyper-V R2 ile gelen Live Migration özelliğini de kullanabilirsiniz. Ekstra bir şeye gerek yok. QM yaparmış gibi LM yapabilirsiniz. Sadece Host sistemlerin Windows Server 2008 R2 yada Hyper-V Server 2008 R2 olması gerekiyor.

 

 

Herkese iyi çalışmalar.

 

 

Serhat AKINCI – IT Pro.

 

Hyper-V Failover Cluster Kurulumu (Bölüm-6)

 

 

    Önceki bölümde failover cluster kurulumunu gerçekleştirmiştik. Bu bölümde ise cluster yapımıza sanal makineleri yani Virtual Machine servisini ekliyoruz.

 

9. Hyper-V Sanal Makinelerini Cluster Yapısına Dahil Etmek

 

Failover Cluster kurulumunu tamamlamış ve nodeları cluster yapısı içerisinde görüyor olmamız, sanal makinelerin cluster ortamında çalışmaya başlaması için yeterli değil.

Cluster kurulumu sonrasında ilgili servisin yada uygulamanın cluster yapısına ayrıca eklenmesi gerekiyor. Failover Cluster yönetim konsolunu açarsanız henüz herhangi bir uygulama/servis olmadığını görebilirsiniz.

clip_image002

Yani cluster kurulumu yapmak, sanal makinelerin High Available olması için yeterli değil. Ayrıca henüz Nodelar üzerine Hyper-V kurulumu da yapmadık.

9.1. Nodelar Üzerine Hyper-V Kurulumu

Biz Hyper-V üzerinde çalışan sanal makineleri failover cluster yapısına almak istediğimiz için, servis ve uygulama olarak Virtual Machine ekleyeceğiz. Ama bunun öncesinde fiziksel Node’lar üzerine Hyper-V rolünü eklemeliyiz yani Hyper-V kurulumunu yapmalıyız. Hatırlarsanız Hyper-V kurulumunu cluster öncesinde veya cluster sonrası yapabileceğimizi söylemiştik.

Server Manager konsolunda, Roles bölümünde, Hyper-V rolünü seçerek ileri dedikten sonra wizard yardımı ile birkaç ayar yaparak Hyper-V rolünü eklemeniz mümkün.

clip_image004

clip_image006

clip_image008

clip_image010

Hyper-V kurulumu ile ilgili fazla detaya girmiyorum. Bu konunun ayrıntıları için daha önceki makalelerime bakabilirsiniz.

Her iki fiziksel node üzerine (HV-Node1 ve HV-Node2) Hyper-V kurulumunu doğru olarak yaptıktan ve çalıştığından emin olduktan sonra devam edebiliriz.

9.2. Test için Sanal Makine (VM) Yaratılması

Test amaçlı yeni bir VM (sanal makine) yaratalım ve nodeların bu VM’i çalıştırıp çalıştıramadığını kontrol edelim.

Failover Cluster yapısına almak istediğimiz VM’lerin storage üzerindeki ortak birimlerde duruyor olması ve cluster nodelarının bu birime/birimlere erişebiliyor olması gerektiğinden daha önce bahsetmiştik.

Hatırlarsanız storage üzerinde iki Virtual Disk yaratıp bunları node’lar üzerine atamıştık. Birini cluster bilgisini tutan Quorum için kullandık (2GB olan). Diğer disk ise hala boşta (30GB olan). Boşta olan diski VM için kullanacağız.

Öncelikle HV-Node1 üzerinde Disk Management’ı açıyoruz ve bu disk üzerinde NTFS formatlı bir partition oluşturuyoruz.

clip_image012

Wizard yardımı ile partition oluşturma işlemini tamamlayalım.

clip_image014

HV-Node1 üzerinde Computer penceresinde oluşan volume’u görebiliriz. Ben ismini VMs olarak değiştirdim.

clip_image016

Dikkat ederseniz Type olarak Clustered Disk görünüyor.

Hemen üstünde ise daha önce biçimlendirdiğimiz ve quorum bilgisinin tutan Quorum bölümünü de görebiliyoruz.

Peki şu an HV-Node2 üzerinde durum ne?

HV-Node2 üzerinde Server Manager> Disk Management bölümüne gelirseniz, HV-Node1 üzerinde biçimlendirdiğimiz disklerin HV-Node2 üzerinde Reserved durumda olduğunu görebilirsiniz.

clip_image018

Yine HV-Node1’e dönelim ve Cluster Management konsolundaki duruma bakalım.

clip_image020

Gördüğünüz gibi iki diskte storage bölümünde listeleniyor. Disklerin şu anki sahibi ise HV-Node1.

Şimdi HV-Node1 üzerinde yeni bir VM yaratalım ve bu VM storage üzerinden atadığımız diskte bulunan VMs (H:\) partition’ı içerisinde dursun.

Sıradan bir VM yaratmaktan farkı yok. Sadece VM’in duracağı yer olarak storage üzerinden gelen clustered disk’i göstermemiz gerekiyor.

clip_image022

VM yaratmak ile ilgili ayrıntıya girmiyorum. Eğer nasıl yaratılacağını bilmiyorsanız, bu konu için daha önce yazmış olduğum makalelere göz atabilirsiniz.

VM’i yarattıktan ve içerisine Guest OS kurduktan sonra aşağıdaki gibi görünüyor olmalı.

clip_image024

Yukarıda gördüğünüz gibi Cluster-XP isimli sanal makine, HV-Node1 üzerinde çalışıyor. Ama sanal makinenin vhd formatlı sanal diski ve diğer ilgili dosyaları H:\ yani clustered disk üzerinde duruyor.

Şimdi Failover Cluster yapımıza Services and Apllications olarak Virtual Machine ekleyeceğiz ve yarattığımız VM’i High Available yapacağız.

9.3. Failover Cluster Yapısına Virtual Machine Servisini Eklemek

HV-Node1 üzerinden Failover Cluster Management konsolunda Services and Apllications üzerinde sağ tıklıyoruz ve Configure a Service or Application diyoruz.

High Availability Wizard açılıyor.

clip_image026

Next diyoruz.

clip_image028

Select Service or Application penceresinde gördüğünüz gibi çok sayıda servis ve uygulama var.

Biz Virtual Machine seçerek devam ediyoruz. Bu noktada listedeki farklı uygulamalar için de cluster yapıları oluşturmanız mümkün.

clip_image030

Next dedikten sonra gelen Select Virtual Machine penceresinde ise cluster yapısına dahil edeceğimiz VM’i/VM’leri seçiyoruz. Yani Node’lar üzerindeki tüm VM’ler hemen cluster yapısına dahil olmuyor. Hangi VM’in cluster içerisinde çalışacağına bu ekranda seçim yaparak biz karar veriyoruz. Tabii ki tümünü seçme şansımız da var.

Dikkatinizi çekmek istediğim bir diğer nokta ise bu pencerede cluster node’ları üzerindeki tüm VM’lerin listeleniyor olması (aşağıda da görünüyor). Yani HV-Node1 ve HV-Node2 üzerindeki tüm VM’ler bu listede yer alıyor ve hepsini seçebiliyoruz. Ama seçtiğimiz VM’in clustered disk üzerinde olması gerektiğini unutmayın. Yani burada listeleniyor olması, cluster yapısına dahil edebileceğimiz anlamına gelmiyor. Clustered disk şart.

clip_image032

Bizim clustered disk üzerinde duran VM’in ismi Cluster-XP. Bu nedenle onu seçerek devam ediyorum.

Ama Cluster-XP seçtiğimde bir hata alıyorum.

clip_image034

Bunun anlamı şu: bu konfigürasyonu, cluster yapısına dahil edeceğimiz VM çalışır durumdayken yapamıyoruz. VM’in off durumda olması gerekiyor.

VM’i Hyper-V Manager konsolundan ya da ilgili ara yüz üzerinden off yaptıktan sonra tekrar High Availability Wizard’ı açıyoruz ve aynı yere kadar ilerliyoruz.

Cluster-XP’i seçerek Next diyoruz.

clip_image036

Next ile konfigürasyonu başlatıyoruz.

clip_image038

İşlem sürüyor.

clip_image040

Summary penceresinde Success mesajını gördükten sonra yapılandırma başarılı bir şekilde tamamlanmış oluyor.

Finish diyerek bitiriyoruz.

clip_image042

Artık Failover Cluster Management konsoluna döndüğümüz zaman Services and Applications altında Virtual Machine servisini görebiliriz ve şu an offline durumda.

Bu servis için Current Owner olarak ise HV-Node1 görünüyor.

clip_image044

Hemen start edelim.

clip_image046

Bu komut ile Virtual Machine servisi içerisinde ekli olan tüm VM’leri start etmiş oluruz.

Biz tek bir VM eklediğimiz için şu an tek bir VM start oldu.

clip_image048

Böylece Virtual Machine servisi ve eklediğimiz bir adet VM için failover cluster yapılandırmasını tamamlanmış olduk.

Şu an Cluster olarak çalışan Virtual Machine servisi içerisindeki 1 adet VM’in ve Clustered disklerin Current Owner’ı HV-Node1 makinesi. Bu nedenle HV-Node1’i aktive node olarak adlandırıyoruz.

clip_image050

HV-Node1 üzerinde Computer penceresine geldiğinizde ise iki diski erişilebilir şekilde görebilirsiniz.

clip_image052

HV-Node2 ise şu an için herhangi bir cluster kaynağının sahibi değil yani pasive node konumunda.

clip_image054

Ayrıca clustered diskler şu an HV-Node2 üzerinde partition anlamında erişilebilir durumda değil.

clip_image056

Şimdi cluster’ın doğru olarak çalışıp çalışmadığını görmek için bir takım testler yapacağız.

Bu testleri Bölüm-7 de gerçekleştiriyoruz.

 

Serhat AKINCI – IT Pro.

Hyper-V Failover Cluster Kurulumu (Bolum 2)

 

iSCSI Storage yapılandırması ile devam ediyoruz.

 

5. iSCSI Storage Konfigürasyonu:

 

Storage yapılandırması ile başlayalım.

 

Gereksinimlerde de belirttiğimiz gibi storage görevi görecek makine üzerinde Windows Server 2003 STD 32bit işletim sistemi çalışıyor. Bu işletim sisteminin kurulumu konusuna girmiyorum çünkü normal kurulum aşamaları dışında özel bir durum yok. İşletim sisteminin kurulmuş, tüm update’lerin yapılmış olması yeterli.

 

5.1. IP ve Domain Ayarları

 

Üzerinde en az iki NIC’e ihtiyacımız olduğunu söylemiştik.

 

İlk NIC storage makinesinin domain ve public iletişimi için public network’e bakmalı ve 192.168.5.x/24 aralığından ip adresi olmalı.

 

İkinci NIC’i ise iSCSI iletişimi için kullanacağız ve iSCSI network’e bakacak. 192.168.10.x/24 aralığından ip adresi olacak.

 

Bu iki network’ü birbirinden ayırmamızdaki amaç şu: iSCSI veri paketlerinin network yani ethernet üzerinden iletildiğini söylemiştik. Eğer ki iSCSI paketlerini public network üzerinden gönderirsek, o network üzerindeki diğer sistemlerin yaratmış olduğu trafik iSCSI paketlerini olumsuz etkileyebilir, daha da önemlisi zaten sınırlı olan veri aktarım hızını düşürebilir. Bu nedenle sadece bu iş için ayrılmış bir network ve network interface card’lar kullanmak performansı ciddi anlamda arttıracaktır çünkü ilgili network bandwidth tamamen bu işe dedicate edilmiş olur. Ayrıca iSCSI network’ü gbit network ekipmanları (nic, switch, cable) ile kurmanız şiddetle tavsiye edilir çünkü iletim hızı network bandwidth ile doğru orantılıdır.

 

Benim senaryomdaki storage için ip config. şu şekilde.

 

Public interface (NIC)

IP            : 192.168.5.10

Mask     : 255.255.255.0

DNS       : 192.168.5.1

 

iSCSI interface (NIC)

IP            : 192.168.10.1

Mask     : 255.255.255.0

 

Gerekli ip config yaptıktan ve NIC’leri uygun fiziksel switch’lere bağladıktan sonra Windows Server 2003 çalıştıran storage makinesini domain’e üye yapıyoruz.

 

image001

 

 

Ayrıca storage üzerindeki Windows firewall açıksa ya da third-party bir güvenlik yazılımı çalışıyor ise 3260 numaralı porta izin vermemiz gerekir çünkü iSCSI iletişimi bu port üzerinden olacak.

 

Daha sonra üzerine Microsoft iSCSI Software Target kurulumu yapıyoruz.

 

 

5.2. Microsoft iSCSI Software Target Kurulumu

 

Microsoft iSCSI Software Target OEM kanalından temin edilebilen bir ürün. Ya da Application Pack ile Windows Storage Server üzerinde kullanabilirsiniz. Ayrıca Windows Unified Data Storage Server içerisinde de yerleşik olarak geliyor.

 

Bu ürün hakkında bazı soru ve cevaplara aşağıdaki link ile ulaşmanız mümkün.

http://www.microsoft.com/windowsserversystem/storage/iscsifaq.mspx

 

Eğer Microsoft iSCSI Software Target temin edemiyorsanız herhangi bir iSCSI Software Target kullanabilirsiniz. Openfiler yada StarWind gibi.

 

Microsoft iSCSI Software Target kurulumu oldukça basit. Hatta sıradan bir update paketini yüklemekten farkı yok.

 

Hızlıca kurulumu yapalım.

 

Kurulum için iscsitarget-x86.exe çalıştırıyorum.

 

image002

 

image003

 

image004

 

image005

 

 

Gördüğünüz gibi kurulum tamamlandı. Bu kurulumdan sonra Microsoft iSCSI Software Target Management konsol, administrative tools altındaki yerini almış olur.

 

image006

 

 

Konsolu açtığınızda basit birkaç bölümden oluştuğunu göreceksiniz.

 

image007

 

 

5.3. Microsoft iSCSI Software Target Üzerinde Virtual Disk Yaratmak

 

Şimdi storage üzerinde depolama birimleri yaratalım. Bu birimler Microsoft iSCSI Software Target üzerinde Virtual Disk olarak adlandırılır. Bu diskleri daha sonra Hyper-V Node’larına atayacağız ve cluster için kullanacağız.

 

İlk etapta iki disk yaratacağız. İlki VM için. İkincisi ise Quorum yani cluster bilgisinin tutulacağı bölüm için.

 

İlk diski 30GB olarak yaratalım.

 

Devices üzerinde Create Virtual Disk diyoruz.

 

image008

 

 

Virtual Disk Wizard geliyor.

 

image009

 

 

Oluşacak disk için path ve isim belirtiyoruz.

 

Dikkat ederseniz disk VHD formatında. Yani storage makinesi üzerinde yaratılan VHD formatlı sanal diskleri, iSCSI üzerinden Hyper-V Node’lara tahsis etmiş olacağız.

 

image010

 

 

İlk Virtual Disk için MB cinsinden size belirliyoruz. 30GB karşılığı olan 30720MB veriyorum.

 

image011

 

 

Yaratılacak Virtual Disk için bir açıklama girebilirsiniz. Opsiyoneldir.

 

image012

 

 

Aşağıdaki pencerede yaratılacak Virtual Disk’e kimlerin erişeceğini belirleyebiliyoruz (iscsi targets)  ancak bunu daha sonra yapacağız çünkü henüz storage’e erişen node yok. Bu nedenle şimdilik boş geçiyoruz.

 

image013

 

 

Finish dedikten sonra ilgili Virtual Disk yaratılır.

 

image014

 

 

Konsol üzerinde oluşan Virtual Disk’i, size’ı ve status’u görebilirsiniz. Durumu idle olarak görünüyor çünkü bu diski henüz herhangi bir sunucuya atamadık.

 

image015

 

 

Virtual Disk için gösterdiğimiz path altında ise 30GB’lık bir VHD oluşmuş olmalı.

 

image016

 

 

Şimdi aynı işlemi birde Quorum olarak kullanacağımız Virtual Disk için yapalım. Bu diskin boyutu ise 2GB olsun çünkü şimdilik Quorum için bu alan gayet yeterli.

 

image017

 

image018

 

image019

 

image020

 

image021

 

image022

 

image023

 

 

İkinci virtual disk’i de yarattıktan sonra konsoldaki son durum aşağıdaki gibi olmalı.

 

image024

 

 

Virtual Diskleri yarattık. Storage tarafındaki işimiz şimdilik bu kadar. Daha sonra diskleri atamak için tekrar storage makinesine döneceğiz.

 

Bölüm-3 te cluster nodeların yani Hyper-V Host’ların konfigürasyonu ile devam edeceğiz.

 

 

Serhat AKINCI – IT Pro

Hyper-V Failover Cluster Kurulumu (Bolum 1)

 

Bu makale serisi Windows Server 2008 Hyper-V platformunun failover cluster yeteneğini anlatmak için hazırlanmıştır.

Makaleler içerisinde Hyper-V Failover Cluster yapılarındaki ihtiyaçların neler olduğu, bu ihtiyaçlar doğrultusunda yapılan seçimlerin yapı üzerindeki etkileri, temel storage bilgileri, cluster nodelarının ve diğer serverların topoloji içerisindeki konumları gibi teorik bilgilerin yanı sıra, storage ve nodeların yapılandırılması, failover cluster kurulumu, sanal makinelerin failover cluster yapısına dahil edilmesi gibi teknik konular da uygulamalı olarak ele alınmıştır.

Bu makale serisi ile organizasyonunuz içerisindeki iki Hyper-V Host’unu yazılım tabanlı bir iSCSI storage ile birlikte failover cluster yapısına dahil edip, sistemi fiziksel başarısızlıklara karşı koruma altına alabilecek, high available sanal makineler oluşturabileceksiniz.  Bununla birlikte Quick Migration ve VM Failover gibi konuların nasıl gerçekleştiğini de öğrenmiş olacaksınız.

Hyper-V failover cluster konusu uzun ve kapsamlı bir konu olduğu için makaleyi bölümler halinde hazırlamayı uygun gördüm. Bu doğrultuda makalelerde yer alan konu başlıkları ve bu başlıkların hangi bölümler içerisinde yer aldığını görmek için aşağıdaki içerik bölümü ile başlayalım.

 

 

(Bölüm-1) 1. Failover Cluster Nedir?

 

(Bölüm-1) 2. Fiber Channel ve iSCSI Storage’ler

 

(Bölüm-1) 3. Hyper-V Failover Cluster Yapılarında Storage’ın Önemi

 

(Bölüm-1) 4. Örnek Topoloji ve Temel Gereksinimler

 

 

(Bölüm-2) 5. iSCSI Storage Konfigürasyonu

 

(Bölüm-2) 5.1. IP ve Domain Ayarları

 

(Bölüm-2) 5.2. Microsoft iSCSI Software Target Kurulumu

 

(Bölüm-2) 5.3. Microsoft iSCSI Software Target Üzerinde Virtual Disk Yaratmak

 

 

(Bölüm-3) 6. Cluster Nodeların Konfigürasyonu

 

(Bölüm-3) 6.1. IP ve Domain Ayarları

 

(Bölüm-3) 6.2. HV-Node1 Üzerine Gerekli Feature’ların Yüklenmesi

 

(Bölüm-3) 6.3. HV-Node2 Üzerine Gerekli Feature’ların Yüklenmesi

 

(Bölüm-3) 6.4. iSCSI Initiator ile HV-Node1 için iSCSI Storage Discovery

 

(Bölüm-3) 6.5. iSCSI Initiator ile HV-Node2 için iSCSI Storage Discovery

 

 

(Bölüm-4) 7. Cluster için Disk Atamak

 

(Bölüm-4) 7.1. iSCSI Storage üzerinde HV-Node1 için Target Tanımı

 

(Bölüm-4) 7.2. iSCSI Storage üzerinde HV-Node2 için Target Tanımı

 

(Bölüm-4) 7.3. iSCSI Storage üzerinde HV-Node1 için Disk (virtual disk) Eklemek

 

(Bölüm-4) 7.4. iSCSI Storage üzerinde HV-Node2 için Disk (virtual disk) Eklemek

 

(Bölüm-4) 7.5. HV-Node1 üzerinde Disk (virtual disk)’i Görmek

 

(Bölüm-4) 7.6. HV-Node2 üzerinde Disk (virtual disk)’i Görmek

 

 

(Bölüm-5) 8. Failover Cluster Kurulumu

 

(Bölüm-5) 8.1. Cluster Kurulumu Öncesi Kontrol

 

(Bölüm-5) 8.2. Cluster Kurulumu

 

(Bölüm-5) 8.3. Quorum Disk Konfigürasyonu

 

 

(Bölüm-6) 9. Hyper-V Sanal Makinelerini Cluster Yapısına Dahil Etmek

 

(Bölüm-6) 9.1. Nodelar Üzerine Hyper-V Kurulumu

 

(Bölüm-6) 9.2. Test için Sanal Makine (VM) Yaratılması

 

(Bölüm-6) 9.3. Failover Cluster Yapısına Virtual Machine Servisini Eklemek

 

 

10. Hyper-V Failover Cluster Sonrası Gelen Yetenekler

 

10.1. Quick Migration – QM (Hızlı Taşıma)

 

10.1.1. Quick Migration Nedir?

 

10.1.2. Quick Migration Nasıl Yapılır?

 

10.2. VM Failover (Sanal Makine Hata Telafisi)

 

10.2.1. VM Failover Nedir?

 

10.2.1. VM Failover Nasıl Yapılır?

 

 

1. Failover Cluster Nedir?

 

Failover Cluster (Küme) teknolojisi (servisi), organizasyonumuz içerisindeki sunucuların ve bu sunucular üzerinde çalışan çeşitli uygulamaların/servislerin fail olması durumunda (genelde donanımsal başarısızlıklar yüzünden), hizmet veremez duruma geçen ilgili servis ve uygulamaların cluster üyesi diğer sunucu/sunucular üzerinde hizmet vermeye devam etmesini sağlayan bir teknolojidir.

 

Anlamlı bir Failover Cluster yapısı için genelde fiziksel sunucular ile temsil edilen (bazı senaryolarda sanal da olabilir) ve node olarak adlandırılan en az iki sunucu olmak zorundadır. Bununla birlikte çoğu zaman node’ların erişebildiği ortak bir storage (hardware/software) şartı da vardır.

 

Cluster yapıları mission-critical olarak tanımlanan birçok uygulama ve servis için önemlidir ancak sanallaştırma tarafındaki önemi çok daha büyüktür.

 

Sanallaştırmanın temel amaçlarından olan konsolidasyon yani çok sayıdaki fiziksel sunucuyu daha az sayıdaki fiziksel sunucu üzerinde sanal olarak konumlandırma işlemi sonucunda, aynı fiziksel host üzerinde birden fazla sanal iş yükü çalışmaya başlar ve host’un down olması durumunda üzerindeki tüm iş yükleri bu durumdan olumsuz etkilenir. Yani cluster ile güvenceye alınmamış ortamlarda çalışan sanal sistemlerde risk çok daha büyüktür.

 

Cluster yapılarıyla amaçlanan ise, beklenmedik bir anda meydana gelen arızalara ve genelde donanımsal sorunlar yüzünden yaşanan servis kesintilerine karşı önlem almak, bu doğrultuda  ilgili uygulamaları/servisleri otomatik olarak diğer cluster üyesi sunucular üzerinden hizmete sunabilmektir.

 

Konuyu basit bir örnekle biraz daha açmak istiyorum.

 

İlk senaryomuzda sanallaştırma olmayan bir ortamda çalıştığımızı düşüyoruz ve organizasyonumuz içerisinde 5 fiziksel sunucu bulunuyor.

 

Bu sunucuların rolleri ise şu şekilde:

 

1. DC + DNS + DHCP (Domain Controller)

2. SQL Server

3. Exchange Server

4. ISA Server

5. Application Server (üzerinde herhangi bir ticari uygulama olabilir)

 

Bu ortamdaki fiziksel sunuculardan birisi herhangi bir nedenden dolayı down olduğu zaman, üzerinde çalışan uygulamalar ve servisler de fail olur ve hizmet veremez.

 

Örneğin SQL Server makinesinin down olduğunu düşünelim. Eğer SQL Server için oluşturulmuş cluster senaryonuz yoksa (ki bizim örnek yapımızda yok), bu durumda ilgili DB’lere erişi durur ve SQL Serverı ayağa kaldırmak ya da DB’leri başka bir sunucu üzerinde online hale getirmek için stresli bir süreç başlar. Organizasyon içerisindeki diğer sunucular ise kendi işlerini yapmaya devam edebilirler. Örneğin DC hala ayaktadır, mail trafiği devam ediyordur, internet erişimi vardır vs.. Sorun yapının sadece bir bölümüne etki etmiştir.

 

İkinci senaryomuzda ise ilk senaryodaki fiziksel ortamı başarılı bir konsolidasyon süreci sonunda tek bir Host üzerinde sanallaştırdığımızı düşünelim. Yani artık elimizde 5 fiziksel sunucu yerine tek ve daha güçlü bir fiziksel sunucu var. Üzerinde ise 5 ayrı sanal makine (VM yada sanal iş yükü) çalışıyor.

 

Fiziksel – Windows Server 2008 Hyper-V Host

Sanal – DC + DNS + DHCP (Domain Controller)

Sanal – SQL Server

Sanal – Exchange Server

Sanal – ISA Server

Sanal – Application Server (ticari bir uygulama olabilir)

 

Gördüğünüz gibi aynı hizmetler sanal olarak çalışmaya devam ediyor. Derken host (fiziksel) sistem donanımsal bir sorunla karşılaşıyor ve down oluyor. İşte bu an felaketin başladığı andır çünkü host sistem ile birlikte üzerindeki tüm sanal makineler (sanal iş yükleri) de fail olmuştur. Yani 5 sanal sunucu ve üzerindeki uygulamalar/servisler hizmet veremez duruma geçmiştir. Bir anda firmanın tüm işleri durur ve o an için hızlı bir geri dönüş senaryonuz yoksa sanal makineleri ayağa kaldırmak oldukça zaman alabilir. Bu durumda yaşanan stres ve durumun iş süreçlerine etkisi tamamı fiziksel olarak çalışan ortamdan çok çok daha fazladır.

 

Toparlarsak; tamamı fiziksel olarak çalışan yapılardaki donanımsal başarısızlık genelde down olan tek bir sunucuyu ve üzerindeki uygulamaları/servisleri etkiler (dolaylı yoldan farklı etkileri olabilir). Ama sanallaştırılmış ve önlem alınmamış ortamlardaki donanımsal başarısızlıklar birden fazla sanal iş yükünü etkiler ve sonuçları çok daha fazla hissedilir.

 

Sanallaştırılmış ortamlarda bu gibi felaketlerin önüne geçebilmek adına Hyper-V teknolojisi Windows Server Cluster servisini kullanabilme yeteneğine sahiptir ve en az iki fiziksel host ile kümelenerek başarısızlık durumunda failover (hata telafisi) sağlayabilmektedir.

 

Failover Cluster yapıları temelde mission-critical uygulama ve servisler için downtime’ı en aza indirmeyi amaçlar ve cluster üyesi node’lar üzerindeki uygulama ve servisler için High Availability – HA (Yüksek Erişilebilirlik) sağlar. Hyper-V üzerinde çalışan sanal makineler ise Windows Failover Cluster servisi ile High Available şekilde çalışabilirler.

 

 

2. Fiber Channel ve iSCSI Storage’ler

 

Failover Cluster özel bir teknoloji olduğu için yazılımsal ve donanımsal anlamda bir takım ihtiyaçları vardır. Özellikle storage tarafında seçeceğimiz bağlantı tipi (iSCSI/FC), disk özellikleri (SCSI, SAS, Sata vs..) ve ürünün donanımsal yada yazılımsal olması yapının maliyetine ve performansına direkt olarak etki eden faktörlerdir.

 

Storage aslında depolama anlamına gelmektedir. Örneğin server üzerindeki local bir diski de storage olarak adlandırabiliriz. Bizim cluster yapılarında bahsettiğimiz storage ise serverların ortak olarak erişebildiği depolama alanları sağlayan cihazlar/yazılımlardır. Bu nedenle yazıda geçen storage kelimesini ortak depolama alanı olarak algılamalısınız (ör: SAN).

 

FC yani Fiber Channel bağlantılı storage’lerin sahip olma ve ekipman maliyetleri iSCSI storage’lere göre daha yüksektir. Bununla birlikte FC storage’ler iSCSI’e göre daha performanslıdır.

 

Bu gün 4 ya da 8GB’lık FC HBA’ler var ve bu HBA’ler dual olarak çalışabiliyor. Yani 8Gb x 2 şeklinde. Ayrıca bu yapılarda serverlar ile storage arasındaki bağlantı fiber optik kablolar ile gerçekleşiyor ve bu ürünler uygun disk’ler ile desteklendiği taktirde çok yükse hızlarda okuma/yazma (disk i/o) değerleri sağlayabiliyor.

 

iSCSI ise network (ethernet) üzerinden çalıştığı için storage erişim hızı network bandwidth ile doğru orantılı durumdadır. Yaygın olarak kullanılan hız ise 1Gbps dir. 10Gbps NIC ve network donanımları da kullanılabilmektedir ancak bu donanımlar şimdilik 1Gbps ürünler kadar yaygın değiller. Ayrıca ethernet teknolojisinin gelecekteki hali olan 100Gbps üzerinde çalışmalar devam ediyor ve bu teknoloji şu an çalışır durumda. Yılların teknolojisi ethernet ilerleyen senelerde de hız kesmeden yoluna devam edecek ve bu gelişim iSCSI bağlantılı storage’ler açısından oldukça iyi olacak gibi görünüyor.

 

Bağlantı tipi ve hızı dışında okuma/yazma performansını etkileyen bir diğer nokta ise storage üzerindeki disklerdir. Genelde Sata, SAS, SCSI diskler kullanılır ve bu diskler her iki bağlantı teknolojisi için de kullanılabilmektedir. Bu fiziksel disklerin rpm değerleri ve bağlı bulundukları kontroller kartların donanımsal özellikleri de okuma/yazma performansına direkt etki etmektedir. Bu gibi çok sayıda fiziksel diski bulunan, bu disklerin çeşitli bus yapıları ile birbirine bağlı olduğu storage’ler genelde SAN (Storage Area Network) olarak adlandırılırlar.

 

İnsanların kafasında Fiber Channel = SAN şeklinde bir eşleşme yer etmiş durumda ama bu doğru değil çünkü SAN bir topolojidir. Protokolü fiber channel olabileceği gibi TCP/IP de olabilir.

 

Tüm bunların dışında storage üzerinde konumlanacak uygulamanın tipi ve disk kullanım karakteristiği de performans ve storage seçimi açısından önemli kriterlerdir Sanallaştırma ortamlarınızda yoğun çalışan VM’leriniz varsa ve maliyeti karşılayabiliyorsanız, her zaman için Fiber Channel storage’ler kullanmanızı öneririm.

 

Eğer FC arabirimi olan bir storage kullanmayı planlıyorsanız, storage ve diskler dışında temin edilmesi gereken bazı ek donanımlar da vardır. Fiziksel sunucuların Örneğin Serverların FC storage’e erişebilmesi ve üzerindeki LUN’ları kullanabilmesi için gerekli HBA’ler (Server’lara Fiber Optik arabirim sağlar) ve ihtiyaç halinde SAN switch’ler ek donanımlar için verilebilecek en güzel örnekleridir. Bu donanımlar tabi ki maliyete etki eder.

 

iSCSI arabirimli storage’lara ise daha düşük maliyetler ile sahip olmak mümkün. Yine serverların iSCSI storage’lere erişmesi için kullanılabilecek özel HBA’ler var ancak bunların maliyeti FC HBA’ler kadar yüksek değil. Ayrıca sıradan network kartlar ile de iSCSI Storage’lere erişmek mümkün. Ama yukarıda da bahsettiğimiz gibi performans Fiber Channel kadar yüksek olmayacaktır.

 

(FC) Fiber Channel: Aslında bir protokoldür. Bizi ilgilendiren taraftan baktığımızda ise fiber optik bağlantı arabirimi olduğunu söyleyebiliriz. Yani ethernet gibi bir arabirim. Kabaca server ile storage arasında çekilmiş fiber optik bir kablo (gerekli durumlarda arada bir fiber switch olabilir) ve bu kablonun server ve storage üzerinde uygun FC HBA’ler ile sonlandırıldığı sistemlerdir. Server üzerinde tanımlanan storage birimlerine (LUN) iletilmesi gereken disk i/o requestlerinin, yine bu kanal yani fiber optik hat üzerinden geçerek uygun protokol ile iletildiği yapılar olarak düşünebilirsiniz.

 

(iSCSI) Internet Small Computer System Interface: iSCSI de bir protokoldür ve temel amacı SCSI paketlerini TCP/IP networkleri üzerinde taşımaktır. İsminin başındaki (i) de buradan gelmektedir. iSCSI sistemleri zaten var olan bir teknoloji ile başka bir teknolojinin birleşimi gibi düşünebilirsiniz. SCSI paketlerini alıyoruz, ip trafiği üzerine bindiriyoruz… Ama performans FC’e göre daha düşüktür çünkü TCP/IP yüksek blok i/o için tasarlanmış bir protokol değildir ve normal bir networkte (ethernet) max. 1512kb frame size sahip paketler taşıyabilir, yani yaklaşık 1,5kb blok i/o yapılabilir. TCP/IP mimarisi gereği ortaya çıkan bu durum iSCSI tarafındaki verimi düşüren en önemli etkendir. Günümüzde yaygınlaşan ve Windows Server 2008 R2’nin de desteklediği Jumbo Frame özelliği sayesinde TCP/IP üzerinde yaklaşık 8-9kb’lik blok i/o yapılabilmektedir. Tabi bu özelliğinin işletim sistemi, ethernet kartları ve switch’ler tarafından destekleniyor olması gerekir.

 

Peki, storage’in ve bağlantı teknolojisinin Hyper-V Cluster senaryolarındaki önemi nedir?

 

 

3. Hyper-V Failover Cluster Yapılarında Storage’ın Önemi

 

Host to Host Failover Cluster senaryosunda VM’ler (sanal makineler) host sistemler üzerinde değil, her iki node’un da erişebildiği ortak bir storage üzerinde durur. Burada storage üzerinde duran VM’den kastımız VM’in background dosyalarıdır. Yani VM’ler host’lar üzerinde çalışıyor ama XML, VHD, VSV, BIN gibi ilgili dosyaları storage üzerinde duruyor.

 

Aşağıda örnek bir topology var.

 

Buradaki storage FC yada iSCSI olabilir. Her iki fiziksel host -ki biz bunları node olarak adlandırıyoruz- storage’e üzerindeki ilgili birimlere (LUN) erişebiliyor.  Storage üzerinde 4 ayrı LUN var ve her bir LUN içerisinde ayrı bir VM duruyor. Bu 4 VM, 2 Hyper-V Host’u üzerinde çalışıyor.

 

image001

 

 

Bu yapıda storage’in önemi ise şu: Node’lar üzerinde çalışan ama arka planda storage üzerinde konumlanan VM’ler işletim sistemi(sanal) ve uygulama(sanal) process’lerini gerçekleştirdikçe, ilgili veriler storage üzerindeki ilgili dosyalara yazılır (VHD, BIN, VSV vs..). Bu durumda storage bağlantı teknolojisi ve cihaz üzerindeki diskler ne kadar hızlı ise, bu işlemler de o kadar rahat ve hızlı gerçekleşir ve bu doğrultuda VM’ler o derece performanslı çalışır.

 

Örneğin elimizdeki storage’in iSCSI arabirimi kullandığını düşünelim ve 1gbps hızında bir networkümüz olsun. Bu durumda storage erişim hızı max. 1gbps ile sınırlıdır. Yani elimizde sanal makine aksiyonlarına ait verilerin aktığı tek şeritli bir yol varmış gibi düşünebilirsiniz. Ama storage arabirimi olarak Fiber Channel kullanmış ve örneğin yapıyı 8gbps HBA’ler ile kurmuşsanız, elinizde 8 şeritli bir otoban olduğunu söyleyebiliriz. Ayrıca desteklendiği durumlarda dual HBA kullanmanız demek, 8gbps x 2 şeklinde 16 şeritli bir otoban demek

 

Sonuç olarak host’lar ile storage arasındaki bağlantı teknolojisi ne kadar hızlı ise veri aktarımı o kadar hızlı gerçekleşir. Bu da anlık okuma/yazma gerçekleştiren VM’ler için daha performanslı bir çalışma ortamı sağlar.

 

Bağlantı teknolojisi dışında storage üzerindeki disklerin tipi ve hızlarının da önemli olduğunu söylemiştik. SATA, SCSI, SAS ve 7200rpm, 10000rpm, 15000rpm gibi disk tipleri de performansa etki edecektir.

 

Ayrıca disklerin çalıştığı kontroller kartlar, bu kartların memory durumları ve disklerin raid yapılandırmaları da performans için belirleyici olmaktadır.

 

Bu noktada daha önce de bahsettiğimiz maliyetler devreye giriyor çünkü sağlam bir Fibe Channel yapısı kurmak gerçekten ciddi rakamlara mal oluyor.

 

Biz bu makalemizde yazılımsal bir iSCSI storage kullanarak daha düşük maliyetli failover cluster senaryolarını nasıl oluşturabiliriz ve kurduğumuz bu yapıyı nasıl makismum performans ile kullanabilirize bakacağız. Ayrıca bu makale size Hyper-V tarafındaki failover cluster mantığını öğretecek ve aynı konfigürasyonları fiber channel storage’ler ile de gerçekleştirebileceksiniz.

 

Tekrar hatırlatmakta fayda görüyorum. Özellikle yüksek performans ihtiyacı olan sanallaştırma ortamlarda ve mission-critical rollerin barındığı sunucularda Fiber Channel Storageler kullanmak performans ve güvenilirlik açısından daha doğru bir karar olacaktır. Bu makalede ele alacağımız software tabanlı iSCSI storage’leri production ortamlarda kullanırken dikkatli olmanızı, testlerini iyi yaparak beklentilerinizi karşılayıp karşılamadığını analiz etmenizi ve kesinlikle best practice yöntemlerine uymanızı öneriyorum.

 

iSCSI arabirimine sahip bir storage, appliance yani donanımsal ürünler olabileceği gibi software yani yazılımsal ürünler de olabilir. Belki software de bir donanım üzerinde çalışıyor ama burada takılmamız gereken nokta bu değil

 

Software temelli storageler genelde bir işletim sistemi üzerine kurulan tool’lar sayesinde çalışır ve zemindeki işletim sistemine bağımlıdır. İşletim sisteminin çalıştığı server üzerindeki fiziksel diskleri ve ya bu diskler üzerinde yaratılan birimleri iscsi protokolü ile uzak kullanıcıların hizmetine sunarlar.

 

Örneğin Windows Storage Server, üzerindeki iSCSI Software Target sayesinde local disk üzerindeki birimleri (ör: VHD) network üzerindeki sistemlerin kullanımına sunabilmektedir. Openfiler gibi opensource uygulamalarda aynı işi rahatlıkla yapabilirler.

 

Amacımız Hyper-V tarafındaki failover cluster yapısını incelemek ve düşük maliyetli bir çözüm üretmek olduğu için biz bu makalede iSCSI Storage olarak Windows Server 2003 Standard Ed. Üzerinde çalışan Microsoft iSCSI Software Target yazılımını kullanacağız.

 

 

4. Örnek Topoloji ve Temel Gereksinimler

 

iSCSI Software Storage kullanacağımız failover cluster yapısı için oluşturacağımız topology’i ve server’ların konumunu görelim.

 

image002

 

 

Diagramı inceledikten sonra Topology’i biraz açalım ve nelere ihtiyacımız olduğuna bakalım.

 

Gördüğünüz gibi arka planda çalışan bir storage var (iSCSI Software Target) ve söylediğimiz gibi bu hizmeti Windows Server 2003 STD üzerinde çalışan Microsoft iSCSI Software Target yazılımı veriyor. VM’ler bu storage üzerinde duruyor olacak.

 

VM’lerin çalışacağı iki fiziksel Node var. Hyper-V Node1 ve Hyper-V Node2. Bu iki Node üzerinde Windows Server 2008 Enterprise Edition 64bit işletim sistemi çalışıyor. Biliyorsunuz sadece Enterprise ve Datacenter sürümler Cluster destekler (Ayrıcı HPC).

 

Her iki node üzerinde 3’er adet fiziksel NIC var. Doğru ve performanslı bir iSCSI cluster yapısı için bu NIC’ler gerekli.

 

1nci NIC: Public network’e bakıyor yani kullanıcıların ve diğer server’ların birbiri ile konuştuğu, domain iletişiminin gerçekleştiği network.

 

2nci NIC: Heartbeat network’e bakıyor. Bu network, cluster üyesi iki Node’un birbirlerini yokladığı, ayakta olup olmadıklarını (up) kontrol ettikleri network olacak ve diğer networklerden bağımsız olacak.

 

3ncü NIC: iSCSI network’e bakıyor. Bu network üzerinde sadece ve sadece iSCSI trafiği akacak ve birer NIC bu işi için dedicate edilmiş olacak.

 

Ayrıca Node’lar Hyper-V çalıştıracak 🙂 Yani 64bit ve hardware virtualization destekli processor’ler şart.

 

Yapımızda bir Domain Controller yani active directory domain’i ve DNS olmak zorunda. Cluster için domain ortamı şart.

 

Topology deki ihtiyaçları maddeler halinde toparlarsak:

 

Storage:

– Windows Server 2003 STD Ed.

– Microsoft iSCSI Software Target

– En az iki yada daha fazla sayıda NIC (1gbps tavsiye edilir)

– İhtiyaç kadar fiziksel disk alanı

– Domain üyeliği

 

Hyper-V Node’lar:

– Hyper-V uyumlu donanım ve processor

– Windows Server 2008 Enterprise Edition 64bit

– Hyper-V’nin RTM olmasını sağlayan KB950050 paketi yüklenmiş olmalı (Windows server 2008 SP1 için).

– SP2 önerilir. (Her iki node üzerindeki SP durumu aynı olmalı)

– En az 3 adet fiziksel NIC (performans için tavsiye edilir)

– Domain üyeliği

– iSCSI initiator (Win2008 içerisinde geliyor)

– Storage üzerinden atanmış disk birimleri (Quorum ve VM’ler için)

 

Domain Controller:

– Windows Server 2008 (2003te olabilir)

– AD Domain Services ve DNS rolleri

 

Network:

– 1nci network: 192.168.5.x – 255.255.255.0 (public network)

– 2nci network: 11.1.1.x – 255.0.0.0 (heartbeat network)

– 3ncü network: 192.168.10.x – 255.255.255.0 (iSCSI network)

 

Topology’nin domain ortamına oturtulmuş ve ip’lendirilmiş hali aşağıdaki gibidir. Ayrıntıya girdiğim için ilk bakışta karışık görünebilir ama dikkatli incelerseniz kolayca anlayabildiğinizi göreceksiniz.

 

image003

 

Teorik bilgiler bu kadar.

 

Bölüm-2 de iSCSI Software Storage yapılandırması ile devam ediyoruz.

 

 

Serhat AKINCI – IT Pro.