Como desconectar e reconectar discos

Este documento explica como anexar e reanexar discos de inicialização e não de inicialização a instâncias bare metal e de máquina virtual (VM) do Compute Engine.

A remoção do disco de inicialização de uma instância ajuda a concluir as seguintes tarefas sem precisar recriar a instância:

  • Substituir o disco de inicialização de uma instância por outro
  • Reparar o disco de inicialização de uma instância anexando-o temporariamente a outra instância

A remoção de um disco que não é de inicialização de uma instância e a anexação a outra permite usar os dados do disco da segunda instância sem precisar copiar os dados para um novo disco.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a Cloud de Confiance by S3NS serviços e APIs do. Para executar código ou amostras de um ambiente de desenvolvimento local, faça a autenticação no Compute Engine selecionando uma das seguintes opções:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Cloud de Confiance console para acessar Cloud de Confiance by S3NS serviços e APIs, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init
  • Defina uma região e uma zona padrão.
  • REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .

Permissões exigidas para a tarefa

Para executar esta tarefa, é preciso ter a permissão a seguir:

  • compute.instances.detachDisk na instância
  • compute.instances.attachDisk na instância

Mover um disco de inicialização entre instâncias

Antes de mover um disco de inicialização entre instâncias que usam séries de máquinas diferentes, confirme se a arquitetura do disco de inicialização de ambas as instâncias corresponde. Por exemplo, não é possível anexar um disco de inicialização de uma instância C4A a uma instância C4 porque C4A e C4 usam arquiteturas Arm e x86, respectivamente. Para determinar a arquitetura de uma série de máquinas, consulte a linha Arquitetura na tabela de comparação de séries de máquinas.

Para outros fatores a serem considerados ao mover um disco de inicialização entre séries de máquinas, consulte Mover a carga de trabalho para uma nova instância de computação.

Restrições

  • A arquitetura do disco de inicialização precisa corresponder à arquitetura da instância. Por exemplo, não é possível anexar um disco de inicialização que usa x86 a uma instância Arm.
  • É possível anexar ou remover um disco de inicialização somente de uma instância de VM interrompida.
  • É possível anexar apenas um disco de inicialização por instância de VM.
  • Se estiver usando a CLI gcloud ou a REST, será possível anexar apenas os discos de inicialização atuais a uma instância de VM.
  • Não é possível remover um disco SSD local de uma instância. Só é possível anexar discos SSD locais a uma instância quando você a cria.

Remover um disco de inicialização

Antes de desanexar o disco de inicialização da instância, interrompa a instância. Não é preciso desconectar o disco.

Console

  1. Acesse a página "Instâncias de VM".

    Acessar instâncias de VM

  2. Se solicitado, selecione o projeto e clique em Continuar.
  3. Clique na instância de que você quer remover o disco de inicialização.
  4. Clique em Parar para parar a VM. Se não houver a opção Parar, clique em Mais ações > Parar.
  5. Clique em Editar.
  6. Na seção Disco de inicialização, clique em Remover disco de inicialização.
  7. Clique em Salvar.

gcloud

Use o gcloud compute instances detach-disk comando para remover o disco de inicialização da instância:

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

Substitua:

  • INSTANCE_NAME: o nome da instância.
  • DISK_NAME: o nome do disco que você quer remover. Geralmente, o nome do disco é igual ao da instância.

REST

Crie uma solicitação POST para remover o disco:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

Substitua:

  • PROJECT_ID: ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • ZONE: a zona em que as instâncias estão localizadas.
  • DISK_NAME: o nome do disco que você quer remover. Geralmente, o nome do disco é igual ao da instância.

Reanexar um disco de inicialização

Qualquer disco pode ser reanexado como um disco de inicialização a uma instância, desde que ela ainda não tenha um disco como esse anexado e ele esteja na mesma zona da instância da VM. Caso personalize um disco de inicialização, você precisará verificar se ele é inicializado corretamente depois de anexado.

O disco existente e o novo disco precisam ser compatíveis com UEFI ou não. Para criar um disco compatível com UEFI, use o comando gcloud compute disk create com a sinalização --guest-os-features definida como UEFI_COMPATIBLE.

Console

  1. Acesse a página "Instâncias de VM".

    Acessar instâncias de VM

  2. Se solicitado, selecione o projeto e clique em Continuar.
  3. Clique na instância de que você quer anexar o disco de inicialização.
  4. Se a VM estiver em execução, clique em Parar para parar a VM. Se não houver a opção Parar, clique em Mais ações > Parar.
  5. Clique em Editar.
  6. Acesse a seção Disco de inicialização.
  7. Clique em Adicionar item.
  8. Selecione um disco de inicialização no menu suspenso.
  9. Clique em Salvar.

gcloud

Use o comando gcloud compute instances attach-disk para anexar ou reanexar um disco de inicialização a uma instância de VM. Inclua a sinalização --boot para indicar que o disco está sendo usado como o disco de inicialização da instância. Se essa sinalização estiver ausente, o disco será anexado como um disco de dados que não seja de inicialização.

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

Substitua:

  • INSTANCE_NAME: o nome da instância.
  • DISK_NAME: o nome do disco que você quer anexar. Ele pode ser igual ao nome da instância;

REST

Crie uma solicitação POST para anexar o disco. Inclua o parâmetro opcional "boot": true para indicar que esse disco é o de inicialização. Se esse parâmetro estiver ausente, o disco será anexado como um disco de dados que não seja de inicialização.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
 "boot": true,
 "source": "zones/ZONE/disks/DISK_NAME"
}

Substitua:

  • PROJECT_ID: ID do projeto.
  • INSTANCE_NAME: o nome da instância a que você está anexando o novo disco permanente.
  • ZONE: a zona em que a instância e o novo disco estão localizados.
  • DISK_NAME: o nome do novo disco.

Depois de anexar o disco à instância de VM, reinicie a instância.

Atualizar um disco de inicialização de uma instância

Só é possível usar o Cloud de Confiance console para atualizar o disco de inicialização para uma VM em uma etapa. Especificamente, é possível desanexar um disco de inicialização atual e anexar um novo com apenas uma ação.

Este recurso não está disponível pela CLI gcloud ou REST.

  1. Acesse a página "Instâncias de VM".

    Acessar instâncias de VM

  2. Se solicitado, selecione o projeto e clique em Continuar.
  3. Clique na instância de que você quer anexar o disco de inicialização.
  4. Se a VM estiver em execução, clique em Parar para parar a VM. Se não houver a opção Parar, clique em Mais ações > Parar.
  5. Clique em Editar no topo da página.
  6. Na seção Disco de inicialização, clique em Remover disco de inicialização.
  7. Clique em Adicionar item.
  8. Selecione um disco de inicialização no menu suspenso.
  9. Clique em Salvar.

O Cloud de Confiance console continua para remover o disco de inicialização atual e anexar o novo disco que você especificou. Quando esse processo estiver concluído, reinicie a instância da VM.

Anexar um disco que não é de inicialização a uma instância

Para instruções detalhadas sobre como anexar um disco novo ou atual que não seja de inicialização a uma instância em execução, consulte Anexar um disco a uma instância.

Remover um disco que não é de inicialização de uma instância

Não é necessário interromper uma instância para remover um disco que não seja de inicialização. É possível realizar essas operações enquanto a instância está em execução.

Console

  1. Acesse a página "Instâncias de VM".

    Acessar instâncias de VM

  2. Clique na instância de que você quer remover o disco.
  3. Clique em Editar.
  4. Na seção Discos extras, encontre o disco que você quer remover e clique em close Remover disco.
  5. Clique em Salvar.

gcloud

Use o comando gcloud compute instances detach-disk (em inglês).

 gcloud compute instances detach-disk INSTANCE_NAME \
   DISK_OR_DEVICE_NAME --disk-scope DISK_SCOPE

Substitua:

  • INSTANCE_NAME: o nome da instância.
  • DISK_OR_DEVICE_NAME: o nome do disco ou o nome do dispositivo especificado quando o disco foi criado. O nome do dispositivo é o nome que o SO usa para identificar o disco. Se você forneceu um nome de dispositivo para o disco, especifique o nome do dispositivo com a sinalização --device-name.

    • Para especificar o nome do disco, especifique --disk=DISK_NAME, em que DISK_NAME é o nome do disco, por exemplo, my-data-disk.
    • Para especificar o nome do dispositivo, especifique --device-name=DEVICE_NAME, em que DEVICE_NAME é o nome do dispositivo fornecido para o disco.

      Para encontrar o nome do dispositivo do disco, execute o gcloud compute instances describe comando. Por exemplo, para imprimir uma lista dos discos anexados da instância no formato JSON, execute gcloud compute instances describe INSTANCE_NAME --format="json(disks)".

  • DISK_SCOPE: o escopo do disco. Para um disco zonal, especifique zonal. Para um disco regional, especifique regional.

REST

Crie uma solicitação POST para o método instances.detachDisk.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DEVICE_NAME

Substitua:

  • PROJECT_ID: ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • ZONE: a zona em que a instância está localizada.
  • DEVICE_NAME: o nome do dispositivo do disco. Para encontrar o nome do dispositivo do disco, faça uma solicitação GET para o instances recurso para conferir os discos anexados e os nomes dos dispositivos.

A seguir