# P2602 - Automatización de Backups DTIC UTNLR > Manifiesto de Proyecto | Referencia: [`adn/07_proyectos.md`](../adn/07_proyectos.md) ## Identificación | Campo | Valor | | :--- | :--- | | **Código** | P2602 | | **Nombre** | Automatización de Backups DTIC UTNLR | | **Versión** | v2601 | | **Estado** | ⏳ En Ejecución | | **Inicio** | 28/02/2026 | | **Fin Estimado** | Por definir | ## Objetivo Transformar el proceso de backup de la infraestructura virtualizada de la DTIC — actualmente manual, VM por VM, servidor por servidor — en un **sistema automatizado, desatendido y auditado**. **Problemática actual:** - El operador ejecuta vzdump manualmente desde la GUI de Proxmox para cada VM. - Debe verificar y eliminar backups viejos (>6 días) antes de cada ejecución. - Las VMs Windows no siempre responden al shutdown de Proxmox, requiriendo intervención manual. - El proceso completo (3 servidores, ~12 VMs) puede tomar horas de atención parcial. **Solución propuesta:** Un procesador `vzdump` integrado en `ns8-bkps` que ejecute todo el ciclo remotamente vía SSH: limpieza → apagado graceful → backup → verificación → reporte. ## Stakeholders | Rol | Persona | Visibilidad | | :--- | :--- | :--- | | **Responsable Técnico** | Lic. Ricardo MONLA | Operador directo | | **Dirección de TIC** | (Jerárquico superior) | Dashboard asíncrono | ## Nodos Involucrados ### Infraestructura de Gestión | Nodo | IP | Rol | | :--- | :--- | :--- | | [**srv-ns8**](../nodos/srv-ns8.md) | `10.0.10.8` | Centro de operaciones. Ejecuta ns8-bkps. | | [**srv-pmox1**](../nodos/srv-pmox1.md) | `10.0.10.201` | Pool master Proxmox. Gateway SSH a todas las VMs. | | [**srv-pmox2**](../nodos/srv-pmox2.md) | `10.0.10.202` | Nodo Proxmox secundario. | | [**srv-pmox3**](../nodos/srv-pmox3.md) | `10.0.10.203` | Nodo Proxmox terciario (64GB RAM). | ### VMs/CTs a Respaldar | Server | VMID | Nodo | OS | Grupo | Ventana | | :--- | :--- | :--- | :--- | :--- | :--- | | pmox1 | 101 | srvv-sitio | Ubuntu | linux | Libre | | pmox1 | 102 | srvv-sitio0 | Debian | linux | Libre | | pmox1 | 103 | srvv-dtic | Debian | linux | Libre | | pmox1 | 104 | srvv-docs | Debian | linux | Libre | | pmox1 | 112 | srvv-dns | Debian | linux | Libre | | pmox2 | 105 | srvv-koha | Linux | linux | Libre | | pmox2 | 108 | pcv-dasu2 | Win10 | windows | Libre | | pmox3 | 111 | srvv-fenix | Legacy | windows | 🌙 00:00-06:00 | | pmox3 | 106 | srvv-uptime | Debian | lxc | Libre | | pmox3 | 107 | srvv-data | Debian | lxc | Libre | | pmox3 | 113 | srvv-sitio2 | Debian | lxc | Libre | ## Herramientas | Herramienta | Uso | | :--- | :--- | | **ns8-bkps v6.0** | Procesador de backups (Ruby, modular) | | **ns8-candados** | Gestión de secretos y autorización SSH | | **vzdump** | Herramienta nativa de backup de Proxmox | | **SSH** | Canal de ejecución remota | | **rclone** | Sincronización a almacenamiento cloud | | **GNU Screen** | Ejecución desatendida | ## Fases del Proyecto ### 🔍 Fase 1 — Reconocimiento de Campo > *"No se puede proteger lo que no se conoce."* | ID | Estado | Tarea | | :--- | :---: | :--- | | R01 | 📍 | Validar acceso SSH desde srv-ns8 a cada hipervisor (pmox1/2/3). | | R02 | 📍 | Auditar inventario real de VMs: `qm list` y `pct list` vs. nodos documentados. | | R03 | 📍 | Verificar que vzdump funcione remotamente desde pmox1 como pool master. | | R04 | 📍 | Documentar ventanas horarias operativas por VM (producción vs. mantenimiento). | | R05 | 📍 | Verificar/crear fichas de nodo (`nodos/*.md`) para VMs no documentadas. | ### 🔧 Fase 2 — Desarrollo del Procesador Vzdump | ID | Estado | Tarea | | :--- | :---: | :--- | | D01 | 📍 | Crear `lib/proc_vzdump.rb` con lógica de backup remoto vía SSH. | | D02 | 📍 | Implementar política de retención (eliminar backups >N días). | | D03 | 📍 | Implementar apagado graceful SSH para VMs Windows (`shutdown /s /t 30`). | | D04 | 📍 | Implementar filtro de ventana horaria (skip si fuera de horario). | | D05 | 📍 | Agregar tareas `bkps_proxmox_linux` y `bkps_proxmox_windows` al YAML. | ### 🧪 Fase 3 — Validación | ID | Estado | Tarea | | :--- | :---: | :--- | | V01 | 📍 | Test con VM no-crítica (ej: srvv-docs o srvv-sitio0). | | V02 | 📍 | Ejecutar ciclo completo bkps-proxmox-linux. | | V03 | 📍 | Verificar retención (backups viejos eliminados correctamente). | | V04 | 📍 | Probar shutdown SSH graceful en VM Windows. | ### 🚀 Fase 4 — Producción | ID | Estado | Tarea | | :--- | :---: | :--- | | P01 | 📍 | Documentar procedimiento operativo en ADN. | | P02 | 📍 | Crear comando compuesto `full_vzdump` (Linux + Windows). | | P03 | 📍 | Integrar con el ciclo actual de subida a nube (rclone). | | P04 | 📍 | Evaluar cron/systemd timer para ejecución programada. | ## Arquitectura ``` ┌─────────────────────────────────────────────────┐ │ srv-ns8 (10.0.10.8) │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ ns8-bkps.rb │ │ ns8-candados │ │ │ │ Vzdump │ │ (RSA auth) │ │ │ └──────┬───────┘ └──────┬───────┘ │ │ │ SSH (llave) │ │ │ └────────┬─────────┘ │ │ ▼ │ │ ┌────────────────────────┐ │ │ │ srv-pmox1 (.201) │ │ │ │ Pool Master │ │ │ │ │ │ │ │ vzdump → zfsDISCO1 │ │ │ │ ├── pmox1 VMs │ │ │ │ ├── pmox2 VMs │ │ │ │ └── pmox3 VMs │ │ │ └────────────────────────┘ │ │ │ │ │ ┌───────┴───────┐ │ │ ▼ ▼ │ │ Procesamiento Subida Nube │ │ (tar.gz local) (rclone → OneDrive) │ └─────────────────────────────────────────────────┘ ``` ## Referencias - **Bitácoras**: [28/02](../bitacoras/2026-02-28.md) - **ADN**: [Ontología](../adn/01_ontologia.md) | [Proyectos](../adn/07_proyectos.md) - **Herramienta**: [ns8-bkps](../tools/ns8-bkps/ns8-bkps.rb) | [ns8-candados](../tools/ns8-candados/ns8-candados.rb) - **Proyecto Relacionado**: [P2601 DASUTEN](P2601_dasuten.md) (srv-dasu backups)