En este artículo, mostraremos un script PowerCLI simple para verificar la cantidad de espacio libre en los almacenes de datos VMWare vSphere y detectar almacenes de datos Thin Provisioning con el tamaño total de los discos virtuales delgados de la máquina virtual (expandiéndose dinámicamente) que exceden el tamaño total del almacén de datos. Si tiene varios almacenes de datos VMWare en su infraestructura, es fácil usar este script de PowerShell para monitorear la cantidad de espacio libre y detectar almacenes de datos con sobrecompromiso de almacenamiento (los requisitos de espacio para los discos delgados de todas las máquinas virtuales son mayores que el espacio disponible en el almacén de datos VMFS ). Puede utilizar el script para analizar el crecimiento del espacio utilizado, antes de crear una VM, para encontrar almacenes de datos con sobrecompromiso de Thin Provision, etc.
Para que su infraestructura de vSphere funcione correctamente, se recomienda tener al menos un 5-10% de espacio libre en su almacén de datos VMWare VMFS. Si está utilizando instantáneas (incluidas las creadas por el sistema de copia de seguridad), es necesario tener al menos un 10-15% de espacio libre.
Para verificar y mostrar la cantidad de espacio libre en el almacén de datos de VMWare, puede usar el siguiente script de PowerShell (se supone que el módulo VMWare vSphere PowerCLI ya está instalado en su computadora):
# Import the PowerCLI module into your PowerShell session
Import-Module VMware.VimAutomation.Core -ErrorAction SilentlyContinue
# Connect to vCenter host
Connect-VIServer mun-vcsa1 -User admin
# Get the list of vCenter darastores
$datastores = Get-Datastore
$ErrorActionPreference="SilentlyContinue"
# loop through all available datastores
ForEach ($datastore in $datastores)
{
# Find the size of the committed space of all thin disks in a datastore (how much space it is required if all vmdk files will grow to the sizes specified in their settings)
$Provision = ([Math]::Round(($datastore.ExtensionData.Summary.Capacity - $datastore.ExtensionData.Summary.FreeSpace + $datastore.ExtensionData.Summary.Uncommitted)/1GB,0))
# Percentage of free space in the datastore
$PerFree = ([math]::Round(($datastore.FreeSpaceGB)/($datastore.CapacityGB)*100,2))
# Percentage of thin disk overcommitment
$PerOvercommit = ([math]::Round($Provision/($datastore.CapacityGB)*100,2))
# Add extra properties to the datastore object
$datastore | Add-Member -type NoteProperty -name PercentsFree -value $PerFree
$datastore | Add-Member -type NoteProperty -name CapacityGb_r -value ([Math]::Round(($datastore.ExtensionData.Summary.Capacity)/1GB,0))
$datastore | Add-Member -type NoteProperty -name FreeSpaceGb_r -value ([Math]::Round(($datastore.ExtensionData.Summary.FreeSpace)/1GB,0))
$datastore | Add-Member -type NoteProperty -name ProvisionedSpaceGb -value $Provision
$datastore | Add-Member -type NoteProperty -name PercentsOvercommit -value $PerOvercommit
}
# Display the resulting data on VMWare datastores and export the output to a CSV file
$datastores|select-object Name, Type, Datacenter,CapacityGb_r,FreeSpaceGb_r,PercentsFree,ProvisionedSpaceGb,PercentsOvercommit|sort PercentsFree| Export-Csv C:ReportsVMWareVMFSDatastores.csv -NoTypeInformation
Could not resolve the requested VC server.Additional Information: There was no endpoint listening at https://mun-vcsa1/sdk that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details
es probable que PowerCLI intente conectarse a VCSA a través de un proxy. Correr PowerCLIConfiguration y comprueba si UseSystemProxy devoluciones. Si es así, desactive el proxy del sistema para PowerCLI con este comando:
Set-PowerCliConfiguration -proxypolicy noproxy
En mi ejemplo, puede ver que a los primeros 5 almacenes de datos VMFS les queda menos del 5% de espacio libre (el recuadro verde). Existe un compromiso excesivo de almacenamiento en algunos almacenes de datos (el tamaño total de todos los discos virtuales delgados en los almacenes de datos excede su tamaño). Si los discos de su VM virtual comienzan a crecer hasta su tamaño máximo especificado en su configuración, es posible que se quede sin espacio en sus almacenamientos VMFS / NFS / VVOL. (La ejecución de máquinas virtuales con discos gruesos funcionará como de costumbre, pero no podrá iniciar nuevas máquinas virtuales, ya que no habrá espacio para crear un archivo VSWAP). Los almacenes de datos con el espacio comprometido que es mayor que el tamaño total de LUN son resaltado en amarillo.
Este script de PowerShell lo ayudará a encontrar rápidamente almacenes de datos VMWare con la falta de espacio libre (puede migrar máquinas virtuales desde el almacén de datos usando Storage vMotion).





