此时我并不是一个知识渊博的VMWare用户。我认为这可能只是我不理解一些基本概念的情况。
我尝试将VM部署到VCenter,我有一个OVE(模板?),我想部署它。
目前我已经解压缩了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失败也只是继续轮询。
答案 0 :(得分:0)
OVA包含streamOptimized
个磁盘。如果直接上载到数据存储,则vSphere不会将其识别为VM的VMDK。
您可以使用vmware-vdiskmanager
工具将streamOptimized磁盘转换为稀疏磁盘。
vmware-vdiskmanager -r ova_extracted.vmdk -t 0 destination.vmdk