0

VMware で大量の VM のクローンを作成するタスクを引き受けました。クローン ウィザードを何百回もクリックするのではなく、できるだけ自動化したいと考えています。

テンプレート マシンは既に構成され、「封印」されています。クローンを作成して電源を入れると、新しくクローンされたインスタンスが起動し、sysprep を実行する間、しばらくそのままになります。これには約 20 分ほどかかります。

MSFT TechNetで、必要なすべてを実行する非常に優れたスクリプトを見つけました。プロセスの各ステップで値を変更してスクリプトを再保存する必要がないように、少し変更しました。スクリプト全体の $Step カウンターの代わりに、いくつかの Start-Sleep 遅延に置き換えただけです。この時点で、正常に動作し、CSV ファイルから読み取ったすべてのマシンのクローンが正常に作成されます。各マシンは、準備が整うまでに約 35 分かかります (マシンは別の AD OU に移動されます)。

唯一の問題は、プロセス全体 (クローン作成、VLAN の変更、マシンの起動とドメイン参加の待機、最終的なマシン オブジェクトの別の AD OU への移動) が完了するのを待ってから別のクローンを開始することです。

私が本当にやりたいのは、マルチスレッド化して操作全体を高速化することです。テストで、約 5 つの個別のクローン ジョブが実行されると、vSphere 内でのクローン作成が遅くなり始めることがわかったので、このスクリプトを変更して、(ワークフロー全体を実行する) 4 つのクローンを一度に実行したいと考えています。

何か案は?必要に応じてコードを貼り付けることができます。

4

2 に答える 2

2

1 つのテンプレートから最大 8 つの VM を並行して複製できます。-RunAsync を指定して new-vm を実行した場合。-RunAsync を使用すると、コマンドはすぐに戻り、出力は 1 つ以上の Task オブジェクトで構成されます。

複数の VM のクローンを作成する場合は、以下が役立ちます。ループするだけです。

Write-host "Deploying VM " -ForegroundColor Green -NoNewline; Write-Host $vmname -ForegroundColor Yellow
get-OScustomizationspec $cs | get-OScustomizationNicMapping | set-OSCustomizationNicMapping -IpMode UseStaticIP -IpAddress $vm.IP -SubnetMask $vm.subnet -DefaultGateway $vm.gateway -Dns $vm.Dns1, $vm.Dns2

$vms = New-VM -Name $vm.Name -Location $vm.cluster -VMhost $vm.vmhost -Template $vm.template -Datastore $vm.datastore -OSCustomizationSpec $cs -confirm:$false **-RunAsync**

if ($vm1.error) {
    Write-Host "Error in deploying $vmname" -ForegroundColor Red
}
于 2012-06-26T21:49:06.800 に答える