Hyper-V: Host to Host Failover Cluster Kurulumu – Bölüm7

11.08.2009 | 16:31 Dokümanlar , Hyper-V 12 Yorum

Önceki bölümler doğrultusunda Hyper-V Failover Cluster yapımızı hazırladığımıza göre, artık Cluster yeteneklerini test edebiliriz.

– Güncelleme –

Windows Server 2008 Hyper-v Failover Cluster kurulumunu ele alan bu doküman serisinin, en güncel sürüm olan Windows Server 2012 Hyper-V Failover Cluster kurulumunu ele alan yeni versiyonuna şu bağlantı üzerinden erişebilirsiniz: http://www.serhatakinci.com/index.php/windows-server-2012-hyper-v-failover-cluster-kurulumu.html

– Güncelleme –

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.

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).

Hyper-V Quick Migration Nasıl Yapılır - Adım 1

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 2

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 3

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 4

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 5

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

Hyper-V Quick Migration Nasıl Yapılır - Adım 6

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 8

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 9

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 10

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.

Hyper-V Quick Migration Nasıl Yapılır - Adım 11

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

Hyper-V Quick Migration Nasıl Yapılır - Adım 12

Ve HV-Node1 üzerinde tekrar start ediliyor.

Hyper-V Quick Migration Nasıl Yapılır - Adım 13

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

Hyper-V Quick Migration Nasıl Yapılır - Adım 14

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.

VM Failover Nasıl Yapılır 1

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.

VM Failover Nasıl Yapılır 2

Ş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.

VM Failover Nasıl Yapılır 3

Ş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.

VM Failover Nasıl Yapılır 4

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

VM Failover Nasıl Yapılır 5

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

VM Failover Nasıl Yapılır 6

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

VM Failover Nasıl Yapılır 7

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

VM Failover Nasıl Yapılır 8

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.

VM Failover Nasıl Yapılır 9

Ş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.

VM Failover Nasıl Yapılır 10

Saving …

VM Failover Nasıl Yapılır 11

Ve Starting…

VM Failover Nasıl Yapılır 12

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

VM Failover Nasıl Yapılır 13

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.

– Güncelleme –

Windows Server 2008 Hyper-v Failover Cluster kurulumunu ele alan bu doküman serisinin, en güncel sürüm olan Windows Server 2012 Hyper-V Failover Cluster kurulumunu ele alan yeni versiyonuna şu bağlantı üzerinden erişebilirsiniz: http://www.serhatakinci.com/index.php/windows-server-2012-hyper-v-failover-cluster-kurulumu.html

– Güncelleme –

Yazı Etiketleri: , , , , ,

Sayfa Başı ▲

Yorumlar (12)

  1. Bülent ALAÇAM

    Host sistemlerinin Hyper-V Server 2008 R2 olmasını durumunda yapılacak olan değişiklikler nelerdir.

  2. Serhat AKINCI

    Selam,

    Tamamen aynı olmasa da benzerlik gösteriyor. Domain join, firewall tanımları, failover cluster enable, iscsı config. (grafik arayüzünden), volume’ların ayarlanması vs.. Ancak bu yapıda cluster’ı yönetecek 3ncü bir makineye ihtiyacınız var (failover cluster konsolunu kullanacağınız sistem olacak)

    İlerleyen günlerde bu konu için de bir çalışma hazırlayacağım.

  3. Bülent ALAÇAM

    Teşekkürler

  4. Yakup

    makalenizi sonuna kadar okudum çok güzel ve sade bir anlatım olmuş öncelikle bunun içn teşekkürederiz.
    soruma gelince mantığı kafama yatırmaya çalışıyorum da.. test için kurulan bu sistemde storege ların tutulduğu iSCSI Target makinası nedensin bir şekilde down olursa sistemin durumu ne olur??

  5. Serhat AKINCI

    Tüm sistem durur :) Bu nedenle storage’ler için de bir takım güvenlik önlemleri var. Örneğin başka bir storage ile replike olmasını sağlayabiliriz. Yada storage cluster yapıları kurulabilir.

    Storage dışında örneğin tek bir switch kullandığımızı düşünelim ve bu switch down oldu. Bu durumda tüm sistem yine durabilir. Switch ve benzeri ekipmanlar için de önlemler almak mümkün.

    Yani sağlam ve hatalara karşı tam olarak korunaklı bir failover cluster yapısı kurmak için mailyet tarafında ciddi rakamları gözden çıkartmak gerekebiliyor.

  6. joefoe

    QM yaparken bütün VM ‘lermi taşınır ? yoksa istediğimiz VM leri seçebilirmiyiz? tşkler.

  7. joefoe

    Domain Controller ve DNS ‘i daha sonra VM olarak kullanabilirmiyiz?

  8. Serhat AKINCI

    QM yaparken LUN içindeki tüm VM’ler taşınır (Hyper-V v1). Hyper-V v2 de ise QM yada LM yaparken tek bir VM taşınabilir.

  9. Salih TAŞDEMİR

    Serhat hocam,eline sağlık.Çok faideli bir makale olmuş.Baştan sonuna kadar okudum.
    saygılarla…

  10. Fatih KOÇ

    Makale için çok teşekkürler.
    Anlatımınızda çok sade ve akıcı olmuş.

  11. Bulut Aras

    Detaylı anlatımınız için teşekkürler, çok faydalı oldu.

  12. Yakup

    selamlar;
    makalenizi okuduktan sonra yapımı değiştirmeye karar verdim :) yapımda FC çalışan IBM storage var. şuan tek serverda DC ve hyperv çalışıyor. Hyperv üstünde 3 makinam var. şimdi fiziksel ikinci server ımı hazırlayıp hyperv deki tüm makinaları buraya geçirip ondan sonra o makinayı (node2 olacak) hazırlasam sizce patlar mıyım? birde FC bağlantılı storage ile çalışırken neler değişecek? makaleden anladığım kadarı ile iSCSI kullanmayacağım için iki fiziksel makinanın aynı lunları görmesi yeterli doğrumudur? birde benim sanal makinalarım tek LUN da duruyor bu nasıl bir handikap oluşturur?

Yorum Ekle