Hyper-V Cluster: VM Monitoring Nedir

26.04.2013 | 13:21 Dokümanlar , Hyper-V 0 Yorum

Bir Windows Server 2012 Hyper-V Failover Cluster tasarımında yüksek erişilebilirlik amacına ulaşmak için minimum 2 adet Node olması gerekir ve eğer isterseniz yapıyı 64 adet fiziksel Node ve 8000 adet VM konumlandırabilecek şekilde genişletebilirsiniz. Bu yolda yapınız hangi ölçekte olursa olsun en temel ihtiyaçlarından birisi sanal makinelerin sağlık durumu izleme işinin gerçekleştirilmesidir. Yapı genişledikçe sağlık durumu izlenmesi gereken nokta sayısı da artar.

Veri merkezinizde çalışan bir sanal makinenin sağlığı birçok parametreye bağlı olabilir. Örneğin sanal makine çalışır durumda, sanal işletim sistemi yanıt veriyor, ama üzerindeki işletim sistemi servislerinden biri yanıt veremiyor olabilir. Bu durumda o sanal makine için sanal iş yükü seviyesinde bir problem olduğu söylenebilir. Eğer geniş ölçekte bir yapıya sahipseniz muhtemelen bu iş için üretilmiş bir Monitoring (izleme) yazılımına da sahipsinizdir ve çok daha detaylı sağlık durumu izleme ve gerektiğinde pro-aktif müdahale işleri gerçekleştirebiliyorsunuzdur. Ancak daha düşük ölçekte bir yapıda çalışıyorsanız ve elinizde bir Monitoring çözümü yoksa, Windows Server 2012 Hyper-V Failover Cluster yeniliği olarak gelen ve VM Monitoring (Application Monitoring olarak da bilinir) olarak adlandırdığımız temel izleme özelliği belirli durumlarda işinize yarayabilir.

VM Monitoring Nedir?

VM Monitoring özelliğinin temel görevi, bir sanal makine içerisindeki sanal iş yüküne (uygulamaya) ait servisleri veya oluşan olay kayıtlarını (event logs) izlemek ve problem anında belirli aksiyonlar alınmasına yardımcı olmaktır.

Yapınızda çalışan sanal makineler beklenmedik bir şekilde down olursa, sanal makineyi aynı veya farklı bir Node üzerinde yeniden başlatma görevi çok eskiden beri Host seviyesindeki Failover Cluster servisine aittir. Eğer sanal makine içindeki bir uygulama/servis beklenmedik bir şekilde terminate olursa veya probleme işaret eden bir event üretirse, işte bu noktada devreye VM Monitoring özelliği girebilir ve az sonra bahsedeceğim belirli aksiyonları tetikleyebilir.

Teknolojiyi tam olarak kavrayabilmek için önce terimleri iyi anlamak gerekir.

Sunucu sanallaştırma dünyasında bir sanal makine için Türkçe terimler ile mantıksal kapsam şu şekildedir:

Ev sahibi > Sanal makine > Misafir (sanal) işletim sistemi > Sanal iş yükü (Uygulama)

Daha evrensel İngilizce terimler ile:

Host > Virtual Machine > Guest OS > Virtualized Workload (Application)

Bir diyagram üzerinde ise:

Hyper-V Mimarisi

Şimdi bir tanım yapmak gerekirse şöyle diyebiliriz: Windows Server 2012 Hyper-V VM Monitoring özelliği, Cluster üyesi bir sanal makinenin sanal işletim sistemi üzerinde çalışan sanal iş yüküne ait servislerin sağlık durumunu izler ve bu işi yaparken de servisin durumuna veya oluşan bir event’e bakabilir. Temel hedef ise sanal iş yüklerinin yüksek erişilebilirliğini arttırmaya yardımcı olmaktır.

VM Monitoring Nasıl Çalışır?

VM Monitoring özelliği Host ve Guest seviyesinde çalışan Heartbeat servisini kullanır. Bu servis Hyper-V Host üzerine Hyper-V Role kurulumuyla, Guest OS’e ise Integration Components ile yerleşir.

Hyper-V Heartbeat Service

VM Monitoring mekanizmasının mimarisi ise basitçe aşağıdaki gibidir.

VM Monitoring Mimarisi

Kabaca, Guest OS tarafındaki Heartbeat servisi uygulamalardan gelen sağlık durum bildirimlerini alır ve bunu Host tarafındaki Heartbeat servisine iletir. Daha sonra Host tarafındaki Cluster servisine kadar ulaşan bu bilgiye göre sistem Cluster servisi üzerinden çeşitli aksiyonları tetikler.

VM Monitoring tarafından sağlık durum takibi yapılabilecek uygulamaları/servisleri ikiye ayırabiliriz.

  • Heartbeat uyumlu uygulamalar (Heartbeat Aware Apps.)
  • Normal uygulamalar (Heartbeat non-Aware Apps.)

Sağlık durum bilgisini Heartbeat servisine direkt bildiremeyen uygulamaları Normal Uygulamalar sınıfına alabiliriz. Bu tür uygulamalar bir zamanlanmış görev ve önceden hazırlanmış bir Script yardımıyla Heartbeat servisi ile konuşturulabilir ve sağlık durum bilgisi vermeleri sağlanabilir. Bir Windows Service ‘e bağlı olarak çalışmayan (yani services.msc altında parçası olmayan) uygulamalar genelde bu sınıftadır.

Direkt Heartbeat servisine bildirimde bulunamayan uygulamaya ait bir exe beklenmedik bir şekilde sonlandığı zaman muhtemelen bir event log üretir. Sistem yöneticisi tarafından daha önce zamanlanan bir Task (Windows Task Scheduler) yardımıyla oluşma ihtimali olan event log’un çeşitli parçaları izlenir (event id veya source gibi) ve oluştuğu zaman ilgili Script tetiklenerek Heartbeat servisine bir bildirim gönderilir. Bildirimi alan Heartbeat servisi ise üzerine düşen görevi gerçekleştirerek süreci ilerletir.

Diğer taraftan birçok uygulama, aracı bir Script’e ihtiyaç duymadan direkt Heartbeat servisi ile konuşup sağlık durum bilgisini aktarabilir. Bu tip uygulamaları da Heartbeat Uyumlu Uygulamalar sınıfına alıyoruz. Bir veya birden fazla Windows Service ile ilişkili olarak çalışan uygulamalar genelde bu sınıftadır. Print Spooler Service, SQL Server, Exchange Server, TMG Server vb…

Eğer söz konusu uygulama Heartbeat Aware ise, bir terminate durumunda Heartbeat servisi problemi hemen anlar ve yine gerekli aksiyonu tetikleyerek görevini gerçekleştirir.

VM Monitoring İle Neler İzlenebilir?

– Sanal işletim sistemi üzerindeki her türlü servisin durumu. (Windows Service)
– Bir uygulamaya bağlı olarak olay günlüğüne (event logs) düşen herhangi bir kayıt. (Task Scheduler + Script)

VM Monitoring Gereksinimleri

1) Windows Server 2012 Hyper-V Failover Cluster yapısı.

image004

VM Monitoring özelliği Cluster servisine bağlı olarak çalışır ve sadece Windows Server 2012 Hyper-V Failover Cluster ortamlarında kullanılabilir.

BİLGİ: Windows Server 2012 Hyper-V Failover Cluster kurulumu için daha önce yayımladığım aşağıdaki açıklama ve kurulum dokümanı ilginizi çekebilir:

http://www.serhatakinci.com/index.php/windows-server-2012-hyper-v-failover-cluster-kurulumu.html

2) Hyper-V Failover Cluster yapısı ve Host işletim sistemleri Windows Server 2012 çalıştırıyor olmalı.

Host işletim sistemi bilgisi:

image005

3) İzleme yapacağınız sanal makine Windows Server 2012 sanal işletim sistemi (Guest OS) çalıştırıyor olmalı.

Sanal işletim sistemi bilgisi:

image005

4) Sanal işletim sistemi, Cluster Node’ları (Host) ile aynı etki alanında veya güvenilen bir etki alanında olmalı.

Sanal işletim sistemi etki alanı bilgisi:

image006

Failover Cluster yapısı etki alanı bilgisi:

image007

BİLGİ: Aslında güvenilmeyen etki alanı veya Workgroup olarak çalışan sanal makineler için de bir uygulama yöntemi var ancak bundan bir başka yazıda bahsedeceğim.

5) Sanal işletim sistemi üzerinde Windows Firewall aktif ise aşağıdaki Virtual Machine Monitoring isimli Exception tanımlanmış olmalı.

image008

VM Monitoring için Windows Firewall üzerinde Exception tanımlama işlemini aşağıdaki PowerShell komut satırıyla da yapabilirsiniz.

Set-NetFirewallRule -DisplayGroup “Virtual Machine Monitoring” -Enabled True

image009

6) Failover Cluster yönetici hesabı (örneğin administrator) sanal işletim sistemi üzerinde local administrators grup yetkilerine sahip olmalı.

Bir başka ifadeyle Failover Cluster Manager yönetim konsolunu açtığınız oturum hesabı, monitör edeceğiniz sanal işletim sisteminde local administrators haklarına sahip olmalı.

image010

Genelde tercih edilen (ama aslında pek tavsiye etmediğimiz) şekli ile Failover Cluster Manager ‘ın kullanılacağı sisteme domain administrator hesabı ile logon oluyorsanız şayet, etki alanı tasarımı gereği hesap zaten domain admins grubundan sanal işletim sistemi üzerinde local administrators yetkilerini alır. Eğer böyle bir hesap kullanmıyorsanız, Failover Cluster Manager konsolunu başlattığınız kullanıcı hesabını sanal işletim sistemlerinde yerel administrators grubu üyesi yapmayı unutmayın.

VM Monitoring Yapılandırma Ara Yüzleri

VM Monitoring özelliğini Failover Cluster Manager konsolunda GUI tabanlı olarak yapılandırabileceğiniz gibi, PowerShell komut satırı aracıyla da yapılandırabilirsiniz.

GUI:

image011

PowerShell:

image012

Bunların dışında, bazı noktalarda Task Scheduler + Script desteğine de ihtiyacınız olabilir. VM Monitoring Aware Application ‘ların ise Task Scheduler + Script desteğine ihtiyaçları olmadığını unutmayın.

BİLGİ: VM Monitoring yapılandırma adımları için aşağıdaki Hyper-V Cluster – VM Monitoring Nasıl Yapılandırılır başlıklı yazıyı inceleyebilirsiniz:

http://www.serhatakinci.com/index.php/hyper-v-cluster-vm-monitoring-nasil-yapilandirilir.html

Yazı Etiketleri: , , , , ,

Sayfa Başı ▲

Yorum Ekle