Copias de seguridad y restauración del volumen de un servicio
Un servicio que guarda datos tiene un volumen. Una copia de seguridad es una instantánea de ese volumen que haces bajo demanda, conservas y a la que puedes devolver el volumen. Son tus instantáneas. Aparte, Zaroz mantiene sus propias copias de recuperación ante desastres de la plataforma; no se listan aquí y no es de ellas de donde restauras.
Los ejemplos usan el ayudante de Usar la API de Zaroz. {resource_id} es el id del recurso volumen del servicio: lista los recursos con GET /service-instances/{id}/resources y elige el de tipo volumen. Solo pueden hacer copias los servicios cuyo producto tiene almacenamiento y cuyo clúster admite instantáneas; consulta la entrada backups de las capacidades del servicio. Un servicio sin almacenamiento responde 404, igual que uno que no es tuyo.
Hacer una copia
curl
Code
Code
TypeScript
Code
Python
Code
- Una copia empieza en
creatingy se puede restaurar enready. Unafailedsigue en la lista hasta que la borras. max_backupses el techo por volumen, publicado en el listado para que nunca lo fijes a mano. Pasado ese techo, crear responde un error de cuota: borra antes una antigua.- No puedes iniciar una copia mientras otra copia o una restauración se ejecutan en el mismo volumen (
409). - Una copia es una instantánea del volumen tal como está en ese momento. Si necesitas una copia consistente a nivel de aplicación (una base de datos a mitad de transacción), deja de escribir antes o haz también el volcado propio de la base.
Restaurar
Restaurar es irreversible. Los workloads que usan el volumen se detienen, los datos del volumen se revierten a la instantánea y después arrancan de nuevo: se pierde todo cambio hecho desde la copia. Si puedes querer recuperar el estado actual, haz antes una copia de él. La copia debe estar ready.
curl
Code
TypeScript
Code
Python
Code
Mientras restaura, la copia muestra status: "restoring" y un restore_phase que pasa por stopping_workloads, detaching_pre, maint_attaching, reverting, detaching_post, csi_retaining_pv, csi_recreating_pvc y restarting_workloads. Tarda varios minutos; los volúmenes grandes más. No inicies otra copia ni restauración entretanto (409). Usa restore_started_at para mostrar "restaurando desde hace N minutos".
Borrar una copia
Code
Code
Code
Una copia en creating o restoring no se puede borrar; espera a que esté ready o failed. Borrar elimina la instantánea subyacente.
Cuánto ocupa el volumen
curl
Code
Code
Code
capacity_bytes es el tamaño configurado (una cuota, siempre presente). used_bytes se mide dentro del clúster y es null cuando no se puede medir, así que muestra "desconocido" en lugar de cero. last_backup_at te dice si tu rutina funciona.
Antes de fiarte
- Las copias pertenecen al volumen y a su suscripción. No las tomes como la única copia de nada que no puedas perder si puedes borrar o cancelar el servicio.
- Para guardar una copia fuera de Zaroz, copia los archivos (con las rutas de archivos o SFTP) o vuelca la base de datos al almacenamiento de objetos.
- Automatízalo: un trabajo nocturno que cree una copia, espere a
readyy borre la más antigua al llegar amax_backupsson unas pocas líneas del código anterior. Usa un token conservices.managelimitado a ese servicio.
