Optimización de Recursos en Vagrant: Redimensionando CPU y Memoria

En entornos de virtualización como Vagrant, es común necesitar ajustar la cantidad de memoria y CPUs asignadas a las máquinas virtuales según los requisitos del entorno. Esto puede realizarse de manera eficiente utilizando scripts como el siguiente:

#!/bin/bash

# Lista de nombres de máquinas virtuales
machines=("srvlwm01" "srvlww01" "srvlww02" "srvlwd01" "srvlwi01" "srvlwi02")

# Tamaño de memoria deseado y número de CPUs
memory_size=6144
cpu_count=2

# Apagar las máquinas virtuales
for machine in "${machines[@]}"; do
    echo "Apagando $machine..."
    VBoxManage controlvm "$machine" acpipowerbutton
done

# Esperar un momento para asegurarse de que las máquinas se apaguen
sleep 30

# Redimensionar la memoria y CPUs
for machine in "${machines[@]}"; do
    echo "Redimensionando $machine..."
    VBoxManage modifyvm "$machine" --memory "$memory_size" --cpus "$cpu_count"
    echo "Configuración de $machine actualizada: CPUs=$cpu_count, RAM=${memory_size}MB"
done

# Encender las máquinas virtuales
for machine in "${machines[@]}"; do
    echo "Encendiendo $machine..."
    VBoxManage startvm "$machine" --type headless
done

Explicación del Script:

  1. Lista de Máquinas Virtuales (machines): Aquí se definen los nombres de las máquinas virtuales que se van a modificar. En este caso, se usan nombres como «srvlwm01», «srvlww01», etc.
  2. Tamaño de Memoria y Número de CPUs: Se establecen las variables memory_size y cpu_count con los valores deseados para la memoria en MB y el número de CPUs respectivamente.
  3. Apagado de las Máquinas Virtuales: Se apagan todas las máquinas virtuales especificadas en machines utilizando VBoxManage controlvm "$machine" acpipowerbutton.
  4. Espera: Se aguarda 30 segundos para asegurar que las máquinas se apaguen completamente antes de realizar los cambios de configuración.
  5. Redimensionamiento de Memoria y CPUs: Se itera sobre cada máquina virtual, utilizando VBoxManage modifyvm para ajustar la memoria y el número de CPUs según los valores definidos en las variables.
  6. Encendido de las Máquinas Virtuales: Una vez completados los ajustes, se encienden nuevamente las máquinas virtuales en modo headless (--type headless).

Redimensionando manual a una VM

Para realizar estos ajustes manualmente a una VM específica, sigue estos pasos:

  • Apagar la VM: Utiliza VBoxManage controlvm NOMBRE_VM acpipowerbutton para apagar la máquina virtual. Sustituye NOMBRE_VM por el nombre de tu máquina virtual.
VBoxManage controlvm srvlwm01 acpipowerbutton
  • Redimensionar Memoria y CPUs: Utiliza VBoxManage modifyvm NOMBRE_VM --memory NUEVO_TAMAÑO --cpus NUEVO_NUMERO_CPUS para ajustar la memoria y CPUs. Sustituye NOMBRE_VM, NUEVO_TAMAÑO y NUEVO_NUMERO_CPUS por los valores deseados.
VBoxManage modifyvm srvlwm01 --memory 6144 --cpus 2

Encender la VM: Finalmente, enciende la máquina virtual.

VBoxManage startvm srvlwm01 --type headless
  • Para verificar si el redimensionamiento de la memoria y las CPUs se realizó correctamente utilizando el comando VBoxManage showvminfo <nombre_de_la_maquina>, puedes hacer uso de grep para filtrar la salida del comando y buscar las líneas específicas que contienen información sobre la memoria y las CPUs de la máquina virtual.
VBoxManage showvminfosrvlwm01  | grep -E 'Memory size|Number of CPUs'

:wq!

Deja una respuesta

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