Analyse de l’événement ‘vSphere HA a redémarré une machine virtuelle’ et actions recommandées
Dans une infrastructure VMware, la fonction principale du HA (High Availability) est de pendre en charge les vms d’un hyperviseur défaillant et de les redémarrer automatiquement sur un autres hôte disponible au sein du même cluster.
Quand un incident survient sur un ESXi et que les vms sont brutalement stoppés et redémarrées grâce au HA , on a toujours besoin d’ identifier les vms qui ont été impactées.
Pour lister les vms redémarrées par le HA, on peut au choix parcourir les Events du vCenter, c’est simple et rapide , ou bien faire une recherche dans les Events des vms, le temps d’exécution est un peu plus long mais on peut récupérer plus d’information et mieux exploiter ces données.
Pour Parcourir les Events du vCenter et récupérer les informations des vms redémarrées par le HA dans les 24 dernières heures, exécutez la commande :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
. Get-VIEvent -MaxSamples 100000 -Start (Get-Date).AddDays(-1) -Type Warning | Where {$_.FullFormattedMessage -match “vSphere HA restarted virtual machine”} | select ObjectName,CreatedTime,FullFormattedMessage | sort ObjectName,CreatedTime ObjectName CreatedTime FullFormattedMessage myVm1 12/12/2018 12:12:47 PM vSphere HA restarted virtual machine myVm1 on host myVmHost1 in cluster myCluster myVm1 12/12/2018 12:56:29 PM vSphere HA restarted virtual machine myVm1 on host myVmHost3 in cluster myCluster myVm2 12/12/2018 12:12:33 PM vSphere HA restarted virtual machine myVm2 on host myVmHost1 in cluster myCluster myVm2 12/12/2018 12:57:10 PM vSphere HA restarted virtual machine myVm2 on host myVmHost2 in cluster myCluster myVm3 12/12/2018 12:12:48 PM vSphere HA restarted virtual machine myVm3 on host myVmHost3 in cluster myCluster . |
Si l’on souhaite établir un rapport avec un peu plus d’informations comme l’OS de la machine, son IP ou son Cluster, on peut alors parcourir les Events des vms. Par contre le temps d’exécution de cette commande est beaucoup plus long.
Exécuter la commande :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
. $report = @() $nbheures = 12 #---- ce parametre permet de faire la recherche sur les n dernières heures, ici on recherche sur les Événements des 12 dernières heures. $cluster = moncluster1,moncluster2 # ---- Indiquer ici le nom des clusters en les séparant par une virgule Get-Cluster -name $cluster | Get-VM | %{ $vm=$_ $osVm= $vm.Guest.OSFullName $clusterVm = $vm.VMHost.Parent $ipVm= $vm.Guest.IPAddress[0] $vm | Get-VIEvent | where {$_.FullFormattedMessage -match "vSphere HA restarted virtual machine" -and ((Get-Date) - $_.CreatedTime).TotalHours -lt $nbheures } | %{ $row = "" | select Name, OS, CLUSTER, IPaddr, CreatedTime , FullFormattedMessage $row.Name = $_.ObjectName $row.IPaddr = $ipVm $row.OS = $osVm $row.cluster = $clusterVm $row.CreatedTime = $_.CreatedTime $row.FullFormattedMessage = $_.FullFormattedMessage $report += $row } } $report | Sort-Object Name | FT -AutoSize Name OS CLUSTER IPaddr CreatedTime FullFormattedMessage myVm1 Red Hat xx myCluster xx.xx.xx.xx 12/12/2018 12:12:47 vSphere HA restarted virtual machine myVm1 on host myVmHost in cluster myCluster myVm1 Red Hat xx myCluster xx.xx.xx.xx 12/12/2018 12:56:29 vSphere HA restarted virtual machine myVm1 on host myVmHost in cluster myCluster myVm2 Red Hat xx myCluster xx.xx.xx.xx 12/12/2018 12:12:33 vSphere HA restarted virtual machine myVm2 on host myVmHost in cluster myCluster myVm2 Red Hat xx myCluster xx.xx.xx.xx 12/12/2018 12:57:10 vSphere HA restarted virtual machine myVm2 on host myVmHost in cluster myCluster myVm3 Red Hat xx myCluster xx.xx.xx.xx 12/12/2018 12:12:48 vSphere HA restarted virtual machine myVm3 on host myVmHostin cluster myCluster . |
Pour ma part, j’ai fait le choix de parcourir les Events des VMs , cela me permet de générer automatiquement un rapport qui est envoyé par mail aux différents destinataires . Mais effectivement, selon la taille de votre infrastructure l’envoi d’un mail est discutable…
Pour plus de renseignement sur les conditions de mise en place du HA au sein de votre infrastructure VMware, vous pouvez lire les publication suivante :
Lien 2 : http://www.lesysadmin.com/introduction-sur-vmware-vsphere-high-availability-ha/