Hyper-V Ortamları İçin Raporlama Aracı (Get-HyperVReport.ps1)

06.01.2015 | 00:59 Dokümanlar , Duyurular , Hyper-V , PowerShell 11 Yorum

Üzerinde çok sayıda iş yükü barındıran ve giderek karmaşıklaşan kuruluş içi sanallaştırma yapılarının izlenmesi ortam ölçeği genişledikçe zorlaşır. İşlemci gücü, bellek kapasiteleri, depolama kaynağı, sanal makine instance’ları gibi çeşitli platform bileşenlerinde beklenmedik sounlar ortaya çıktığında büyümeden anlamak veya sorun oluşmadan hemen önce yakalamak, platform ve servis erişilebilirliğini sürekli kılmak adına oldukça önemlidir. Öte yandan sanallaştırma envanterini çıkartmak, atanmış veya bekleyen kaynak miktarları gibi bilgilere ulaşmak altyapı yatırımının daha verimli kullanımı ve kapasite planlama hususlarında destek olabilmektedir.

Günümüzde bu gibi işleri ve aslında çok daha fazlasını yapmaya aday birçok uygulama mevcut. Kimisi düşük maliyetli ama eh işte, kimisi oldukça kapsamlı ancak aradığını bulmak zor, kimisi istenen sonucu veremiyorken kimisi tamam ama gerçekten pahalı, kurması işletmesi meşakkatli… Ama yine de gerekliler çünkü ortamda özellikle geriye dönük raporlama yapabilen, geçmiş günlerde oluşmuş olayları ve değerleri kayıt altına alıp bunları gerektiğinde gösterebilen bir izleme uygulaması belirli ölçeğin üzerindeki yapılarda mutlaka çalışıyor olmalı.

Ama bazen izleme uygulamasının sorunlarıyla boğuşmadan, belirli bir bilgiye ulaşmak için menüler/pencereler arasında kaybolmadan (ki o bilgiyle ilişkili diğer bilgi genelde uygulamanın en uzak köşesindedir :) veya uzun ve karmaşık paragraflar okumak zorunda kalmadan o an neler olup bittiğini bir bakışta anlamak istemez miyiz? İşte tam olarak bu fikirle yola çıktım ve Hyper-V Reporting Script (Get-HyperVReport.ps1) isimli bir raporlama aracı hazırladım.

Windows Powershell tabanlı olan Get-HyperVReport.ps1 tam olarak Hyper-V sanallaştırma ortamlarını raporlamak ve o anki durumun fotoğrafını çekmek üzere kullanabileceğiniz bir araç. Araç diyorum çünkü aslında bir script’e göre fazla kontrollü ve kapsamlı. Gerçekte bir kodun kapsamı veya başarısı asla satır sayısıyla ölçülemez çünkü fazla sayıda satır, ortaya çıkan uygulamaya kapsamlı imajı katabileceği gibi aslında programcının başarısızlığı da olabilir. Ama az önce baktım 2600+ satır olmuş, bu yüzden script deyince kızıyor :)

Get-HyperVReport.ps1 indirme bağlantısını ve parametre örneklerini yazının sonunda bulabilirsiniz.

Mesela genelde script’ler bir işi yaparken (örneğin sunuculara bağlanıp belirli verileri toplarken) o kodun zaten başarılı bir şekilde çalışacağını kabul ederek ilerlerler. Veya çalışmadan önce runtime environment için gerekli olan temel bileşenlerin zaten yüklü olacağını kabul ederler. Bu yüzden de genelde ilk sefer başarısızlıkla sonuçlanır :) Get-HyperVReport.ps1 ise biraz farklı. Mesela veri toplama aşamasına geçmeden önce doğru raporlama için gerekli ön koşulları kontrol ediyor, eğer bir eksik varsa ve tamamlayabileceği bir eksikse önce bu sorunu ortadan kaldırıyor (mesela Hyper-V veya Clustering Powershell komut setlerinin yüklenmesi gibi) ve daha sonra raporlama aşamasına geçiyor. Bir tablo içerisini doldururken mesela WMI sorgusunda bir problem oluşursa hata verip sonlanmak yerine hatayı yakalayıp çalışmaya devam edebiliyor. Akış sırasında geçilen aşamaları ve oluşan önemli hataları komut satırı ekranına, debug kayıtları da dahil tüm olay kayıtlarını ise working directory altında oluşturduğu kendi log dosyasına yazıyor. Eğer raporun üretilmesi sırasında bir problem oluşursa, buralara bakıp kolayca anlayabiliyorsunuz.

Oluşan rapor dosyası oldukça sade ama bir o kadar da detaylı. Örneğin tek sayfada Hyper-V Cluster ortamınızdaki bir Node ne kadar zamandır çalışıyor, beklenmedik bir şekilde kapanmış bir Node veya sanal makine var mı, Node başına kaç sanal makine dağılmış, kaçı kapalı kaçı çalışır durumda, fiziksel işlemci soket ve çekirdek sayıları, özellikle Intel işlemciler için hyper-threading durumu, toplam fiziksel bellek miktarı, bu kaynakların ne kadarı atanmış ne kadarı müsait gibi çeşitli bilgileri görebilirsiniz.

Aynı zamanda Cluster yapısı içerisinde sanallaştırma için tahsis edilmiş depolama alanları hakkında örneğin Volume bilgileri, CSV/Quorum/Volume gibi kullanım amaçları, o an hangi Node tarafından koordine edildikleri, fiziksel bus type’ları, disk partition style bilgileri, dosya sistemleri, hem fiziksel diskler hem de üzerindeki volume’lar için atanmış/kullanılan/müsait/toplam depolama alanı kapasite bilgileri gibi verilere ulaşmanız mümkün.

Sanal makine envanteri olarak da kullanabileceğiniz bir diğer tabloda ise makine isimleri, hangi Node üzerinde çalıştığı, o anki durumu, Cluster’a dahil olup olmadığı, jenerasyonu, versiyonu, yapılandırma ve sanal disk dosyalarının fiziksel disk üzerinde hangi path’lerde yer aldığı, işlemci/bellek değerleri, Integration Services sürümü ve güncellik durumu, Checkpoint ve Hyper-V Replica bilgileri, tüm sanal disk bileşenleri ve kapasiteleri, vhd zincirleri gibi birçok farklı bilgi yer alır.

2TB olarak oluşturulmuş ve Hyper-V Cluster yapısına hizmet eden bir CSV alanda 150GB boş yer kaldığını hayal edin. Get-HyperVReport.ps1 ile rapor oluştuğunda bu Volume turuncu olarak işaretlenir ve bir kapasite sorunu başlamak üzere olduğunu kolayca anlayabilirsiniz. İlk yapmanız gereken bu CSV depolama alanının yer aldığı fiziksel disk üzerinde boş alan olup olmadığını kontrol etmek. Bu bilgiyi de raporun aynı satırında öğrenebiliyorsunuz. Eğer genişletilebilecek yeterli boş alan varsa, bu sefer CSV depolama alanının yer aldığı bu fiziksel diskin Partition Style’ına bakmanız gerekir çünkü eğer MBR ise zaten 2TB’ın üzerinde çıkma şansınız olmayacak. Yine rapordan ayrılmadan aynı satırda bilgiyi almanız mümkün. Peki GPT olduğunu gördünüz ama genişletebileceğiniz yeterli boş alan yok? Bu durumda Bus Type bilgisi fiziksel diskin hangi SAN’den geldiğini anlamanıza yardımcı olabilir. iSCSI, SAS, FC, vs..

Veya bir sanal makine üzerinde Checkpoint unuttuğunuzda, sanal makineye bağlı bir pass-through disk tespit edildiğinde, Replication trafiğinde bir hata yaşandığında, bir sanal makine fail ettiğinde, sanal disk dosyası aşırı genişlediğinde, platform sürücüleri için güncelleme gerekiyorsa veya kapalı durumdayken bir sanal disk dosyası haberiniz olmadan silindiyse yine aynı rapor içinde görebilmeniz mümkün.

Hyper-V Reporting Script v1.0 (Get-HyperVReport.ps1)

Get-HyperVReport.ps1 aracı Clustered veya Standalone durumda çalışan Hyper-V ortamlarını aşağıdaki üçün farklı açıdan hızlı ve kolay bir şekilde raporlar.

  • Fiziksel sunucular (node/host)
  • Depolama alanları (storage)
  • Sanal makineler (vm)

Belirttiğiniz Hyper-V Cluster yapısı veya Standalone Hyper-V sunucu gurubuyla ilgili o anki duruma ait çeşitli bilgileri toplar, topladığı verileri ekrana yazmak yerine in-line CSS ile biçimlendirilmiş ve tüm modern tarayıcılar ile uyumlu bir HTML dosyasına doldurur, disk üzerinde belirtilen alana kayıt eder ve eğer gerekiyor ise SMTP sunucunuza bağlanarak e-posta ile adresinize gönderir. Ayrıca belirli anlarda periyodik olarak çalışmak ve rapor göndermek üzere zamanlanmamayı da destekler. (Windows scheduled tasks)

get-hypervreport-flow

Get-HyperVReport.ps1 Windows Powershell tabanlıdır ve doğrudan bir Windows Server üzerinde çalıştırılabilir. İlerleyiş aşamalarını ekranda gösterir ve HTML rapor oluştuğunda herhangi bir tarayıcıyla rahatlıkla incelenebilir. HTML raporda yer alan tablo alanları görsel açıdan sade ve aradığınızı hızlıca bulabileceğiniz bir tasarıma sahiptir.

Cluster üyesi Hyper-V Node’ların listelendiği örnek bir tablo.

get-hypervreport-clustered-nodes

Hyper-V Cluster içerisindeki depolama alanı kaynaklarının raporlandığı örnek bir tablo.

get-hypervreport-clustered-disk-volume

Ortamdaki sanal makinelerin raporlandığı örnek bir tablo.

get-hypervreport-html-vms

Eğer bir Hyper-V ortamınız varsa Get-HyperVReport.ps1’i çalıştırıp gerçek sonuçlara göz atabilirsiniz. Eğer bir ortamınız yoksa veya içerisinde birçok uyarının yer aldığı örnek bir rapora göz atmak isterseniz aşağıdaki bağlantıyı kullanarak Get-HyperVReport.ps1 tarafından oluşturulmuş demo içerikli HTML raporuna ulaşabilirsiniz.

Get-HyperVReport.ps1 demo rapor: http://www.serhatakinci.com/files/get-hypervreport-v1-0-demo-output.html

Muhtemelen kendi ortamınızı raporladığınızda bu kadar renkli bir sonuç görmeyeceksiniz. Eğer görüyorsanız işler yolunda gitmiyor olabilir :)

Öne Çıkanlar

Get-HyperVReport.ps1 1.0 sürümünde altını çizmek istediğim konular aşağıdaki gibi.

  • Windows Server 2012 Hyper-V ve Windows Server 2012 R2 Hyper-V ortamlarıyla uyumludur.
  • Çalışması için gerekli ön koşulları (runtime environment) kontrol eder ve eğer eksik varsa bazılarını otomatik olarak tamamlar. Tamamlayamadıkları konusunda ise bilgi verir.
  • Ortamdaki verileri toplarken standart Powershell cmdlet’lerinin yanı sıra özel WMI query’leri de kullanır.
  • Topladığı verileri düzgün ve okunabilir tablolara yerleştirir, anlamlandırır, gerekiyor ise belirli eşik değerlerine göre renklendirir ve tamamını in-line CSS ile biçimlendirilmiş tek bir HTML dosyasına kayıt eder.
  • Tablo hücrelerindeki tüm yıldız karakterli (*) alanlar ile bazı highlighted alanlar üzerine geldiğinizde açılan tooltip içerisinde o durumla ilgili bir miktar daha bilgi sağlanır.
  • Doğrudan komut satırından veya zamanlanmış işletim sistemi görevi şeklinde periyodik olarak çalışabilir.
  • Oluşan HTML rapor dosyasını diske kayıt edebildiği gibi eğer isterseniz SMTP sunucunuza bağlanıp belirlediğiniz adreslere e-posta olarak da gönderebilir. Üstelik bunu yaparken SMTP authentication veya TLS/SSL gibi gelişmiş yöntemleri de destekler. Bu sayede eğer isterseniz Gmail, Hotmail veya diğer servis sağlayıcıları da e-posta göndermek için kullanabilirsiniz.
  • Gerektiğinde rapor dosyası ismini değiştirmenize ve kayıt edileceği dizini belirlemenize izin verir.
  • Sahip olduğu HighlightsOnly Mode sayesinde, tüm altyapıyı raporlamak yerine sadece problemli olan kayıtları listeleyebilir. Bu modu aktif eden -HighlightsOnly parametresini kullanarak özellikle çok sayıda sunucu ve sanal makine bulunan ortamlarda uzun raporlar incelemek durumunda kalmadan doğrudan üzerinde uyarı bulunan satırları filtrelemeniz mümkün.
  • Bir script’e göre fazla kontrollüdür. Anlamlı bilgi, uyarı ve hata mesajları gösterir ve kendi log dosyasını tutar.

1.0 Sürümü Neleri Raporlayabilir?

Belirttiğiniz Hyper-V ortamından toplanan bilgiler, oluşan HTML tabanlı rapor dosyasında 3 ana tablo altında yer alır.

Hyper-V Sunucular (Clustered veya Standalone)

  • Hostname
  • İşletim sistemi sürümü
  • Durumu (up, down, paused, joined, vs..)
  • Açık kalma süresi (Uptime)
  • Domain üyeliği
  • Toplam sanal makine sayısı ve kapalı/açık oranı
  • İşlemci sayısı (mantıksal işlemciler, fiziksel soket ve çekirdekler, hyper-threading durumu)
  • Bellek için kapasite bilgileri: kullanılan, müsait ve toplam bellek

Depolama Alanları (Clustered veya Local)

  • Volume
    • İsim (Local Volume, Clustered Volume, Cluster Shared Volume)
    • Etiket veya CSV ise path (tooltip olarak)
    • Fiziksel disk ismi (Clustered dahil)
    • Fiziksel disk için toplam, atanmış ve henüz atanmamış depolama alanı miktarları (tooltip olarak)
  • Disk/Volume durumu (online, failed, maintenance)
  • Kullanım amacı (Logical Partition, Cluster Volume, Cluster Shared Volume, Quorum, System Volume)
  • Sahibi
  • Fiziksel disk için Bus Type (SAS, iSCSI, FC, vb..)
  • Volume için dosya sistemi
  • Volume için kapasite bilgileri: kullanılan, müsait ve toplam depolama alanı

Sanal Makineler

  • Sanal Makine
    • İsim
    • Yapılandırma dosyasının yer aldığı dizin (XML)
    • Jenerasyon
    • Versiyon
  • Durumu (running, off, saved, failed, offline, vb..)
  • Açık kalma süresi (Uptime)
  • Sahibi
  • Atanmış sanal işlemci sayısı
  • Atanmış sanal bellek değerleri (startup, minimum, maksimum, assigned)
  • Yüklü Integration Services sürümü ve güncellik durumu
  • Checkpoint (snapshot) durumu, sayısı ve tüm zincir diskler
  • Çoğaltma (Hyper-V Replica) durumu, sağlığı, çoğaltma sıklığı ve çoğaltılan sunucu bilgisi
  • Tüm sanal diskler
    • VHD isimleri ve bulundukları dizinler
    • VHD dosya boyutları ve maksimum genişleme değerleri
    • VHD türü
    • Varsa VHD zincir yapısı (differencing)
    • VHD fragmentation oranı
    • Sanal disklerin bağlı olduğu sanal controller türü
    • Pass-through diskler (eğer varsa)
    • Bağlı ama kayıp VHD dosyaları (eğer varsa)
  • Clustered sanal makinelerde yaşanabilen offline configuration resource problemlerinin tespiti ve raporlanması
  • Clustered sanal makinelerde yaşanabilen failed durumlarının tespiti ve raporlanması

Get-HyperVReport.ps1 Nasıl Kullanılır?

Get-HyperVReport.ps1’in kullanımı oldukça basit. Öncelikle aşağıdaki ön gereksinimlere göz atın.

Hyper-V Ortamı (Raporlanacak Hyper-V sunucular)

  • Clustered veya Standalone olabilir
  • Active Directory üyeliği
  • Desteklenen Hyper-V Sürümleri
    • Windows Server 2012 Hyper-V
    • Windows Server 2012 R2 Hyper-V
    • Hyper-V Server 2012
    • Hyper-V Server 2012 R2

Script Çalışma Ortamı (Script’in çalışacağı sunucu)

  • Bir uzak Windows Server olabileceği gibi doğrudan ortam içerisindeki herhangi bir Hyper-V sunucusu da olabilir
  • Hyper-V ile aynı veya güvenilen Active Directory üyeliği
  • Desteklenen Windows Server Sürümleri
    • Windows Server 2012
    • Windows Server 2012 R2 (Önerilir)
  • Windows PowerShell (Desteklenen Windows Server sürümlerinde varsayılan olarak yüklü gelir)
    • 3.0
    • 4.0 (Önerilir)
  • Windows Powershell Execution Policy için RemoteSigned veya Unrestircted ataması (Set-ExecutionPolicy)
  • Hyper-V Powershell (Eğer yüklü değilse tespit edilir ve otomatik olarak yüklenir)
  • Clustering Powershell (Eğer yüklü değilse tespit edilir ve otomatik olarak yüklenir)
  • Hyper-V sunucularında yerel yönetici hakkı. Özellikle WMI query’lerin çalışabilmesi için script’in çalıştırıldığı oturum/hesap, raporlanacak sunucular üzerinde yerel yönetici haklarına sahip olmalı.

Get-HyperVReport.ps1’i indirip bir dizine koyun. Ortamda yetkili hesap ile oturum açın, Powershell aracını başlatın ve script’in bulunduğu dizine geçin.

windows-powershell

Komut string’ini oluştururken kullanabileceğiniz parametreler, alabilecekleri değerler ve kullanım örnekleri script dosyası içerisindeki Help bölümünde detaylı olarak yer alıyor. Yine de kısaca bahsetmek gerekirse;

-Cluster Bir Hyper-V Cluster ortamını raporlarken cluster name’i belirtmek için kullanılır.

-VMHost Bir veya birden fazla Standalone Hyper-V sunucusunu raporlarken sunucu isimlerini belirtmek için kullanılır.

-HighlightsOnly Raporda tüm sonuçlara yer vermek yerine sadece üzerinde uyarı olan kaynakları listeler. Özellikle çok sayıda sanal makine ve sunucu bulunan ortamlarda raporu incelemeyi kolaylaştırır. (Opsiyonel)

-ReportFilePath HTML rapor dosyasının kayıt edileceği dizini değiştirmek için kullanılır. (Opsiyonel)

-ReportFileNamePrefix HTML rapor dosyasının isim ön ekini değiştirmek için kullanılır. (Opsiyonel)

-SendMail HTML raporu e-posta şeklinde göndermek için e-posta özelliğini aktif eder.

-SMTPServer E-posta sunucusu adresi. (Eğer -SendMail aktif ise zorunludur)

-SMTPPort E-posta sunucu portu. (Varsayılan olarak 25 değerindedir)

-MailTo E-posta alıcı adresleri. (Eğer -SendMail aktif ise zorunludur ve virgül ile ayrılarak birden fazla adres belirtilebilir)

-MailFrom E-posta gönderici adresi. (Eğer -SendMail aktif ise zorunludur)

-MailFromPassword E-posta gönderici adresi parola bilgisi (Sadece SMTP Authentication gerekliyse kullanılır)

-SMTPServerTLSorSSL E-posta gönderimi için TLS/SSL desteğini aktif eder. (Sadece e-posta sunucusu tarafından isteniyorsa kullanılır)

Aşağıda ise birkaç komut örneği bulabilirsiniz.

1) Hvcluster1 isimli bir Hyper-V Cluster ortamını raporlamak için.

.\Get-HyperVReport.ps1 -Cluster Hvcluster1

get-hypervreport-cluster

2) Hvcluster1 isimli Hyper-V Cluster ortamında çok sayıda sanal makine ve sunucu var, bu yüzden sadece üzerinde uyarı olan kayıtları raporlamak için. Yani HighlightsOnly mode.

.\Get-HyperVReport.ps1 -Cluster Hvcluster1 -HighlightsOnly $true

3) Birkaç Standalone Hyper-V sunucusunu raporlamak için

.\Get-HyperVReport.ps1 -VMHost Host1,Host2,Host3

4) Bir Hyper-V Cluster’ı raporlamak ama oluşan rapor dosyasını farklı bir ön ekle farklı bir dizine kayıt etmek için.

.\Get-HyperVReport.ps1 -Cluster Hvcluster1 -ReportFileNamePrefix YeniOnEk -ReportFilePath c:\yeni-raporlar

5) Bir Hyper-V Cluster’ı raporlamak ve oluşan HTML dosyayı aynı zamanda SMTP Authentication istemeyen bir e-posta sunucusu üzerinden birkaç alıcıya göndermek için.

.\Get-HyperVReport.ps1 -Cluster Hvcluster1 -SendMail $true -SMTPServer 10.20.30.5 -MailFrom sender@hyperv.corp -MailTo recepient1@hyperv.corp,recepient2@hyperv.corp,recepient2@hyperv.corp

6) Bir Hyper-V Cluster’ı raporlamak ve oluşan HTML dosyayı aynı zamanda SMTP Authentication ve TLS isteyen bir e-posta sunucusu üzerinden alıcılara göndermek için. Örneğin Gmail üzerinden.

.\Get-HyperVReport.ps1 -Cluster Hvcluster1 -SendMail $true -SMTPServer smtp.gmail.com -SMTPPort 587 -MailFrom sender@gmail.com -MailFromPassword P@ssw0rd -SMTPServerTLSorSSL $true -MailTo sakinci@inprowise.com

Önemli Notlar

  • Script tek bir noktadan çalıştırılır; doğrudan bir Cluster üyesi, Standalone Hyper-V Host veya tamamen farklı bir görevdeki uzak Windows Server üzerinden çalıştırabilirsiniz.
  • Kendi içerisinde anlamlı raporlar oluşabilmesi için -Cluster ve -VMHost parametreleri aynı anda kullanılamaz. Yani ya Cluster ortamınızı ya da Standalone Hyper-V sunucu grubunu raporlayabilirsiniz. Eğer her ikisini de raporlamanız gerekiyorsa yine ayrı ayrı olmak koşuluyla iki farklı pencerede (veya zamanlanmış görevde) veya sırayla raporlamanız mümkün.
  • Bir Hyper-V sunucu eğer Cluster üyesi ise sadece -Cluster parametresi kullanılarak diğer Cluster Node’ları ile birlikte raporlanabilir çünkü ortam bilgileri aynı Cluster içerisindeki diğer kaynaklarla birlikte değerlendirildiğinde anlamlıdır.
  • Raporlama için -Cluster parametresine aynı anda sadece tek bir cluster ismi verilebilir. Birden fazla Cluster’ın aynı rapor içerisinde gösterilmesi desteklenmez çünkü özellikle çok sayıda sanal makinenin yer aldığı ortamlarda oldukça uzun bir rapor dosyası oluşabiliyor. Bu da okumayı zorlaştırıyor. Ve ayrıca yine kaynak durumları ve bu kaynakların değerlendirilmesi aslında aynı Cluster içerisinde anlamlıdır.
  • Bir Hyper-V sunucu eğer Cluster üyesi değil ise sadece -VMHost parametresi kullanılarak raporlanabilir.

Sadece -Cluster veya -VMHost parametrelerinden birinin kullanımı zorunludur. Diğer tüm parametreler gerektiğinde kullanılmak üzere opsiyoneldir.

Get-HyperVReport.ps1 İndirme Bağlantısı

İndirme ve versiyon takibini tek noktadan yapabilmek için script’in bu 1.0 sürümünü ve önümüzdeki günlerde yayınlanacak sonraki sürümlerini Technet Gallery üzerinde host etmeye karar verdim. Blog’da sürümler ve özellikler hakkında yazılara yer vermeye devam edeceğim tabii ki, ama yeni sürümler de dahil indirme kaynağı Technet Gallery olacak. Aşağıdaki bağlantıyı kullanarak Get-HyperVReport.ps1’in 1.0 sürümünü indirip kullanmaya başlayabilirsiniz.

Get-HyperVReport Get-HyperVReport.ps1 İndirme Bağlantısı

Sürüm Güncellemeleri:

05.03.2015 – v1.5 sürümü yayımlandı. Duyuru yazısı şurada.

Kullanım ve Geri Bildirim

Kullanmak, kurcalamak, hakkında bir şeyler karalamak serbest… Değiştirebilir, belirli bölümlerini veya tamamını alıp kendi script’lerinize dahil edebilirsiniz. Eğer sorularınız, önerileriniz veya tartışmak istediğiniz konular olursa veya ne bileyim şu da olsa güzel olurdu dediğiniz şeyler yakalarsanız bu yazı altında toparlayabiliriz. Benim elimde bir sonraki versiyon için ufak bir liste var, ama sizin de fikirlerinizi almaktan memnuniyet duyarım. Şimdilik bu kadar. Hoşça kalın.

Yazı Etiketleri: , , , ,

Sayfa Başı ▲

Yorumlar (11)

  1. Mesut GUVEN

    Merhaba Serhat Hocam,

    Ellerine ve fikrine sağlık. RSS üzerinden yeni makalenden hemen haberim oldu ve keyifle okudum.
    Fakat production ortamında demek için kaygılarım oldu ve diğer kullanıcılarında olabilir diye belirtmek istedim. Çalıştırdığın ortamda ne gibi sorunlar oldu yada olabilir, çalışan sistemleri performans olarak etkileyici tarafları veya kilitlenme ve reset atma gibi durumları söz konusu olabilir mi?

    Yukarıdaki konularda da bilgi verebilmen durumunda bu makalende zevkli olduğu kadar güven vericide olacaktır.

    Teşekkürler,

  2. Serhat AKINCI

    Merhaba, bu vesileyle bilgi vermiş olayım;

    Get-HyperVReport.ps1 kodu sadece ve sadece “Get” işi yapıyor. Yani script içerisinde New, Set, Start gibi mevcut durumu değiştirebilecek herhangi bir komut yer almıyor. Ortamdaki verileri toplarken Get-VM, Get-Cluster, Get-VHD gibi yerleşik cmdlet’leri kullanıyor veya Get-WmiObject ile özel WMI sorguları çalıştırıyor. PowerShell komut satırında Get-VM yapmak ile ortamda bu script’i çalıştırmak aynı seviyede riskli.

    Get-HyperVReport.ps1’i örneğin 3 Node’lu yaklaşık 30 VM’li bir ortamda çalıştırdığınızda, script’in çalıştığı sunucu üzerinde (runtime environment) 50mb memory PowerShell konsolu için, yaklaşık 30mb memory ise veri toplama işi için kullanılıyor. Bu yük sadece script’in çalıştığı sunucu için geçerli. Beraberinde %1’e ulaşmayan bir işlemci kullanımı söz konusu. Ortam genişliğinize göre 8-10 sn içerisinde raporlama tamamlandıktan sonra bu kaynaklar da boşa çıkıyor. Raporlanan Hyper-V sunucularında ise ölçülebilir bir yük oluşmuyor diyebiliriz çünkü sorgulara zaten çalışır durumda olan WinRM/WMI uygulamaları yanıt dönüyor.

    Production ortamlarda güvenle kullanabilirsiniz :)

  3. Aydın

    Çok yararlı bir çalışma olmuş , teşekkür ederim.

  4. Koli

    Başarılı bir çalışma olmuş . Umarım ilgili kişiler istifade ederler. Çalışmalarınızın devamını diliyorum .

  5. ismail

    Gerçekten çok faydalı olmuş, Hyper-v ortamları için büyük bir eksikliği giderdiğine inanıyorum,

    Teşekkürler emeklerin için

  6. Hyper-V Reporting Script (Get-HyperVReport.ps1) | Ismail Aksoy Blog

    […] http://www.serhatakinci.com/index.php/hyper-v-raporlama-araci-get-hypervreport-ps1.html […]

  7. Onur

    Eline sağlık Serhat hocam. Çok faydalı bir script yazmışsın. Başarılarının devamını diliyorum.

  8. Steve

    You have made many people happy! Thank you for your work – http://www.reddit.com/r/sysadmin/comments/2t43zk/awesome_hyperv_reporting_script/

  9. Hüseyin ERTUGRUL

    Oldukça faydalı sonuçları bu kadar basit alabilmemiz sayenizde serhat bey. Emeğinize sağlık, çalışmanızın devamını dileriz.

  10. Fikret Polat

    Serhat Bey öncelikle emeğinize sağlık.Bu scripti hyper-v v2 ortamı içinde kullanabilir miyiz.

  11. Serhat AKINCI

    Hayır, sadece Windows Server 2012 Hyper-V ve 2012 R2 Hyper-V için kullanılabilir.

Yorum Ekle