165 lines
7.0 KiB
Markdown
165 lines
7.0 KiB
Markdown
# A06 - Ámbito dtic-XenServer
|
|
|
|
> Manifiesto de Ámbito | Referencia: [`adn/01_ontologia.md`](../../../adn/01_ontologia.md)
|
|
|
|
## Identificación
|
|
|
|
| Campo | Valor |
|
|
| :--- | :--- |
|
|
| **Código** | A06 |
|
|
| **Nombre** | Administración Hipervisor Citrix XenServer |
|
|
| **Estado** | ⚠️ En Mantenimiento |
|
|
| **Inicio** | 10/04/2026 |
|
|
| **Fin Estimado** | Por definir (migración o modernización) |
|
|
|
|
## Objetivo
|
|
|
|
El ámbito **dtic-XenServer** engloba todas las operaciones relacionadas con la administración, mantenimiento y optimización del hipervisor **Citrix XenServer 7.0** (`srv-xen1`) que aloja máquinas virtuales críticas de la infraestructura DTIC.
|
|
|
|
Este ámbito cubre:
|
|
|
|
1. **Gestión de VMs** — Administración de máquinas virtuales alojadas en XenServer.
|
|
2. **Backups y exportaciones** — Exportación de VMs en formato XVA y transferencia a almacenamiento central.
|
|
3. **Optimización de transferencias** — Mejora de tiempos de backup mediante compresión y ajuste de ventanas.
|
|
4. **Mantenimiento de hipervisor legacy** — XenServer 7.0 requiere configuración especial por antigüedad (OpenSSH 6.6.1).
|
|
|
|
## Herramientas
|
|
|
|
| Herramienta | Uso |
|
|
| :--- | :--- |
|
|
| **xe CLI** | `xe vm-list`, `xe vm-export`, `xe vm-params` — comandos nativos XenServer |
|
|
| **ADN CLI `ssh`** | `./adn/tools/run ssh <nodo> <comando>` — ejecución remota con gestión de secretos |
|
|
| **rclone** | Sincronización de backups procesados hacia nube (OneDrive) |
|
|
| **ADN CLI `dron`** | `./adn/tools/run dron` — vigía de tareas largas de exportación con auto-bitácora |
|
|
| **sshpass** | Automatización de conexiones SSH con autenticación por password |
|
|
|
|
## Nodos Involucrados
|
|
|
|
### Hipervisor XenServer (Núcleo del Ámbito)
|
|
|
|
| Nodo | IP | Rol en el Ámbito |
|
|
| :--- | :--- | :--- |
|
|
| **srv-xen1** | `10.0.10.23` | Citrix XenServer 7.0.0 — Hipervisor principal |
|
|
|
|
### Máquinas Virtuales Alojadas
|
|
|
|
| VM | IP | Rol | Estado |
|
|
| :--- | :--- | :--- | :--- |
|
|
| **srvv-sysacadweb** | `10.0.10.12` | Servidor Web SysACAD | 🟢 Operativa |
|
|
| **srvv-maurik** | `10.0.10.10` | Domain Controller (UTNLARIOJA) | 🟢 Operativa |
|
|
|
|
### Nodos de Soporte
|
|
|
|
| Nodo | IP | Rol en el Ámbito |
|
|
| :--- | :--- | :--- |
|
|
| **srv-ns8** | `10.0.10.8` | Almacenamiento central de backups, punto de gestión |
|
|
|
|
## Limitaciones Técnicas Identificadas
|
|
|
|
| Limitación | Impacto | Solución |
|
|
| :--- | :--- | :--- |
|
|
| **OpenSSH 6.6.1** (XenServer 7.0) | Incompatible con `rsa-sha2-256/512` de OpenSSH 9.2 | Usar `-o PubkeyAcceptedAlgorithms=+ssh-rsa` |
|
|
| **Disco raíz limitado** (2.7 GB libre en Dom0) | No permite compresión local de XVA | Stream directo a NS8 sin compresión intermedia |
|
|
| **Sin claves RSA desplegadas** | Autenticación solo por password | Pendiente: `ssh-copy-id` con opciones legacy |
|
|
|
|
## Tareas Configuradas
|
|
|
|
| ID | Descripción | Tipo |
|
|
| :--- | :--- | :--- |
|
|
| `xen_export` | Exportar VM a XVA vía xe CLI | export |
|
|
| `xen_stream_to_ns8` | Stream SSH de XVA a srv-ns8 | transfer |
|
|
| `xen_compress_post` | Compresión pos-proceso en NS8 | process |
|
|
| `xen_upload_nube` | Upload de XVA procesado a OneDrive | sync |
|
|
|
|
## Flujo de Trabajo Típico
|
|
|
|
```
|
|
1. Registrar evento en bitácora (inicio exportación XenServer)
|
|
2. Conectar a srv-xen1 con opciones SSH legacy:
|
|
ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa \
|
|
-o HostkeyAlgorithms=+ssh-rsa \
|
|
rmonla@10.0.10.23
|
|
3. Exportar VM: xe vm-export vm=<nombre> filename=/tmp/vm.xva
|
|
4. Stream a NS8: ssh rmonla@10.0.10.23 "xe vm-export ..." | ssh srv-ns8 "cat > /backup/vm.xva"
|
|
5. Monitorear progreso (dron lanzar si es largo)
|
|
6. Cerrar evento en bitácora
|
|
```
|
|
|
|
### Comandos SSH con Compatibilidad Legacy
|
|
|
|
```bash
|
|
# Conexión interactiva con algoritmos legacy
|
|
ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa \
|
|
-o HostkeyAlgorithms=+ssh-rsa \
|
|
rmonla@10.0.10.23
|
|
|
|
# Stream de exportación con compresión
|
|
ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa \
|
|
-o HostkeyAlgorithms=+ssh-rsa \
|
|
rmonla@10.0.10.23 "xe vm-export vm=srvv-sysacadweb filename=/dev/stdout" | \
|
|
gzip | \
|
|
ssh srv-ns8 "cat > /mnt/ns8Disco3/dtic-BACKUPS/bkps-SERVIDORes/srvv-sysacadweb.xva.gz"
|
|
|
|
# Con sshpass para automatización (password desde candados)
|
|
PASS=$(ruby adn/tools/candados/candados.rb get sudo)
|
|
sshpass -p "$PASS" ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa \
|
|
-o HostkeyAlgorithms=+ssh-rsa \
|
|
rmonla@10.0.10.23 "hostname; xe vm-list"
|
|
```
|
|
|
|
## Planes Asociados
|
|
|
|
| Código | Nombre | Estado |
|
|
| :--- | :--- | :--- |
|
|
| [A06.P001](A06.P001_Habilitar_SSH_Legacy.md) | Habilitar SSH con Claves RSA Legacy | ✅ Completado |
|
|
| [A06.P002](A06.P002_Optimizar_Exportacion_XVA.md) | Optimizar Exportación XVA con Compresión | 🚧 En Ejecución |
|
|
| [A03.P003](../dtic-BKPs/A03.P003_Optimizacion_SysAcadWeb.md) | Optimización Backup SysAcadWeb | ⏳ En Ejecución |
|
|
|
|
> **Nota:** A03.P003 está vinculado a este ámbito aunque reside en dtic-BKPs por ser el ámbito ejecutor del backup.
|
|
|
|
## 🛸 Sistema de Drones (Operación Autónoma)
|
|
|
|
**Herramienta:** `./adn/tools/run dron <subcomando>`
|
|
|
|
| Subcomando | Función |
|
|
| :--- | :--- |
|
|
| `dron lanzar --evento ID/AUTO --nota "X" -- <cmd>` | Lanzar tarea en background con auto-bitácora |
|
|
| `dron flota` | Dashboard compacto de la flota |
|
|
| `dron salud` | Health check activo (detecta zombies/estancados) |
|
|
| `dron estado` | Estado detallado de cada dron |
|
|
| `dron limpiar` | Limpiar tareas completadas/fallidas |
|
|
|
|
**Evento AUTO:** Crea evento de bitácora automáticamente y lo cierra al finalizar. Ideal para exportaciones nocturnas.
|
|
|
|
**Ejemplo para exportación larga (~10 horas):**
|
|
```bash
|
|
./adn/tools/run dron lanzar --evento AUTO --nota "Exportación srvv-sysacadweb" -- \
|
|
./adn/tools/run ssh srv-xen1 "xe vm-export vm=srvv-sysacadweb filename=/dev/stdout" | \
|
|
gzip > /mnt/ns8Disco3/dtic-BACKUPS/bkps-SERVIDORes/srvv-sysacadweb.xva.gz
|
|
```
|
|
|
|
## 🔄 Armonía Integral
|
|
|
|
**Última actualización:** 2026-04-10 (creación de ámbito + diagnóstico SSH)
|
|
|
|
| Documento | Estado | Notas |
|
|
| :--- | :--- | :--- |
|
|
| `A06_dtic-XenServer.md` | ✅ Creado | Manifiesto del ámbito |
|
|
| `A06.P001_Habilitar_SSH_Legacy.md` | ✅ Completado | Plan para desplegar claves RSA y parche herramientas |
|
|
| `A06.P002_Optimizar_Exportacion_XVA.md` | 🚧 En Ejecución | Plan para compresión y ventanas |
|
|
| `nodos/srv-xen1.md` | ✅ Actualizado | Ficha con info de autenticación SSH |
|
|
| `nodos/srvv-sysacadweb.md` | ✅ Actualizado | Ficha de VM crítica |
|
|
| `nodos/srvv-maurik.md` | ✅ Actualizado | Ficha de Domain Controller |
|
|
|
|
---
|
|
|
|
## Referencias
|
|
|
|
- **Comandos xe**: `xe help` (en srv-xen1) o [Citrix XenServer 7.0 Docs](https://docs.citrix.com/en-us/citrix-hypervisor/xenserver/v7/management.html)
|
|
- **ADN Ontología**: [`adn/01_ontologia.md`](../../../adn/01_ontologia.md)
|
|
- **Bitácoras**: `./adn/tools/run db evento:listar --ambito dtic-XenServer`
|
|
- **Nodo srv-xen1**: [`nodos/srv-xen1.md`](../../../nodos/srv-xen1.md)
|
|
- **Nodo srvv-sysacadweb**: [`nodos/srvv-sysacadweb.md`](../../../nodos/srvv-sysacadweb.md)
|
|
- **Nodo srvv-maurik**: [`nodos/srvv-maurik.md`](../../../nodos/srvv-maurik.md)
|
|
- **Diagnóstico SSH**: Ver sección "Limitaciones Técnicas Identificadas" en este documento
|