====== ASH - Full Server Backup & Restore (Proxmox DR) ======
> Version: 2026-03-07
> Scope: ASH GDrive Backup module with ''Full Server Recovery (Proxmox DR)'' profile.
----
===== 1. Objetivo =====
Este procedimiento permite:
* Hacer backup completo del servidor (rootfs) hacia Google Drive.
* Validar que el backup quedó íntegro.
* Restaurar en una VM nueva en Proxmox con el menor reproceso posible.
----
===== 2. Pre-requisitos =====
* Backend y frontend ASH desplegados.
* ''rclone'' funcional con destino ''gdrive:3AV-ASH''.
* Espacio suficiente en Google Drive.
* Usuario con acceso a ASH + credenciales de modo privilegiado del sistema (''user'' en este entorno).
* En Proxmox: VM destino con disco igual o mayor al servidor origen.
----
===== 3. Activación de cambios (una sola vez después del despliegue) =====
Ejecutar en servidor ASH (root):
systemctl restart ash-backend.service
systemctl restart ash-frontend.service
Validar servicios:
systemctl is-active ash-backend.service
systemctl is-active ash-frontend.service
Deben responder ''active''.
----
===== 4. Ejecutar backup completo del servidor =====
==== 4.1 Desde UI (recomendado) ====
- Ir a **Administration -> GDrive Backup**.
- En **Saved backup tasks**, cargar la tarea:
* **Full Server Recovery (Proxmox DR)**
* o botón **Use Full Server Recovery**.
- Abrir **Explore** y autenticar modo privilegiado (''user'' + password).
- Click en **Backup now**.
==== 4.2 Qué esperar ====
* Barra de progreso general.
* Estado por carpeta/componente.
* Eventos/logs en **Run history & logs**.
* Snapshot remoto en ''gdrive:3AV-ASH/'' y puntero ''latest''.
----
===== 5. Validación del backup =====
==== 5.1 Validación UI ====
- En **Run history**, verificar estado ''SUCCESS''.
- Abrir **Repository explorer** y validar contenido en ''latest/'':
* archivos ''.tar.gz''
* tamaños > 0
- Revisar errores/warnings del run.
==== 5.2 Validación CLI (opcional) ====
rclone lsd gdrive:3AV-ASH
rclone ls gdrive:3AV-ASH/latest
----
===== 6. Restauración en Proxmox (método recomendado) =====
> **Regla crítica:** no restaurar sobre ''/'' en caliente de un sistema en ejecución.
> Restaurar desde modo rescue/live o hacia un filesystem montado offline.
==== 6.1 Preparar VM destino ====
- Crear VM en Proxmox (CPU/RAM según origen).
- Disco destino igual o mayor al origen.
- Boot con ISO Linux rescue/live.
- Crear/ajustar particiones y montar raíz destino en ''/mnt/target''.
Ejemplo (ajustar device real):
mount /dev/sdXn /mnt/target
mkdir -p /mnt/target/boot
# mount /dev/sdXm /mnt/target/boot # si aplica partición separada
----
==== 6.2 Descargar backup desde Google Drive ====
En entorno rescue, configurar ''rclone'' y traer snapshot:
mkdir -p /tmp/ash-restore
rclone copy gdrive:3AV-ASH/latest /tmp/ash-restore
ls -lh /tmp/ash-restore
----
==== 6.3 Extraer sobre filesystem destino ====
for f in /tmp/ash-restore/*.tar.gz; do
echo "Extracting $f"
tar -xzf "$f" -C /mnt/target
done
----
==== 6.4 Ajustes post-restore (obligatorio) ====
1) Revisar ''/mnt/target/etc/fstab'' (UUID correctos).
2) Montar pseudo-filesystems para ''chroot'':
mount --bind /dev /mnt/target/dev
mount --bind /proc /mnt/target/proc
mount --bind /sys /mnt/target/sys
chroot /mnt/target
3) Reinstalar bootloader (ejemplo Debian/Ubuntu BIOS/UEFI, ajustar según caso):
grub-install /dev/sdX
update-grub
exit
4) Desmontar y reiniciar VM:
umount -R /mnt/target
reboot
----
===== 7. Checklist de aceptación DR =====
* [ ] Backup ''Full Server Recovery (Proxmox DR)'' terminó en ''SUCCESS''.
* [ ] Snapshot visible en ''latest'' y/o ''''.
* [ ] Restauración completada sin errores fatales de extracción.
* [ ] VM en Proxmox arranca correctamente.
* [ ] Servicios clave arriba (''ash-backend'', ''ash-frontend'', DB, conectores).
* [ ] Acceso UI OK y datos críticos presentes.
----
===== 8. Errores comunes y acción rápida =====
==== 8.1 FAILED por archivos cambiando durante lectura ====
Causa:
* archivos volátiles (logs/db wal/tmp).
Acción:
* Reintentar backup.
* Programar backup en ventana de baja actividad.
----
==== 8.2 No aparece contenido en Repository explorer ====
* Click **Refresh**.
* Abrir ''latest'' explícitamente.
* Verificar ''rclone'' remoto y credenciales.
----
==== 8.3 Permisos de modo privilegiado ====
* Si expiró sesión privilegiada, volver a autenticar desde **Explore**.
* Debe auto-bloquear por timeout e inactividad.
----
===== 9. Buenas prácticas operativas =====
* Ejecutar backup full al menos semanal + incremental lógico diario por tareas específicas.
* Mantener al menos 3 puntos de recuperación (rotación).
* Probar restore en VM sandbox 1 vez por mes.
* Registrar ''run_id'' validado para auditoría.
----
===== 10. Comando de verificación rápida final (origen) =====
# estado backend/frontend
systemctl is-active ash-backend.service ash-frontend.service
# validar remote latest
rclone ls gdrive:3AV-ASH/latest | head
Si ambos checks son correctos, el ciclo de backup está operativo.