Skip to content

Política de snapshots Proxmox

Reglas

  • Antes de migración mayor: qm snapshot 208 pre_<descriptor>_<YYYYMMDD>_<HHMM>
  • "Mayor" = afecta routing, networks, multiple stacks, o homelab-ctl.py.
  • Siempre con descriptor legible (pre_simplify, pre_phase1, etc.).
  • Después de validación >24h: qm delsnapshot 208 pre_<descriptor>_...
  • Mantener sólo el último known-good como rollback.
  • Máximo 3 snapshots vivos por VM:
  • pre_<refactor_más_reciente> — rollback inmediato.
  • post_<refactor_más_reciente> — estado bueno actual (opcional).
  • pre_<incidente_grave_resuelto> — punto fijo histórico (e.g. pre_sablier).
  • Auditoría mensual (1er domingo de mes):
    ssh pmx 'qm listsnapshot 208'
    ssh pmx2 'qm listsnapshot <vmid>' # si aplica
    
    Borrar los >30 días salvo punto fijo histórico.

Cuándo NO hacer snapshot

  • Cambios reversibles por git (compose edits con commit limpio).
  • Restart de containers individuales.
  • Cleanup de archivos no committed (use tar -czf ad-hoc si tienes dudas).

Cuándo SÍ hacer snapshot

  • ADRs (cualquier fase de refactor estructurado).
  • Update de Caddy/Sablier/network base.
  • Cambios que tocan cloudflared tunnel ingress.
  • Migración de stack a nueva network/storage.
  • "Voy a tocar X y no estoy seguro qué pasará."

Comandos

# Crear
ssh pmx 'qm snapshot 208 pre_<descriptor>_$(date +%Y%m%d_%H%M) --description "<reason>"'

# Listar
ssh pmx 'qm listsnapshot 208'

# Borrar
ssh pmx 'qm delsnapshot 208 <name>'

# Rollback (DESTRUCTIVO — pierde cambios desde snapshot)
ssh pmx 'qm rollback 208 <name>'

Estado actual (post ADR-0002, 2026-04-29)

pre_sablier_20260425_1521   — punto fijo histórico (pre-Sablier)
post_phase3_20260428_2127   — último known-good post ADR-0001
pre_adr0002_20260429_1432   — pre ADR-0002 cleanup

0 snapshots activos. (2026-07-12: se limpiaron las 4 entradas de config fantasma (sin backing ZFS) y los 2 snapshots ZFS huérfanos pre-cohesion-20260519. Estado limpio; crear un snapshot nuevo antes de operaciones de riesgo.)