Problema

Muchos entusiastas de la virtualización reutilizan equipos de oficina que ya no sirven en producción. Un caso típico es un Dell Optiplex 7020 de 2014 con un i5‑4590S, 10 GB de DDR3 y un disco duro mecánico de 512 GB. El objetivo suele ser montar Proxmox y ejecutar máquinas virtuales ligeras: un controlador de dominio, un servidor de medios y algunos servicios auxiliares. El dilema es decidir qué componentes actualizar para obtener suficiente rendimiento sin romper el presupuesto limitado de un homelab.

Causa

Los cuellos de botella aparecen por tres razones recurrentes:

  1. CPU insuficiente – El i5‑4590S tiene 4 núcleos sin Hyper‑Threading y una frecuencia base de 3 GHz. Proxmox asigna vCPU a cada VM; al ejecutar Windows Server con GUI y Jellyfin simultáneamente, la carga de CPU se dispara y el scheduler empieza a sobre‑asignar, generando latencias perceptibles.

  2. Memoria escasa y de velocidad limitada – 10 GB DDR3 deja poco margen para varios dominios de Windows y contenedores Linux. Además, la arquitectura de doble canal se pierde cuando los módulos están desbalanceados, reduciendo el ancho de banda de memoria.

  3. Almacenamiento lento – Un HDD de 7200 rpm implica tiempos de arranque de VM de varios minutos y cuellos de botella en I/O, especialmente en servidores de medios que hacen streaming de archivos grandes.

Estos factores son independientes, pero su combinación produce un rendimiento pobre que se percibe como “el hardware no alcanza”. La solución pasa por equilibrar CPU, RAM y almacenamiento dentro de las limitaciones del chasis y la placa base del Optiplex 7020.

Solución

1. Selección de CPU

El socket LGA 1150 del Optiplex 7020 admite los procesadores de la familia “Haswell” (i3, i5, i7). La mejor relación precio‑rendimiento en el mercado de segunda mano es el Intel Core i7‑4770 (4 núcleos / 8 hilos, 3.4 GHz base, 3.9 GHz turbo). Sus 8 hilos permiten asignar 2 vCPU a cada VM sin saturar el host y mantiene un TDP de 84 W, compatible con la fuente original.

Si el presupuesto lo permite, el i7‑4790 ofrece 4 GHz turbo y un ligero aumento de IPC, pero el salto de precio suele ser marginal en eBay. En cualquier caso, evita procesadores de la serie “U” (ultrabook) o “T” (low‑power) porque su frecuencia base es demasiado baja para cargas de virtualización.

2. Expansión de RAM

La placa del Optiplex 7020 tiene cuatro ranuras DDR3‑1600. La configuración óptima es 32 GB (2 × 16 GB) en modo dual‑channel. Los módulos de 16 GB son abundantes en el mercado de segunda mano y garantizan que cada canal reciba la misma capacidad, maximizando el ancho de banda. Si solo puedes conseguir 8 GB, instala 2 × 8 GB y deja dos ranuras libres para futuras ampliaciones.

Asegúrate de que la BIOS esté configurada en “Memory Frequency” a 1600 MHz y que el “XMP” esté desactivado (las placas de oficina no lo soportan). Un test rápido con memtest86+ confirma la estabilidad antes de cargar Proxmox.

3. Sustitución del almacenamiento

Reemplaza el HDD por un SSD SATA de 1 TB. Un SSD NVMe no es viable porque la placa solo tiene SATA III; sin embargo, un SSD de 2.5” con controlador Marvell o Samsung garantiza tiempos de arranque <10 s y I/O sostenido >500 MB/s, suficiente para Jellyfin y controladores de dominio.

Para maximizar la vida útil del SSD en un entorno de VM, habilita TRIM en Proxmox (systemctl enable fstrim.timer) y asigna discos virtuales como raw en lugar de qcow2 cuando el rendimiento de escritura sea crítico.

4. Configuración de Proxmox

Una vez el hardware está actualizado, ajusta los siguientes parámetros en /etc/pve/datacenter.cfg:

# Reduce overhead de KSM (Kernel Samepage Merging) en entornos mixtos
kvm_memory_swap_rate: 0

Desactiva la ballooning en VMs Windows que usen GUI, porque el driver de memoria dinámica a veces provoca reinicios inesperados bajo carga. En la UI de Proxmox, en la pestaña “Hardware” de cada VM, establece “Memory” a un valor fijo (p.ej., 4 GB) y desmarca “Balloon”.

5. Optimización de red

El Optiplex 7020 incluye un controlador Intel I219‑V de 1 GbE. Para varios contenedores y VMs, crea un Linux Bridge y asigna VLANs si el router lo soporta. Evita el uso de “virtio” para Windows Server 2025 si la versión del driver no está disponible; en su lugar, usa el adaptador “e1000” y actualiza los drivers dentro de la VM.

Cuándo aplicar esta solución

  • Escenario A: Un servidor de oficina antiguo (2012‑2016) con CPU de 4 núcleos, menos de 16 GB de RAM y HDD, destinado a Proxmox para 2‑4 VMs ligeras.
  • Escenario B: Necesidad de ejecutar Windows Server con GUI y un servicio de medios que requiere alto I/O.
  • Escenario C: Presupuesto limitado a componentes de segunda mano (eBay, marketplaces locales).

No es recomendable si:

  • El chasis no permite acceso a la fuente de alimentación o a los módulos de RAM (modelos “Small Form Factor”).
  • Se planea ejecutar cargas de trabajo intensivas en GPU o que requieran NVMe, ya que la placa no los soporta.
  • El objetivo es un cluster de alta disponibilidad con más de 8 nodos; en ese caso conviene invertir en hardware más reciente.

Código

# Verificar que el BIOS reconoce la nueva CPU y la RAM en dual‑channel
lscpu | grep "Model name"
dmidecode -t memory | grep -E "Size|Locator|Speed"

# Comprobar que el SSD está usando modo AHCI y TRIM está activo
lsblk -f
systemctl status fstrim.timer

Verificación

  1. Benchmark de CPU – Ejecuta sysbench --test=cpu --cpu-max-prime=20000 run dentro de una VM y compara con el host. El tiempo debe ser ≤ 30 % del benchmark del i5‑4590S.

  2. Prueba de memoria – Corre memtester 4096 5 en el host. No debe haber errores.

  3. I/O del SSD – Usa fio --name=seqread --filename=/dev/sda --rw=read --bs=1M --size=1G --numjobs=1 --runtime=60 --group_reporting. El throughput esperado > 450 MB/s.

  4. Arranque de VMs – Mide el tiempo de boot de una VM Windows Server 2025 con systemd-analyze time. Debe estar bajo 30 s.

  5. Streaming en Jellyfin – Reproduce un archivo de 4 GB y verifica que no haya buffering > 2 s.

Si todos los pasos superan los umbrales, la actualización está completa y el homelab debería operar sin cuellos de botella perceptibles.

Notas adicionales

  • Fuente de alimentación: El Optiplex 7020 viene con una PSU de 260 W. Con un i7‑4770 y SSD, sigue siendo suficiente, pero revisa que el conector de 24 pines esté firme. Si planeas añadir discos adicionales, considera una PSU de 350 W de segunda mano.

  • Actualización de BIOS: Antes de cambiar la CPU, actualiza la BIOS a la última versión disponible en el sitio de Dell. La versión 1.4.0 corrige problemas de reconocimiento de i7‑4770 en algunos lotes.

  • Gestión de energía: Desactiva “C‑states” y “SpeedStep” en la BIOS si observas throttling bajo carga sostenida. En entornos de homelab, la eficiencia energética es secundaria a la estabilidad.

  • Backup de configuración: Exporta la configuración de Proxmox (pveam download) antes de aplicar cambios críticos. Un backup rápido de /etc/pve permite restaurar el cluster en caso de error.

  • Monitorización: Instala netdata o prometheus node_exporter para observar en tiempo real CPU, RAM y I/O. Los picos inesperados suelen indicar que una VM está sobre‑asignada.

Con estos pasos, cualquier Dell Optiplex 7020 puede transformarse en un nodo Proxmox fiable, capaz de alojar controladores de dominio, servidores de medios y servicios auxiliares sin necesidad de una inversión mayor. La clave está en equilibrar CPU, RAM y SSD dentro del límite del socket LGA 1150 y la arquitectura DDR3, y ajustar Proxmox para que aproveche al máximo el hardware renovado.