将OVF / OVA文件部署到远程ESXi服务器
这是我的批处理文件:
@echo off
CLS
set OVF_COMMAND="C:\Program Files (x86)\VMware\VMwareWorkstation\OVFTool\ovftool.exe"
set OVF_DEPLOY_OFF=ovftool
IF NOT EXIST %OVF_COMMAND% (
@echo powershell does not exists at:
@echo %OVF_COMMAND%
pause
)
@echo START OF THE BATCH SCRIPT
@echo ###############**strong text**########################################################
%OVF_DEPLOY_OFF% --noSSLVerify --disableVerification --skipManifestGeneration C:\Newfolder\vAppTS2\vAppTS2.ovf vi://administrator:jim@141.192.91.124/nrtms-training/host/141.192.91.9/
@echo #######################################################################
正常,但太慢。 OVF文件包含一个具有一个VM的vApp。完成所有操作后,vApp将包含大约9个VM。 部署当前仅包含一个VM的vApp大约需要20分钟。我无法想象部署带有9个VM的vApp需要多长时间。 这是加快速度的方法吗? 欢呼声。
答案 0 :(得分:0)
我托管 找到解决方法。 我没有从某个远程位置导入ovf文件,而是从预定义的资源池中选择克隆该vApp。
所以一开始我创建了一个资源池,我已经上传了一个vApp。
//connect to server
Connect-VIServer -Server $args[2].ToString() -Username $args[3] -Password $args[4]
// search which vApp to move into the new source pool
// The name of the vApp is given as an argument to the powerCLI script
// It must be one of the existing vApps
foreach ($vApps in (Get-vApp ) )
{
if ($vApps.name -eq $args[0])
{
# defined source and destination hosts
$vmHost_dest = Get-VMHost -Name "100.106.37.10"
$vmHost_source = Get-VMHost -Name "100.106.37.9"
# create a resource pool on destination host
$myDestinationRP = New-ResourcePool -Name "datastore-13" -Location $vmHost_dest
New-VApp -Name MyVApp2 -VApp $vApps -Location $myDestinationRP
}
}
因此,我可以构建一个自定义vApp并将其存储到特定的源池,以后我可以随意克隆它。 如果我想删除新克隆的vApp,我可以按照以下步骤进行操作:
Get-VApp $vApps | Remove-VApp -Confirm:$false
希望这有帮助