This blog was last updated in May of 2017.
5/2/2017 – Added size of disconnected volume output.
5/1/2017 – Fixed bugs.
There are many ways to determine what volumes are connected to a host or host group, but there is no way to easily see via the PowerShell SDK what volumes are disconnected/unused.
PowerShell:
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 |
$FlashArrayID = Read-Host -Prompt“Enter the Pure Storage FlashArray (IP/FQDN)” $FlashArray = New-PfaArray -EndPoint $FlashArrayID -Credentials (Get-Credential) -IgnoreCertificateError $ConnectedVolumes = @($null) $AllVolumes = @($null) $DisconnectedVolumes = @($null) $z=0 $Hosts = Get-PfaHosts -Array $FlashArray ForEach ($HostVol in $Hosts) { $ConnectedVolumes += @(Get-PfaHostVolumeConnections -Array $FlashArray -Name $HostVol.name | select vol) } $AllVolumes = @(Get-PfaVolumes -Array $FlashArray | select name) $hash= @{} foreach ($i in $ConnectedVolumes) { $Vol = $i.vol if(!$hash.ContainsValue($i.vol)){ $hash.Add($z, $Vol) } $z++ } foreach($k in $AllVolumes) { if(!$hash.ContainsValue($k.name)){ $size = “$((Get-PfaVolume -Array $FlashArray -Name $k.name).size/1024/1024/1024)GB” $DisconnectedVolumes += “$($k.name) [$size]” } else { $hash.Remove($k.name) } } Write-Host “===================================================” Write-Host “Disconnected Volumes ($($DisconnectedVolumes.Count-1) of $($hash.Count))” Write-Host “===================================================” $DisconnectedVolumes |
Output example:
1 2 3 4 5 6 7 8 9 10 |
=================================================== Disconnected Volumes (7 of 42) =================================================== TPCE–FlatFiles–Dataset WSFC–HyperV–CSV WSFC–Qurom Barkz–Ex13–Db–02 BAR Barkz–ZEROTEST–Datastore RPTTST–Log03 |
Download the scriptGet-DisconnectedVolumes.ps1 from https://github.com/PureStorage-OpenConnect/powershell-scripts.
Cheers,
Barkz