Utilisation des snapshots sur un serveur VPS GandiCloud¶
Cette page vous explique comment utiliser les Snapshot sur les VPS GandiCloud.
Vous pouvez trouver des informations complètes et les tarifs des options et fonctionnalités des serveurs VPS GandiCloud sur cette page.
Snapshots sur VPS GandiCloud¶
Un snapshot est une image instantanée de votre volume à un moment donné. Il vous permet de restaurer vos données vers une version précédente, ou, par exemple, de conserver une version spécifique de votre volume afin de dupliquer une configuration.
Si un snapshot est très utile pour un retour en arrière (Rollback), n’oubliez pas qu’il est stocké sur le volume concerné lui-même. Il ne peut donc pas être considéré comme une sauvegarde réelle (pour cela il doit être sauvegardé ailleurs).
Sur un VPS GandiCloud vous avez 2 types de snapshots :
Snaphsots Manuels : Vous pouvez créer un snapshot d’un volume manuellement. Ce snapshot est permanent, ce qui veut dire qu’il ne sera jamais supprimé, à moins que vous ne le fassiez vous même.
Snapshots Automatiques : Vous pouvez activer la création de snapshots automatiques sur un volume. Une fois activé, un snapshot est créé chaque jour. Ces snapshots automatiques sont conservés un temps limité.
1 snapshot datant d’au moins 1 mois,
1 snapshot datant d’au moins 1 semaine,
1 snapshot datant d’au moins 24 heures,
seuls 11 snapshots au maximum sont conservés.
Gérez vos snapshots via l’interface Gandi¶
Toutes les options liées aux snapshots sont disponibles sur la Vue Générale d’un Volume.
Gérez les snapshots via l’Interface de Commandes en Ligne (CLI)¶
Le CLI est une bonne option pour un utilisateur désirant scripter ou automatiser certaines tâches. Nous proposons le CLI Openstack standard.
Pour cela, assurez vous d’avoir déjà configurer votre accès au CLI.
Après vous pourrez utiliser les commandes ci-dessous pour gérer les snapshots de vos volumes GandiCloud.
Créer un snapshot¶
Si vous voulez créer un snapshot manuel d’un volume existant et actif :
openstack volume snapshot create --force --volume <volume_id> <snapshot_name>
où :
–force : si inclus, permet de créer un snapshot même si le volume est en « cours d’utilisation »
<volume_id> : le nom ou l’identifiant du volume
<snapshot_name> : le nom que vous voulez donner au snapshot
Effacer un snapshot¶
Vous pouvez utiliser la commande suivante :
openstack volume snapshot delete <snapshot_name>
Lister vos snapshots et récupérer leurs informations¶
Cette commande affiche tous les snapshots vous appartenant :
openstack volume snapshot list
Utilisez cette commande pour accéder à toutes les informations relatives à un snapshot spécifique :
openstack volume snapshot show <snapshot_id>
Utilisez cette commande pour afficher la liste de tous les snapshots associés à un volume.
openstack volume snapshot list --volume <volume_id>
Créer un volume depuis un snapshot¶
Cette commande crée un volume depuis un snapshot existant :
openstack volume create --snapshot <snapshot_id> --size <taille_en_Go> <volume_name>
où :
<snapshot_id>: le nom ou l’identification du snapshot à restaurer.
–size <taille_en_Go>: paramètre optionnel. Par défaut le volume aura la taille du snapshot, mais vous pouvez créer un volume plus grand.
<volume_name> : le nom du nouveau volume.
Restaurez un volume dans une version antérieure grâce à un snapshot¶
Pour restaurer une version antérieure de votre volume, vous devrez tout d’abord créer un nouveau volume depuis le snapshot choisi. Vous devrez ensuite attacher ce nouveau volume à votre serveur existant, ou, s’il s’agit d’un volume d’amorçage, il vous sera nécessaire de créer un nouveau serveur depuis ce volume.
Premièrement, ajoutez une étiquette à la partition si vous voulez revenir à un état précédent, de manière à le retrouver facilement plus tard.
lsblk -o NAME,PATH,UUID,LABEL,TYPE,MOUNTPOINT,SIZE,FSSIZE,FSUSED,FSUSE%
# locate the device name of the partition to restore, e.g. `/dev/xvda1`
sudo e2label <device_name> "REVERT_ME"
Assurez-vous d’inclure l’information suivante :
<device_name> : La partition à restaurer (exemple : /dev/xvda1)
À un moment, dans le processus, vous aurez deux disques avec le même identifiant (UUID) mais une seule partition avec cette étiquette.
Si vous n’arrivez pas à accéder à votre serveur, (par exemple il ne démarre plus), vous pouvez effectuer cette opération en mode “secours” (rescue mode).
Une fois cela fait, créez un nouveau volume depuis le snapshot que vous voulez restaurer . Ce volume comportant les données de votre snapshot sera appelé « volume temporaire » dans le reste de la description du processus.
Une fois votre volume temporaire en statut available (disponible), attachez-le à votre serveur.
et redémarrez votre serveur en mode “secours”.
openstack server rescue --image "Rescue (Debian)" <server_id>
Accédez à votre serveur via la console d’urgence et localisez la partition que vous voulez écraser :
$ lsblk -o NAME,PATH,UUID,LABEL,TYPE,MOUNTPOINT,SIZE,FSSIZE,FSUSED,FSUSE%
NAME PATH UUID LABEL TYPE MOUNTPOINT SIZE FSSIZE FSUSED FSUSE%
xvda /dev/xvda disk 2G
|-xvda1 /dev/xvda1 97bb8638-cb1a-4917-9d75-222c701a2cc7 RESCUEROOT part / 1.9G
|-xvda14 /dev/xvda14 part 3M
\`-xvda15 /dev/xvda15 7FFD-8BD9 part /boot/efi 124M
xvdb /dev/xvdb disk 25G
\`-xvdb1 /dev/xvdb1 9a03b9ab-ac87-455e-bd8d-83318a953647 part 25G 24.8G 2.2G 9%
xvdc /dev/xvdc disk 25G
\`-xvdc1 /dev/xvdc1 9a03b9ab-ac87-455e-bd8d-83318a953647 REVERT_ME part 25G
La partition avec l’étiquette « REVERT_ME » est la partition courante, et celle avec le même UUID/PARTUUID est celle de votre volume temporaire (/dev/xvdb1 dans l’exemple ci-dessus).
Si vous voulez vous assurer que vous regardez les bonnes partitions, vous pouvez aussi les monter et inspecter leur contenu :
mkdir disk1 disk2
sudo mount /dev/xvdb1 disk1
sudo mount /dev/xvdc1 disk2
ls disk1
ls disk2
# Do not forget to unmount
sudo umount /dev/xvdb1
sudo umount /dev/xvdc1
Maintenant écrasez le contenu de la partition à restaurer avec le contenu de la partition de votre volume temporaire :
sudo dd if=<partition_to_read_from> of=/dev/disk/by-label/REVERT_ME bs=100M
Assurez-vous d’inclure :
<partition_to_read_from> : La partition contenant les données du snapshot (/dev/xvdb1 dans l’exemple du dessus).
Cette opération peut prendre un peu de temps, environ 5 minutes pour un disque de 25 Go.
Notez que cette opération va aussi supprimer l’étiquette ajoutée auparavant et restaurer toute autre étiquette définie au moment du snapshot.
Une fois la copie effectuée, vous pouvez désactiver le mode “secours” et détacher le second volume :
openstack server unrescue <server_id>
openstack server remove volume <server_id> <temporary_volume_id>
Vérifiez que votre volume soit maintenant dans l’état correct contient les données voulues, puis supprimez le volume temporaire :
openstack volume delete <temporary_volume_id>