2017-02-07 5 views
1

Я ни в коем случае не знающий пользователь VMWare. Я думаю, что это может быть просто случай, когда я просто не понимаю некоторые важные понятия.Развертывание OVA в VCenter с Terraform

Я пытаюсь развернуть виртуальную машину в VCenter, у меня есть OVA (шаблон?), С которым я хочу развернуть.

В настоящее время я распаковал OVA, загрузил VMDKs я нашел в нем датасторе, а затем использовал это определение терраформировать:

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.

Когда я развертываю OVA с помощью ovftool, vmdk, с которым vm развернут, очень отличается.

Ошибка была получена от хоста ESX при включении VM myvm. Не удалось запустить виртуальную машину. Ошибка модуля DiskEarly. Не удается открыть диск '/vmfs/volumes/557fc17b-c078f45c-f5bf-002590faf644/template_folder/my_vm.vmdk' или один из дисков моментальных снимков, от которых это зависит. Указанный файл не виртуальный диск

Должен ли я загрузить файл OVA в хранилище, а и изменить свой диск блок выглядеть следующим образом:

disk { 
    datastore = "datastore1" 
    template = "/path/to/ova/" 
    type = "thin" 
} 

Или я просто не повезло здесь ? Кроме того, поставщик terraform для vsphere неправильно получает ошибку от VCenter и просто продолжает опрос, даже если vm не удалось.

+0

Если кто знает, где находится код этого ресурса; Я также хотел бы узнать и, возможно, внести свой вклад. – Breedly

+0

вам удалось решить эту проблему? – Rekovni

+0

@Rekovni У меня не было возможности попробовать. Я пытался следить за развитием вопросов, связанных с этим. Я действительно не знаю, как бы я мог это сделать. – Breedly

ответ

0

OVA содержит streamOptimized диски. Если вы напрямую загружаете данные в хранилище данных, vSphere не распознает его как VMDK для виртуальной машины.

Вы можете использовать инструмент vmware-vdiskmanager, чтобы преобразовать streamOptimized диск в разреженный диск.

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

Смежные вопросы