在这一点上,我绝不是一个知识渊博的VMWare用户 . 我想这可能只是我不理解一些基本概念的情况 .
我正在尝试将VM部署到VCenter中,我有一个我要部署的OVA(模板?) .
目前我已经解压缩了OVA,将我在其中找到的VMDK上传到数据存储区,然后使用了这个terraform定义:
provider "vsphere" {
user = "${var.vsphere_user}"
password = "${var.vsphere_password}"
vsphere_server = "${var.vsphere_server}"
allow_unverified_ssl = true
}
resource "vsphere_virtual_machine" "primary" {
name = "myvm"
vcpu = 2
memory = 16384
datacenter = "${var.vsphere_datacenter}"
resource_pool = "/DATA_CENTER/host/10.132.260.000"
network_interface = {
label = "Private Network - vmnic0 vmnic2"
ipv4_address = "10.132.260.001"
ipv4_gateway = "10.132.260.002"
ipv4_prefix_length = 26
}
disk {
datastore = "datastore1"
vmdk = "/path/to/vmdk/"
bootable = true
type = "thin"
}
}
哪个卡住了,因为它无法打开VMDK .
当我使用ovftool部署OVA时,部署vm的 vmdk
是非常不同的 .
启动VM myvm时从ESX主机收到错误 . 无法启动虚拟机 . 模块DiskEarly开机失败 . 无法打开磁盘'/vmfs/volumes/557fc17b-c078f45c-f5bf-002590faf644/template_folder/my_vm.vmdk'或其所依赖的其中一个快照磁盘 . 指定的文件不是虚拟磁盘
我是否应该将 OVA
文件上传到数据存储区并将我的磁盘块更改为:
disk {
datastore = "datastore1"
template = "/path/to/ova/"
type = "thin"
}
或者我在这里运气不好?此外,vsphere的terraform提供程序无法正确接收来自VCenter的错误,并且即使vm失败也只是继续轮询 .
1 回答
OVA包含
streamOptimized
个磁盘 . 如果直接上载到数据存储,则vSphere不会将其识别为VM的VMDK .您可以使用
vmware-vdiskmanager
工具将streamOptimized磁盘转换为稀疏磁盘 .vmware-vdiskmanager -r ova_extracted.vmdk -t 0 destination.vmdk