Avamar : Nettoyer manuellement les vmgroups Hyper-V orphelins

Summary: Cet article de la base de connaissances fournit des procédures détaillées pour supprimer les groupes de machines virtuelles Hyper-V orphelins à l’aide de différentes méthodes.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Les sauvegardes Hyper-V peuvent échouer en raison de vmgroups avec des messages similaires à ce qui suit :

avhypervvss Info <0000>: Exception! WMI API returned error: 'The method call failed.'
avhypervvss Info <0000>: WMI API RemoveMember returned Error! Exception in removing VMGroup Memeber 'PPDM01' from VM Group AvamarBackup_HYPERV10-app-20240301180052-0 and error message is 'The method call failed.'.
avhypervvss Info <0000>: Exception in Removing VM 'PPDM01' from group 'AvamarBackup_HYPERV10-app-20240301180052-0' with error 'The method call failed.'.
avhypervvss Info <0000>: Failed to RemoveVMGroupMember for groupname AvamarBackup_HYPERV10-app-20240301180052-0.
avhypervvss Info < 43394 >: Checking for Stale entries from previous backup.

avhypervvss Error < 43417 >: Failed to cleanup Stale checkpoint entries for the targets


Des extensions RCT (Resilient Change Tracking) orphelines et des échecs de sauvegarde peuvent se produire lorsque les machines virtuelles (VM) migrent en direct vers un autre nœud de cluster pendant les sauvegardes. 

Si une machine virtuelle (VM) Hyper-V réside sur un nœud de cluster particulier, elle est ajoutée au groupe de machines virtuelles de ce nœud (vmgroup) pendant la sauvegarde. Si la machine virtuelle Live Migrate vers un autre nœud de cluster lors de la sauvegarde, elle existe toujours en tant que membre vmgroup sur le nœud source. Avant la fin de la sauvegarde, le système d’exploitation Windows tente de supprimer le vmgroups sur tous les nœuds du cluster.

 

Si la machine virtuelle précédemment migrée par Live Migrate n’est plus en cours d’exécution sur le nœud source d’origine, le système d’exploitation Windows ne parvient pas à supprimer le vmgroup. Cette orpheline vmgroup peut entraîner l’échec des sauvegardes Hyper-V ultérieures.

Avant d’effectuer des procédures de nettoyage manuel, vérifiez l’URL Microsoft suivante ci-dessous. L’article de la base de connaissances fournit des solutions qui peuvent résoudre les échecs de Live Migration dus à des facteurs environnementaux :

  •   https://learn.microsoft.com/en-us/troubleshoot/windows-server/virtualization/troubleshoot-live-migration-issues (Lien externe)
Remarque : Ouvrez toujours l’invite PowerShell avec les informations d’identification d’administrateur (exécutez en tant qu’administrateur).
Pour rechercher des vmgroups orphelins sur un nœud de cluster particulier, exécutez la commande suivante dans PowerShell (exécuter en tant qu’administrateur) :
get-vmgroup

Pour rechercher les orphelins vmgroup sur tous les nœuds de cluster simultanément, exécutez la commande suivante dans PowerShell (exécutez-la en tant qu’administrateur) :

Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }


S’il y a des orphelins vmgroups, alors le résultat doit ressembler à ce qui suit :
 

PS C:\> get-vmgroup

Name           : AvamarBackup_Win2019-H4-crash-20240311112148-0
InstanceId     : 416dd21c-e8b7-4f9e-8359-c78068cc0c69
GroupType      : VMCollectionType
VMMembers      : {win7-cl2}
VMGroupMembers :
CimSession     : CimSession: .
ComputerName   : WIN2019-H1
IsDeleted      : False

Name           : AvamarBackup_Win2019-H2-crash-20240311112148-0
InstanceId     : 88c419c0-ceb8-46d2-af17-6560c55e0d06
GroupType      : VMCollectionType
VMMembers      : {}
VMGroupMembers :
CimSession     : CimSession: .
ComputerName   : WIN2019-H1
IsDeleted      : False


I. Procédures

standard de suppression de vmgroupPour supprimer tous les orphelins vmgroups sur un serveur Hyper-V autonome, exécutez les commandes suivantes dans PowerShell (exécuter en tant qu’administrateur) :

Get-VMGroup | remove-vmgroup

Get-VMGroup | remove-vmgroup -Force
Remarque : Soyez prudent lorsque vous utilisez le paramètre « -Force », car il contourne les contrôles de sécurité et force la suppression du groupe.
 
Pour supprimer tous les orphelins vmgroups sur tous les nœuds de cluster Hyper-V, exécutez les commandes suivantes dans PowerShell (exécutez-le en tant qu’administrateur) :
Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup | remove-vmgroup }

Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup | remove-vmgroup -Force }


Si les commandes ci-dessus échouent, utilisez le script PowerShell suivant (VMGrpCln.ps1) pour automatiser vmgroup Suppression sur tous les nœuds du cluster :
 

Téléchargement du script :

Pour plus d’informations sur la localisation et le téléchargement du script, reportez-vous à l’article suivant : Avamar : Comment trouver et télécharger les scripts et outils Avamar à partir de la page Dell Central Avamar

  1. Téléchargez le script PowerShell dans un répertoire tel que "C:\temp" sur l’un des nœuds du cluster.
  2.  Ouvrez l’invite PowerShell (exécutez-la en tant qu’administrateur) et accédez au répertoire contenant le script PowerShell (PS).
  3. Vérifiez que le serveur Windows autorise l’exécution des scripts PS en saisissant la commande suivante dans PowerShell (exécuter en tant qu’administrateur) :
Get-ExecutionPolicy

Si la sortie affiche "Restricted" ou "Allsigned," puis exécutez la commande PowerShell suivante (exécuter en tant qu’administrateur) pour autoriser temporairement la session en cours à exécuter des scripts PS : 

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

     4. Exécutez le script PS à partir du répertoire dans lequel il se trouve :

Si ces commandes ou scripts ne parviennent pas à supprimer les fichiers orphelins. vmgroups, l’étape suivante consiste à supprimer manuellement les groupes orphelins.


II Procédures manuelles de suppression de vmgroup
 

Remarque : Cette procédure s’applique uniquement aux clusters Hyper-V sur lesquels le paramètre « chemin de stockage partagé » n’est PAS configuré. Lorsqu’elle n’est pas configurée, l’option vmgroups se trouvent dans le répertoire local de chaque nœud de cluster (C:\ProgramData\Microsoft\Windows\Hyper-V\Groups). 
 
Consultez la base de connaissances suivante pour plus d’informations sur la configuration du paramètre « chemin de stockage partagé ».
Avamar : Plug-in Hyper-V VSS : configuration et installation des derniers correctifs cumulatifs pour les versions 19.4 et ultérieures 

Pour les clusters Hyper-V où le paramètre « chemin de stockage partagé » est configuré, ces procédures ne sont pas applicables. Contactez le support client pour un dépannage

supplémentaire Étape # 1 : Exécutez la commande suivante sur chaque nœud de cluster Hyper-V :
get-VMGroup

Vous pouvez également exécuter la commande suivante pour obtenir le vmgroups À partir de chaque nœud de cluster :

Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }

Étape #2a : Si le champ VMMembers est renseigné, exécutez la commande suivante sur chaque nœud de cluster :

Get-VMGroup | % {Remove-VMGroupMember -VMGroup $_ -VM (Get-VM)}

Étape #2b : Si VMMembers n’est pas renseigné :

  1. Rendez-vous sur le C:\ProgramData\Microsoft\Windows\Hyper-V\Groups . Saisissez manuellement l’emplacement dans l’Explorateur Windows ou modifiez les options pour afficher les fichiers et dossiers masqués.
  2. Modification du fichier de configuration de la machine virtuelle "*.vmcx" qui correspond à l’ID d’instance du groupe de machines virtuelles avec un éditeur de texte tel que Notepad ou Notepad++. Cliquez sur Afficher dans la barre de menus, puis sélectionnez l’option « Retour à la ligne » pour une meilleure lisibilité.
  3. Copiez les identificateurs globaux uniques (GUID) de la machine virtuelle (VM) dans l’éditeur de texte. ils suivent la 'GUID H' texte dans le *.vmcx .   
  4. Dans l’éditeur de texte, cliquez sur Modifier, puis sur Remplacer. Ensuite, dans l’onglet 'Find what' Appuyez sur la barre d’espacement du clavier, puis cliquez sur 'Replace All.' Ce nettoyage fournit une liste des GUID de machines virtuelles problématiques qui doivent être migrés vers le nœud de cluster précédent.
  5. Exécutez la commande PowerShell suivante pour rechercher la machine virtuelle liée à ces GUID, ainsi que les nœuds de cluster qui l’hébergent :
Invoke-Command -ComputerName (Get-ClusterNode).Name -ScriptBlock { Get-VM | ? VMID -eq "VM GUID Previously Collected" }

Par exemple, utilisez la syntaxe de commande ci-dessous pour trouver le nom de la machine virtuelle (VM) attribuée au GUID suivant :

Invoke-Command -ComputerName (Get-ClusterNode).Name -ScriptBlock { Get-VM | ? VMID -eq "A6209559-F08F-440E-9AAE-21AEF4AF7E9D" }

Le résultat de la commande doit inclure le nom de la machine virtuelle et le nœud de cluster sur lequel elle s’exécute. Si le résultat est vide, le GUID n’existe plus et peut être ignoré en toute sécurité.

     6. Effectuez une migration dynamique de la machine virtuelle vers l’hôte qui dispose du groupe de machines virtuelles obsolète à l’aide de l’outil Gestionnaire du cluster de basculement.

Outil FCMT 
Répétez ces étapes pour chaque machine virtuelle identifiée dans le vmgroup's "*.vmcx"

     7. Exécutez la commande PowerShell suivante pour supprimer les machines virtuelles du champ VMMembers dans chacun des vmgroups orphelins :
    

Get-VMGroup | % {Remove-VMGroupMember -VMGroup $_ -VM (Get-VM)}

Vérifiez que l’option 'vmmembers' pour chacun des vmgroups est vide en exécutant la commande suivante sur chaque nœud du cluster :

get-vmgroup

Vous pouvez également exécuter la commande suivante pour vérifier que le champ « vmmembers » est vide pour tous vmgroups Sur tous les nœuds :

Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }
 Une fois confirmé, passez à l’étape #3.

Étape #3 : Exécutez la commande PowerShell suivante pour supprimer le fichier orphelin vmgroups sur le nœud de cluster ou le serveur Hyper-V autonome :

get-VMGroup | Remove-VMGroup


Répétez les mêmes procédures pour les autres nœuds de cluster qui sont orphelins. vmgroups.

Vous pouvez également utiliser la commande suivante pour supprimer simultanément les vmgroups orphelins sur tous les nœuds de cluster :

Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup | remove-vmgroup }

Une fois tous les nœuds terminés, vérifiez que tous les nœuds orphelins vmgroups ont été supprimés :

Invoke-Command -computername (get-clusternode).name -scriptblock { get-vmgroup }

La commande "remove-vmgroupmember" et "remove-vmgroup" Les commandes peuvent échouer sur le premier nœud de cluster avec une erreur similaire à ce qui suit :

Remove-VMGroup : The operation cannot be performed while the object is in its current state

Si c’est le cas, essayez les commandes sur les nœuds de cluster restants. Si les procédures se terminent avec succès, revenez au premier nœud et réessayez les commandes PowerShell.

Si les commandes ci-dessus échouent sur tous les nœuds de cluster, redémarrez le service de gestion des machines virtuelles Hyper-V sur le nœud concerné. Vous pouvez également redémarrer chacun des nœuds de cluster Hyper-V. Une fois cette opération effectuée, réessayez les commandes PowerShell pour supprimer les membres de la machine virtuelle et vmgroups.

Si les procédures standard ou manuelles ne parviennent pas à supprimer les fichiers orphelins vmgroups, alors la dernière option consiste à supprimer le vmgroup fichiers eux-mêmes.

Additional Information

Affected Products

Avamar Plug-in for Hyper-V VSS

Products

Avamar, Avamar Plug-in
Article Properties
Article Number: 000222823
Article Type: How To
Last Modified: 12 Feb 2026
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.