Como importar dispositivos virtuais em OVF

Um dispositivo virtual é um pacote que contém imagens de disco e configuração de hardware para uma máquina virtual.

Um formato amplamente utilizado para dispositivos virtuais é o OVF. Quando você empacota dispositivos virtuais nesse formato, você gera um pacote OVF. Um pacote OVF é uma pasta que contém um arquivo descritor .ovf e uma coleção de outros recursos, como discos. Quando esse pacote é arquivado em um único arquivo, ele é referido como um arquivo OVA.

É possível importar máquinas virtuais no formato OVF, seja um pacote OVF ou um arquivo único OVA, para o Compute Engine. Para verificar se o uso de um dispositivo virtual é a melhor opção para seu caso de uso, consulte Como escolher um método de importação.

Quando você importa um dispositivo virtual, o processo de importação usa as informações armazenadas no arquivo descritor para criar e iniciar uma instância de VM no Compute Engine.

Antes de começar

Ativar a API Cloud Build

A ferramenta de importação do dispositivo virtual usa o Cloud Build. Ative o serviço do Cloud Build no seu projeto e conceda as permissões da conta de serviço do Cloud Build para criar e gerenciar recursos de computação.

Console

Ative a API Cloud Build.

Ativar a API Cloud Build

Quando você ativa a API Cloud Build a partir do Console, o Compute Engine concede à conta de serviço Cloud Build as seguintes funções para que o serviço Cloud Build possa importar instâncias para o Compute Engine:

  • roles/iam.serviceAccountTokenCreator
  • roles/compute.admin
  • roles/iam.serviceAccountUser

gcloud

Para configurar o serviço do Cloud Build usando a gcloud, conclua as etapas a seguir:

  1. Ative o Cloud Build.

    gcloud services enable cloudbuild.googleapis.com
    
  2. Adicione o papel compute.admin à conta de serviço da API Cloud Build.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/compute.admin
    
  3. Adicione o papel iam.serviceAccountUser à conta de serviço da API Cloud Build.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountUser
    
  4. Adicione o papel iam.serviceAccountTokenCreator à conta de serviço da API Cloud Build.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountTokenCreator
    

    em que:

Requisitos

Requisitos de máquina virtual de origem

A máquina virtual usada para criar o arquivo OVF precisa seguir os seguintes critérios:

  • Os discos virtuais precisam estar nos formatos VMDK ou VHD.
  • Os discos virtuais precisam ser configurados com inicialização MBR. UEFI não é compatível.
  • Os discos virtuais não podem ser criptografados.

Para verificar se sua máquina virtual atende aos requisitos, execute a ferramenta de pré-verificação.

Requisitos para arquivos OVF

O arquivo OVF precisa seguir os seguintes critérios:

  • Os arquivos OVF precisam fornecer portabilidade Level 1, conforme descrito neste documento. Os dispositivos virtuais que atendem à portabilidade Level 2 podem ser importados, mas quaisquer extensões personalizadas, como detalhes específicos do hipervisor de origem, são ignoradas durante o processo de importação.
  • O arquivo OVF pode conter apenas uma máquina virtual. Se houver mais de uma máquina virtual, somente a primeira será importada.
  • O primeiro disco no arquivo OVF precisa ser inicializável.

Configurações importadas pela ferramenta

O padrão OVF especifica o processo de empacotamento de dispositivos virtuais de uma maneira que não depende do provedor de virtualização. Os pacotes de dispositivos virtuais OVF contêm um arquivo de descritor .ovf e uma coleção de outros recursos, como discos virtuais.

Quando você importa um dispositivo virtual OVF para o Compute Engine, as seguintes configurações do arquivo descritor são processadas e importadas:

  • Informações de discos virtuais recuperadas do elemento DiskSection do pacote OVF.
  • CPU e memória recuperadas de ResourceAllocationSection do pacote OVF.

    Se as configurações de CPU ou memória estiverem fora dos limites do intervalo suportado pelo Compute Engine, o processo de importação redefinirá os valores para o máximo suportado.

  • Detalhes do disco de inicialização recuperados do elemento BootDeviceSection do pacote OVF.

  • Detalhes do SO convidado recuperados do elemento OperatingSystemSection do pacote OVF.

    As informações do Sistema Operacional Convidado são usadas para instalar os drivers corretos e os pacotes de ambiente de convidado na instância importada. Se as informações do SO convidado encontradas no OVF estiverem incorretas, a importação falhará. Use a sinalização --os para modificar as informações do sistema operacional convidado.

As instâncias importadas são sempre criadas com um único adaptador de rede, sem nenhum IP externo. Esse adaptador é usado independentemente das configurações de rede especificadas no arquivo OVF.

Limitações

Ao importar um dispositivo virtual, as seguintes seções do arquivo descritor não serão importadas:

  • NetworkSection
  • AnnotationSection
  • ProductSection
  • EulaSection
  • StartupSection
  • DeploymentOptionSection
  • InstallSection
  • EnvironmentFilesSection
  • SharedDiskSection
  • ScaleOutSection
  • PlacementGroupSection
  • PlacementSection
  • EncryptionSection

Sistemas operacionais compatíveis

Especifique um dos seguintes sistemas operacionais na OperatingSystemSection do seu arquivo descritor:

Distribuições e versões do Linux

  • CentOS 6, CentOS 7
  • Debian 8, Debian 9
  • Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7
  • Ubuntu 14,04 LTS, Ubuntu 16,04 LTS

Para todas as distribuições do Linux, o disco de inicialização precisa ter o GRUB instalado.

Versões do Windows

  • Windows Server 2008 R2
  • Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core
  • Windows Server 2016, Windows Server 2016 Core
  • Windows 7 SP1 x64 (compatível somente com BYOL)
  • Windows 10 Enterprise x64 (compatível somente com BYOL)

Para todos os sistemas operacionais Windows, é preciso instalar o PowerShell versão 3 ou mais recente. As versões do PowerShell anteriores à 3.0 podem causar problemas com os scripts de inicialização e desligamento usados no processo de importação.

Compatibilidade com BYOL (traga sua própria licença)

Por padrão, os arquivos OVF que usam sistemas operacionais Windows e Red Hat Enterprise Linux são importados e configurados para usar o faturamento SO premium sob demanda, que gera mais cobranças.

Se você preferir usar suas próprias assinaturas de software para o RHEL, poderá importar dispositivos virtuais como dispositivos licenciados por BYOL.

Para importar dispositivos como dispositivos licenciados por BYOL, especifique um dos seguintes valores de BYOL para o sinalizador [--os] quando você executar o comando de importação.

  • rhel-6-byol
  • rhel-7-byol
  • windows-2008r2-byol
  • windows-2012-byol
  • windows-2012r2-byol
  • windows-2016-byol
  • windows-7-byol
  • windows-10-byol

Como importar um arquivo OVA

  1. Adicione o dispositivo virtual ao Cloud Storage.
  2. Para importar um arquivo OVA do Cloud Storage para o Compute Engine, use o comando gcloud beta compute instances import.

    gcloud beta compute instances import [INSTANCE_NAME] \
      --source-uri=gs:[PATH_TO_OVA_FILE]
    

    em que:

    • [INSTANCE_NAME] é o nome da instância que você quer criar;
    • [PATH_TO_OVA_FILE] é o caminho do arquivo OVA no Cloud Storage.

    Por exemplo, para importar um arquivo OVA Ubuntu.ova e criar uma instância chamada my-instance, execute o seguinte comando:

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/Ubuntu.ova
    

    Em alguns casos, pode ser solicitado um valor para o sistema operacional. Para especificar o sistema, adicione o sinalizador --os. Por exemplo, para importar um arquivo OVA Ubuntu.ova e criar uma instância chamada my-instance que executa o Ubuntu 16.04, execute o seguinte comando:

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604
     --source-uri=gs://my-bucket/Ubuntu.ova
    

Como importar um arquivo OVF

  1. Adicione o dispositivo virtual ao Cloud Storage.
  2. Para importar um arquivo OVF do Cloud Storage para o Compute Engine, use o comando gcloud beta compute instances import.

    Se o diretório contiver apenas um arquivo OVF, será possível fornecer o caminho para o arquivo descritor ou o caminho para o diretório que contém o arquivo OVF.

    • Para importar um arquivo OVF usando o caminho para o arquivo descritor, execute o seguinte comando:

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_FILE]
      
    • Para importar um arquivo OVF usando o caminho do diretório, execute o seguinte comando:

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_DIRECTORY]
      

    em que:

    • [INSTANCE_NAME] é o nome da instância que você quer criar;
    • [PATH_TO_OVA_FILE] é o caminho do arquivo OVA no Cloud Storage;
    • [PATH_TO_OVF_DIRECTORY] é o caminho para o diretório que contém o arquivo OVA no Cloud Storage.

    Por exemplo, para importar um arquivo OVF Ubuntu.ovf no diretório my-dir para criar uma instância my-instance, execute o seguinte comando:

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/
    

    Em alguns casos, pode ser solicitado um valor para o sistema operacional. Para especificar o sistema, adicione o sinalizador --os. Por exemplo, para importar um arquivo OVA Ubuntu.ovf e criar uma instância chamada my-instance que executa o Ubuntu 16.04, execute o seguinte comando:

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604 \
     --source-uri=gs://my-bucket/
    

Como importar configurações personalizadas

CPU e memória personalizadas

Para substituir a configuração de CPU ou memória especificada no arquivo OVF, especifique os sinalizadores --custom-cpu e --custom-memory .

Por exemplo, para importar uma instância my-instance que executa o Ubuntu 1404 e tem duas CPUs e 2048 MB de memória, execute o seguinte comando:

gcloud beta compute instances import my-instance \
  --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \
  --custom-cpu=2 --custom-memory=2048MB

Redes personalizadas

Se o seu projeto estiver configurado para usar redes personalizadas, você precisará especificar um sinalizador --network. Se a rede estiver configurada com o modo de sub-rede personalizado, você deverá especificar também os sinalizadores --subnet e --zone.

Por exemplo, para importar uma instância com as seguintes propriedades:

  • Nome da instância: my-instance
  • Sistema operacional: Ubuntu 1404
  • Rede: custom-vpc network
  • Sub-rede: company-vpc-us-east1-c
  • Zona: us-east1-c

Execute este comando:

gcloud beta compute instances import my-instance --os ubuntu-1404 \
  --source-uri=gs://my-bucket/Ubuntu.ova \
  --network company-vpc \
  --subnet company-vpc-us-east1-c \
  --zone us-east1-c
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine