Puede importar máquinas virtuales desde vSphere en la implementación de VMware Integrated OpenStack y administrarlas como instancias de OpenStack.

Este procedimiento se aplica a implementaciones con redes de NSX-T Data Center. Para implementaciones de VDS o NSX Data Center for vSphere, consulte VMware Integrated OpenStack con NSX Data Center for vSphere.

Se aplican las siguientes condiciones a máquinas virtuales importadas:

  • Si una máquina virtual tiene varios discos, puede importarlos como volúmenes de Cinder.
  • Después de importar una máquina virtual con una copia de seguridad de red específica, no puede importar la misma red para un proyecto diferente. Para utilizar una red para varios proyectos, configúrela como red compartida.
  • La acción de importar una máquina virtual solo puede configurar un vínculo entre la instancia de Nova y el tipo. No se puede cambiar el tamaño de la instancia de acuerdo con la configuración del tipo.

Puede importar máquinas virtuales mediante Data Center Command-Line Interface (DCLI) en el cuadro de herramientas de Integrated OpenStack Manager.

Requisitos previos

Para importar las máquinas virtuales, compruebe que se encuentran en la misma instancia de vCenter Server.

Procedimiento

  1. Agregue los clústeres que contengan las máquinas virtuales deseadas como clústeres informáticos de proceso en la implementación de VMware Integrated OpenStack.
    Para obtener instrucciones, consulte Agregar clústeres de proceso a la implementación.
  2. Conecte la máquina virtual a una red de Neutron.
    Puede utilizar una red de proveedores o una red de tenants para realizar este procedimiento.
    1. En vSphere Client, abra la vista Hosts y clústeres.
    2. Para importar máquinas virtuales, haga clic con el botón secundario en cada máquina virtual y seleccione Editar configuración....
    3. Seleccione la red de Neutron en el menú desplegable que hay junto al adaptador de red.
    4. Expanda la configuración del adaptador de red y registre su dirección MAC.
  3. Después de importar las máquinas virtuales, para conectar varias vNIC a diferentes redes de Neutron, debe crear las redes de Neutron correspondientes desde VMware Integrated OpenStack.
  4. Conecte las vNIC de las máquinas virtuales no importadas a las redes de Neutron (segmentos NSXT) correspondientes desde el vCenter Server.
    Nota: Puede conectar varias vNIC a la misma red de Neutron y también a las diferentes redes de Neutron.
  5. Cree una red opaca temporal para la máquina virtual.
    • Para NSX-T 2.5, cree un conmutador lógico. Consulte "Crear un conmutador lógico" en la Guía de administración de NSX-T Data Center y, a continuación, realice los siguientes pasos para obtener el identificador de conmutador lógico.
      1. En la columna Conmutador lógico, haga clic en el nombre del conmutador que creó.
      2. Registre el identificador del conmutador, tal y como se muestra en la columna Descripción general.
    • Para NSX-T 3.0, debe crear un segmento. Siga las instrucciones de la sección "Agregar un segmento" en la Guía de administración de NSX-T Data Center y registre el nombre del segmento que agregó.
    • Para NSX-T 3.2, debe crear un segmento. Siga las instrucciones de la sección "Agregar un segmento" en la Guía de administración de NSX-T Data Center y registre el ID del segmento que ha agregado.
      Nota: Puede identificar el identificador de segmento en el menú NSX-T 3.2, vista Manager > Conmutadores lógicos.
  6. Edite la configuración de proceso para Nova con viocli update nova-compute, agregue el parámetro import_net_id y establezca su valor como el nombre o el ID del segmento creado en el paso 5.
    viocli update nova-compute
  7. Cree varios puertos Neutron que utilizan la dirección MAC de las vNIC de la máquina virtual.
    neutron port-create network --name port --tenant-id project-id --mac-address vm-mac [--fixed-ip ip_address=vm-ip]
    Nota: Para crear varios puertos, debe repetir el comando port create de Neutron. Puede crearlas en la misma red de Neutron y también en redes de Neutron diferentes. Este escenario depende del requisito de conexión de las vNIC de las máquinas virtuales.
    Opción Descripción

    network

    Introduzca el nombre de la red de Neutron a la que conectó la máquina virtual.

    --name

    Introduzca un nombre para el puerto.

    --tenant-id

    Para crear el puerto, especifique el UUID del proyecto.

    --mac-address

    Introduzca la dirección MAC del adaptador de red de la máquina virtual que registró en el paso 2d.

    --fixed-ip

    Introduzca la dirección IP de la máquina virtual.

    Si no desea conservar la dirección IP existente o si la máquina virtual no tiene una dirección IP, puede omitir este parámetro.

  8. Conéctese al endpoint de vAPI de VMware Integrated OpenStack.

    El endpoint está presente en el endpoint de OpenStack privado de la implementación.

    dcli +server https://internal-vip:9449/api +i
  9. Importe la máquina virtual en VMware Integrated OpenStack.
    1. Para importar una máquina virtual a VIO usando una sola vNIC, utilice el siguiente comando:
      com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid [--tenant project-name] [--root-disk root-disk-path]
    2. Para importar una máquina virtual a VIO usando varias vNIC, utilice el siguiente comando:
      com vmware vio vm unmanaged importvm --vm vm-moid --nics '[{"port_id": "port1_uuid"}, {"port_id": "port2_uuid"}]' " 
      Por ejemplo:
      com vmware vio vm unmanaged importvm --vm vm-88 --tenant admin --nics '[{"port_id": "41fa621e-89d6-493f-876c-ed052905042d"}, {"port_id": "e97c74e9-e930-4837-a6d2-33bd065d8e32"}]'
      Nota: Durante el proceso de importación, el puerto puede enlazarse automáticamente a la vNIC con la dirección MAC correspondiente.
    3. Para importar una máquina virtual a VIO si hay múltiples instancias de vCenter configuradas, utilice el siguiente comando:
      com vmware vio vm unmanaged importvm --vm vm-moid --nics '[{"port_id": "port1_uuid"}, {"port_id": "port2_uuid"}]' --vcenter vcenter_obj
      Por ejemplo:
      com vmware vio vm unmanaged importvm --vm vm-88 --tenant admin --nics '[{"port_id": "41fa621e-89d6-493f-876c-ed052905042d"}, {"port_id": "e97c74e9-e930-4837-a6d2-33bd065d8e32"}]' --vcenter vcenter2
      Nota:
      • La lista de vcenter_obj en el entorno de VIO se puede adquirir ejecutando el comando kubectl -n openstack get vioshim vioadmin1 -o json | jq .status.processedSpec.conf.vioshim.DEFAULT.enabled_backends
      • Si no agrega la opción de --vcenter, el vcenter predeterminado es el vcenter de administración.
    Opción Descripción

    --vm

    Introduzca el identificador de objeto administrado (Managed Object Identifier, MOID) de la máquina virtual.

    Puede ver los identificadores MOID de todas las máquinas virtuales sin administrar. Para ello, ejecute el comando com vmware vio vm unmanaged list.

    --nics

    Introduzca la matriz de pares clave-valor para la vNIC de las máquinas virtuales en formato JSON.

    --nic-net-id

    Introduzca el UUID de la red de Neutron a la que conectó la máquina virtual.

    --nic-port-id

    Introduzca el UUID del puerto que creó para la máquina virtual.

    --tenant

    Especifique el proyecto de OpenStack en el que desea importar la máquina virtual.

    Si no incluye este parámetro, se utiliza el proyecto import_service de forma predeterminada.

    --root-disk

    Para una máquina virtual con varios discos, especifique la ruta de acceso del almacén de datos del disco raíz con el siguiente formato: --root-disk '[datastore1] dir/disk_1.vmdk'

    --vcenter

    Introduzca el vcenter obj name en el entorno de VIO

    --cinder-az

    Zona de disponibilidad de Cinder para importar disco

    --default-volume-type

    Identificador de tipo de volumen predeterminado para volúmenes importados

    --flavor

    Identificador de tipo almacenado en metadatos de instancia de NOVA

    --volume-type

    Información de asignación de ruta de acceso de disco y tipo de volumen

    Nota: Cuando se ejecuta un comando, DCLI le solicita que introduzca las credenciales de administrador para la instancia de vCenter Server. Para evitar introducir el nombre de usuario y la contraseña cada vez, puede guardar estas credenciales.
  10. Para los tipos de volumen, cree varios tipos de volumen necesarios desde el VMware Integrated OpenStack y registre los identificadores de los tipos de volumen.
    openstack volume type create vol-type-ssd
  11. Importe la máquina virtual en VIO para los tipos de volumen.
    1. Importe la máquina virtual con el tipo de volumen predeterminado.

      Por ejemplo, puede usar el siguiente comando:

      "com vmware vio vm unmanaged importvm --vm vm-183 --root-disk '[vdnetSharedStorage] 2nic-001/2nic-001.vmdk' --nics '[{"port_id":"5b8f18e7-f77b-457f-9618-4dcb5fccb833"}, {"port_id": "96a26fe8-1458-4a25-ba85-9a7dcaac88fe"}]' --default-volume-type '059c97ce-f5ef-47fa-8552-1c7eeeac058b' --flavor 0a3cf2a0-754c-4a64-9ce5-a9eb2ef34e0c --tenant admin"
    2. Para importar una máquina virtual que especifica el tipo de volumen para cada disco, utilice el siguiente comando:
      com vmware vio vm unmanaged importvm --vm vm-moid --nic -net-id network-uuid --nic -port-id port-uuid  --tenant project-name --volume-type 
      '[{"disk_path":"[datastore1] dir/disk_1.vmdk", "type_id": "volume-type1-uuid"}, {"disk_path":"[datastore1] dir/disk_2.vmdk", "type_id": "volume-type2-uuid"}]'  "
      Por ejemplo:
      com vmware vio vm unmanaged importvm --vm vm-109 --nic -net-id e10b0037-6705-46d8-a8c5-20fbfdc1598d --nic -port-id be9bb062-d7b3-47f7-8566-f7b1f1c6ce2d  --volume-type 
      [{"disk_path":"[datastore1] dir/disk_1.vmdk", "type_id": "096ef8ea-85ca-40f4-ba7f-9637f5fe95d2"}, {"disk_path":"[datastore1] dir/disk_2.vmdk", "type_id": "9969dd48-23dc-4010-a852-716f173fd59b"}]' --tenant admin
  12. Para la parte del tipo, registre el identificador de la clase de tipo existente.
  13. Importe la máquina virtual en VIO para esa clase de tipo.
    com vmware vio vm unmanaged importvm --vm vm-moid --nic -net-id network-uuid --nic -port-id port-uuid --flavor flavor-uuid --tenant project-name
    Por ejemplo:
    com vmware vio vm unmanaged importvm --vm vm-109 --nic -net-id e10b0037-6705-46d8-a8c5-20fbfdc1598d --nic -port-id be9bb062-d7b3-47f7-8566-f7b1f1c6ce2d --flavor 256ac8d6-6fb1-4434-a007-bb6db6837e5a --tenant admin

Resultados

Después de importar, la máquina virtual especificada se encuentra en la implementación de OpenStack, de modo que puede administrarla como una instancia de OpenStack.