Les machines virtuelles dans VMware vSphere ont de nombreux avantages. Elles fonctionnent de manière fiable avec des performances élevées si le matériel approprié est utilisé et que la configuration logicielle adéquate est appliquée. Parfois, l’état de consolidation de la machine virtuelle nécessaire est affiché dans le client VMware vSphere, et un administrateur système doit corriger cette erreur. Cet article de blog explique pourquoi la consolidation des disques des machines virtuelles VMware est nécessaire et comment cette erreur peut être corrigée.
Qu’est-ce que la Consolidation des Disques VMware ?
La consolidation des disques virtuels est le processus de fusion des fichiers de disque virtuel créés après la prise de instantanés de VM. Vous pouvez initier la consolidation des disques sur demande pour éviter la dégradation des performances et d’autres problèmes. Lorsque vous prenez un instantané, des disques delta sont créés et les modifications sont écrites sur le disque delta approprié (le dernier disque delta par défaut, jusqu’à ce qu’un des instantanés précédents soit sélectionné pour restaurer la machine virtuelle). Par conséquent, des données redondantes sont présentes dans le stockage de la machine virtuelle car chaque disque delta contient toutes les modifications apportées par rapport à l’état précédent du disque delta, et le disque parent reste inchangé.
Lorsque la chaîne d’instantanés et les fichiers de disque virtuel associés deviennent volumineux, les performances diminuent. Lorsque vous effectuez une consolidation des disques VMware, les données des disques delta sont fusionnées en un seul disque, et aucune donnée redondante n’est laissée sur le datastore où se trouvent les fichiers de cette VM. L’espace de stockage est nettoyé après la consolidation des fichiers de disque de la machine virtuelle. N’oubliez pas que VMware recommande de n’utiliser pas plus de 32 instantanés par VM.
Raisons Possibles de l’Erreur de Consolidation des Disques VMware
Le message d’erreur La consolidation des disques de la machine virtuelle VMware est nécessaire s’affiche dans l’onglet Résumé de la machine virtuelle dans le client VMware vSphere (capture d’écran ci-dessous). L’une des raisons courantes de ce message d’erreur est la suppression incorrecte d’un instantané VM, ce qui peut laisser des fichiers VMDK liés aux instantanés et des fichiers journaux sur le datastore (par exemple, après avoir effectué l’opération Supprimer tout ou Supprimer pour les instantanés VM).
Les causes les plus courantes de l’état consolidation de la machine virtuelle nécessaire :
- Pas assez d’espace disque sur le datastore VMFS pour consolider les instantanés VM et consolider les fichiers de disque virtuel. Si l’espace libre sur le datastore est inférieur à 1 Go, cette erreur peut survenir.
- Performances faibles d’un système de stockage attaché à un hôte ESXi sur lequel une VM est en cours d’exécution. Si la taille de l’instantané est importante ou dépasse le délai imparti, la consolidation de l’instantané peut échouer.
- Problèmes de connexion entre un hôte ESXi et vCenter.
- Les fichiers d’instantanés sont verrouillés par une application tierce, par exemple, une application de sauvegarde. Cela peut se produire si une application de sauvegarde n’a pas terminé une tâche de sauvegarde et a verrouillé l’instantané (les applications de sauvegarde peuvent créer un instantané temporaire d’une machine virtuelle lors de l’exécution d’une sauvegarde). Les applications de sauvegarde sont incapables de mettre en pause le disque sans utiliser de techniques d’instantané pour effectuer une sauvegarde cohérente d’une VM en cours d’exécution.
Essentiellement, vous devriez restaurer la cohérence des fichiers de disque VM.
Comment résoudre l’erreur?
Pour résoudre le problème de consolidation de la machine virtuelle nécessaire, cliquez avec le bouton droit sur le nom de la machine virtuelle dans le client VMware vSphere, puis dans le menu qui s’ouvre, cliquez sur Instantanés > Consolider.
A confirmation message is displayed:
Cette opération consolide tous les journaux de refaire redondants de votre machine virtuelle. Êtes-vous sûr de vouloir continuer ?
Cliquez sur Oui pour confirmer et consolider les fichiers de disque de la machine virtuelle.
Remarque : S’il y a une inquiétude concernant la perte de données lors de la consolidation des disques VMware, effectuez une sauvegarde de la machine virtuelle VMware, par exemple, copiez tous les fichiers VM dans un autre dossier sur un datastore, puis effectuez la consolidation des disques VMware.
Attendez que la consolidation des disques VMware soit terminée et que les journaux soient effacés. Vous pouvez voir la progression de la tâche dans le volet des tâches en bas de l’interface client VMware vSphere. Si la machine virtuelle est en cours d’exécution, les performances de la VM peuvent diminuer pendant cette opération. Le temps nécessaire pour terminer cette opération dépend de la taille de la VM, du nombre de snapshots et de la charge de la VM.
Après que la tâche de consolidation des disques VMware soit terminée, l’avertissement indiquant que la consolidation des disques de la machine virtuelle VMware est nécessaire devrait disparaître.
Erreurs Possibles
Parfois, une autre erreur peut survenir lors de la consolidation des disques VMware et le message d’erreur suivant est affiché :
Impossible d’accéder au fichier car il est verrouillé. Une erreur s’est produite lors de la consolidation des disques : Échec du verrouillage du fichier. La consolidation a échoué pour le nœud de disque ‘scsi0:0’.
Les verrous peuvent également être créés lorsque les applications de sauvegarde utilisent l’option de disque hot-add pour une sauvegarde lors de l’utilisation de snapshots. Le verrouillage du fichier VM vise à éviter les écritures concurrentes sur le fichier par plusieurs hôtes ESXi.
Essayez d’effectuer les actions suivantes pour corriger cette erreur.
- Redémarrez les agents de gestion sur le serveur ESXi sur lequel se trouve la VM. Ouvrez le shell ESXi ou connectez-vous à l’hôte ESXi via SSH et exécutez la commande en tant que root :
services.sh restart
ou
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
Vous pouvez également ouvrir la console directe ESXi, accéder à Options de dépannage, et sélectionner Redémarrer les agents de gestion (appuyez sur Entrée pour activer l’option nécessaire, puis sur F11 pour confirmer).
- Vérifiez le fichier verrouillé avec la commande :
vmfsfilelockinfo -p /vmfs/volumes/vm_datastore/vm_name/vm_name.vmx
- Vérifiez le fichier journal hostd si vous devez identifier le chemin sur le datastore où se trouvent les fichiers VM.
cat /var/log/hostd.log | grep -i vm_name
- Accédez au répertoire VM sur le datastore lorsque vous connaissez l’emplacement des fichiers VM :
cd /vmfs/volumes/nom_datastore/nom_vm
- Exécutez la commande pour répertorier les hôtes ESXi qui verrouillent les fichiers VM :
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
- Redémarrez les agents de gestion ESXi, y compris hostd et vpxa comme expliqué ci-dessus, ou exécutez ces commandes sur l’hôte ESXi verrouillant les fichiers VM:
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
Une autre méthode pour déverrouiller les fichiers VM
En alternative, essayez ces étapes pour résoudre une erreur s’est produite lors de la consolidation des disques : Échec de verrouillage du fichier.
- Arrêtez la machine virtuelle.
- Prenez un nouveau snapshot de disque VM.
- Supprimez tous les snapshots VM existants. Cliquez avec le bouton droit sur le nom de la VM dans vSphere Client, sélectionnez Snapshots, et cliquez sur Supprimer tous les snapshots.
- Clonez la VM ou migrez la VM vers un autre hôte ESXi avec vMotion si l’erreur n’a pas encore été résolue.
- Essayez de consolider les snapshots une fois de plus, comme expliqué ci-dessus.
Si ces actions n’ont pas aidé, essayez d’éteindre la VM, d’ouvrir les paramètres de la VM, sélectionnez l’onglet Options de la VM, puis développez la section Avancé et cliquez sur Modifier la configuration. Dans la fenêtre Paramètres de configuration, cliquez sur Ajouter des paramètres de configuration. Ajoutez le paramètre asyncConsolidate.forceSync et définissez ce paramètre sur VRAI.
Parfois, l’état de consolidation de la machine virtuelle nécessaire peut être causé par des fichiers -ctk.vmdk incohérents qui sont créés pour le suivi des blocs modifiés (par exemple, par un logiciel de sauvegarde de VM). Essayez de supprimer les fichiers CTK. Ils ne sont pas nécessaires pour la consolidation des instantanés. N’oubliez pas de sauvegarder les fichiers VM avant de supprimer les fichiers CTK. Ensuite, essayez de consolider à nouveau les fichiers de disque de la machine virtuelle.
L’option Consolider est inactive
Si l’option consolider l’instantané VMware est grisée (inactive), une tâche active peut être en cours d’exécution sur la VM actuellement. Si vous voyez l’erreur “configuration d’instantané invalide détectée”, certains instantanés peuvent être corrompus ou il peut y avoir des chaînes divisées d’instantanés. Dans ce cas, essayez de faire les actions suivantes.
- Connectez-vous au serveur ESXi via SSH et accédez au répertoire où se trouvent les fichiers VM sur le datastore.
cd vmfs/volumes/NomDatastore/NomDossierVM
Vous pouvez vérifier l’emplacement des fichiers VM dans le client VMware vSphere et trouver l’emplacement des disques virtuels en consultant les paramètres de la VM.
- Déterminer à quelles instantanés de disque il est fait référence :
cat VM-name.vmx | grep scsi*
Veuillez consulter l’affichage pour vérifier les fichiers de disque virtuels, y compris les fichiers d’instantané de disque virtuel. Par exemple, le nom du fichier de disque virtuel est affiché dans la ligne. Ce n’est pas un instantané :
scsi 0:0.fileName = “VM-Name.vmdk”
Dans la ligne d’affichage, le nom du fichier d’instantané de disque virtuel est affiché, et vous faites référence à l’instantané :
scsi 0:0.fileName = “VM-Name-000002.vmdk”
A SCSI virtual disk controller is used in VM configuration in this example.
- La commande suivante vérifie à quoi chaque instantané fait référence. Utilisez cette commande pour détecter à quelle instance d’instantané du disque (le fichier vmdk d’instantané ou un fichier de disque de base vmdk) dans la chaîne d’instantanés le disque est fait référence.
cat VM-Name-000002.vmdk | grep parentFileNameHint
Vous devriez peut-être exécuter cette commande à nouveau pour d’autres fichiers vmdk (comme VM-Name-000001.vmdk dans cet exemple) jusqu’à ce que vous trouviez le disque de base nécessaire. Cette méthode vous aide à trouver les incohérences.
- Si vous avez trouvé une incohérence, par exemple, VM-Name-000002.vmdk pointe vers VM-Name-000001.vmdk qui pointe vers VM-Name.vmdk, exécutez vmkfstools sur le point le plus haut de la chaîne d’instantanés de disque (VM-Name-000002.vmdk dans ce cas) :
vmkfstools -q -v10 VM-Name-000002.vmdk
Cette commande essaye d’ouvrir et de fermer tous les fichiers vmdk dans la chaîne et vous informe de l’endroit où la faille se produit.
En utilisant PowerCLI
En tant qu’alternative à l’exécution de la consolidation de disque VMware dans l’interface graphique du client VMware vSphere, vous pouvez utiliser vSphere PowerCLI avec l’interface en ligne de commande.
- Connectez-vous au serveur vCenter qui gère l’hôte ESXi avec la machine virtuelle ayant le statut consolidation de machine virtuelle requise. Entrez les informations d’identification lorsqu’elles sont demandées.
Connect-VIServer vcenter01.test.com
- Obtenez la liste des machines virtuelles avec le statut consolidation de machine virtuelle requise :
Get-VM | Where-Object { $_.Extensiondata.Runtime.ConsolidationNeeded}
- Effectuez la consolidation des disques VMware.
Get-VM | Where-Object { $_.Extensiondata.Runtime.ConsolidationNeeded} | foreach { $_.ExtensionData.ConsolidateVMDisks_Task()}
Conclusion
Cet article de blog a expliqué des recommandations qui peuvent vous aider à résoudre le statut consolidation de machine virtuelle requise. La consolidation des disques de machine virtuelle VMware est généralement nécessaire lorsqu’une des instantanés est corrompue, qu’une chaîne d’instantanés est incohérente ou qu’un instantané est verrouillé par un autre hôte ESXi.
Exécutez régulièrement une sauvegarde de machine virtuelle dans votre environnement VMware vSphere. Si vous disposez d’une sauvegarde des données, vous pouvez restaurer les données et reprendre le travail en cas de suppression, de corruption, de chiffrement par ransomware ou en cas d’erreur survenue lors de l’opération du vCenter. Le serveur VMware vCenter doit être sauvegardé, tout comme les autres machines virtuelles importantes. Envisagez d’utiliser NAKIVO Backup & Replication, un produit de sauvegarde professionnel qui prend en charge la sauvegarde des machines virtuelles dans VMware vSphere.
Source:
https://www.nakivo.com/blog/fix-vmware-error-virtual-machine-disks-consolidation-needed/