sync
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
Connect-VIServer itdvmvc1.nd.gov -Credential $PrvCred
|
||||
|
||||
$BisSQLVMs = [System.Collections.ArrayList]@()
|
||||
$BisSQLVMs += Get-DatastoreCluster WINDOWS1* | Get-VM -Tag 'SQL MSDN' | sort-object Name
|
||||
$BisSQLVMs += Get-DatastoreCluster WINDOWS1* | Get-VM -Tag 'SQL Enterprise Academic' | sort-object Name
|
||||
$BisSQLVMs += Get-DatastoreCluster WINDOWS1* | Get-VM -Tag 'SQL Standard' | sort-object Name
|
||||
$BisSQLVMs = $BisSQLVMs | sort-object -Descending ProvisionedSpaceGB
|
||||
|
||||
|
||||
# SQL / IndPer first
|
||||
ForEach ($VM in $BisSQLVMs) {
|
||||
$DatastoreDestination = Get-DatastoreCluster WINDOWS1_FS92_SQL
|
||||
$VM | Move-VM -DiskStorageFormat Thick -Datastore $DatastoreDestination
|
||||
}
|
||||
|
||||
$BisVMs = Get-DatastoreCluster WINDOWS1_A9K_General | Get-VM | Sort-Object -Descending UsedSpaceGB
|
||||
$DatastoreDestination = Get-DatastoreCluster WINDOWS1_FS92_General
|
||||
ForEach ($VM in $BisVMs) {
|
||||
$wait = $true
|
||||
$DatastoreHighestFreeSpaceGB = $DatastoreDestination | Get-Datastore | Sort-Object -Descending FreeSpaceGB | Select -First 1
|
||||
If($VM.UsedSpaceGB -gt $DatastoreHighestFreeSpaceGB.FreeSpace)
|
||||
{
|
||||
While ($wait -eq $true) {
|
||||
$tasks = Get-Task | where-object { $_.Name -like "Relocate*" -or $_.Name -like "ApplyStorageDrsRecommendation*" } | where-object { $_.State -eq "Running" }
|
||||
If (@($tasks).count -lt 3) {
|
||||
$wait = $false
|
||||
}
|
||||
else {
|
||||
$wait = $true
|
||||
Write-Warning ("[$VM]:Start sleep " + (Get-Date))
|
||||
Write-Verbose @($tasks).count
|
||||
Start-Sleep -Seconds 20
|
||||
}
|
||||
}
|
||||
$VM | Move-VM -Datastore $DatastoreDestination
|
||||
Start-Sleep -Seconds 10
|
||||
}
|
||||
Else
|
||||
{
|
||||
Write-Error ("Not enough free space available for " + $VM.Name + ". Available: " + $DatastoreHighestFreeSpaceGB.FreeSpaceGB + "GB available, " + $VM.UsedSpaceGB + "GB required.") -ErrorAction Stop
|
||||
Stop
|
||||
Exit
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user