如何在ESX 3.5中创build复杂的预定vmotion任务

我需要从一个ESX 3.5集群迁移一堆虚拟机到另一个。 存储需要从一个iSCSI SAN迁移到另一个,以及VM。

群集A上的主机可以访问一个iSCSI SAN,但不能访问目标。 集群B上的主机可以访问两个SAN。

手动我可以通过closures虚拟机,使用指定的存储迁移以及在新集群中启动虚拟机来进行迁移。

我知道我可以用多个计划任务来完成这个任务,但是开机任务不能分辨是否完成了迁移。 我不得不猜测适当的时间。

我如何创build一个计划任务来完成所有这些工作,每一步都要等到上一步完成?

加分,如果有人可以build议我也可以重新configuration作为计划任务的一部分的虚拟机的网卡使用的networking标签 – 新群集具有不同的端口组,所以我不知道虚拟机将连接到新的端口组在迁移完成后正确(至less手动迁移工具正在标记潜在的问题)。

我同意杰克。 VMware的PowerCLI非常好,并会给你你需要的控制。

至于“我如何也可以重新configuration虚拟机的网卡使用的networking标签作为计划任务的一部分” – 听起来像你需要重命名原始主机上的端口组。

在这里没有访问PowerCLI,我认为是这样的:

$objHost = Get-VMhost -name "<FQDN>"
foreach ($objPortGroup in (Get-VirtualPortGroup -VMhost $objHost)) {
if ( $objPortGroup -eq "old name" ) {
$objPortGroup | Set-VirtualPortGroup -Name "new name" -confirm:$false
}
}

就像我说的,这是没有经过testing的,我感谢它并不像PowerCLI的一些例子那么简洁,但是我明白了聪明。

使用relocateVM方法的 Powershell / PowerCLI脚本。

vmware线程在这里 。 它可以很容易地修改,以添加poweroff / poweron任务 ,你可以从一个csv文件中读取你想要迁移的服务器的名称,或者只是为每个服务器创build一个单独的Windows计划任务。