Como executar um dispositivo OVA + OVF dentro do AWS EC2?

8

O GitHub Enterprise é enviado como um dispositivo e arquivo de virtualização aberta; ele deve ser inserido na configuração de virtualização existente, como VMWare, VirtualBox, etc.

Gostaria de executá-lo dentro da nuvem do AWS EC2 (o Github não fornece uma AMI atualmente).

Eu li sobre o assunto e parece que a ferramenta VMImport da AWS EC2 suporta apenas VMs do Windows atualmente.

Gostaria de saber se existe um guia passo a passo para exportar um dispositivo OVA / OVF para uma instância do EC2, para que eu possa criar uma AMI e ir a partir daí? Tentei seguir este guia, mas não sei como seguir as etapas 1 a 3, honestamente; O GHE apenas me dá acesso ssh limitado à instância, e não sei ao certo o que procurar ou como procurá-la. O GHE parece ser enviado em uma distribuição base do Ubuntu.

(Ainda sou um administrador de sistema do linux no nível iniciante; sou de formação em desenvolvimento do Windows, mas sou capaz de aprender rapidamente.)

Peter Mounce
fonte

Respostas:

2

Parece que você pode importar um OVA / OVF usando o comando ec2-import-image:

Documentação da Amazon

Texto relevante:

Você pode importar imagens VMware ESX VMDK, imagens Citrix Xen VHD e imagens Microsoft Hyper-V VHD para Microsoft Windows Server 2003 R2 e 2008 R1 e R2. É possível exportar instâncias do EC2 importadas anteriormente para os formatos de arquivo VMware ESX VMDK, VMware ESX OVA , Microsoft Hyper-V VHD ou Citrix Xen VHD. Planejamos oferecer suporte à importação de sistemas operacionais, versões e produtos de infraestrutura de virtualização adicionais no futuro.

Verifique se você está executando a versão mais recente dos kits de ferramentas da AWS e se está bem. Você deseja selecionar o formato "Bruto" para -f e verifique se os outros sinalizadores estão corretos. Como não tenho experiência com a VM corporativa do github, não posso entrar em detalhes, mas, com um pouco de cutucada, você deve ficar bem.

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

Referência de Comando ec2-import-instance

Ian Wilson
fonte
1
No momento, o ec2-import-image suporta apenas a importação de imagens com sistema operacional convidado do Windows, portanto, embora útil, isso não ajuda no meu caso específico (Ubuntu OVF como mencionado, embora apenas de passagem) :-(
Peter Mounce
Leia atentamente - ele diz que você pode EXPORTAR para OVA, mas apenas importar VMDK
Pete - MSFT
1

Eu acredito que um OVA é apenas um arquivo tar. Você deve conseguir extrair os arquivos contidos com tar. Em seguida, você pode obter o arquivo de imagem vmdk. Você deve conseguir converter isso em uma imagem bruta com qemu-img.

O truque a seguir será montar a imagem não processada em um dispositivo de loopback. Pode ser necessário usar o kpartx para fazer isso se a imagem estiver particionada. Você precisará garantir que o kernel na imagem tenha suporte para o dispositivo xen net. Eu acredito que a opção de configuração do kernel é CONFIG_XEN_NETDEV_FRONTEND. Se a imagem do GitHub for baseada no Ubuntu, você encontrará a configuração do kernel em / boot / config-SOME_KERNEL_VERSION. Se você tiver sorte, a configuração do kernel incluirá essa opção. Se você não tiver sorte, precisará compilar um kernel personalizado.

Além disso, você precisará garantir que a imagem possua os arquivos que seriam necessários pelo pvgrub para inicializar a imagem. Isso significa que você precisará de uma configuração compatível com grub1 em /boot/grub/menu.lst.

Depois de fazer tudo isso, você precisará fazer o upload e a AMI usando o AKI correto para o pvgrub. Consulte este documento da AWS para obter mais informações sobre isso.

Em suma, isso será bastante difícil se o kernel ainda não estiver construído de uma maneira que suporte os dispositivos xen net. Boa sorte.

Wren T.
fonte