web-dev-qa-db-fra.com

Les instantanés LVM comme stratégie de sauvegarde

Quelle viabilité qu'une stratégie de sauvegarde serait des instantanés périodiques de LVM de Xen Domu? Avantages, inconvénients, gotchas?

Pour moi, cela semble être la solution parfaite pour une restauration rapide et sans cervelle. Toute enquête pourrait avoir lieu sur le volume logique brisé avec Domu Buteny courir sans interruption.

ÉDITER:

Voici où je suis maintenant, lorsque vous faites des sauvegardes complètes du système.

  • snapshot LVM du disque Domu
  • un nouveau volume logique de quelle taille est égal à la taille de l'instantané.
  • dd if =/dev/instantané de =/dev/new_lv
  • dixmission d'instantané avec LVReMove
  • vérification optionnelle avec kPartx/montage/ls

Maintenant, j'ai besoin d'automatiser cela.

17
Karolis T.

Les instantanés LVM sont destinés à capturer le système de fichiers dans un état congelé. Ils ne sont pas censés être une sauvegarde dans et d'eux-mêmes. Ils sont toutefois utiles pour obtenir des images de sauvegarde cohérentes car l'image congelée ne peut pas et ne changera pas pendant le processus de sauvegarde. Alors pendant que vous Ne les utiliserez pas directement pour faire des sauvegardes à long terme, ils seront d'une grande valeur dans n'importe quel processus de sauvegarde que vous décidez d'utiliser.

Il y a quelques étapes à mettre en œuvre un instantané. Le premier est qu'un nouveau volume logique doit être attribué. Le but de ce volume est de fournir une zone dans laquelle les Deltas (changements) au système de fichiers sont enregistrés. Cela permet au volume d'origine de continuer sans perturber l'accès en lecture/écriture existante. L'inconvénient est que la zone d'instantané est de taille finie, ce qui signifie sur un système avec des écrites bien remplies, il peut se remplir assez rapidement. Pour les volumes ayant une activité d'écriture importante, vous voudrez augmenter la taille de votre instantané pour permettre l'enregistrement suffisamment d'espace pour que toutes les modifications soient enregistrées. Si votre instantané déborde (se remplit), l'instantané s'arrêtera et être marqué comme inutilisable. Si cela se produise, vous voudrez libérer votre instantané afin que vous puissiez obtenir le volume d'origine en ligne. Une fois la version terminée terminée, vous pourrez remonter le volume comme lecture/écriture et rendre le système de fichiers sur celui-ci disponible.

La deuxième chose qui se produit est que LVM est maintenant "swaps" de véritables objectifs des volumes en question. Vous penseriez que l'instantané nouvellement attribué serait l'endroit idéal pour rechercher des modifications apportées au système de fichiers, après tout, c'est là que toutes les écritures vont, non? Non, c'est l'inverse. Les systèmes de fichiers sont montés sur les noms de volume LVM , alors échangez le nom de Sous le reste du système serait un non-non (car l'instantané utilise un nom différent ). Donc, la solution ici est simple: lorsque vous accédez au nom du volume d'origine, il continuera de faire référence à la version en direct (lecture/écriture) de la version du volume Vous avez fait l'instantané de. Le volume d'instantané que vous créez se référera à la version gelée (lecture seule) du volume que vous avez l'intention de sauvegarder. Un peu déroutant au début, mais cela aura du sens.

Tout cela se produit en moins de 2 secondes. Le reste du système ne remarque même pas. À moins que, bien sûr, vous ne relâchez pas l'instantané avant que cela déborde ...

À un moment donné, vous voudrez libérer votre instantané pour récupérer l'espace qu'il occupe. Une fois la version complète terminée, le volume d'instantané est libéré dans le volume et l'original reste.

Je ne recommande pas de poursuivre cela comme une stratégie de sauvegarde à long terme. Vous hébergez toujours des données sur le même lecteur physique pouvant échouer et la récupération de votre système de fichiers à partir d'un lecteur qui a échoué n'est pas de sauvegarde.

Donc, en un mot:

  • Les instantanés sont bons pour aider les sauvegardes
  • Les instantanés ne sont pas, d'eux-mêmes, une forme de sauvegarde
  • Les instantanés ne durent pas éternellement
  • Un instantané complet n'est pas une bonne chose
  • Les instantanés doivent être libérés à un moment donné
  • LVM est votre ami, si vous l'utilisez à bon escient.
32
Avery Payne

Les instantanés LVM sont parfaits pour pouvoir sauvegarder votre serveur sans le prendre hors ligne. Comme indiqué, les instantanés LVM sont des copies presque instantanées. Vous les créez à l'aide de la commande lvcreate _ Tout comme vous le feriez de créer le LV lui-même, vous seul lui donnez le --snapshot Option et l'original LV au lieu de la VG. Par exemple:

lvcreate -L <LV size> -s -n <snapshot name> /dev/<VG name>/<LV name>

Cela créera un instantané du LV donné avec le nom de l'instantané spécifié que vous pouvez ensuite monter et utiliser cet instantané LV pour effectuer votre sauvegarde de sans vous soucier des fichiers utilisés activement. Ceci est particulièrement utile si vous essayez de sauvegarder un serveur de base de données actif.

Une fois que vous avez terminé avec la sauvegarde de l'instantané, vous souhaitez le supprimer pour réduire les frais généraux d'E/S supplémentaires ou d'autres problèmes de performance, car d'autres ont mentionné en utilisant:

lvremove /dev/<VG name>/<snapshot name>

Bien que les instantanés LVM puissent être inestimables pour produire une sauvegarde fiable de systèmes tels que des bases de données et de telle sorte que vous souhaitez normalement arrêter de sauvegarder pour éviter la conflit de fichiers, ils ne sont pas idéaux pour un fonctionnement à long terme en tant que restauration rapide.

10
Jeremy Bouse

Pas une bonne idée, imo.

Les instantanés sont implémentés sous une forme de copie sur écriture afin de tourner chaque écriture dans une lecture en lecture et deux écrivies (le bloc que vous mettez en train de mettre à jour est d'abord lu à partir du volume principal et stocké dans le volume d'instantané avant de nouvelles données. Sa place) Vous verrez donc une certaine dégradation de la performance si beaucoup d'écriture sont courantes sur le VMS.

En outre, IIRC, si le volume d'instantané est rempli, il est simplement tombé de manière non légitime. Ce n'est pas bon à des fins de sauvegarde! Donc, si vous essayez cela comme méthode de sauvegarde, assurez-vous de rendre le volume d'instantané suffisamment grand pour gérer tous les changements qui se produiront pendant la durée de vie utile de l'instantané. Bien sûr, si vous êtes au courant et surveillez la question de la taille et que la question de la performance ne vous pose aucun problème, ce que vous suggérez peut apporter un ajout utile aux autres processus de sauvegarde que vous avez mis en place.

Les instantanés LVM sont très utiles dans le cadre d'un processus de sauvegarde (prenant un instantané, sauvegardant l'instantané -vers ailleurs pour que la sauvegarde soit cohérente sans avoir à désactiver les mises à jour du volume "réel", déposez l'instantané. Ensuite), amoquant d'autres choses, mais ne sont pas conçues comme une installation de sauvegarde par elles-mêmes.

9
David Spillett

Vous devrez vous assurer que les données sur disque sont dans un état cohérent avant que l'instantané ne soit effectué. par exemple. MySQL peut avoir des données mis en cache de données dans la mémoire qui doit être forcée au disque, que ce soit en déversant la base de données ou en le fermant. Consultez vos applications manuels pour plus de détails.

6
pgs

Sous la recherche intelligente, LVMS est en réalité "juste" un tour de mapper de périphérique. Créer un instantané avec LVCreate n'est pas beaucoup plus qu'un wrapper à certains trucs dmsetup. Le wrapper crée un nouveau périphérique (le volume d'instantané) d'un seul volume (l'original LV) et d'un nouveau (le volume de copie-écriture). Ensemble avec cela, le LV d'origine est renommé (voir ci-dessous, qui est la sortie DMSETUP LS -TREE). Ceci est mappé sur le volume d'instantané et le volume d'origine, il peut donc être utilisé dans les deux endroits. Le volume de copie-écriture fonctionne comme une superposition au niveau LV -real. Le -Snap LV vous indique la combinaison du volume Copy-On-Ecrit et du volume -real. Cela crée en effet une surcharge de performance.

Volume00-snap (253:11)
 |-Volume00-snap-cow (253:13)
 |  `- (104:2)
 `-Volume00-LogVol01-real (253:12)
    `- (104:2)

Volume00-LogVol01 (253:5)
 `-Volume00-LogVol01-real (253:12)
    `- (104:2)

Lorsque vous retirez l'instantané, un nouveau changement de renommage et de mappage se produit. Ensuite, la situation ressemblera à nouveau à quelque chose comme

Volume00-LogVol01 (253:5)
 `- (104:2)

Quant à Howfar, c'est une bonne méthode de sauvegarde des choses: cela peut être, si vous prenez en compte cette volonté (1) ne pas aider pour les machines virtuelles RAM, (2) créer une pénalité de performance et (3). Pour stocker des images de l'instantané ailleurs.

VMware VCB travaille également avec des instantanés, BTW, mais non LVM.

5
wzzrd

Même si des instantanés n'avaient aucun impact sur la performance, vous devez comprendre: les instantanés ne sont plus d'une sauvegarde qu'une copie dans un autre dossier du même disque.

Si le disque freine, vos données et votre sauvegarde sont perdues. Même si vous attribuez la zone d'instantané à une autre PE dans la VG, elle ne contient que les données modifiées depuis l'instantané.

La sauvegarde signifie une copie au moins sur un lecteur complètement séparé comme une exigence minimale.

4
Sven

j'utilise une telle configuration pour les instantanés de machines VMware Server et de bases de données MySQL. fonctionne bien jusqu'à présent. Il y avait quelques restaurants - tout sans problèmes. Une chose à considérer - en cours d'exécution avec Snapshot Lvm, obtient une performance significative sur les opérations d'E/S. Regardez ici . Ignorez le fait qu'ils parlent de MySQL, d'E/S OPS sont des E/S OPS ... peu importe le type de données assis sur LVM.

3
pQd

J'utilise des instantanés LVM uniquement pour copier le DOMU LV une autre dans un VG séparé, où chaque domaine comporte trois "nœuds" de sauvegarde à l'élimination.

Après cela, l'instantané est détruit et les LV de sauvegarde restent jusqu'au prochain tour. Si j'ai une restauration à faire, il suffit de choisir une source LV à partir de la Backup VG et de le copier au domaine LV.

Une fois depuis un moment, une sauvegarde LV est larguée dans un fichier d'image sur un serveur séparé.

Tout cela est automatisé via un script, avec une sauvegarde tous les deux jours et une dump chaque semaine.

J'avais même un mode "panique" à l'esprit, où le domaine LV serait restauré mais exécuté à partir d'un instantané et réinitialisé toutes les 2 heures, pour garder de site en ligne en cas de piratage grave, jusqu'à ce qu'une défense appropriée puisse être organisée .

2
Berzemus

Qu'est-ce qui est devenu de la ligne d'idée de défense "mode panique"?

1
NginUS