À 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.
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 | |
---|---|
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 |
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. |
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 | |
---|---|
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é. |
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
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