Comment effectuer une consolidation de disques de machine virtuelle dans VMware

Ce message d’avertissement « Consolidation des disques de la machine virtuelle nécessaire » dans vSphere ? Il vous indique que lors de la suppression de snapshots (avec les options Supprimer ou Tout supprimer), certains fichiers du disque n’ont pas pu être fusionnés avec le disque virtuel principal (le fichier.vmdk).C’est problématique car votre machine virtuelle n’est pas optimisée, les sauvegardes peuvent échouer et les performances peuvent être ralenties.Étrangement, VMware ne semble pas toujours pouvoir supprimer les fichiers delta résiduels, surtout en cas de problème de stockage ou de chaîne de snapshots importante. Ce message peut apparaître après une suppression de snapshot infructueuse ou si un trop grand nombre de snapshots s’accumulent.

Virtual machine Consolidation Needed status. Virtual Machine disks consolidation is needed.

Contenu:

Les causes les plus fréquentes sont assez simples :

  • Performances de stockage médiocres : si votre stockage est lent ou surchargé, la suppression des snapshots expire ou laisse des fichiers orphelins. Cela est particulièrement vrai si les snapshots sont volumineux ou si les performances du stockage sont fortement dégradées.
  • Espace libre insuffisant sur la banque de données VMFS — VMware a besoin d’au moins 1 Go d’espace libre pour effectuer une consolidation propre (voir : augmentation de la capacité VMFS dans VMware ESXi en étendant la banque de données ou en ajoutant des disques).
  • Les fichiers de snapshot sont verrouillés, généralement par vSphere ou des outils de sauvegarde comme Veeam, HP Data Protector ou NetApp VSC. Si un processus de sauvegarde est en cours d’exécution en arrière-plan, il peut verrouiller les fichiers et bloquer la consolidation. Ce problème survient également lorsque des disques sont ajoutés à chaud à une machine virtuelle pendant une tâche de sauvegarde ; il est donc conseillé de déconnecter manuellement les disques dans le logiciel de sauvegarde si nécessaire. Il peut être nécessaire de vérifier si des processus maintiennent des verrous.
  • Il y a plus de 32 snapshots, ce qui correspond à la limite recommandée par VMware. Au-delà de cette limite, la consolidation devient plus difficile, voire impossible.
  • Les processus de consolidation des instantanés en arrière-plan s’exécutent en arrière-plan — il arrive parfois que la machine virtuelle se bloque en essayant de nettoyer une chaîne énorme.
  • Des problèmes de connexion temporaires entre vCenter et l’hôte (des interruptions réseau) peuvent entraîner l’échec ou le blocage de la consolidation.

Comment consolider des disques dans VMware ?

Pour corriger l’avertissement « Consolidation nécessaire », cliquez avec le bouton droit sur la machine virtuelle, puis sélectionnez Machine virtuelle > Actions > Instantanés > Consolider. Ce message apparaît généralement lorsqu’une suppression d’instantané a échoué ou a été interrompue.

Une petite fenêtre de confirmation apparaîtra, vous demandant :

Confirm Consolidate This operation consolidates all redundant redo logs on your virtual machine. Are you sure you want to continue?

En résumé, vous demandez à vCenter de fusionner les disques delta avec le disque principal. Cette opération peut prendre un certain temps si la machine virtuelle est volumineuse ou contient de nombreux instantanés. Pendant ce temps, les performances de la machine virtuelle peuvent diminuer, ce qui est normal. Une fois la tâche terminée, l’avertissement disparaîtra et les fichiers disque de votre machine virtuelle seront nettoyés.

Erreurs de verrouillage de fichiers lors de la consolidation de disques ? Voici la solution.

Si vous voyez des erreurs comme :

Unable to access file since it is locked. An error occurred while consolidating disks: Failed to lock the file.

ou

Consolidate virtual machine disk files - Unable to access file since it is locked.

Cela est dû au fait qu’un processus sur l’hôte ESXi bloque les fichiers disque. La solution ? Redémarrez les agents de gestion sur l’hôte. Pour ce faire, connectez-vous à l’hôte via SSH et exécutez la commande suivante :

services.sh restart

Cela permet parfois de libérer les verrous obsolètes, mais si cela ne fonctionne pas, vous devrez identifier l’hôte ou le processus qui détient le verrou. Voici comment procéder :

  1. Accédez au répertoire de la machine virtuelle sur le datastore VMFS :# cd /vmfs/volumes/your_datastore_name/your_vm_name
  2. Exécutez cette commande pour lister les fichiers verrouillés et identifier qui les verrouille :
    # 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
  3. Vous obtiendrez un résultat indiquant quel hôte détient le verrou. S’il s’agit d’un hôte particulier, connectez-vous à cet hôte via SSH et exécutez :
    # /etc/init.d/hostd restart# /etc/init.d/vpxa restart
  4. Ensuite, essayez de relancer la consolidation.

Si les fichiers de la machine virtuelle sont toujours verrouillés, vous pouvez essayer de l’arrêter (si possible), de créer un nouvel instantané, de supprimer tous les instantanés avec « Tout supprimer », puis de déplacer la machine virtuelle vers un autre hôte via vMotion. Parfois, cette opération suffit à débloquer la situation et à permettre une consolidation réussie.

Si le bouton de consolidation est grisé et que la banque de données est pleine de fichiers delta, cela signifie probablement que la chaîne de snapshots est rompue. Vous devrez peut-être supprimer la machine virtuelle de l’inventaire et la réenregistrer depuis l’explorateur de banques de données. Pour les problèmes de chaîne plus complexes, consultez les articles de la base de connaissances VMware, comme celui-ci concernant les chaînes de snapshots rompues.

Utilisation de PowerCLI pour nettoyer et consolider

Si vous maîtrisez PowerCLI, c’est un excellent moyen d’automatiser la vérification des machines virtuelles nécessitant une consolidation, et même de l’exécuter en masse. Commencez par vous connecter à votre hôte vCenter ou ESXi :

Connect-VIServer hostname

Pour savoir quelles machines virtuelles sont en attente de consolidation, exécutez :

Get-VM | Where-Object {$_. Extensiondata. Runtime. ConsolidationNeeded}

Cette commande affichera la liste de toutes les machines virtuelles présentant l’avertissement. Ensuite, pour lancer la consolidation :

Get-VM | Where-Object {$_. Extensiondata. Runtime. ConsolidationNeeded} | ForEach-Object { $_. ExtensionData. ConsolidateVMDisks_Task() }

Cela lance le processus pour chaque machine virtuelle qui en a besoin. Si vous souhaitez automatiser le nettoyage des instantanés de plus de 30 jours, ce script peut vous aider :

$VMs = Get-VM | Get-Snapshot | Where-Object {$_. Created -lt (Get-Date).AddDays(-30)} $VMs | ForEach-Object { $_. VM. ExtensionData. ConsolidateVMDisks() }

Cela fonctionne correctement, mais gardez à l’esprit que les scripts PowerCLI peuvent être un peu imprévisibles selon l’environnement ; par conséquent, si vous êtes novice, essayez d’abord sur une machine virtuelle de test.

J’espère que cela permettra de résoudre ce problème persistant. Dans certains cas, il peut être nécessaire de redémarrer l’hôte ou de supprimer manuellement les instantanés, mais ces étapes devraient couvrir la plupart des situations.

Résumé

  • Utilisez le clic droit > Consolider dans le client vSphere lorsque l’avertissement s’affiche.
  • Vérifiez la présence de verrous de fichiers en cas d’échec de la consolidation et redémarrez les agents de gestion si nécessaire.
  • Surveillez l’espace de stockage et le nombre d’instantanés pour éviter que cet avertissement ne réapparaisse.
  • PowerCLI est pratique pour gérer plusieurs machines virtuelles simultanément, notamment dans les environnements de grande taille.

Conclure

Tout cela peut être fastidieux, surtout si le problème vient du stockage ou des verrous, mais une fois la manipulation maîtrisée, ce n’est pas si compliqué. En général, une simple consolidation des disques et la suppression des verrous suffisent à résoudre le problème. Si ce n’est pas le cas, il peut être nécessaire de supprimer les chaînes de snapshots ou de réinstaller les fichiers de la machine virtuelle. Croisons les doigts pour que cela permette à certains d’éviter les désagréments liés aux snapshots bloqués et à l’encombrement des disques.