Memoria Dinámica en Hyper-v Mediante PowerShell

Con powershell podemos configurar de manera “programática” los seteos de la memoria dinámica, pero antes, debemos saber cuales son y que hacen

La clase principal del manejo de la memoria Msvm_MemorySettingData 

 Estas son unas de las propiedades mas importantes:

 

DynamicMemoryEnabled Este es un valor booleano 0/1 que indica si la máquina tiene o no habilitada la memoria dinámica
Reservation Cantidad de memoria de mínima de la maquina virtual
VirtualQuantity Cantidad de memoria de inicio
Limit cantidad máxima que podría tomar nuestra máquina virtual
TargetMemoryBuffer
El porcentaje de Buffer de nuestra máquina virtual
Weight Esta es la prioridad de la maquina virtual entre 0 y 1000

Como Lo usamos????

   1: #Nombre del Servidor de Hyper-v

   2: $HyperVServer=”Server01”

   3: #Nombre de la máquina virtual

   4: $VMName = “Prueba03”

   5: #Instanciamos el sistema de administración de Maquinas Virtuales

   6: $VMMS = gwmi -namespace rootvirtualization Msvm_VirtualSystemManagementService -computername $HyperVServer

   7: # Traemos la maquina virtual completa  a la variable $VM

   8: $VM = gwmi MSVM_ComputerSystem -filter "ElementName='$VMName'" -namespace "rootvirtualization" -computername $HyperVServer

   9: # Obtenemos toda la configuración de la maquina en la variable SystemSettingData 

  10: $SystemSettingData = $VM.getRelated("Msvm_VirtualSystemSettingData") | where {$_.SettingType -eq 3}

  11: # Obtenemos toda la configuración de la maquina en la variable MemSetting

  12: $MemSetting = $SystemSettingData.getRelated("Msvm_MemorySettingData") | select -first 1

  13:  

  14:  

  15: #ahora realizamos los cambios… OJO la máquina debe estar pagada

  16: $MemSetting.DynamicMemoryEnabled = 1

  17: $MemSetting.Reservation = 512

  18: $MemSetting.VirtualQuantity = 512

  19: $MemSetting.Limit = 1024

  20: $MemSetting.TargetMemoryBuffer = 20

  21: $MemSetting.Weight = 500

  22:  

  23: #Procesamos los cambios

  24: $VMMS.ModifyVirtualSystemResources($VM, $MemSetting.GetText(1))

  25:  

Con esto dejamos nuestra maquina virtual con la memoria dinámica habilitada con 512MB de inicio y 1024 como limite máximo de memoria

El buffer es del 20% y la prioridad es Media

Saludos y Gracias por leer el Blog

2 comentarios sobre “Memoria Dinámica en Hyper-v Mediante PowerShell”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *