ACADEMIA TI · TEMPORADA 2 · EP020

Snapshots y tareas avanzadas en Proxmox VE

Cómo capturar estados temporales, automatizar operaciones y controlar los resultados sin confundir un snapshot con un backup.

Infografía original EP020: Snapshots y tareas avanzadas en Proxmox VE
Infografía original del episodio EP020, conservada sin alteraciones.

Un snapshot captura el estado de una VM o contenedor en un momento concreto para poder revisar un cambio o volver atrás rápidamente. Las tareas programadas, scripts, hooks y notificaciones amplían esa capacidad y convierten acciones repetitivas en un flujo controlado.

Idea clave: un snapshot es una fotografía operativa de corto plazo; no sustituye un backup independiente ni una estrategia de recuperación ante desastres.

1. Qué es un snapshot y cuándo aporta valor

Un snapshot registra el estado de los discos y, según la configuración, otros elementos de la VM o CT en un instante. Es útil antes de instalar una actualización, modificar una aplicación o probar una configuración que pueda requerir rollback.

Su utilidad depende del almacenamiento y de la carga de escritura. Mientras más tiempo se conserva y más cambios acumula, mayor puede ser su impacto en espacio y rendimiento. Por eso debe tener propósito, responsable y fecha de limpieza.

2. Snapshot, backup y replicación no son lo mismo

MecanismoPropósitoHorizonteQué no resuelve
SnapshotVolver rápidamente a un estado recienteCorto plazoNo protege frente a la pérdida del almacenamiento original
BackupConservar puntos históricos en otro repositorioMedio y largo plazoNo siempre permite rollback inmediato
ReplicaciónMantener una copia en otro nodoContinuidad y recuperaciónNo reemplaza el historial ni la protección contra corrupción

La infografía recuerda que los snapshots no reemplazan a los backups. Una política madura puede usar los tres mecanismos, cada uno con una responsabilidad distinta.

3. Componentes de la automatización

  • Snapshot manual: captura puntual con nombre y descripción.
  • Tarea programada: ejecuta backups, snapshots u otras acciones en una ventana definida.
  • Script: automatiza una secuencia repetible, con validaciones y salida registrada.
  • Hook: permite asociar acciones a eventos del ciclo de una tarea, siempre que la versión y la herramienta lo soporten.
  • Notificación: avisa por correo, Telegram u otro canal configurado.
  • Historial: evidencia de ejecución, duración, estado y resultado.
Evento o calendarioTareaScript / hookResultadoAlerta

4. Requisitos para automatizar con seguridad

La infografía señala CPU con virtualización, al menos 4 GB de RAM —8 GB recomendado—, almacenamiento suficiente, conectividad estable y permisos de administrador en Proxmox VE. Para automatización conviene añadir:

  • Una cuenta o token con el mínimo privilegio necesario.
  • Hora y zona horaria coherentes para que el calendario sea predecible.
  • Espacio reservado para snapshots, backups y logs.
  • Un entorno de prueba antes de ejecutar scripts sobre cargas críticas.
  • Un mecanismo de reversa si la tarea modifica configuración.

5. Flujo de trabajo con snapshot

El snapshot debe representar una decisión, no una acumulación indefinida. El siguiente flujo muestra el ciclo recomendado.

Definir cambioCrear snapshot con nombreAplicar cambioProbar servicioConservar o rollback

Si el servicio funciona, se documenta y se elimina el snapshot cuando la política lo indique. Si falla, se evalúa el rollback y se valida que los datos y servicios queden consistentes.

6. Los 12 pasos de la infografía

  1. Entender qué es un snapshot: captura un estado temporal de VM o CT.
  2. Crear snapshot manualmente: selecciona la carga, asigna nombre y descripción.
  3. Gestionar snapshots: revisa, revierte o elimina; no los acumules sin propósito.
  4. Configurar tareas programadas: define calendario y tipo de tarea desde Datacenter > Tasks > Scheduled Tasks.
  5. Programar backups automáticos: selecciona destino, nodo y retención.
  6. Programar snapshots automáticos: define frecuencia y tiempo de conservación adecuados.
  7. Ejecutar scripts personalizados: automatiza limpieza, comprobaciones o reportes con controles.
  8. Configurar notificaciones: prepara correo o Telegram según los canales disponibles.
  9. Notificar por Telegram: integra bot o webhook y protege sus credenciales.
  10. Monitorear el estado: revisa Tasks y Task History, duración y resultados.
  11. Configurar retención y limpieza: elimina snapshots y backups antiguos conforme a la política.
  12. Aplicar mejores prácticas: prueba restauraciones, evita snapshots innecesarios y usa 3-2-1.

7. Diseñar una tarea programada

Una tarea debe responder cinco preguntas: qué ejecuta, sobre qué objeto, con qué frecuencia, dónde guarda el resultado y cómo avisará si falla. Programar sin definir estas respuestas convierte la automatización en una caja negra.

  1. Define el objetivo: snapshot previo a cambio, backup nocturno, limpieza o reporte.
  2. Elige la carga y excluye objetos que no deban tocarse.
  3. Selecciona una ventana con capacidad de CPU, disco y red.
  4. Configura retención y evita solapamientos con otros jobs.
  5. Prueba una ejecución manual y conserva el registro.

8. Scripts, hooks y notificaciones

Un script útil valida condiciones antes de actuar, devuelve un resultado claro y escribe evidencia. Por ejemplo, puede comprobar que una VM está encendida, crear un reporte y notificar el resultado. No debe contener contraseñas en texto plano ni ejecutar comandos destructivos sin confirmación.

Los hooks pueden reaccionar a fases de una tarea —antes, durante o después—, pero su sintaxis y disponibilidad dependen de la versión y del mecanismo elegido. Trátalos como código operativo: prueba en laboratorio, registra cambios y define cómo deshabilitarlos.

Una notificación debe distinguir éxito, advertencia y fallo. Un mensaje “job iniciado” no demuestra que el backup o snapshot haya terminado correctamente.

9. Ejemplo empresarial: cambio controlado en un ERP

Una empresa debe actualizar el componente web de su ERP. El equipo crea un snapshot llamado erp-pre-cambio-2026-11-04, documenta el objetivo y ejecuta la actualización en una ventana autorizada.

  1. Un script comprueba espacio y estado de la VM.
  2. La tarea registra hora de inicio y responsable.
  3. Se aplica el cambio y se prueban login, consulta y emisión de documentos.
  4. Si todo funciona, se conserva la evidencia y se elimina el snapshot después del periodo definido.
  5. Si falla, se detiene el servicio según el procedimiento, se evalúa rollback y se vuelve a probar antes de abrir la operación.

El backup independiente permanece intacto. El snapshot se usa para una reversa rápida, no como única protección de los datos.

10. Ejercicio práctico

Diseña una automatización para una VM de laboratorio que recibe actualizaciones semanales:

  1. Define cuándo crearías el snapshot y qué nombre usarías.
  2. Indica cuánto tiempo lo conservarías y qué condición permitiría eliminarlo.
  3. Propón un script de prevalidación sin incluir credenciales.
  4. Define una alerta de fallo y una prueba posterior.
  5. Explica qué backup externo mantendría la protección histórica.
Respuesta orientativa: el diseño debe separar rollback rápido de recuperación histórica. Debe incluir calendario, retención, evidencia, permisos mínimos y una prueba que confirme que la aplicación sigue funcionando.

11. Buenas prácticas y errores frecuentes

Buenas prácticas

  • Crear snapshots antes de cambios relevantes y nombrarlos con fecha y propósito.
  • No conservar snapshots indefinidamente.
  • Automatizar backups y probar restauraciones.
  • Usar scripts idempotentes, con logs y códigos de salida.
  • Proteger tokens, bots, webhooks y credenciales.
  • Aplicar 3-2-1 y monitorear espacio.

Errores frecuentes

  • Usar snapshots como sustituto de backup.
  • Programar tareas que se solapan y saturan el almacenamiento.
  • Ejecutar scripts sin probarlos en laboratorio.
  • Eliminar manualmente copias sin revisar retención.
  • Enviar alertas sin verificar el estado final.
  • Permitir que una automatización tenga privilegios excesivos.

Preguntas frecuentes

¿Un snapshot protege frente a ransomware?

No de forma suficiente. Si el almacenamiento original queda afectado, el snapshot puede quedar afectado también. Mantén backups independientes y, cuando sea posible, copias aisladas.

¿Cuándo debo eliminar un snapshot?

Cuando el cambio fue validado, ya existe una copia de seguridad adecuada y la política indique que no se necesita como punto de rollback. La eliminación debe quedar registrada.

¿Puedo crear snapshots cada pocos minutos?

La frecuencia debe ajustarse al almacenamiento, la tasa de cambios y el objetivo. Muchos snapshots pueden aumentar consumo y complejidad; no los programes sin medir.

¿Qué debe hacer un script seguro?

Validar precondiciones, actuar sobre objetos definidos, registrar lo ocurrido, devolver un resultado y evitar secretos incrustados. También debe tener una forma clara de detenerse.

¿Cómo sé que una tarea programada funcionó?

Revisa Tasks y Task History, confirma estado final, duración y evidencia del resultado. Para backups o cambios críticos, realiza además una validación funcional o restauración de prueba.

Conclusión

Snapshots y tareas avanzadas permiten operar Proxmox VE con más orden: proteger cambios, automatizar backups y scripts, notificar fallos y revisar resultados. La automatización madura no consiste en ejecutar más acciones, sino en ejecutar las correctas, con límites, evidencia, retención y una recuperación independiente.

Continúa con la Temporada 2

En EP021 aprenderás a monitorizar Proxmox VE con Prometheus y Grafana.

Leer EP021 →