VMware kümesinde balonlu veya takas RAM'li tüm sanal makineleri mi buluyorsunuz?


11

Bir vSphere kümesine veya kaynak havuzuna bakacak ve belirli bir düzeyde bellek balonlaması ya da değiştirecekse, hangi VM'lerin etkilendiğini nasıl belirleyebilirim? Onları bulduktan sonra onlarla ne yapacağımı biliyorum :)

Aşağıdaki örnekte, kaynak havuzunda 65 sanal makine bulunmaktadır. 32 Gigabyte'ın altında balonlu RAM var. Hangi VM'lerin RAM'lerinin bir bölümünün balonlandığını veya değiştirildiğini nasıl belirleyebilirim?

resim açıklamasını buraya girin


1
Kodu sadeleştirmek istiyorsanız bu tek satırlıdır: Get-View -ViewType VirtualMachine | Where-Object {$ _. Özet.QuickStats.BalloonedMemory -ne "0"} | @ {n = 'BilgisayarAdı'; e = {$ _. ad}}, @ {n = 'SwappedMemory'; e = {$ _. Özet.quickstats.SwappedMemory}}, @ {n = 'BalloonedMemory'; e = {$ _.
Özet.quickstats.SwappedMemory

Yanıtlar:


4

Powercli böyle şeyler için mükemmeldir:

Get-VM | burada {$ _. BalloonedMemory -ne '0'}

Daha fazla örnek burada:

http://www.getshifting.com/wiki/powerclinotes

Özellikle "Balonlu ve Takaslı Sanal Makineler" e bir göz atın http://www.getshifting.com/wiki/powerclinotes#resource_pools_with_ballooning_and_swapping

Yukarıdaki bağlantıdan kopyalandı:

$myCol = @()
foreach($vm in (Get-View -ViewType VirtualMachine | Where-Object `
  {$_.Summary.QuickStats.BalloonedMemory -ne "0"})){
    $Details = "" | Select-Object VM, `
    SwappedMemory ,BalloonedMemory

    $Details.VM = $vm.Name
    $Details.SwappedMemory = $vm.Summary.QuickStats.SwappedMemory
    $Details.BalloonedMemory = $vm.Summary.QuickStats.BalloonedMemory

    $myCol += $Details
  }
$myCol

Kodu yapıştırabilirsiniz!
ewwhite

Bu, ~ 1200 VM'lere sahip bir Sanal Merkezde 2 dakikadan az bir sürede çalışıyordu. Soru güncellendi.
ewwhite

6

Umarım bu biraz yardımcı olacaktır.

Üzgünüm, bu bilgi çıktısında ek türler yapmak ve kaynaklara (ana bilgisayar, veri deposu, küme) göre gruplandırma yapmak istediğiniz için hızlıydı, tüm vCenter'a karşı koştum.

#!/bin/env python
__author__ = 'dladner'

import os
import sys
import pysphere

from pysphere import VIServer, MORTypes
from pysphere.resources import VimService_services as VI

s = VIServer()
s.connect("vcenter_hostname_or_ip", "username", "password")
vmlist = s.get_registered_vms(status="poweredOn")
count = 0
for vmpath in vmlist:
    pm1 = s.get_performance_manager()
    vm = s.get_vm_by_path(vmpath)
    mor = vm._mor
    ballooned = pm1.get_entity_statistic(mor, 77)
    swapped = pm1.get_entity_statistic(mor, 61)
    count += 1
    print "VM Number %d is %s and Ballooned Memory Amount on this VM is : %s" % (count, vmpath, ballooned)
    print "VM Number %d is %s and Swapped Memory Amount on this VM is  : %s" % (count, vmpath, swapped)

print "NOTICE: This statistic refers to VMkernel swapping and not to guest OS swapping."
s.disconnect()

Bu, daha yüksek balonlu / swapped miktarından daha düşük bir değere istediğiniz şekilde değiştirebileceğiniz ve sıralayabileceğiniz aşağıdaki sonucu verecektir (+ KB'yi MB'ye dönüştürmek isteyecektir)

Çıktıyı değiştirdim (değiştirilmiş ana bilgisayar adları ve balonla / takas ile gruplandırılmıştır)

SWAPPED:

VM Number 2 is [vm11_rr] hostname and Swapped Memory Amount on this VM is  : [<vm-303427:swapped(61):Swapped::107336:kiloBytes:2013-08-31 04:35:33.561569>]
VM Number 9 is [vm04] hostname and Swapped Memory Amount on this VM is  : [<vm-17451:swapped(61):Swapped::7896:kiloBytes:2013-08-31 04:36:25.791696>]
VM Number 10 is [vm05_nq] hostname and Swapped Memory Amount on this VM is  : [<vm-266882:swapped(61):Swapped::816:kiloBytes:2013-08-31 04:36:33.266692>]
VM Number 11 is [vm06] hostname and Swapped Memory Amount on this VM is  : [<vm-4550:swapped(61):Swapped::-1:kiloBytes:2013-08-31 04:36:40.313133>]
VM Number 14 is [vm05] hostname and Swapped Memory Amount on this VM is  : [<vm-158642:swapped(61):Swapped::12532:kiloBytes:2013-08-31 04:37:02.907590>]
VM Number 23 is [vm07] hostname and Swapped Memory Amount on this VM is  : [<vm-437276:swapped(61):Swapped::135272:kiloBytes:2013-08-31 04:38:10.633787>]
VM Number 24 is [vm14_rr] hostname and Swapped Memory Amount on this VM is  : [<vm-74703:swapped(61):Swapped::183436:kiloBytes:2013-08-31 04:38:17.985025>]
VM Number 25 is [vm01] hostname and Swapped Memory Amount on this VM is  : [<vm-156212:swapped(61):Swapped::13268:kiloBytes:2013-08-31 04:38:25.224494>]
VM Number 33 is [vm14] hostname and Swapped Memory Amount on this VM is  : [<vm-156661:swapped(61):Swapped::828:kiloBytes:2013-08-31 04:39:25.827377>]
VM Number 39 is [vm23_rr] hostname and Swapped Memory Amount on this VM is  : [<vm-391487:swapped(61):Swapped::10020:kiloBytes:2013-08-31 04:40:10.795514>]
VM Number 48 is [vm15] hostname and Swapped Memory Amount on this VM is  : [<vm-446333:swapped(61):Swapped::-1:kiloBytes:2013-08-31 04:41:20.224237>]
VM Number 49 is [vm14_rr] hostname and Swapped Memory Amount on this VM is  : [<vm-395852:swapped(61):Swapped::91664:kiloBytes:2013-08-31 04:41:27.588455>]
vm number 51 is [vm03] hostname and swapped memory amount on this vm is  : [<vm-47780:swapped(61):swapped::8:kilobytes:2013-08-31 04:41:43.539276>]
vm number 54 is [vm29_rr] hostname and swapped memory amount on this vm is  : [<vm-430048:swapped(61):swapped::1200:kilobytes:2013-08-31 04:42:07.398927>]
vm number 56 is [vm03] hostname and swapped memory amount on this vm is  : [<vm-45758:swapped(61):swapped::19560:kilobytes:2013-08-31 04:42:22.790720>]
vm number 59 is [vm25_rr] hostname and swapped memory amount on this vm is  : [<vm-267833:swapped(61):swapped::55836:kilobytes:2013-08-31 04:42:46.202327>]
vm number 60 is [vm01] hostname and swapped memory amount on this vm is  : [<vm-279859:swapped(61):swapped::4289160:kilobytes:2013-08-31 04:42:53.200330>]
vm number 61 is [vm04] hostname and swapped memory amount on this vm is  : [<vm-174860:swapped(61):swapped::26288:kilobytes:2013-08-31 04:43:01.326958>]
vm number 62 is [vm25_rr] hostname and swapped memory amount on this vm is  : [<vm-384185:swapped(61):swapped::8180:kilobytes:2013-08-31 04:43:09.043827>]
vm number 63 is [vm12_rr] hostname and swapped memory amount on this vm is  : [<vm-434605:swapped(61):swapped::25780:kilobytes:2013-08-31 04:43:16.270494>]
vm number 64 is [vm01] hostname and swapped memory amount on this vm is  : [<vm-372871:swapped(61):swapped::21840:kilobytes:2013-08-31 04:43:23.820811>]
vm number 67 is [vm09_nq] hostname and swapped memory amount on this vm is  : [<vm-184134:swapped(61):swapped::716:kilobytes:2013-08-31 04:43:46.909753>]
vm number 69 is [vm31_rr] hostname and swapped memory amount on this vm is  : [<vm-434653:swapped(61):swapped::148:kilobytes:2013-08-31 04:44:02.652494>]

BALLOONED::
VM Number 23 is [vm07] hostname and Ballooned Memory Amount on this VM is : [<vm-437276:vmmemctl(77):Balloon::2638188:kiloBytes:2013-08-31 04:38:08.631993>]
VM Number 24 is [vm14_rr] hostname and Ballooned Memory Amount on this VM is : [<vm-74703:vmmemctl(77):Balloon::1335560:kiloBytes:2013-08-31 04:38:16.188130>]
VM Number 49 is [vm14_rr] hostname and Ballooned Memory Amount on this VM is : [<vm-395852:vmmemctl(77):Balloon::1249812:kiloBytes:2013-08-31 04:41:25.789048>]
VM Number 56 is [vm03] hostname and Ballooned Memory Amount on this VM is : [<vm-45758:vmmemctl(77):Balloon::-1:kiloBytes:2013-08-31 04:42:20.445191>]

Biraz daha yardıma ihtiyacınız varsa yarın daha aklı başında hale getirmeye çalışabilirim, çünkü bugün oldukça geç.

KAYNAKLARI:

http://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.wssdk.apiref.doc_50/memory_counters.html

https://code.google.com/p/pysphere/

Bu yardımcı olur umarım.

Şerefe.

PS: -1: kiloBytes'in API'dan ne anlama geldiğinden emin değilim.


Teşekkür ederim. Bağlanalım ve bunu sıkıntılı ortama karşı deneyeyim.
ewwhite

Acaba bu bilgiyi almanın daha hızlı bir yolu var mı?
ewwhite

evet bu yavaş.
Danila Ladner

Daha hızlı yapmanın bir yolu olduğunu düşünüyorum, biri sadece salak bir prototip, içine bakacağım.
Danila Ladner

@DanilaLadner, bu cevap için teşekkürler. Bu komut dosyası çok yavaş çalışıyor. Bunu daha hızlı yapmanın bir yolu var mı?
user1471980

1

Bu, eski bir iş parçacığına çok geç bir eklemedir, ancak bunu daha hızlı bir şekilde bir boru hattında tutarak ve her döngü için a'dan kaçınabilirsiniz. Bunu deneyin:

    get-vm | where{ $_.swappedmemory -ne '0'} | get-view | Select Name,@{Name="Swapped”;Expression={$_.summary.quickstats.swappedmemory}},@{Name="Ballooned";Expression={$_.summary.quickstats.balloonedmemory}}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.