--- title: "Configure PVCs for Velero backup and restore" slug: "configure-pvcs-for-velero-backup-and-restore" updated: 2026-07-21T09:48:45Z published: 2026-07-21T09:48:45Z canonical: "docs.zesty.co/configure-pvcs-for-velero-backup-and-restore" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.zesty.co/llms.txt > Use this file to discover all available pages before exploring further. # Configure PVCs for Velero backup and restore # **Configure PVCs for Velero backup and restore** This topic describes how to prepare Storage Autoscaling Persistent Volume Claims (PVCs) for backup and restore with Velero while maintaining data consistency and reliability. To properly prepare the PVCs, you’ll do the following: 1. Ensure that all Pods associated with the PVCs to be backed up are labeled. Labeling controls: - which Pods are backed up - which Pods run backup hooks - which Pods are affected by the hook command 2. Define and apply a backup configuration that includes filesystem hooks. The hooks ensure data integrity by temporarily pausing disk writes during the backup process. When these steps are complete, you can use Velero to back up or restore PVCs. ## **Prerequisites** - Velero is installed and configured with a compatible backup storage provider. - Storage Autoscaling and its related components are deployed in the K8s cluster. - Velero has permissions to access and back up K8s resources. ### To configure PVCs for Velero backup and restore: 1. Ensure that all relevant Pods are labeled as defined in the backup definition YAML. To see current Pod labels, run this command: `kubectl get pod <pod-name> --show-labels` 2. Create a backup definition YAML with the following content: ```yaml apiVersion: velero.io/v1 kind: Backup metadata:  name:  namespace: velero  # Default namespace is velero, but can be changed as needed spec:  orLabelSelectors:  - matchLabels:      :  - matchLabels:      app: zesty-storage-agent  # Ensures hooks run on Zesty agent pods  hooks:    resources:      - name: fsfreeze-backup-hooks        labelSelector:          matchLabels:            app: zesty-storage-agent  # Only runs hooks on Zesty agent pods        pre:          - exec:              container: agent              command:                - /bin/bash                - -c                - "zesty-fs-freeze --action freeze --labelSelector ="              timeout: 1s              onError: Fail        post:          - exec:              container: agent              command:                - /bin/bash                - -c                - "zesty-fs-freeze --action unfreeze --labelSelector ="              timeout: 1s              onError: Fail ``` 3. Apply the backup configuration by running the following command: `kubectl apply -f zesty-backup.yaml` You can now use Velero to back up or restore the PVCs. For more information, see Velero documentation ([https://velero.io/docs](https://velero.io/docs/v1.15/)/). After backing up, we recommend that you verify that the PVCs and workloads are working as expected. You can adjust Velero backup retention settings as per your data protection strategy.