KVM : snapshots avec disques additionnels (ou sans ?)

Hello,

Pour chaque VM KVM que j’héberge sur mon hyperviseur, j’ai jusqu’à maintenant toujours fait des images au format Qcow2, et une image à la fois. La question des snapshot était pour le coup réglée assez simplement.

Là, j’ai un serveur de mail, qui tourne avec une Qcow2 pour le système, mais dont le /var/mail/vhosts est en réalité un point de montage pour un volume LVM2, dont le PV est installé sur un disque additionnel de 3To (avec à la base une partoche gpt).

J’ai donc sur cette fameuse VM :

  • Une image Qocw2 pour le système
  • Une image RAW pour le /var/mail/vhosts

J’ai fait ça, car si jamais je viens à casser la VM, je peux toujours monter les mails sur un serveur de secours. Mais mon problème n’est pas là.

Je souhaiterais savoir, avant de tout casser, si ça pose problème de faire un snapshot virsh de ma VM avec le disque addionnel monté, ou si il faut le démonter avant de faire le snapshot. C’est très con comme question, mais je me suis quand même demandé comment ça allait réagir, sachant que la VM intègre un disque de 20G pour le système et un de 3To pour les mails. Que va prendre le snapshot du coup ?

Par sécurité, ma procédure est pour le moment, avant chaque update, de couper le service mail, de détacher le disque additionnel, de faire le snapshot, faire mon intervention (update/upgrade), redémarrer, puis réattacher le disque additionnel.

Salut

Il doit y avoir une option pour ignorer les systèmes de fichiers situés sur un autre périphérique.
C’est ce que je vois de mieux.

Autrement, je ne connais rien de tout ça :slight_smile:

Hello, oui effectivement, on peut inclure explicitement un disque (et donc exclure implicitement les autres) :

virsh snapshot-create-as test.domaine.org test.domaine.org-snap1 "vierge" --disk-only /stockage/disques_systemes/test.domaine.org.qcow

Par contre, ce qui est extraordinaire, c’est qu’on ne peut pas revenir en arrière avec les outils pourtant prévus pour ça…

 virsh snapshot-revert test.domaine.org test.domaine.org-snap1
error: unsupported configuration: revert to external snapshot not supported yet

quand je vois ce genre de messages, ça me démotive … Je ne vois pas d’où ma conf est exotique au point de ne pas pouvoir faire un revert. Je veux dire depuis 2017 visiblement on peut le faire, pourquoi là, on ne peut pas ?

Si ça te parle ?

En fait, je ne comprends pas comment est gérée la taille du disque côté HV et comment elle sera gérée avec un snapshot :

Sur l’hyperviseur :

df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev                16G       0   16G   0% /dev
tmpfs              3,2G     17M  3,2G   1% /run
/dev/md2            39G    6,7G   30G  19% /
tmpfs               16G     72K   16G   1% /dev/shm
tmpfs              5,0M       0  5,0M   0% /run/lock
tmpfs               16G       0   16G   0% /sys/fs/cgroup
/dev/sda1          510M    5,1M  505M   1% /boot/efi
/dev/md4           3,6T     56G  3,4T   2% /stockage
tmpfs              3,2G       0  3,2G   0% /run/user/0
tmpfs              3,2G       0  3,2G   0% /run/user/1001


qemu-img info /stockage/disques_additionnels/mail.domaine.org_disk1
image: /stockage/disques_additionnels/mail.domaine.org_disk1
file format: raw
virtual size: 3.0T (3298534883328 bytes)
disk size: 50G

Sur la VM :

 df -h
Sys. de fichiers           Taille Utilisé Dispo Uti% Monté sur
udev                         3,9G       0  3,9G   0% /dev
tmpfs                        798M     49M  750M   7% /run
/dev/vda1                     20G    2,0G   17G  11% /
tmpfs                        3,9G     72K  3,9G   1% /dev/shm
tmpfs                        5,0M       0  5,0M   0% /run/lock
tmpfs                        3,9G       0  3,9G   0% /sys/fs/cgroup
/dev/mapper/users-mailsvol   3,0T     90M  2,9T   1% /var/mail/vhosts
tmpfs                        798M       0  798M   0% /run/user/1000

lvs -ao +devices
  LV       VG    Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
  mailsvol users -wi-ao---- <3,00t                                                     /dev/vdb1(0)
  1. Pourquoi l’image disque prends 50G sur l’hyperviseur, alors qu’elle a une taille virtuelle de 3T ? D’où viennent ces 50G ? Sur la VM, il n’y a que 90M de pris dessus…

  2. Par le fait, si mon image est réellement utilisée à 2T, que va-t-il se passer si je veux faire un snapshot (temporaire) ? Je suppose que le snapshot fonctionne en incrémental, donc tant que je ne modifie pas dans la VM le contenu de ce qui correspond à mon image disque, la taille du snapshot devrait restée proche de zéro, non ?
    En fait, la taille du snapshot ne dépend pas du contenu de l’image elle même, mais juste du delta entre l’image source et la différence.