1.Le symptôme
Un matin, vCenter affiche un avertissement jaune sur une VM : « Virtual machine disks consolidation is needed » (« La consolidation des disques de la machine virtuelle est nécessaire »). Tu cliques sur Snapshots → Consolidate… et la tâche échoue, souvent avec une erreur de verrou de fichier (file lock).
Pendant ce temps, la VM continue d'écrire dans un fichier delta qui grossit sur le datastore. Si on laisse traîner, c'est le datastore plein assuré (voir le tuto dédié).
2.Pourquoi ça arrive avec Veeam
Pour sauvegarder une VM, Veeam demande à vCenter de créer un snapshot, lit les disques figés, puis supprime le snapshot. En mode Virtual Appliance (aussi appelé hot-add), le proxy Veeam est une VM : il « branche » temporairement les disques de la VM sauvegardée sur lui-même pour les lire.
Si le job est arrêté brutalement, si le serveur Veeam plante ou si vCenter ne traite pas la demande de détachement, le disque reste branché sur le proxy. Le proxy garde alors un verrou sur le fichier, et la consolidation ne peut pas aboutir. C'est la cause la plus fréquente, documentée par Veeam dans son article KB1775.
Les autres causes possibles : un manque de place sur le datastore (la consolidation a besoin d'espace de travail), un autre logiciel de sauvegarde ou un hôte qui garde un verrou, ou une VM très sollicitée qui n'arrive pas à rattraper ses écritures pendant la fusion.
3.Lister les VM concernées
Dans vCenter, l'avertissement apparaît sur la VM et dans l'onglet Monitor → Issues and Alarms. Pour tout voir d'un coup, PowerCLI :
# VM qui demandent une consolidation Get-VM | Where-Object { $_.ExtensionData.Runtime.ConsolidationNeeded } | Select-Object Name, VMHost, @{ n = 'Datastores'; e = { ($_ | Get-Datastore).Name -join ', ' } } # Snapshots existants, du plus vieux au plus récent Get-VM | Get-Snapshot | Sort-Object Created | Select-Object VM, Name, Created, @{ n = 'TailleGo'; e = { [math]::Round($_.SizeGB, 1) } }
4.La résolution pas à pas
- Arrête ou attends la fin de tous les jobs Veeam. Sinon, tu risques de détacher un disque qu'un job est en train de lire.
- Retente une fois la consolidation : clic droit sur la VM → Snapshots → Consolidate. Si elle passe, c'était un problème passager.
- Inspecte chaque proxy Veeam virtuel : clic droit → Edit Settings. Cherche un disque dont le nom est celui d'une autre VM (ici
SRV-APP01.vmdk), en mode Independent – Nonpersistent. - Retire ce disque du proxy avec la croix à droite du disque. Surtout, ne coche jamais « Delete files from datastore » : tu supprimerais le vrai disque de la VM de production.
- Relance la consolidation sur la VM. Elle doit maintenant aboutir et l'avertissement disparaître.
Si ce n'est pas le proxy
- Manque de place : la consolidation a besoin d'espace libre sur le datastore. Libère de la place d'abord (voir le tuto « Datastore plein »).
- VM très sollicitée : une base de données qui écrit en continu peut empêcher la fusion de se terminer. Planifie la consolidation hors production, ou fais-la VM éteinte : c'est plus rapide et sans gel de la VM.
- Verrou tenu par un hôte : en SSH sur un ESXi,
vmkfstools -D /vmfs/volumes/DS-02/SRV-APP01/SRV-APP01-000001-delta.vmdkaffiche dans les journaux l'adresse MAC du propriétaire du verrou (champ owner), ce qui permet d'identifier l'hôte en cause.
# Lancer la consolidation en PowerCLI
(Get-VM -Name "SRV-APP01").ExtensionData.ConsolidateVMDisks_Task()
5.Éviter que ça revienne
- Ne pas arrêter un job Veeam en pleine sauvegarde, sauf urgence.
- Surveiller chaque jour les VM qui demandent une consolidation (script ci-dessus, alarme vCenter ou Centreon).
- Surveiller les snapshots de plus de 24 h : VMware recommande de ne pas garder un snapshot plus de 72 heures.
- Si un même proxy garde régulièrement des disques, passer ses jobs en mode réseau (NBD) et ouvrir un ticket Veeam (voir le tuto sur les modes de transport).
- Sur des datastores NFS, préférer le mode réseau ou Direct NFS au hot-add.