首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Terraform将OVA部署到VCenter

使用Terraform将OVA部署到VCenter
EN

Stack Overflow用户
提问于 2017-02-07 14:44:31
回答 1查看 3.1K关注 0票数 2

在这一点上,我绝不是一个知识渊博的VMWare用户。我认为这可能只是我不理解一些基本概念的情况。

我试图将一个VM部署到一个VCenter中,我有一个OVA (模板?)我想和他们一起部署。

目前,我已经解压缩了OVA,将我在其中找到的VMDK上传到了一个数据存储,然后使用了这个地形定义:

代码语言:javascript
复制
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文件上载到数据存储,并将磁盘块更改为如下所示:

代码语言:javascript
复制
disk {
  datastore = "datastore1"
  template = "/path/to/ova/"
  type = "thin"
}

还是我只是运气不好?另外,vsphere的terraform没有正确地接收来自VCenter的错误,只是继续轮询,即使vm失败了。

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 13:41:49

OVA包含streamOptimized磁盘。如果您直接上传到数据存储,vSphere就不会承认它是VM的VMDK。

可以使用vmware-vdiskmanager工具将streamOptimized磁盘转换为稀疏磁盘。

vmware-vdiskmanager -r ova_extracted.vmdk -t 0 destination.vmdk

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42092723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档