我需要通过功能创建冗余虚拟机(两个不同的数据存储)

时间:2017-01-25 11:52:23

标签: vmware powershell-v3.0

我已在单独的Variable_Defination.ps1文件中定义了所有需要的变量,并在此处调用了它。 有更好的方法吗?

我只想要一个脚本来创建2个冗余虚拟机,这些虚拟机都在不同的数据存储上运行,并为灾难恢复案例设置了亲和性规则

. ./Variable_Defination.ps1

function CreateRedundantVMs {
    Param(
        [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
        [string]$ClusterName,
        [string]$ComputerName1,
        [string]$ComputerName2,
        [string]$sourcetemplate,
        [string]$InfraResourcePoolName,
        [string]$OSCustomizationspec,
        [string]$description
    )

    $Viabledatastores = (Get-Cluster $ClusterName | Get-Datastore) |
                        Where {$_.Name -like '*vSSD*'} |
                        Sort-Object FreeSpaceGB  -Descending |
                        Select -First 2 -ErrorAction 'Stop'
    if ($Viabledatastores) {
        $Viabledatastores
    } else {
        Write-Host "No Viable Datastores found"
        break;
    }

    Write-Verbose "`n---------------------- Creating redundant VMs now ------------------------`n " -Verbose
    New-VM -Name $ComputerName1 -ResourcePool $InfraResourcePoolName -Datastore $Viabledatastores[0] -Description $description -Template $sourcetemplate -OSCustomizationspec $OSCustomizationspec -DiskStorageFormat Thin
    New-VM -Name $ComputerName2 -ResourcePool $InfraResourcePoolName -Datastore $Viabledatastores[1] -Description $description -Template $sourcetemplate -OSCustomizationspec $OSCustomizationspec -DiskStorageFormat Thin
    Start-Sleep -s 3
    Write-Host "`n -------------------------------------------------------------------------`n "
    Write-Verbose -Message "Virtual Machine $ComputerName1 and $ComputerName2 Deployed. Powering On" -Verbose
    Write-Host "`n -------------------------------------------------------------------------`n "
    Start-VM -VM $ComputerName1
    Start-VM -VM $ComputerName2
}

# calling function
CreateRedundantVMs $ClusterName $ComputerName1 $ComputerName2 $sourcetemplate $InfraResourcePoolName $OSCustomizationspec $description

0 个答案:

没有答案