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): 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 -czfad-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.)