- Docs: A03 BKP updates y nuevo manifiesto nodo dasu-sql4 - W-Zombi: Nuevas rutas explícitas (exec.rb, ps1.rb) y estado stateful (cmd.json) - Bóveda: candados/.boveda.json modificados al agregar nuevos servidores (sql2, sql3) - Cleanup: Remover token .session de candados - Core API: Fixes en Bitacora_db
89 lines
4.5 KiB
Markdown
89 lines
4.5 KiB
Markdown
# Plan: Automatización de Backups de Servidores
|
|
|
|
> **Grupo de Trabajo:** dtic-BKPs (Respaldos de Infraestructura)
|
|
|
|
**Código:** A03.P002
|
|
**Fecha:** 06 de abril de 2026
|
|
**Autor:** Sistema ADN
|
|
**Versión:** 1.2
|
|
**Estado:** ✅ COMPLETADO (F4.1 alertas pendiente futura iteración)
|
|
**Dependencia:** [A03.P001 — Migración a Tools ADN](A03.P001_Migracion_ADN.md) ✅
|
|
**Última verificación:** 2026-04-09 08:40 (dron activos: XEN01 en procesamiento)
|
|
|
|
## 📋 Resumen Ejecutivo
|
|
|
|
Automatizar el ciclo completo de backups de servidores virtualizados (XenServer y Proxmox). Gracias a la migración completada en A03.P001, ya se cuenta con:
|
|
|
|
- CLI unificada: `./adn/tools/run bkps <subcomando>` (11 subcomandos)
|
|
- Modo batch: `bkps run C4 --batch` (pipeline completo sin interacción)
|
|
- Saneamiento: `bkps sanear --dias N` (limpieza con retención)
|
|
- Backup individual: `bkps backup <nodo>` (vzdump remoto)
|
|
- Monitoreo: `bkps estados` (estado Proxmox en tiempo real)
|
|
- Delegación: `dron lanzar --evento ID -- <comando>` (auto-cierre bitácora)
|
|
|
|
El objetivo de este plan es llevar esas capacidades a ejecución **programada y desatendida** con registro automático, notificaciones y políticas de retención.
|
|
|
|
## 🎯 Objetivo
|
|
|
|
1. **Ejecución programada** — Cron jobs en horarios de baja carga sin intervención.
|
|
2. **Registro automático en bitácora** — Cada ejecución crea/cierra su evento vía `dron`.
|
|
3. **Notificaciones** — Alertas por resultado (éxito/fallo).
|
|
4. **Rotación y limpieza** — Políticas de retención automatizadas vía `bkps sanear`.
|
|
5. **Monitoreo de salud** — Reporte de estado ampliado en `bkps status`.
|
|
|
|
## 📅 Fases de Implementación
|
|
|
|
### ✅ FASE 1: Ejecución No-Interactiva (Completada — heredada de A03.P001)
|
|
- **1.1:** ✅ `bkps run C4 --batch` — pipeline completo sin interacción.
|
|
- **1.2:** ✅ Logging con métricas: duración por tarea (▶→✔ Xm Ys) + total + conteo de fallos.
|
|
- **1.3:** ✅ Auto-cierre de bitácora vía `dron lanzar --evento ID -- <comando>`.
|
|
|
|
### ✅ FASE 2: Programación y Orquestación (Completada 2026-04-06)
|
|
- **2.1:** ✅ Cron wrapper: `adn/tools/bkps/cron-bkps.sh C4 "nota"`.
|
|
- **2.2:** ✅ Lockfile en `tmp/locks/bkps_<ref>.lock` (auto-cleanup, stale detection).
|
|
- **2.3:** ✅ Integración dron: bitácora automática (evento:crear + auto-cierre con resultado).
|
|
```bash
|
|
# Ejemplo cron nocturno con bitácora automática
|
|
./adn/tools/run dron lanzar --evento AUTO --nota "Cron: backup nocturno C4" -- ./adn/tools/run bkps run C4 --batch
|
|
```
|
|
|
|
### ✅ FASE 3: Retención y Limpieza Automática (Completada 2026-04-06)
|
|
- **3.1:** ✅ Retención 3 tiers en YAML: Proxmox (zfsDISCO1), Local (ns8Disco3), Nube (rmOneDrive).
|
|
- **3.2:** ✅ `bkps sanear` con protección 🛡️ más reciente por nodo por tier.
|
|
- **3.3:** ✅ `bkps buscar <nodo>` — localizar backups en los 3 tiers.
|
|
- **3.4:** ✅ C5 (`full_full_sanear`) con post-sanear automático.
|
|
|
|
### ✅ FASE 4: Notificaciones y Monitoreo (Completada 2026-04-06)
|
|
- **4.1:** ⏳ Alertas por fallo (email/webhook) — pendiente futura iteración.
|
|
- **4.2:** ✅ `bkps status` ampliado: herramientas, espacio disco, retención configurada.
|
|
- **4.3:** ✅ Bitácora web ya muestra eventos de backups vía `dron` auto-cierre.
|
|
|
|
## 🛠 Herramientas Disponibles (heredadas de A03.P001)
|
|
|
|
| Comando | Función |
|
|
| :--- | :--- |
|
|
| `bkps run C4 --batch` | Pipeline completo sin interacción |
|
|
| `bkps backup <nodo>` | Backup individual vzdump remoto |
|
|
| `bkps buscar <nodo>` | Localizar backups en 3 tiers |
|
|
| `bkps estados` | Estado Proxmox en tiempo real |
|
|
| `bkps sanear` | Sanear 3 tiers con protección por nodo |
|
|
| `bkps sanear --tier N` | Sanear tier específico |
|
|
| `bkps status` | Estado del sistema + espacio disco |
|
|
| `dron lanzar --evento ID/AUTO -- <cmd>` | Auto-cierre de bitácora |
|
|
| `dron flota` | Dashboard de flota |
|
|
| `dron salud` | Health check (zombies/estancados) |
|
|
|
|
## 🛸 Estado de Drones (Verificación 2026-04-06)
|
|
|
|
**Flota:** 2 drones completados y limpiados
|
|
- `dron_125106_654316` — Evento #1395: "Test diario de vuelo" → ✔ OK (0min)
|
|
- `dron_125505_657901` — Evento #1398: "Test diario v2" → ✔ OK
|
|
|
|
**Diagnóstico:** Ambos drones completaron exitosamente pero quedaron como "zombies" (PID muerto, estado=vigilando). El health check los auto-reparó marcándolos como fallidos y `dron limpiar` los removió.
|
|
|
|
**Conclusión:** Sistema de auto-reparación funciona correctamente. Verificar flota al inicio de sesión:
|
|
```bash
|
|
./adn/tools/run dron salud # Detecta y auto-repara zombies
|
|
./adn/tools/run dron limpiar # Remueve completados
|
|
```
|