VMware : vSphere Snapshot Deep Dive

 

 

Un snapshot est une sorte de capture de l’état d’une VM à l’instant T qui nous permet de préserver l’état et de retourner à un état antérieur si besoin. Lorsque le snasphot est créé, le disque de base de la VM sera mis en lecture seule et toutes les nouvelles données ou modifications seront écrites sur un nouveau disque delta ou le disque enfant. Vous pouvez prendre un snasphot lorsqu’une VM est sous tension, hors tension ou suspendue et le maximum de sanpshots supporté par VMware est 32 par VM.

Il existe 3 types de snapshot :

  • Le format VMFSsparse utilisé en système de fichier VMFS5 pour les disques virtuels inférieurs à 2To.
  • Le format SEsparse utilisé par défaut pour tous les disques/VMs sur les banques de données VMFS6. Sur VMFS5, SEsparse est utilisé pour les disques virtuels de 2To et plus.
  • Le format vSANSparse utilisé pour les VM hébergées sur un dasatore vSAN.

Vous pouvez créer le snapshot via l’interface graphique, mais aussi en CLI sur votre ESXi et pour surveiller la création vous pouvez utiliser la commande watch :

# vim-cmd vmsvc/snapshot.create VMID 

# watch -d ‘ls -luth | grep -E “delta|flat|sesparse”‘

# vim-cmd vmsvc/snapshot.get VMID

# vim-cmd vmsvc/get.snapshotinfo VMID

# vim-cmd vmsvc/snapshot.remove VMID SNAPSHOTID  

# vim-cmd vmsvc/snapshot.removeall VMID

# vim-cmd vmsvc/snapshot.remove VMID SNAPSHOTID

Selon la configuration des options, 4 vmkernel fonctionnalités sont utilisés pour la création d’un snapshot :

  • Fast Suspend Resume (FSR): qui permet de sauvegarder l’état de la VM dans un snapshot.
  • Lazy CheckPointing: qui permet à la VM de continuer à s’exécuter pendant que la mémoire est vidée sur le disque.
  • Change Block Traking (CBT): qui permet de tracker les modifications des blocs sur les VMs.

La réalisation d’un snapshot crée un ensemble des fichiers dans le dossier de votre VM sur le datastore :

  • Snapshot#.vmsn: Configuration state
  • Snapshot#.vmem: Memory state (optional)
  • 00000#.vmdk: Disk descriptor
  • 00000#-delta.vmdk: VMFS5 delta
  • -00000#-sesparse.vmdk: VMFS6 delta
  • vmsd: Stores names, descriptions, and relationships for all the VM’s snapshots

Vous pouvez rencontrer de différents problèmes ou erreurs liés au snapshots, il est recommandé de commencer à voir les logs afin de mieux comprendre le problème

vCenter Server LOG : VPXD.log

# egrep -i ‘vim.VirtualMachine.CreateSnapshot|vim.VirtualMachine.RevertToCurrentSnapshot|vim.VirtualMachine.

RemoveSnapshot|vim.VirtualMachine.RevertToSnapshot|vim.VirtualMachine.RemoveAllSnapshots’ /var/log/vmware/vpxd/vpxd.log

ESXi host log : Hostd.log

# egrep -i ‘vim.VirtualMachine.CreateSnapshot|vim.VirtualMachine.RevertToCurrentSnapshot|vim.VirtualMachine.

RemoveSnapshot|vim.VirtualMachine.RevertToSnapshot|vim.VirtualMachine.RemoveAllSnapshots’ /var/log/hostd.log

VM Log : vmware.log

# grep “Receiving Snapshot” vmware.log

# grep “Checkpoint_Unstun” vmware.log

Parmi les erreurs les plus populaires des snapshots, on trouve :

Une alerte de consolidation des disques sur la VM : Consolidation needed alert

Les causes les plus courantes pour cette erreur est l’espace de stockage du datastore, un logiciel de sauvegarde n’arrive pas à supprimer le sanapshot ou la connexion entre l’ESXi et le vcenter afin de résoudre cette erreur vous devez soit :

  • Lancer la consolidation des disques de la VM
  • Redémarrer le management agents de l’ESXi
  • Supprimer les anciennes CTK file dans le dossier de votre VM

File lock issues : c’est le fait de ne pas pouvoir accéder à un fichier de la VM. Pour déterminer les fichiers lookés, vous pouvez lancer la commande ci-dessous :

# for i in ls; do vmfsfilelockinfo -p $i ;done|grep ‘is locked in\|Host owning the lock\|Total time taken’ | sed ‘s|Host owning the lock on file is||g’|sed ‘s|Total time|—|g’ | awk ‘{print $1}’ |uniq

Vous pouvez migrer la VM d’un ESXi vers un autre pour essayer de débloquer la VM.

VM unresponsive issues : les symptômes de ce problème sont que la VM durant une opération de snapshot devient inactive et ne répond plus. En effet ceci est relié au fait que l’ESXi est en train de vider la mémoire de la VM sur le disque. Le temps nécessaire à la réalisation de la tâche dépend de la taille de la mémoire et des performances de stockage.

Afin d’éviter ce problème surtout pour les VMs critiques, essaie d’exclure la RAM de la VM dans le processus de création de snapshot

Rappelez-vous :

  • Les snapshots ne sont pas des sauvegardes.
  • Un snapshot impacte les performances d’une VM.
  • Seuls 3 snapshots doivent être présents sur une VM.
  • Le snapshot ne doit pas rester sur la VM plus de 72 heures.
  • Les snapshots des logiciels de sauvegarde doivent être supprimés immédiatement après la sauvegarde.
  • Augmenter le disque d’une VM avec des snapshots peut corrompre le snapshot et entraîner une perte de données.

Leave a Reply

Your email address will not be published. Required fields are marked *