vSphere PowerCLI存储vMotion

如何在PowerCLI 5.5中单个磁盘svMotion?

尝试Set-HardDisk会给出以下警告:

 WARNING: Parameter 'Datastore' is obsolete. 'Datastore' parameter is obsolete. To move hard disk to another datastore and change it's storage format, use 'Move-HardDisk' cmdlet instead. 

Set-HardDisk无论如何都会出现磁盘被locking的消息(因此我猜你不能用它进行在线迁移)。

Move-HardDisk似乎只能在离线模式下移动磁盘(冷迁移),但是我想执行Storage vMotion。

Move-VM只能移动Move-VM 所有磁盘,这不是我想要的。 (虚拟机上的磁盘太多且太大,永远不能放在一个目标LUN上)

我使用这个部分是我为迁移项目编写的一个较长的脚本。 这是在同一个脚本中创build的名字和csv。

 Get-HardDisk -vm $line.Name | where {$_.filename -match $startDS} |Move-HardDisk -Datastore $endDS -Confirm:$false 

哪里:

  • $ line.Name =虚拟机的名称
  • $ startDS =我正在撤离的当前数据存储区
  • &endDS =我正在将驱动器发送到的数据存储区

这在虚拟机上适用于我,无论电源状态如何,但不会移动configuration文件。

事实certificate,你不能简单地

 Move-HardDisk $hd -Datastore $dstds 

这会提示磁盘已被locking。 但是,你可以做一些事情:

 Get-HardDisk -VM MyVM -Name 'Hard Disk 1' | Move-HardDisk -Datastore MyDS 

这似乎很好地执行svMotion。