> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zylon.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Copias de seguridad y recuperación ante desastres

<Warning>
  **Próxima versión — Zylon 1.58**

  Esta documentación se publica antes del lanzamiento para que puedas preparar tus integraciones de API. La imagen de la versión todavía no está disponible. Para instalaciones con 1.57, consulta la [documentación de 1.57](/es/v1.57/overview).
</Warning>

Zylon está preparado para ser completamente respaldado y restaurado en caso de fallo de hardware o situaciones de recuperación ante desastres.

Hay múltiples formas de abordar el problema: una copia completa del disco y una solución basada en Velero.

## Copia de seguridad completa del disco

Dado que la mayoría de las instalaciones de Zylon se ejecutan en un solo nodo, es perfectamente válido hacer una copia de seguridad completa tradicional del disco con una herramienta como Clonezilla o similar.

Almacena la imagen en un almacenamiento en frío y en caso de recuperación simplemente reemplaza el contenido del disco. Zylon debería volver al momento en el tiempo en que se tomó la instantánea.

Ten en cuenta que esto solo es posible si Zylon se está ejecutando en un solo nodo de kubernetes; las configuraciones de múltiples nodos DEBEN usar Velero como estrategia de respaldo.

## Copia de seguridad de datos usando zylon-cli

### Comando de copia de seguridad:

`sudo zylon-cli backup [--keep-last N]`

Tomará una instantánea de los datos de Zylon y la guardará en la máquina local.

### Comando de restauración:

`sudo zylon-cli restore [--backup-file path-to-backup]`

Restaurará el estado de Zylon al momento en el tiempo en que se tomó la instantánea. Por defecto, se usará la última copia de seguridad, pero también se puede especificar una instantánea determinada.

Estas copias de seguridad básicas tomarán una instantánea del estado de Zylon y guardarán el contenido como un .tar.gz en la carpeta `/var/backups/zylon` con la fecha de la copia de seguridad como nombre de archivo.

<Warn>
  Deberías considerar copiar los archivos de copia de seguridad a una máquina diferente en caso de fallo del disco.
</Warn>

Por defecto, solo se conservan las últimas 10 copias de seguridad.

**Durante el proceso de copia de seguridad, Zylon estará fuera de línea.** Dependiendo de la cantidad de documentos que hayas cargado, este proceso puede tomar varios minutos.

### Cómo se detiene Zylon durante la copia de seguridad y la restauración

Antes de copiar o reemplazar datos, `zylon-cli backup` y `zylon-cli restore` acordonan (cordon) y drenan (drain) el nodo para que todos los pods de Zylon se detengan de forma ordenada. Solo entonces se detiene k0s. Cuando termina la copia o la restauración de los datos, k0s se vuelve a iniciar y se quita el acordonamiento del nodo (uncordon), de modo que los pods se vuelven a programar automáticamente.

* El drenado suele tardar entre uno y dos minutos.
* Cuando el comando termina, Zylon todavía necesita unos minutos más para estar completamente disponible, sobre todo mientras se cargan los modelos de IA. Puedes comprobar el progreso con `sudo k0s kubectl get pods -n zylon`.

<Warning>
  Si una copia de seguridad o una restauración se interrumpe (por ejemplo, si se mata el proceso o se cae la sesión SSH), el nodo puede quedar acordonado. En ese caso los pods de Zylon permanecen en `Pending` y Zylon sigue fuera de línea, incluso después de reiniciar. Para recuperar Zylon, quita el acordonamiento del nodo:

  ```bash theme={null}
  sudo k0s kubectl uncordon $(sudo k0s kubectl get nodes -o name)
  ```
</Warning>

### Poner las copias de seguridad en programación

Puedes agregar estas copias de seguridad en una programación automáticamente, ejecuta `sudo crontab -e` para abrir el editor de cron y agrega la copia de seguridad como

Por ejemplo, esta copia de seguridad se realizará todos los sábados a las 4am

```jsx theme={null}

0 4 * * 6 sudo zylon-cli backup --keep-last 5 -y >> /var/log/zylon-backup.log 2>&1
```

## Velero

[Velero](https://velero.io/) es la forma estándar de hacer copias de seguridad de clústeres de kubernetes. Permite automatización y solo respalda la información requerida del clúster y la aplicación.

> Ten en cuenta que en caso de fallo del disco, una copia de seguridad de Velero no restaurará el clúster, los controladores Nvidia y otras herramientas requeridas para ejecutar Zylon. Para recuperarse de ese escenario, realiza una configuración regular de Zylon seguida del proceso de restauración de la copia de seguridad.Para habilitar las copias de seguridad de Velero **debes:**

### 1. Instalar Velero CLI

```bash theme={null}
https://velero.io/docs/v1.3.0/velero-install/
```

Después de que el comando tenga éxito, el binario `velero` debería estar disponible en tu ruta.

### 2. Proporcionar una solución de almacenamiento de objetos válida.

Este es el almacenamiento donde se almacenarán las copias de seguridad y idealmente debería ser una máquina completamente separada.

Una lista de proveedores comunes son:

* AWS s3
* Google Cloud Storage
* Azure Blob storage
* Un servidor minio autohospedado
* Lista completa de proveedores aquí: [https://velero.io/docs/v1.15/supported-providers/](https://velero.io/docs/v1.15/supported-providers/)

Una copia de seguridad inicial de Zylon tomará un mínimo de 20GB de almacenamiento y crecerá a medida que cargues documentos y generes más datos.

Consulta las `instrucciones de configuración` para tu proveedor elegido en la tabla [https://velero.io/docs/v1.15/supported-providers/](https://velero.io/docs/v1.15/supported-providers/).

Es posible que necesites seguir varios pasos como crear un usuario de AWS en caso de s3, configurar algunos permisos y así sucesivamente. Si necesitas orientación durante el proceso, contacta al equipo de Zylon.

### 3. Instalar Velero en el clúster de kubernetes de Zylon

Velero CLI se encargará de *la mayor parte* del trabajo para habilitar las copias de seguridad dentro del clúster. Sin embargo, para hacer una copia de seguridad adecuada de Zylon usando Velero, se DEBEN pasar varias banderas durante la instalación, en particular estas banderas son obligatorias:

```bash theme={null}
--features=EnableCSI
--use-node-agent
```

Por ejemplo, una instalación de Velero que usa AWS S3 como almacenamiento tendrá un archivo de configuración ubicado en `/etc/zylon/velero.txt` con el contenido:

```bash theme={null}
[default]
aws_access_key_id = AKIA5...
aws_secret_access_key = kuBsP9dc0...
```

Entonces Velero se instalará con el siguiente comando:

```bash theme={null}
velero install --provider aws \
		--bucket backup \
		--secret-file /etc/zylon/velero.txt \
		--plugins velero/velero-plugin-for-aws:v1.10.0 \
		--backup-location-config region=us-east-1 \
		--use-volume-snapshots=true \
		--features=EnableCSI \
    --use-node-agent \
		--snapshot-location-config region=us-east-1,s3ForcePathStyle="true"
```

El proceso es ligeramente diferente para cada proveedor, asegúrate de estar seleccionando el plugin de velero correcto, las credenciales adecuadas y que se pasen las banderas obligatorias requeridas por Zylon.

### 4. Parchear Velero para k0s

Zylon usa k0s internamente como un clúster de kubernetes. Velero necesita un pequeño parche para habilitar las copias de seguridad. Ejecuta el siguiente comando para que Velero pueda descubrir todos los pods que necesitan ser respaldados:

```bash theme={null}
kubectl patch daemonset node-agent \
		--namespace velero --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/volumes/0/hostPath/path", "value": "/var/lib/k0s/kubelet/pods"}]'
```

### 5. Crear una copia de seguridad del namespace de Zylon

La creación del proceso de copia de seguridad también requiere banderas obligatorias, en este caso, se DEBEN pasar las siguientes banderas

```bash theme={null}
--include-namespaces zylon 
--default-volumes-to-fs-backup
```

Por ejemplo, configurar una copia de seguridad inicial podría hacerse ejecutando:

```bash theme={null}
velero backup create my-first-backup --include-namespaces zylon --default-volumes-to-fs-backup
```

Hay muchas estrategias de copia de seguridad y restauración que van más allá del alcance de este manual, para más información sobre ellas consulta la documentación oficial: [https://velero.io/docs/v1.15/](https://velero.io/docs/v1.15/)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.