Hola a todos,
En este post le mostraré como obtener la lista de datastore en una infraestructura de vSphere utilizando PowerCLI. Ahora bien, primero que todo tenemos que establecer conexión a nuestro vCenter/ESXi para obtener esta información. Esto podemos hacerlo utilizando el comando Connect-VIServer.
PS C:\Users\jocolon> Connect-VIServer -Server 192.168.5.2 Specify Credential Please specify server credential User: administrator@vsphere.local Password for user administrator@vsphere.local: ```` Name Port User ---- ---- ---- 192.168.5.2 443 VSPHERE.LOCAL\Administrator PS C:\Users\jocolon> Luego de establecida la conexión podemos utilizar el comando Get-Datastore.
PS C:\Users\jocolon> Get-Datastore Name FreeSpaceGB CapacityGB ---- ----------- ---------- SSD-VM-HIGH-CAPACITY-PERF-KN 399.387 894.000 NVME-VFLASH-01 50.054 238.250 SSD-VM-HIGH-CAPACITY-PERF-MK 505.415 931.250 NVME-VM-HIGH-PERF-01 275.067 476.750 HDD-VM-MED-PERF-01 2,165.800 3,726.000 HDD-VM-MED-PERF-02 2,230.938 3,726.000 esx-00f 110.801 111.750 SRM_LAB_STORAGE_01 46.285 49.750 SRM_POL_DEDUP_01 18.694 50.000 SRM_LAB_STORAGE_02 47.909 50.000 SRM_PLACEHOLDER_01 13.345 14.750 SRM_HQ_EDGE_01 47.659 49.750 HDD-VM-ISO-LOW-PERF 461.363 931.250 PS C:\Users\jocolon> Este comando muestra los Datastore existentes y la información básica del espacio utilizado. Con este comando podemos también filtrar la búsqueda permitiendo obtener información adicional del Datastore si añadimos el nombre del Datastore al comando Get-Datastore con la opción de -Name. Por ejemplo si utilizamos el comando Get-Datastore -Name *atastore Name* | Format-List se muestra el siguiente resultado.
PS C:\Users\jocolon> Get-Datastore -Name NVME-VFLASH-01 | Format-List FileSystemVersion : 6.82 DatacenterId : Datacenter-datacenter-21 Datacenter : PHARMAX-VSI-DC ParentFolderId : StoragePod-group-p1396 ParentFolder : DatastoreBrowserPath : vmstores:\192.168.5.2@443\PHARMAX-VSI-DC\NVME-VFLASH-01 FreeSpaceMB : 51255 CapacityMB : 243968 Accessible : True Type : VMFS StorageIOControlEnabled : True CongestionThresholdMillisecond : 10 State : Available ExtensionData : VMware.Vim.Datastore CapacityGB : 238.25 FreeSpaceGB : 50.0537109375 Name : NVME-VFLASH-01 Id : Datastore-datastore-268983 Uid : /VIServer=vsphere.local\administrator@192.168.5.2:443/Datastore=Datastore-datastore-268983/ PS C:\Users\jocolon> Como la mayoría de los comandos de Powershell, los comando de PowerCLi permiten la utilización de Pipeline . Si utilizamos el comando Get-VMHost para desplegar los servidores de ESXi junto con el comando Get-Datastore podemos filtrar aún más el contenido de los Datastore conectados al servidor.
PS C:\Users\jocolon> Get-VMHost -Name esxsvr-00f.pharmax.local | Get-Datastore Name FreeSpaceGB CapacityGB ---- ----------- ---------- esx-00f 110.801 111.750 HDD-VM-ISO-LOW-PERF 461.363 931.250 SSD-VM-HIGH-CAPACITY-PERF-MK 505.414 931.250 SSD-VM-HIGH-CAPACITY-PERF-KN 399.321 894.000 HDD-VM-MED-PERF-01 2,165.800 3,726.000 HDD-VM-MED-PERF-02 2,230.938 3,726.000 NVME-VM-HIGH-PERF-01 275.065 476.750 NVME-VFLASH-01 50.053 238.250 PS C:\Users\jocolon> Para finalizar les comento que existe un sin fin de posibilidades en Powershell a la hora de entrelazar los cmdlets permitiendo afinar la búsqueda de datos y hasta transformar la información que deseamos desplegar. Espero les haya sido de utilidad esta información. ¡Hasta luego!