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 :
Créer un snapshot
Horizon
- Accédez à Volumes > Volumes.
- Recherchez le volume dont vous souhaitez créer un snapshot et ouvrez le menu d'actions.
- Sélectionnez Create Snapshot.
- Saisissez un Snapshot Name et, si vous le souhaitez, une description.
- 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
- Accédez à Volumes > Snapshots.
- Recherchez le snapshot et ouvrez le menu d'actions.
- Sélectionnez Create Volume.
- Renseignez le nom du nouveau volume, sa taille (au moins égale à la taille du snapshot) et son type.
- 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
- Accédez à Volumes > Snapshots.
- Recherchez le snapshot et ouvrez le menu d'actions.
- Sélectionnez Delete Snapshot.
- 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>