Tìm tất cả các máy ảo có RAM bóng hoặc hoán đổi trong cụm VMware?


11

Nếu tôi đã xem xét một cụm vSphere hoặc nhóm tài nguyên và thấy một mức độ phình to hoặc hoán đổi bộ nhớ nhất định, làm cách nào để xác định VM nào bị ảnh hưởng? Tôi biết phải làm gì với họ khi tôi tìm thấy họ :)

Trong ví dụ dưới đây, có 65 máy ảo trong nhóm tài nguyên. Chỉ có dưới 32 Gigabyte RAM bóng. Làm cách nào để xác định máy ảo nào có một phần RAM bị bong tróc hoặc tráo đổi?

nhập mô tả hình ảnh ở đây


1
Nếu bạn muốn đơn giản hóa mã thì đây là một lớp lót: Get-View -ViewType VirtualMachine | Trường hợp-Đối tượng {$ _. Tóm tắt.QuickStats.BalloonedMemory -ne "0"} | chọn @ {n = 'Tên máy tính'; e = {$ _. name}}, @ {n = 'SwapsMemory'; e = {$ _. Summary.quickstats.SwappedMemory}}, @ {n = 'BalloonedMemory'; e = {$ _. Summary.quickstats.SwappedMemory}}
TechGuyTJ

Câu trả lời:


4

Powercli là tuyệt vời cho những thứ như thế này:

Nhận-VM | trong đó {$ _. BalloonedMemory -ne '0'}

Tải thêm ví dụ ở đây:

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

Đặc biệt có một cái nhìn về "VM với Ballooning và Hoán đổi" http://www.getshifting.com/wiki/powerclinotes#resource_pools_with_ballooning_and_swicking

Sao chép từ liên kết trên:

$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

Bạn có thể dán mã!
ewwhite

Điều này đã hoạt động, chạy trong chưa đầy 2 phút trên Trung tâm ảo với ~ 1200 VM. Câu hỏi cập nhật.
ewwhite

6

Hy vọng điều này sẽ là một chút giúp đỡ.

Xin lỗi, đã nhanh chóng nên bạn muốn thực hiện các loại bổ sung trong đầu ra thông tin này, cũng như nhóm theo tài nguyên (máy chủ, kho dữ liệu, cụm), tôi đã chạy với toàn bộ vCenter.

#!/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()

Điều này sẽ cung cấp cho bạn kết quả bên dưới nơi bạn có thể sửa đổi và sắp xếp nó theo cách bạn muốn từ số lượng bóng / hoán đổi cao hơn thành thấp hơn (+ muốn chuyển đổi KB sang MB)

Tôi đã sửa đổi đầu ra (tên máy chủ thay thế và được nhóm bằng bóng / hoán đổi)

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>]

Nếu bạn cần thêm sự giúp đỡ, tôi có thể cố gắng làm cho nó lành mạnh hơn vào ngày mai vì hôm nay đã khá muộn.

NGUỒN:

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

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

Hi vọng điêu nay co ich.

Chúc mừng.

PS Không chắc -1: kiloBytes nghĩa là gì từ API.


Cảm ơn bạn. Hãy để tôi được kết nối và thử điều này chống lại môi trường gặp khó khăn.
ewwhite

Tôi tự hỏi nếu có một cách nhanh hơn để có được thông tin này.
ewwhite

vâng, cái đó chậm
Danila Ladner

Tôi khẳng định có một cách để làm cho nó nhanh hơn, đó chỉ là một nguyên mẫu thô sơ, tôi sẽ xem xét nó.
Danila Ladner

@DanilaLadner, cảm ơn vì câu trả lời này. Kịch bản này chạy rất chậm. Có cách nào để làm điều này nhanh hơn?
user1471980

1

Đây là một bổ sung rất muộn cho một chủ đề cũ nhưng bạn có thể thực hiện việc này nhanh hơn để giữ nó trong một đường ống dẫn và tránh một vòng lặp. Hãy thử xem:

    get-vm | where{ $_.swappedmemory -ne '0'} | get-view | Select Name,@{Name="Swapped”;Expression={$_.summary.quickstats.swappedmemory}},@{Name="Ballooned";Expression={$_.summary.quickstats.balloonedmemory}}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.