Aller au contenu

Snapshots

Les snapshots de volume sont des copies à un instant donné des données d'un volume. Ils sont stockés sur le même cluster Ceph haute performance que le volume lui-même, ce qui les rend rapides à créer et à restaurer. Cette page couvre la création, la liste et la suppression de snapshots, ainsi que la création d'un nouveau volume à partir d'un snapshot.

Snapshot vs Backup

Snapshot Backup
Stockage Même cluster Ceph que le volume Stockage froid (moins cher, plus lent)
Vitesse Quelques secondes pour la création Quelques heures (selon la taille)
Cas d'usage Restauration rapide, clonage de volumes Rétention à long terme, reprise après sinistre
Planification Manuelle (ou via script) Planification automatisée avec des politiques
Protection contre les ransomwares Non Oui (protection contre la suppression, politiques strictes)

Pour une stratégie de sauvegarde complète avec des backups planifiés, une protection contre les ransomwares et une restauration inter-AZ, utilisez la fonction Backup Management du Cloud Services Portal :

Backup Management

Créer un snapshot

Horizon

  1. Accédez à Volumes > Volumes.
  2. Recherchez le volume dont vous souhaitez créer un snapshot et ouvrez le menu d'actions.
  3. Sélectionnez Create Snapshot.
  4. Saisissez un Snapshot Name et, si vous le souhaitez, une description.
  5. Cliquez sur Create Snapshot.

CLI

openstack volume snapshot create --volume <VOLUME-NAME> <SNAPSHOT-NAME>

Exemple :

openstack volume snapshot create --volume data-vol-01 data-vol-01-snap1

Note

Si le volume est in-use (attaché à une VM), ajoutez l'option --force :

openstack volume snapshot create --volume data-vol-01 --force data-vol-01-snap1

Le snapshot commence avec le statut creating et passe à available une fois terminé (généralement en quelques secondes).

Lister les snapshots

openstack volume snapshot list
+--------------------------------------+---------------------+-------------+-----------+------+
| ID                                   | Name                | Description | Status    | Size |
+--------------------------------------+---------------------+-------------+-----------+------+
| 0ec94901-93b5-43c1-86bd-735572574776 | data-vol-01-snap1   | None        | available |  100 |
+--------------------------------------+---------------------+-------------+-----------+------+

Créer un volume à partir d'un snapshot

Vous pouvez créer un nouveau volume à partir d'un snapshot, ce qui est utile pour cloner des données ou revenir à un état antérieur.

Horizon

  1. Accédez à Volumes > Snapshots.
  2. Recherchez le snapshot et ouvrez le menu d'actions.
  3. Sélectionnez Create Volume.
  4. Renseignez le nom du nouveau volume, sa taille (au moins égale à la taille du snapshot) et son type.
  5. Cliquez sur Create Volume.

CLI

openstack volume create --snapshot <SNAPSHOT-NAME> <NEW-VOLUME-NAME>

Exemple :

openstack volume create --snapshot data-vol-01-snap1 data-vol-01-restore

Vous n'avez pas besoin de préciser la taille : elle reprend par défaut celle du snapshot. Une fois le nouveau volume au statut available, vous pouvez le rattacher à une VM.

Supprimer un snapshot

Horizon

  1. Accédez à Volumes > Snapshots.
  2. Recherchez le snapshot et ouvrez le menu d'actions.
  3. Sélectionnez Delete Snapshot.
  4. Confirmez.

CLI

openstack volume snapshot delete <SNAPSHOT-NAME>

Impossible de supprimer un snapshot

Si la suppression échoue, il est possible qu'un volume créé à partir de ce snapshot en dépende encore. Vous devez alors supprimer d'abord le volume dépendant.

Recherchez les volumes liés au snapshot :

for i in $(openstack volume list -c ID -f value); do
    echo "volume: $i"
    openstack volume show $i -c snapshot_id -f value
done

Si vous trouvez un volume dont le snapshot_id correspond au snapshot que vous souhaitez supprimer, supprimez ce volume en premier :

openstack volume delete <VOLUME-ID>

Réessayez ensuite de supprimer le snapshot :

openstack volume snapshot delete <SNAPSHOT-NAME>