Hyper-V VM PowerShellを構成する


13

Hyper-V VMを再構成するにはどうすればよいですか

Powershellを使用して、VM構成ファイル、チェックポイント、および仮想ハードドライブの場所を変更できるようにします。

私のGoogle-FUは私を移動に向けているだけです、私は約100台のVMを変更する必要があります、私はファイルを移動できます、私は少しのダウンタイムを気にしません、各VMのウィザードを歩いているとVMとそれらは小さいものです。2時間で100をすべて実行できる必要があります。

明確にする必要がある場合はお知らせください。

==立ち往生している場所==

はい、私はそのリンクを見て、ほとんどのコマンドを調べましたが、私が探しているものは何もしません。

ファイルはすべて約14 TBです

〜100個のVMが7つのホスト間でクラスター化されています。共有ストレージはEMCスピニングディスクであり、3Par ssdに移動します。

今、私がうまくできたのは、VMをシャットダウンし、ファイルを移動し、すべてのVMを削除して、Powershellを介してそれらを再作成することでした。

私ができるようにしたいのは、VMを動かすだけではなく、それらを再構成することです、

他の作品では変更することができます:

ここに画像の説明を入力してください

に:

ここに画像の説明を入力してください

私はpowershellを使用してこれを実行できるようにしたい、また、チェックポイント、構成ファイル、および他のすべてのHyper-V VMコンポーネントに対して同じことを実行できるようにする必要があります。

約2時間のダウンタイムを許容できます。すべてのVMがマウスを磨耗させるだけでなく、約6時間かかるため、ウィザードを介してMOVEを実行します。

また、私はこれを数週間にわたって調査し、さまざまな戦略をテストしています。

====ワンモアショット====

私ができるようにしたいのは、「移動」することではありません。hyper-V内から設定を変更するだけで、移動に時間がかかります。ネットワーク経由でファイルをコピーしてパスを更新する方がはるかに高速ですHyper-Vでは、マシンをシャットダウンできます。

できないと思ってる?


これまでにどのような研究をしましたか?hyper-vモジュールのドキュメントは私にはかなり良いようです。どこで行き詰まっていますか?
ゾレダチェ

@Zoredacheのアップデートをご覧ください。
アンソニーフォルニート

1
それらがクラスタ化されている場合、ストレージの移動オプションを使用して、ストレージを移動するだけです。GUIにあり、ダウンタイムが発生しないはずです。blogs.msdn.microsoft.com/clustering/2012/04/26/...
Drifter104

Im thinking it cannot be done?できると思いますが、長くて複雑なスクリプトになります。VMに関するほとんどすべては、powershellを介して完全に操作できます。ツールがファイルの移動を管理しないようにすることで、あなたの人生をはるかに難しくしていると思います。
ゾレダチェ

私は6時間を持っていた完璧な世界で@Zoredacheはい、ツールを使用して罰金だろうが、しかし、私は2持っている
アンソニーFornito

回答:


8

これが必要なことを本当に行うかどうかは確かではありませんが、すべてのストレージを含む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'

コードをありがとう
アンソニーFornito

ストレージのみを移動するオプションを見ましたか?
ゾレダチェ

はい。ただし、ストレージを「移動」するつもりはありません。vhdxファイルを新しい場所にコピーしました。また、VMがオフのときにストレージのディレクトリを変更するSet-VMHardDiskDriveコマンドを使用できます。これも問題ありませんが、VM構成ファイルのポインターを「変更」する方法がわかりません。
アンソニーフォルニート

実際にすべてのファイルをコピーしたことが確かである場合は、削除を削除し、VMを再インポートします。例で更新された回答。
ゾレダチェ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.