如何在 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
无论如何都会失败,并显示一条消息,提示磁盘已被锁定(因此我猜你不能用它进行在线迁移)。
Move-HardDisk
似乎也只能在离线模式下移动磁盘(冷迁移),但是我想执行 Storage vMotion。
Move-VM
只能移动全部VM 的磁盘,这不是我想要的。(VM 上的磁盘太多或太大,永远无法容纳在一个目标 LUN 上)
答案1
我在为迁移项目编写的较长脚本中使用它。这将提取我之前在同一脚本中构建的名称和 csv。
Get-HardDisk -vm $line.Name | where {$_.filename -match $startDS} |Move-HardDisk -Datastore $endDS -Confirm:$false
在哪里:
- $line.Name = VM 的名称
- $startDS = 我正在撤离的当前数据存储
- &endDS = 我要发送驱动器到的数据存储
无论电源状态如何,这对我来说在虚拟机上都有效,但它不会移动配置文件。
答案2
事实证明你不能简单地
Move-HardDisk $hd -Datastore $dstds
这将显示磁盘已锁定的消息。但您可以执行类似以下操作:
Get-HardDisk -VM MyVM -Name 'Hard Disk 1' | Move-HardDisk -Datastore MyDS
它似乎能很好地执行 svMotion。