# Faire une sauvegarde en utilisant des instantanés LVM
{{METATOC 4-5}}
L'exemple décrit comment utiliser un espace supplémentaire du groupe de volumes "ops" pour effectuer une sauvegarde de la base de données tous les soirs. Pour garantir la cohérence des données stockées sur la bande, nous utilisons un volume logique d'instantané LVM.
Un volume snapshot est un type spécial de volume qui présente toutes les données qu'il contenait au moment de la création de l'instantané. Cela signifie que l'on peut sauvegarder ce volume sans avoir à se soucier des données modifiées pendant la sauvegarde, et sans devoir pas mettre le volume de base de données hors ligne pendant la sauvegarde.
Dans LVM1, ce type de volume était en lecture seule, mais LVM2 crée des instantanés en lecture/écriture par défaut.
#### 1. Créer le volume d'instantané
Vérifier l'espace libre dans le groupe de volumes "ops" afin d'allouer de l'espace au volume logique de l'instantané. Un volume d'instantané peut être aussi grand ou petit qu'onsouhaite, mais il doit être suffisamment grand pour que tous les changements susceptibles de se produire sur le volume d'origine soient conservés pendant toute la durée de vie de l'instantané.
```
# lvcreate -L592M -s -n dbbackup /dev/ops/databases
lvcreate -- WARNING: the snapshot must be disabled if it gets full
lvcreate -- INFO: using default snapshot chunk size of 64 KB for "/dev/ops/dbbackup"
lvcreate -- doing automatic backup of "ops"
lvcreate -- logical volume "/dev/ops/dbbackup" successfully created
```
**Attention**: Si le volume logique de l'image instantanée est plein, il sera supprimé (et deviendra inutilisable). Il est donc primordial d'allouer suffisamment d'espace. La quantité d'espace nécessaire dépend de l'utilisation de l'instantané. Il n'y a donc pas de recette définie à suivre pour cela. Si la taille de l'instantané est égale à la taille d'origine, elle ne débordera jamais.
#### 2. Monter le volume de l'instantané
On peut maintenant créer un point de montage et monter le volume
```
# mkdir /mnt/ops/dbbackup
# mount /dev/ops/dbbackup /mnt/ops/dbbackup
mount: block device /dev/ops/dbbackup is write-protected, mounting read-only
```
Pour les systèmes de fichiers XFS, ajouter l'option `nouuid` à la commande mount:\\ \\ `# mount /dev/ops/dbbackup /mnt/ops/dbbackup -onouuid,ro`
#### 3. Faire la sauvegarde
```
# tar -cf /dev/rmt0 /mnt/ops/dbbackup
tar: Removing leading `/' from member names
```
#### 4. Supprimer l'instantané
Une fois la sauvegarde terminée, on peut démonter le volume et le supprimer du système. Il faut supprimer le volume des instantanés lorsqu'on a terminé, car ils prennent une copie de toutes les données écrites sur le volume d'origine, ce qui peut nuire aux performances.
```
# umount /mnt/ops/dbbackup
# lvremove /dev/ops/dbbackup
lvremove -- do you really want to remove "/dev/ops/dbbackup"? [y/n]: y
lvremove -- doing automatic backup of volume group "ops"
lvremove -- logical volume "/dev/ops/dbbackup" successfully removed
```