Como importar manualmente discos virtuais

A maneira recomendada de importar imagens de disco de inicialização para o Compute Engine de seus data centers físicos, de máquinas virtuais (VMs, na sigla em inglês) na sua estação de trabalho local ou de VMs executadas em outra plataforma de nuvem é usar a ferramenta de importação de disco virtual, que automatiza todas as etapas deste guia.

Se preferir não usar a ferramenta automatizada, siga as instruções manuais passo a passo deste guia.

O processo de importação de imagens é realizado com um disco por vez. Neste guia, o foco é mostrar como importar imagens de discos de inicialização.

Importe seus discos de inicialização atuais somente se não for possível criar ou migrar seus aplicativos para serem executados em imagens públicas do Compute Engine. As imagens públicas já estão configuradas para serem executadas no ambiente do Compute Engine. Assim, é possível executar aplicativos nessas imagens sem ter que se preocupar com o carregador de inicialização e com as configurações do sistema operacional. No entanto, talvez seja necessário importar as imagens do seu disco de inicialização nos seguintes cenários:

  • Seus aplicativos exigem um sistema operacional não fornecido como imagem pública.
  • Você já tem um conjunto de imagens básicas para criar VMs em outra plataforma de nuvem.
  • O trabalho necessário para migrar o código do aplicativo para uma das imagens públicas é maior do que aquele para concluir o processo de importação da imagem do disco de inicialização.

Para receber ajuda na migração de suas VMs, use serviços de parceiros. Para mais informações, consulte Como migrar VMs para o Compute Engine.

Visão geral

Para importar uma imagem de disco de inicialização para o Compute Engine, execute o seguinte processo:

  1. Planeje seu caminho de importação. Identifique o local para preparar sua imagem de disco de inicialização antes de fazer upload dela, além de definir como se conectar a essa imagem após a inicialização no ambiente do Compute Engine.
  2. Prepare seu disco de inicialização para que ele seja executado no ambiente do Compute Engine e para que possa ser acessado após a inicialização.
  3. Crie e compacte a imagem do disco de inicialização.
  4. Faça upload do arquivo de imagem para o Cloud Storage e importe a imagem para o Compute Engine como uma nova imagem personalizada.
  5. Use a imagem importada para criar uma instância de VM e garantir que ela seja inicializada corretamente.
  6. Se a imagem não for inicializada corretamente, solucione o problema anexando a imagem do disco de inicialização a outra instância e reconfigure-a.
  7. Otimize a imagem e instale o ambiente convidado para que a imagem do sistema operacional importada se comunique com o servidor de metadados e use outros recursos do Compute Engine.

Requisitos

Requisitos do disco de inicialização

Para importar discos de inicialização para o Compute Engine, eles precisam atender aos seguintes requisitos:

  • Se você criou um kernel do sistema operacional personalizado, ele precisa atender aos requisitos de configuração de hardware e kernel. A maioria das distribuições Linux atende a eles, então esse requisito só se aplica a usuários avançados que desenvolvem os próprios sistemas operacionais personalizados para execução no Compute Engine.
  • O disco de inicialização não pode ser superior a 2.048 GB (2 TB).
  • O disco de inicialização importado precisa ter uma tabela particionada MBR funcional ou uma configuração híbrida de uma tabela particionada GPT com um carregador de inicialização MBR.
  • A partição principal do disco de inicialização pode ter qualquer formato, desde que seja inicializada corretamente a partir do carregador de inicialização MBR.
  • O carregador no disco de inicialização não pode ter os argumentos de linha de comando de kernel quiet, rhgb ou splashimage=. O Compute Engine não é compatível com telas de apresentação na inicialização. Remova esses valores da configuração do GRUB durante a etapa de configuração do carregador de inicialização.
  • O sistema operacional no disco de inicialização precisa ser compatível com ACPI.

Requisitos do arquivo de imagem

O arquivo de imagem a ser importado precisa atender aos seguintes requisitos:

  • O nome do arquivo de imagem do disco precisa ser disk.raw.
  • O tamanho do arquivo de imagem RAW precisa ter valores redondos de no mínimo 1 GB. Por exemplo, ele precisa ter 10 GB ou 11 GB, jamais 10,5 GB.
  • O arquivo compactado precisa ser do tipo .tar.gz e usar compactação gzip, bem como a opção --format=oldgnu para o utilitário tar (manual) (link em inglês).

É possível importar imagens de disco de inicialização para qualquer sistema operacional. Porém, alguns sistemas são mais fáceis de configurar no ambiente do Compute Engine do que em outros. Os sistemas operacionais a seguir foram testados para este guia:

  • Debian 7 e Debian 8
  • RHEL/CentOS 6
  • openSUSE 13.x
  • Ubuntu 12.04, 14.04 e 16.04

Os seguintes sistemas operacionais exigem outras etapas não indicadas neste guia:

  • Debian 6 e anteriores
  • RHEL/CentOS 7
  • RHEL/CentOS 5 e anteriores
  • Ubuntu 10.04 e anteriores

Requisitos do projeto

Quando você cria uma instância de VM a partir de uma imagem importada, a instância precisa acessar o repositório de pacotes externos do sistema operacional configurado no disco de inicialização.

Esse repositório pode ser acessado diretamente do fornecedor do sistema operacional ou por meio de uma conexão de rede com a infraestrutura local que o hospeda.

Para configurar o acesso ao repositório externo, conclua uma das seguintes etapas no projeto:

Custos de importação de imagens

Antes de começar, entenda os custos envolvidos no processo de importação. Não há custo de entrada na rede para o upload do arquivo de imagem de disco de inicialização no Cloud Storage nem custo de importação dessa imagem como imagem personalizada do Compute Engine. No entanto, há custos para determinadas etapas do processo de importação:

  • O custo de armazenamento temporário dos seus arquivos de imagem compactados em um intervalo padrão do Cloud Storage. Use um intervalo temporário do Cloud Storage para controlar seus arquivos antes de importá-los como imagens personalizadas do Compute Engine. Remova o intervalo após a conclusão do processo de importação.
  • O custo de armazenamento de imagens personalizadas após a importação delas para o Compute Engine.
  • O custo potencial para saída de dados do seu datacenter, do provedor de rede ou do serviço de nuvem atual. É possível que os arquivos de imagem continuem muito grandes mesmo após a compactação. Portanto, copiá-los para o Compute Engine pode gerar taxas de saída significativas em algumas plataformas.
  • O custo de discos permanentes e instâncias de VM em que é possível configurar a imagem depois de importá-la para o Compute Engine.

Planejar e preparar seu caminho de importação

O método para importação do seu disco depende da configuração atual do sistema que você quer passar para o Compute Engine. Adote um sistema que possibilite a criação e compactação do arquivo de imagem do disco de inicialização e que faça upload do arquivo de imagem para o Cloud Storage. Considere os seguintes itens ao planejar seu caminho de importação:

  • No caminho de importação de imagem, é necessário configurar seu disco de inicialização em um ambiente de sistema operacional em execução. Esse processo impede a inicialização do disco em ambientes externos ao do Compute Engine. Você é o responsável por garantir que não haja perda de dados nos seus discos nem interrupções nos seus aplicativos comerciais funcionais enquanto está importando seu sistema para o Compute Engine.
  • Identifique a configuração de acesso ao sistema atual e planeje como quer acessá-lo após a importação para o Compute Engine.
    • Se o sistema tem configurações do SSH ou de login do usuário atual, configure somente o carregador de inicialização e a imagem para uma execução otimizada no Compute Engine. Acesse a instância por meio da sua configuração do SSH ou do login de usuário diretamente no console serial interativo.
    • Se o sistema não tem configurações de login de usuário atual ou SSH, é necessário configurar o disco de inicialização para acessá-lo após a inicialização no Compute Engine.
  • O processo de importação pode durar horas ou dias, dependendo do tamanho do seu disco de inicialização e da velocidade da sua conexão de rede.
  • O sistema em que você cria e compacta sua imagem de disco de inicialização precisa ter espaço de armazenamento suficiente para gerar os arquivos de imagem em outro dispositivo de armazenamento que não seja o próprio disco de inicialização. Normalmente, suas imagens e seus arquivos tar.gz usam um espaço duas a três vezes maior do que o do próprio disco de inicialização.
  • Entenda a estrutura do sistema de arquivos que você quer importar.
    • Se o sistema operacional e os arquivos de aplicativo estão distribuídos entre vários discos, importe cada um deles individualmente e use cada imagem para criar discos permanentes únicos para sua instância de VM do Compute Engine.
    • Caso os sistemas tenham volumes de inicialização em uma configuração RAID em que vários discos funcionam como volumes lógicos únicos, crie uma imagem para a matriz inteira em vez de criar uma imagem para cada disco. Os discos permanentes do Compute Engine eliminam a necessidade de configurações RAID.
  • Se o sistema criptografa o conteúdo dos discos de inicialização com um módulo de plataforma confiável ou com uma criptografia de software, descriptografe o disco antes de criar o arquivo de imagem dele. O Google não lê imagens que estejam criptografadas. Criptografamos suas imagens logo após o upload. Com isso, é possível fornecer chaves de criptografia próprias para discos permanentes e intervalos do Cloud Storage.

Depois de identificar ou criar um sistema em que é possível completar o processo de importação, conecte-se a ele e configure o carregador de inicialização.

Preparar a imagem do disco de inicialização

Em um sistema em execução, prepare a imagem do disco de inicialização para que ela funcione no ambiente do Compute Engine.

  • Configure o carregador no disco de inicialização para que a imagem seja executada no Compute Engine.
  • Configure o SSH ou o acesso de login de usuários no disco de inicialização para acessá-lo após a importação para o Compute Engine e iniciá-lo como instância de VM.

Esse processo pode impossibilitar a inicialização do sistema fora do Compute Engine. Portanto, uma prática recomendada é concluir essa etapa em um sistema isolado usando uma cópia do disco de inicialização que você quer importar.

Configurar o carregador de inicialização

Configure o carregador de inicialização no sistema para que ele seja executado no Compute Engine.

  1. Conecte-se ao terminal do sistema usando o disco de inicialização que você planeja importar.

  2. Edite o arquivo de configuração do GRUB. Esse arquivo normalmente está em /etc/default/grub. Porém, em algumas distribuições mais antigas, ele pode estar em um diretório não padrão.

  3. Faça as alterações a seguir no arquivo de configuração do GRUB:

    • Remova todas as linhas que tenham splashimage=. O Compute Engine não é compatível com telas de apresentação na inicialização.
    • Remova os argumentos de linha de comando do kernel rhgb e quiet.
    • Adicione console=ttyS0,38400n8d aos argumentos de linha de comando do kernel para que a instância possa interagir com o console serial.
  4. Gere novamente o arquivo grub.cfg. De acordo com sua distribuição, use um dos comandos a seguir.

    • Debian e Ubuntu: sudo update-grub
    • RHEL, CentOS: sudo grub-mkconfig -o /boot/grub/grub.cfg
    • SUSE, openSUSE: sudo grub2-mkconfig -o /boot/grub/grub.cfg
  5. Edite o arquivo /etc/fstab e remova referências a todos os discos e partições diferentes do disco de inicialização e de partições nesse disco. Entradas inválidas em /etc/fstab podem interromper o processo de inicialização do sistema.

Depois de configurar o carregador de inicialização, crie e compacte o arquivo de imagem de disco.

Configurar o SSH ou o acesso de login de usuário na imagem

Quando sua imagem está em execução no Compute Engine como instância de VM, é necessário um meio para acessar essa instância. Conecte-se à instância usando uma configuração do SSH ou faça login usando um nome de usuário e uma senha na conexão com o console serial.

Conclua a configuração do SSH ou de login de usuário antes de criar e compactar o arquivo de imagem de disco.

Criar e compactar o arquivo de imagem de disco

Crie e compacte o arquivo de imagem de disco de inicialização do sistema que quer importar para o Compute Engine. O processo de criação e compactação do arquivo de imagem varia dependendo da plataforma em que seu sistema opera.

Genérico

Em quase todos os sistemas, use esse processo para criar arquivos de imagem RAW que possam ser importados para o Compute Engine. Conclua esse processo no sistema em execução que estiver importando ou anexe seu disco de inicialização como secundário em outro sistema. Além disso, gere a imagem de disco de inicialização a partir do disco interrompido. Verifique se você tem espaço de armazenamento suficiente para manter temporariamente os arquivos de imagem de disco. Este exemplo utiliza uma imagem de um sistema em execução.

  1. Conecte-se ao terminal do sistema que contém o disco de inicialização que você planeja importar.

  2. Use o comando lsblk para identificar o disco de inicialização de origem a partir do qual você quer criar uma imagem e o local em que há espaço suficiente para gravar os arquivos de imagem. Para esse exemplo, /dev/sda é o disco de inicialização de origem e /dev/sdb é um disco secundário maior ativado no diretório /tmp. Mesmo com /dev/sda em execução, é possível criar uma imagem a partir dele. Convém fazer isso em um sistema em repouso que não esteja processando ativamente dados nem executando aplicativos.

    $ lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0  100G  0 disk
    ├─sda1   8:1    0   96G  0 part /
    ├─sda2   8:2    0    1K  0 part
    └─sda3   8:5    0    4G  0 part [SWAP]
    sdb      8:16   0  500G  0 disk /tmp
    sr0     11:0    1 1024M  0 rom
    
  3. Crie o arquivo de imagem do seu disco de inicialização.

    $ sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
    
  4. Alterne para o diretório no qual você gravou o arquivo disk.raw.

    $ cd /tmp
    
  5. Compacte o disco RAW no formato tar.gz. Nesta etapa, o arquivo de imagem é compactado para acelerar o upload dele no Cloud Storage. No OSX, instale gtar e use-o para esta etapa em vez de tar.

    $ sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

AWS EC2

Se você estiver importando uma instância do Amazon EC2, agrupe o volume Amazon EBS usando as ferramentas AMI:

  1. Localize e anote o ID da conta da Amazon no console de configurações da conta.

  2. Em sua instância do Amazon EC2, faça o download e instale as ferramentas EC2 AMI.

  3. Execute ec2-bundle-vol como raiz com os argumentos a seguir, substituindo cert-<hash>.pem pelo arquivo do certificado, pk-<hash>.pem pela chave privada e AWS_ACCOUNT_ID pelo ID da conta da Amazon. Esse comando cria o arquivo image.

    ec2-bundle-vol -c /tmp/build/cert-<hash>.pem \
        -k /tmp/build/pk-<hash>.pem -u AWS_ACCOUNT_ID \
        -r x86_64 --no-filter --exclude /tmp/build \
        --grub-config /tmp/build/menu.lst \
        --fstab /tmp/build/fstab
    
  4. Compacte o disco RAW no formato tar.gz. Nesta etapa, o arquivo de imagem é compactado para acelerar o upload dele no Cloud Storage. No OSX, instale gtar e use-o para esta etapa em vez de tar.

    $ sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

VirtualBox

Se você preparou seu sistema em um ambiente VirtualBox, é possível usar a ferramenta VBoxManage para converter uma imagem de disco .vdi ou .qcow2 para o formato disk.raw.

  1. Encerre a máquina do sistema convidado do VirtualBox que você quer importar. Desative-a com a interface do VirtualBox ou com o utilitário VBoxManage.

    VBoxManage controlvm [GUEST_NAME] acpipowerbutton
    

    [GUEST_NAME] é o nome da máquina virtual.

  2. Converta a imagem da máquina virtual no formato RAW com o utilitário VBoxManage:

    VBoxManage clonemedium [GUEST_IMAGE] \
        ~/disk.raw --format RAW
    

    [GUEST_IMAGE] é o caminho para a imagem da máquina virtual .vdi ou do arquivo .qcow2.

  3. Compacte o disco RAW no formato tar.gz. Nesta etapa, o arquivo de imagem é compactado para acelerar o upload dele no Cloud Storage. No OSX, instale gtar e use-o para esta etapa em vez de tar.

    $ sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

O arquivo de imagem será compactado e ficará pronto para upload no Cloud Storage.

Importar a imagem para sua lista de imagens personalizadas

Faça upload do arquivo para o Cloud Storage e importe a imagem para sua lista de imagens personalizadas. Se você quiser, criptografe a imagem durante a etapa de importação.

Importe a imagem usando o console ou as ferramentas do SDK do Cloud:

Console

Copie o arquivo compressed-image.tar.gz para sua estação de trabalho local e use o Console do GCP para criar um intervalo e fazer o upload do arquivo.

  1. No Console do GCP, acesse a página "Navegador" do Cloud Storage.

    Acessar a página "Navegador"

  2. No topo da página, clique em Criar intervalo.
  3. Especifique um nome de intervalo único, a classe de armazenamento Padrão e um local para armazenar seus arquivos de imagem.
  4. Clique em Criar para criar o intervalo. Na página "Navegador", acesse o novo intervalo.
  5. No topo da página, clique em Fazer upload de arquivos.
  6. Na caixa de diálogo do arquivo, selecione o arquivo compressed-image.tar.gz do qual você fez download para o sistema. O upload do arquivo é feito a partir da sua estação de trabalho local. Essa etapa pode levar muitas horas, dependendo do tamanho do seu arquivo de imagem compactado e da velocidade da sua conexão de rede.

Depois de fazer upload da imagem para o Cloud Storage, importe o arquivo de imagem para sua lista de imagens personalizadas.

  1. No Console do GCP, acesse a página Imagens.

    Acessar a página "Imagens"

  2. Na parte superior da página, clique em Criar imagem.
  3. No campo Nome, especifique um nome exclusivo para a imagem.
  4. Opcionalmente, especifique uma família para a nova imagem ou defina configurações específicas de criptografia para ela.
  5. Clique no menu Origem e selecione Arquivo do Cloud Storage.
  6. Informe o caminho para o arquivo compressed-image.tar.gz que você fez upload para o Cloud Storage.

    [BUCKET_NAME]/compressed-image.tar.gz
    
  7. Clique no botão Criar para importar a imagem. O processo pode levar muitos minutos, dependendo do tamanho da imagem do disco de inicialização.

Agora, a imagem faz parte da página Imagens, mas você precisa configurar o carregador de inicialização antes de usá-la para criar uma instância de VM funcional.

gcloud e gsutil

Use as ferramentas gsutil e gcloud para fazer upload do arquivo compactado de imagem de disco de inicialização. Conclua esse processo no sistema em que criou a imagem de disco de inicialização ou copie esse arquivo para outro sistema e conclua o processo de upload.

  1. Instale e inicialize o SDK do Cloud no sistema do qual você planeja fazer upload de compressed-image.tar.gz.

  2. Use a ferramenta gsutil para criar um novo intervalo do Cloud Storage.

     $ gsutil mb gs://[BUCKET_NAME]
     

  3. Faça upload do arquivo compressed-image.tar.gz no intervalo novo.

     $ gsutil cp compressed-image.tar.gz gs://[BUCKET_NAME]
     

  4. Importe o arquivo de imagem como uma nova imagem personalizada.

     $ gcloud compute images create [IMAGE_NAME] --source-uri gs://[BUCKET_NAME]/compressed-image.tar.gz
     

A imagem passa a fazer parte da lista de imagens personalizadas. Porém, configure o carregador de inicialização para usar a imagem na criação de uma instância de VM funcional.

  $ gcloud compute images list --no-standard-images
  
  NAME                                            PROJECT                  FAMILY                    DEPRECATED  STATUS
  [IMAGE_NAME]                                    [PROJECT_ID]                                                   READY
  

Testar a imagem importada para garantir o funcionamento dela

Confirme se a imagem importada funciona conforme esperado. Crie uma instância usando um disco de inicialização que utiliza a imagem importada.

Console

  1. No Console do GCP, acesse a página Instâncias de VM.

    Acessar a página "Instâncias"

  2. Clique no botão Criar.
  3. Em Disco de inicialização, clique em Alterar para começar a configurar o disco de inicialização.
  4. Na guia Imagens personalizadas, clique na imagem que você importou.
  5. Clique em Selecionar para confirmar a configuração do disco de inicialização.
  6. Clique no botão Criar para criar a instância.

gcloud

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --image [IMAGE_NAME]

em que:

  • [INSTANCE_NAME] é o nome exclusivo da sua instância;
  • [ZONE] é a zona em que você criou o disco independente;
  • [IMAGE_NAME] é o nome da imagem que você importou.

Depois de criar a instância, confirme se ela está sendo inicializada corretamente. Confira a saída da porta serial:

Console

  1. No Console do GCP, acesse a página Instâncias de VM.

    Acessar a página "Instâncias"

  2. Na lista de instâncias, clique no nome da instância que você criou a partir da imagem importada. A página de detalhes da instância é aberta.
  3. Na parte inferior da página de detalhes da instância, clique em Visualizar porta serial para verificar a saída da porta serial dessa instância.

Se a instância parar em Booting from Hard Disk 0..., solucione os problemas no ambiente do Compute Engine. Também é possível reconfigurar o disco de inicialização no sistema original e repetir o processo de importação.

gcloud

gcloud compute instances get-serial-port-output [INSTANCE_NAME]

Se a instância parar em Booting from Hard Disk 0..., solucione os problemas no ambiente do Compute Engine. Também é possível reconfigurar o disco de inicialização no sistema original e repetir o processo de importação.

Teste também a instância quando se conectar a ela. Faça isso por meio de uma destas opções:

  • SSH: se a instância tem uma configuração do SSH funcional, conecte-se à instância usando o SSH e a chave privada. Encontre o endereço IP da instância na página Instâncias de VM.
  • Console serial: para fazer o login na instância sem o SSH, ative o console serial e faça login com um nome de usuário e uma senha.

Como resolver problemas em discos de inicialização

Caso a instância não seja inicializada e você não consiga se conectar nem fazer login nela por meio do console serial interativo, identifique o motivo pelo qual o disco de inicialização não está concluindo o processo.

Depois de identificar em que parte está ocorrendo a falha na inicialização, corrija o erro usando uma das seguintes opções:

Como resolver problemas em discos de inicialização no Compute Engine

Ative sua imagem importada em um disco secundário anexado a uma instância de VM temporária. Use o Console do GCP ou a ferramenta gcloud para criar um disco independente da imagem de que fez upload e crie também uma VM temporária com o disco independente anexado. É possível usar essa instância para modificar arquivos no disco independente e corrigir erros que provocam falha no processo de inicialização da imagem.

Console

Crie um disco independente a partir da imagem do disco de inicialização que você importou. Desanexe um disco de inicialização de uma instância e crie a instância usando esse disco.

  1. No console do GCP, acesse a página Discos.

    Acessar a página "Discos"

  2. Clique em Criar disco.
  3. Na página Criar novo disco, especifique os seguintes atributos:
    • Zona: Selecione uma zona próxima de você. Use a mesma zona quando criar a instância temporária.
    • Tipo de origem: Imagem
    • Imagem de origem: Especifique o nome da imagem do disco de inicialização que você importou.
  4. Clique em Criar para criar o disco.

Crie uma instância temporária em que seja possível anexar o disco independente e configure o carregador de inicialização para funcionar em um ambiente do Console do GCP.

  1. No Console do GCP, acesse a página Instâncias de VM.

    Acessar a página "Instâncias"

  2. Clique no botão Criar instância.
  3. Na página Criar uma nova instância, especifique um nome de instância e uma zona para localizar a instância. A zona precisa ser a mesma em que você criou o disco independente.
  4. Expanda a seção Gerenciamento, segurança, discos, rede, locatário único.
  5. Na guia Discos da seção Discos adicionais, clique em Anexar disco atual. Uma nova seção será exibida.
  6. Na seção Disco, selecione o disco independente que foi criado na lista suspensa. Isso anexa o disco independente à instância para que seja possível ativá-lo e, posteriormente, modificar o respectivo conteúdo.
  7. Clique em Concluído para terminar de anexar o disco.
  8. Clique no botão Criar para criar a instância.

gcloud

Crie um disco independente a partir da imagem do disco de inicialização que você importou. Desanexe um disco de inicialização de uma instância e crie a instância usando esse disco.

gcloud compute disks create [DISK_NAME] --zone [ZONE] --image [IMAGE_NAME]

em que:

  • [DISK_NAME] é o nome do novo disco independente;
  • [ZONE] é a zona próxima a você. Use a mesma zona quando criar a instância temporária;
  • [IMAGE_NAME] é o nome da imagem do disco de inicialização que você importou.

Crie uma instância temporária em que seja possível anexar o disco independente e configure o carregador de inicialização para funcionar em um ambiente do Console do GCP.

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --disk name=[DISK_NAME]

em que:

  • [INSTANCE_NAME] é o nome exclusivo da sua instância;
  • [ZONE] é a zona em que você criou o disco independente;
  • [DISK_NAME] é o nome do disco independente criado a partir da imagem de disco de inicialização importado.

Depois de criar a instância com o disco independente anexado, você terá um ambiente virtual em que é possível modificar o carregador de inicialização a partir da imagem do disco de inicialização original.

Conecte-se à instância, ative o disco independente e configure o carregador de inicialização para que ele seja executado no Compute Engine.

  1. Conecte-se à instância temporária usando o SSH do navegador ou o comando gcloud compute ssh.
  2. Use o comando blkid para identificar o disco que quer modificar e as partições que precisa ativar. Nesse exemplo, /dev/sdb é o disco que você importou.

    $ lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   10G  0 disk
    └─sda1   8:1    0   10G  0 part /
    sdb      8:16   0  100G  0 disk
    ├─sdb1   8:17   0   96G  0 part
    ├─sdb2   8:18   0    1K  0 part
    └─sdb5   8:21   0    4G  0 part
    
  3. Ative a partição raiz a partir do disco independente no diretório /tmp. Nesse exemplo, /dev/sdb1 é a partição raiz, e as outras partições não exigem modificações. O esquema de partição pode exigir a ativação de várias partições para acessar todos os arquivos que você precisa mudar.

    $ sudo mount /dev/sdb1 /tmp
    
  4. Edite os arquivos que possam provocar falha do disco no processo de inicialização. Para mais informações, consulte as instruções de configuração do carregador de inicialização.

  5. Desconecte o disco de inicialização da instância temporária.

    $ sudo umount /tmp
    

Quando terminar a configuração do disco, desanexe-o e use-o como disco de inicialização da nova instância.

Console

Desanexe o disco independente da instância temporária.

  1. No Console do GCP, acesse a página Instâncias de VM.

    Acessar a página "Instâncias"

  2. Na lista de instâncias, clique no nome da instância temporária em que você modificou o disco de inicialização independente. A página de detalhes da instância é aberta.
  3. No topo da página de detalhes da instância, clique em Editar.
  4. Na seção Discos adicionais, clique no X ao lado do disco independente para indicar que você quer desanexá-lo da instância temporária.
  5. Na parte inferior da página de detalhes da instância, clique em Salvar para salvar suas alterações.

Use o disco independente desanexado para criar uma nova instância.

  1. No Console do GCP, acesse a página Instâncias de VM.

    Acessar a página "Instâncias"

  2. Clique no botão Criar instância.
  3. Na página Criar uma nova instância, especifique um nome de instância e uma zona para localizar a instância. A zona precisa ser a mesma em que você criou o disco independente.
  4. Na seção Disco de inicialização, clique em Alterar para configurar o disco de inicialização.
  5. Na guia Discos atuais, selecione o disco de inicialização independente para usá-lo na inicialização dessa nova instância.
  6. Clique no botão Criar para criar a instância.

gcloud

Desanexe o disco independente da instância temporária.

gcloud compute instances detach-disk [INSTANCE_NAME] --disk [DISK_NAME]

em que:

  • [INSTANCE_NAME] é o nome exclusivo da sua instância;
  • [DISK_NAME] é o nome do novo disco independente;

Use o disco independente desanexado para criar uma nova instância.

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --disk name=[DISK_NAME],boot=yes

em que:

  • [INSTANCE_NAME] é o nome exclusivo da sua instância;
  • [ZONE] é a zona em que está o disco independente;
  • [DISK_NAME] é o nome do disco independente criado a partir da imagem de disco de inicialização importado.

Teste a instância criada usando o disco de inicialização modificado. Se ainda não conseguir se conectar à instância, leia a saída do console serial novamente para identificar onde o processo de inicialização está falhando. Repita o processo de solução de problemas até corrigir as irregularidades na imagem de disco de inicialização.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine