クラスター内にある全てのVMを新しいストレージに移動させる方法

Hyper-V2.0時代では、ストレージのマイグレーションを行うことができませんでした。

ですので、OSは共有ストレージ上に配置する必要があり、実行するVMだけしかマイグレーションすることができませんでした。(VMwareでいうvMotion)

しかし、 Windows Server 2012とともに登場したHyper-V 3.0では、

Live Storage Migration(ライブストレージマイグレーション)機能が追加され、

OSを稼働させたまま、データを他のストレージに移動させることができるようになりました。
(VMwareでいうStorage vMotion)

全ての仮想マシンを新しいストレージにマイグレーションする

以下のPowershellコマンドを用いると、クラスター内にあるすべての仮想マシンを、新しいストレージに移行させることができます。

$VMstorageMove = Get-ClusterResource | Where-Object {$_.ResourceType -eq "Virtual Machine"} | Get-VM

  foreach ($VM in $VMstorageMove){
    write-host $VM.Name
    $targetpath = "C:\ClusterStorage\new\" + $VM.Name
    Move-VMStorage -DestinationStoragePath $newpath -VM $VM
  }

$targetpathの部分を、移動させたいパスに置き換えてください。

これで、Hyper-V 3.0のLive Storage Migrationを使って、クラスター内のすべての仮想マシンを移行することが出来ました。

コメント