¿Cómo ejecutar un dispositivo OVA + OVF dentro de AWS EC2?

8

GitHub Enterprise se envía como un dispositivo y archivo de virtualización abierta; está destinado a dejarse caer en la configuración de virtualización existente como VMWare, VirtualBox, etc.

Me gustaría ejecutarlo dentro de la nube AWS EC2 (Github no proporciona un AMI actualmente).

He leído sobre el tema y parece que la herramienta VMImport de AWS EC2 solo es compatible con máquinas virtuales de Windows, actualmente.

Me pregunto si existe una guía paso a paso para exportar un dispositivo OVA / OVF a una instancia de EC2, para poder crear un AMI e ir desde allí. He tratado de seguir esta guía, pero no sé cómo seguir los pasos 1-3, honestamente; GHE solo me da acceso ssh limitado a la instancia, y no estoy seguro de qué buscar o cómo buscarlo. GHE parece distribuirse en una distribución base de Ubuntu.

(Todavía soy un administrador de sistemas Linux de nivel principiante; vengo de un entorno de desarrollo de Windows, pero soy bastante capaz de aprender rápidamente).

Peter Mounce
fuente

Respuestas:

2

Parece que puede importar un OVA / OVF utilizando el comando ec2-import-image:

Documentación de Amazon

Texto relevante:

Puede importar imágenes VMware ESX VMDK, imágenes Citrix Xen VHD e imágenes Microsoft Hyper-V VHD para Microsoft Windows Server 2003 R2 y 2008 R1 y R2. Puede exportar instancias EC2 previamente importadas a los formatos de archivo VMware ESX VMDK, VMware ESX OVA , Microsoft Hyper-V VHD o Citrix Xen VHD. Planeamos admitir la importación de sistemas operativos adicionales, versiones y productos de infraestructura de virtualización en el futuro.

Solo asegúrese de estar ejecutando la última versión de sus kits de herramientas de AWS y de que esté bien. Debería seleccionar el formato "Sin formato" para -f y asegurarse de que los otros indicadores sean correctos. No tengo experiencia con la máquina virtual empresarial de github, por lo que no puedo entrar en detalles, pero, con un poco de empuje, debería estar bien.

ec2-import-instance DISK_IMAGE_FILENAME -t INSTANCETYPE -f FORMAT -a ARCHITECTURE-SYSTEM -b S3_BUCKET_NAME -o PROPIETARIO -w SECRETKEY

Referencia del comando ec2-import-instance

Ian Wilson
fuente
1
En la actualidad, ec2-import-image solo admite la importación de imágenes que tienen Windows guest-OS ', por lo que, aunque es útil, esto no ayuda en mi caso específico (Ubuntu OVF como se mencionó, aunque solo de pasada) :-(
Peter Mounce
Lea atentamente: dice que puede EXPORTAR a OVA, pero solo importar VMDK
Pete - MSFT
1

Creo que un OVA es solo un archivo tar. Debería poder simplemente extraer los archivos contenidos con tar. Entonces puede obtener el archivo de imagen vmdk. Debería poder convertir eso en una imagen sin formato con qemu-img.

El truco después de eso será montar la imagen en bruto en un dispositivo de bucle invertido. Es posible que deba usar kpartx para lograrlo si la imagen está particionada. Deberá asegurarse de que el núcleo de la imagen sea compatible con el dispositivo xen net. Creo que la opción de configuración del kernel es CONFIG_XEN_NETDEV_FRONTEND. Si la imagen de GitHub se basa en Ubuntu, encontrará la configuración del kernel en / boot / config-SOME_KERNEL_VERSION. Si tienes suerte, la configuración del kernel incluirá esa opción. Si no tienes suerte, necesitarás compilar un kernel personalizado.

Además, deberá asegurarse de que la imagen tenga los archivos que pvgrub necesitaría para arrancar la imagen. Esto significa que necesitará una configuración compatible con grub1 en /boot/grub/menu.lst.

Después de hacer todo eso, tendrá que cargar y AMI usando el AKI correcto para pvgrub. Consulte este documento de AWS para obtener más información al respecto.

En general, esto será bastante difícil si el kernel no está construido de una manera que admita los dispositivos de red xen. Buena suerte.

Wren T.
fuente