GNU/Linux >> Tutoriels Linux >  >> Linux

Est-ce ainsi que fonctionnent les instantanés LVM ?

Solution 1 :

Pourquoi ne pas jeter un coup d'œil à la section des instantanés du LVM-HOWTO ?

Les instantanés LVM sont votre solution d'instantané de base "copie sur écriture". L'instantané n'est vraiment rien de plus que de demander au LVM de vous donner un "pointeur" sur l'état actuel du système de fichiers et d'écrire les modifications apportées après l'instantané dans une zone désignée.

Les instantanés LVM "vivent" à l'intérieur du groupe de volumes hébergeant le volume soumis à l'instantané - pas un autre volume. Votre déclaration "... beaucoup et beaucoup d'espace libre non alloué pas la partition" donne l'impression que vous pensez que les instantanés "vivent" en dehors du groupe de volumes soumis à l'instantané, et ce n'est pas exact. Votre groupe de volumes réside dans une partition de disque dur, et le volume fait l'objet d'un instantané et de tous les instantanés que vous avez pris en direct dans ce groupe de volumes.

La manière normale dont les instantanés LVM sont utilisés n'est pas pour le stockage à long terme, mais plutôt pour obtenir une "image" cohérente du système de fichiers de sorte qu'une sauvegarde puisse être effectuée. Une fois la sauvegarde effectuée, l'instantané est supprimé.

Lorsque vous créez un instantané LVM, vous désignez une quantité d'espace pour contenir toutes les modifications apportées pendant que l'instantané est actif. Si plus de modifications sont apportées que vous n'en avez désigné, l'espace pour l'instantané devient inutilisable et doit être supprimé. Vous ne voulez pas laisser traîner des instantanés car (a) ils se remplissent et deviennent inutilisables, et (b) les performances du système sont affectées lorsqu'un instantané est actif - les choses ralentissent.

Modifier :

Ce que font Microsoft Volume Shadow Copy Services et les instantanés LVM ne sont pas trop différents. La solution de Microsoft est un peu plus complète (comme c'est généralement le cas avec Microsoft - pour le meilleur ou pour le pire, leurs outils et produits cherchent souvent à résoudre des problèmes assez importants au lieu de se concentrer sur une seule chose).

VSS est une solution plus complète qui unifie la prise en charge des périphériques matériels prenant en charge les instantanés et les instantanés logiciels dans une seule API. De plus, VSS a des API pour permettre aux applications d'être rendues inactives via les API d'instantané, alors que les instantanés LVM ne concernent que les instantanés - toute application en veille est votre problème (mettre les bases de données dans des états de "sauvegarde", etc.).

Solution 2 :

Les instantanés LVM sont un exemple de solution d'instantané de copie sur écriture, comme l'a dit Evan. Son fonctionnement est un peu différent de ce qu'implique Evan, mais pas de beaucoup.

Lorsque vous avez un volume LVM sans instantanés, les écritures sur le volume se produisent comme prévu. Un bloc est changé, et c'est tout.

Dès que vous créez un instantané, LVM crée un pool de blocs. Ce pool contient également une copie complète des métadonnées LVM du volume. Lorsque des écritures se produisent sur le volume principal, telles que la mise à jour d'un inode, le bloc en cours d'écrasement est copié dans ce nouveau pool et le nouveau bloc est écrit sur le volume principal. C'est la 'copie sur écriture'. Pour cette raison, plus il y a de données modifiées entre le moment où un instantané a été pris et l'état actuel du volume principal, plus l'espace sera consommé par ce pool d'instantanés.

Lorsque vous montez l'instantané, les métadonnées écrites lors de la prise de l'instantané permettent le mappage des blocs du pool d'instantanés sur les blocs modifiés dans le volume (ou l'instantané de niveau supérieur). De cette façon, lorsqu'un accès vient pour un bloc spécifique, LVM sait quel accès de bloc. En ce qui concerne le système de fichiers sur ce volume, il n'y a pas d'instantanés.

James a souligné l'un des défauts de ce système. Lorsque vous avez plusieurs instantanés du même volume, chaque fois que vous écrivez dans un bloc du volume principal, vous déclenchez potentiellement des écritures dans chaque instantané. En effet, chaque instantané conserve son propre pool de blocs modifiés. De plus, pour les longues arborescences d'instantanés, l'accès à un instantané peut entraîner un certain nombre de calculs sur le serveur pour déterminer quel bloc exact doit être servi pour un accès.

Lorsque vous supprimez un instantané, LVM supprime simplement le pool d'instantanés et met à jour l'arborescence d'instantanés si nécessaire. Si l'instantané déposé fait partie d'une arborescence d'instantanés, certains blocs seront copiés vers un instantané de niveau inférieur. S'il s'agit de l'instantané le plus bas (ou du seul), le pool est simplement supprimé et l'opération est très rapide.

Certains systèmes de fichiers offrent des instantanés dans le système de fichiers, ZFS et BTRFS ne sont que deux des plus connus. Ils fonctionnent de la même manière, bien que le système de fichiers lui-même gère le mappage modifié/inchangé. C'est sans doute une meilleure façon de procéder, car vous pouvez fsck toute une famille d'instantanés pour plus de cohérence, ce que vous ne pouvez pas faire avec LVM.

Solution 3 :

Les instantanés LVM sont inefficaces, plus il y a d'instantanés, plus le système sera lent.

Je ne prends en charge que xfs car c'est ce que nous utilisons et xfs_freeze peut être utilisé pour arrêter tout nouvel accès au système de fichiers et créer une image stable sur le disque.

La copie sur écriture est utilisée afin que l'espace disque soit utilisé efficacement.

Vous avez créé un système de fichiers dans un volume logique qui contient de l'espace libre pour les instantanés.

Ceci est un exemple de la FAQ

Solution 4 :

Vous ne précisez pas si vous utilisez Linux ou HP-UX. Dans HP-UX, vous créez un volume logique et le montez en tant qu'instantané d'un autre volume logique. Sous Linux, vous créez un volume logique en tant que volume d'instantané.

La suppression d'un instantané dans HP-UX s'effectue en démontant le volume; sous Linux, cela se fait en utilisant lvremove pour supprimer le volume logique.

Dans tous les cas, les modifications sont la seule chose qui est stockée sur votre instantané. Plus l'instantané reste disponible longtemps, plus il stocke de modifications - et il est possible qu'il se remplisse s'il n'est pas correctement dimensionné ou publié.

La vitesse d'accès au disque sur un volume d'instantané est plus lente qu'elle ne le serait sur un volume normal; vous devez en tenir compte.


Linux
  1. Comment créer un instantané de volumes légers LVM à l'aide de la commande snapper

  2. RHEL / CentOS :Comment réduire le volume LVM

  3. Comment réduire un volume LVM sur Ubuntu

  4. Utilisation des instantanés LVM pour les clones de machines virtuelles KVM

  5. Synchroniser les instantanés LVM sur le serveur de sauvegarde

Un guide sur les instantanés LVM avec ext4 sur CentOS 7

Comment créer un groupe de volumes sous Linux avec LVM

Comment utiliser les instantanés LVM pour restaurer des systèmes Linux

Comment redimensionner un volume logique avec 5 commandes LVM simples

Comment créer et restaurer des instantanés de machine virtuelle dans VirtualBox

Sauvegarde et restauration d'instantanés LVM sous Linux