2016-10-26 6 views
1

私は、サーバーのグループのスナップショットを作成して削除するためのスクリプトをいくつか持っています。スナップショットを削除すると、一度に1つのスナップショットが作成されますが、スナップショットを作成すると、すべてのスナップショットを一度に実行しようとすると、ホストに負荷がかかる傾向があります。誰かが一度に1つずつスナップショットを作成するために欠けているオプションを知っていますか?ここでpowercli limit新しいスナップショットを作成して一度に1つ作成する

は、私がここでスナップショット

get-vm -location “Test-Env” | New-Snapshot -Memory -Quiesce -Name Snap1 

を作成するために使用するものです、私はあなたが単に待つようにStart-Sleepコマンドレットを使用することができ、スナップショット

get-vm -location “Test-Env” | Get-Snapshot -Name Snap1 | Remove-Snapshot 

答えて

0

問題はあなたがコレクション(おそらくリソースプール)である場所を使用しているため、それらを一度にすべて実行しようとしています。

新しいスナップショットコマンドは、それぞれを実行し、VMごとに参照するのを待つ必要があります。 RunAsyncコマンドを使用すると、それぞれの待機中に停止します。デフォルトはオフです。

https://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/New-Snapshot.html

だから、寝する必要はありません

$ VMS =取得-VM -location「テスト-ENV」を

foreach ($VM in $VMS) 
{ 
    $Snapshot = $VM | New-Snapshot -Memory -Quiesce -Name Snap1 
} 
0

を削除するために使用して、または実行使用しているものです/スナップショットの完了を確認するまでループしながら、次のようなものを使用します。

$VMS = get-vm -location “Test-Env” 

    foreach ($VM in $VMS) 
    { 
     $Snapshot = $VM | New-Snapshot -Memory -Quiesce -Name Snap1 
     do { 
     sleep 1 
     } 
     until (Get-Snapshot $Snapshot) 
    } 
関連する問題