Hyper-VVMを再構成するにはどうすればよいですか
Powershellを使用して、VM構成ファイル、チェックポイント、および仮想ハードドライブの場所を変更できるようにしたい。
私のGoogle-FUは移動を指示しているだけで、変更するVMは約100個あり、ファイルを移動できます。少しのダウンタイムは気になりません。各VM = VMあたり約5〜15分かかります。これらは小さいものです。2時間で100個すべてを実行できる必要があります。
明確にする必要がある場合はお知らせください。
==行き詰まっているところ==
はい、私はそのリンクを見て、ほとんどのコマンドを見ましたが、私が探していることをするものはありません。
すべてのファイルは約14TBです
〜100台のVMが7つのホスト間でクラスター化されます。共有ストレージはEMCスピニングディスクであり、3Parssdに移動したいと思います。
さて、私が成功したのは、VMをシャットダウンし、ファイルを移動し、すべてのVMを削除して、それらを再作成することでしたVIA powershell、これはCTOに唯一の可能性があると言ったとき彼はたわごとの子猫について。
私ができるようにしたいのは、VMを移動するのではなく、単に再構成することです。
他の作品では変更することができます:
に:
PowerShellを使用してこれを実行できるようにしたい。また、チェックポイント、構成ファイル、およびその他すべてのHyper-V VMコンポーネントに対して同じことを実行できる必要があります。
約2時間のダウンタイムに耐えることができます。すべてのVMに対してウィザードを介してMOVEを実行すると、マウスが消耗するだけでなく、約6時間かかります。
また、これを調査し、さまざまな戦略を数週間テストしています。
====もう1ショット====
「移動」するつもりはありません。Hyper-V内から設定を変更するだけで移動に時間がかかります。ネットワーク経由でファイルをコピーしてパスを更新する方がはるかに高速です。 Hyper-Vでは、マシンをシャットダウンできます。
私はそれができないと思っていますか?
これが必要なことを実行するかどうかはわかりませんが、すべてのストレージを含むVMを新しい宛先に移行するために過去に使用したPowerShellフラグメントの例があります
Get-VM -Name ('ansible-test-acs',
'ansible-test-web',
'ansible-test-db') |
ForEach-Object {
# move everything to d:\hyper-v\vm_name on hv-srv-01
$MoveOptions = @{
'Name' = $_.Name
'DestinationHost' = 'hv-srv-01'
'IncludeStorage' = $true
'DestinationStoragePath' = 'D:\Hyper-V\{0}' -f $_.Name
}
$MoveOptions
Move-VM @MoveOptions -WhatIf
# Move-VM @MoveOptions
}
VMストレージを新しいパスに移動
('ansible-test-web', 'ansible-test-db') |
ForEach-Object {
Move-VMStorage $_ `
–DestinationStoragePath "E:\Hyper-V\$_"
}
VMとそのすべてのファイルを新しい場所にコピーし、Hyper-Vで新しい場所の使用を開始したい場合は、次のようなことができるはずです。
Remove-VM oldvmname
Import-VM -Register -Path 'path to VM config file'