[Windows Server 2012] – Buscando Discos Virtuales Huérfanos en Cluster de Hyper-V

0
1195
0
(0)

Hola Comunidad;
Una de nuestras actividades como SysAdmin es la creación de maquinas virtuales, pero a veces estas actividades lo hacemos en conjunto con otros compañeros de trabajo y a alguno se le puede olvidar eliminar el VHD o VHDX de la Maquina Virtual asociada.

Hoy les vengo a compartir un Script de como poder encontrar estos Discos Virtuales Huérfanos en un Entorno de Cluster sobre Windows Server 2012 R2.

El creador de este Script es Bas Roovers – Onpremisys, el cual sirve para ejecutarse en entornos Cluster que comparten un mismo almacenamiento.

$clusterNodes = Get-ClusterNode | Select-Object Name -ExpandProperty Name

if(!$clusterNodes){Throw "No nodes found, please run this script on one of the nodes."}

Write-Host "The following nodes are part of the cluster: "
$clusterNodes | ForEach-Object { Write-Host "- $($_.Name)" }
Write-Host ""

Write-Host "Fetch VHDs from nodes: " -NoNewline
$ActiveVHDs = (Get-VM -ComputerName $clusterNodes | Get-VMHardDiskDrive | Select-Object -Property Path).Path
Write-Host "V" -ForegroundColor Green
Write-Host ""


Write-Host "Fetch VHDs from storage: " -NoNewline
$HyperVFileLocation = ("C:\ClusterStorage")
$Dir = Get-ChildItem $HyperVFileLocation -Recurse -ErrorAction Ignore | Where-Object {$_.FullName -notmatch "\\Replica\\?" } 
$AllVHDs = ($Dir | Where-Object { $_.Extension -eq ".vhd" }).FullName + ($Dir | Where-Object { $_.Extension -eq ".vhdx" }).FullName
Write-Host "V" -ForegroundColor Green
Write-Host ""

Write-Host "Compare VHDs of storage with nodes: " -NoNewline
$orphanedVHDs = @()
foreach($vhd in $AllVHDs){
    if($vhd -notin $ActiveVHDs){
        $orphanedVHDs += $vhd
    }
}
Write-Host "V" -ForegroundColor Green
Write-Host ""
if($orphanedVHDs){
    Write-Host "List of orphaned VHDs:"
    $orphanedVHDs
} else {
    Write-Host "Nice work, no orphaned VHDs found!" -ForegroundColor Green
}

Lo que tenemos que hacer es abrir el PowerShell ISE en uno de los nodos que conforma nuestro Cluster, ejecutar el Script y esperar unos segundos (o minutos) dependiendo de la cantidad de maquinas virtuales que tengamos configurados.

Luego, nos mostrará los resultados el cual lo que mas nos interesa es la lista de VHD Huérfanos (2).

Con ello, podremos realizar nuestras actividades de mantenimiento de manera manual (borrar el VHD, realizar Backup, etc.) y luego lo podemos ejecutar nuevamente para verificar que ya se encuentra todo OK.

Muchas Gracias.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí