4. Faire une sauvegarde avec un instantané (snapshot)

À la suite de l'exemple précédent, nous désirons maintenant utiliser l'espace supplémentaire dans le groupe de volumes « ops » pour faire une sauvegarde de la base de données tous les soirs. Pour nous assurer de la cohérence des données sur la bande, nous utilisons la fonctionnalité d'instantané de LVM.

Ce type de volume est une copie en lecture seule d'un autre volume et qui contient toutes les données qui étaient dans ce volume au moment de sa création. Cela signifie que nous pouvons faire une sauvegarde du volume sans se préoccuper des modifications de données pendant la sauvegarde et par conséquent il n'y a pas besoin de garder la base de données éteinte pendant la sauvegarde.

4.1. Créer le volume d'instantané

Il reste un peu plus de 500 Mo d'espace libre dans le groupe de volume « ops ». Nous allons l'utiliser entièrement pour le volume logique d'instantané. Un volume logique d'instantané peut être aussi grand ou petit que vous le souhaitez, mais il doit être assez grand pour contenir toutes les modifications qui peuvent apparaître sur le volume originel pendant la durée de vie de l'instantané. Ici, permettre 500 Mo de modifications dans la base de données devrait être très large.

# 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
[Note]Note

Si l'instantané est effectué pour un système de fichiers XFS, la commande xfs_freeze doit être utilisée pour figer le système de fichiers avant la création de l'instantané. (Si le système de fichiers est monté.)

# xfs_freeze -f /mnt/point; lvcreate -L592M -s -n dbbackup /dev/ops/databases; xfs_freeze -u /mnt/point 
[Avertissement]Les instantanés pleins sont automatiquement désactivés

Si le volume logique d'instantané devient plein, il deviendra inutilisable. Il est donc vital d'allouer suffisamment d'espace.

4.2. Monter le volume d'instantané

Nous pouvons désormais 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

Si vous utilisez le système de fichiers XFS, il faut ajouter l'option nouuid à la commande mount :

# mount /dev/ops/dbbackup /mnt/ops/dbbackup -onouuid,ro

[Note]Note

Avant, on conseillait l'option norecovery pour pouvoir monter des instantanés XFS. Désormais, il est recommandé de ne pas utiliser cette option mais, à la place, d'utiliser xfs_freeze pour figer le système de fichiers avant la création de l'instantané.

4.3. Faire la sauvegarde

Je suppose que vous avez des stratégies de sauvegarde un peu plus sophistiquées que ça !

# tar -cf /dev/rmt0 /mnt/ops/dbbackup
tar: Removing leading `/' from member names

4.4. Supprimer l'instantané

Une fois la sauvegarde effectuée, vous pouvez démonter le volume et le supprimer du système. Vous devriez enlever les volumes d'instantanés dès que vous avez fini de les utiliser car il font une copie de toutes les données écrites sur le volume originel et cela peut impacter les 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

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:27