[A04.P005] F5 completada: BD sysdasuten restaurada en dasu-sql4 (RESTORE 26s, CHECKDB OK). OpenSSH y credenciales configurados.

This commit is contained in:
Ricardo Monla
2026-04-11 10:09:03 -03:00
parent 15bcf81183
commit f85169b24e
4 changed files with 49 additions and 20 deletions
@@ -5,10 +5,19 @@
**Código:** A04.P005
**Fecha:** 27 de marzo de 2026
**Autor:** Sistema ADN
**Versión:** 3.1
**Estado:** ⏸️ PAUSADO POR CORTE DE LUZ (Backup en srv-dasu listo, pendiente transferencia a dasu-sql4 + RESTORE)
**Versión:** 4.0
**Estado:** 🚧 EN EJECUCIÓN (F5 completada — BD restaurada, pendiente validación con PC cliente)
**Dependencia:** A04.P001 (Red srv-dasu)
## 📊 Progreso General
- **Fase 1: Preparación** [██████████] 100% (6/6) ✅
- **Fase 2: VM SQL Server** [██████████] 100% (9/9) ✅
- **Fase 3: VM PC Cliente** [██████████] 100% (9/9) ✅
- **Fase 4: Nueva VM dasu-sql4** [██████████] 100% (12/12) ✅
- **Fase 5: Migración BD** [██████████] 100% (5/5) ✅
- **Fase 6: Validación** [░░░░░░░░░░] 0% (0/6) ⏳
## 📋 Resumen Ejecutivo
Evaluar si el sistema DASUTEN puede operar **sin la dependencia de un Domain Controller (AD DS)**, utilizando únicamente un SQL Server y una PC cliente en modo **Workgroup**. Esto simplifica significativamente la infraestructura y elimina los problemas de red asociados al dominio.
@@ -31,8 +40,9 @@ Internet
Router ISP (192.168.1.1 — gateway confirmado)
├── srv-dasu → DHCP del ISP: 192.168.1.13 (vmbr0 bridge sobre enp33s0)
│ ├── dasu-sql2 (VM 103) → DHCP del ISP: 192.168.1.14 ✅ VM creada
── dasu-pcv2 (VM 104) → DHCP del ISP: 192.168.1.15 ✅ VM creada
│ ├── dasu-sql2 (VM 103) → ⚠️ Descartada (sin conectividad IP)
── dasu-pcv2 (VM 104) → ⚠️ Descartada (sin conectividad IP)
│ └── dasu-sql4 (VM 106) → DHCP del ISP: 192.168.1.11 ✅ ACTIVA (SQL+BD restaurada)
└── dasu-pc → DHCP del ISP (PC física cliente)
```
@@ -98,15 +108,15 @@ Crear dos VMs nuevas (SQL Server + PC cliente) en `srv-dasu`, instalar el sistem
- [x] **4.N11:** Instalar SQL Server 2019 Enterprise ✅. Instalado desatendido vía W-Zombi (comandos individuales). Disco F: 120GB (GPT/NTFS "SQLData") con carpetas DATA/LOG/BACKUP/TEMPDB. Auth mixta, SA habilitado, TCP 1433 abierto. Verificado con `sqlcmd @@VERSION`.
- [x] **4.N12:** Backup comprimido generado en origen ✅. `BACKUP DATABASE ... WITH COMPRESSION` ejecutado en `srvv-fenix` vía `tiny_tds`. Archivo: `E:\BK_SQL\sysdasuten_compressed_ADN.bak`.
### **FASE 5: Migración de Base de Datos a dasu-sql4**
### **FASE 5: Migración de Base de Datos a dasu-sql4** *(completada 2026-04-11)*
- [x] **5.1:** Obtener backup comprimido de DASUTEN ✅. Generado con `BACKUP DATABASE ... WITH COMPRESSION` en `srvv-fenix` vía `tiny_tds` (script `dasuten_backup_origen.rb`). Archivo: `sysdasuten_compressed_ADN.bak` en `E:\BK_SQL` (~1.33 GB).
- [x] **5.2a:** Descargar `.bak` desde `srvv-fenix``srv-ns8` (SMB) ✅. 1333 MB descargados a `/var/tmp/` en ~17 seg (76 MB/s).
- [x] **5.2b:** Transferir `.bak` desde `srv-ns8``srv-dasu` (SCP vía Tailscale) ✅. Archivo en `/tmp/sysdasuten_compressed_ADN.bak`.
- [ ] **5.2c:** Transferir `.bak` desde `srv-dasu``dasu-sql4`. ⚠️ **Bloqueado**: Python HTTP server falla con archivos grandes (`iwr`/`WebClient` → "conexión terminada inesperadamente"). **Estrategia aprobada**: instalar OpenSSH Server en dasu-sql4 (puerto 7022) y transferir vía SCP directamente por LAN. `Add-WindowsCapability` fue enviado pero interrumpido por corte de luz.
- [ ] **5.3:** Restaurar base de datos con `RESTORE DATABASE` en dasu-sql4.
- [ ] **5.4:** Verificar integridad de la base restaurada.
- [ ] **5.5:** Registrar credenciales dasu-sql4:sa en bóveda candados.
- [x] **5.2b:** Transferir `.bak` desde `srv-ns8``srv-dasu` (SCP vía Tailscale) ✅. Re-transferido el 2026-04-11 (se perdió del `/tmp` tmpfs tras reboot por corte de luz).
- [x] **5.2c:** Transferir `.bak` desde `srv-dasu``dasu-sql4` ✅. OpenSSH Server instalado vía W-Zombi (puerto 7022). SCP exitoso usando credencial `dasu-sql3:Administrador` de bóveda. Archivo en `F:\BACKUP\sysdasuten_compressed_ADN.bak` (1.397 GB).
- [x] **5.3:** Restaurar base de datos con `RESTORE DATABASE` en dasu-sql4 ✅. RESTORE con MOVE a `F:\DATA` y `F:\LOG`. Procesó 1.186.793 páginas en **26 segundos** (354 MB/s).
- [x] **5.4:** Verificar integridad de la base restaurada ✅. `DBCC CHECKDB` sin errores. BD ONLINE, recovery FULL, compatibilidad nivel 100.
- [x] **5.5:** Registrar credenciales dasu-sql4:Administrador y dasu-sql4:sa en bóveda candados.
### ⏳ **FASE 6: Validación con PC cliente**
@@ -171,3 +181,10 @@ Crear dos VMs nuevas (SQL Server + PC cliente) en `srv-dasu`, instalar el sistem
- **Plan integración (pausado)**: [A04.P002_Integracion-DASU-PC.md](A04.P002_Integracion-DASU-PC.md)
- **Nodos**: [srv-dasu](../../../nodos/srv-dasu.md) | [dasu-sql4](../../../nodos/dasu-sql4.md) | [srv-ns8](../../../nodos/srv-ns8.md)
- **Legacy archivado**: [_hist_P2601_dasuten.md](_hist_P2601_dasuten.md)
## 📝 Lecciones Aprendidas (2026-04-11)
- **`/tmp` es tmpfs en srv-dasu:** Archivos en `/tmp` se pierden al reiniciar (montado en RAM). Para transferencias intermedias críticas usar `/var/tmp` o directorio persistente.
- **DHCP del ISP cambia IPs tras reboot:** `dasu-sql4` obtuvo `.11` en vez de `.26` tras el corte de luz. Verificar siempre la IP actual usando ARP + MAC antes de asumir que la IP anterior sigue vigente.
- **W-Zombi no sobrevive reboots del agente:** El script PS1 debe re-lanzarse manualmente desde la consola Proxmox/noVNC tras un reinicio inesperado de la VM. Considerar crear una Scheduled Task.
- **QEMU Guest Agent no inicia automáticamente:** Tras corte de luz, el servicio `QEMU-GA` quedó caído. Verificar que el servicio esté en `Automatic` startup.