Neste documento, explicamos como anexar e reanexar discos de inicialização e não inicializáveis a instâncias bare metal e de máquina virtual (VM) do Compute Engine.
Ao separar o disco de inicialização de uma instância, você pode concluir as seguintes tarefas sem precisar recriar a instância:
- Substituir o disco de inicialização de uma instância por outro disco
- Reparar o disco de inicialização de uma instância anexando-o temporariamente a outra instância
Ao remover um disco que não é de inicialização de uma instância e anexá-lo a outra, é possível usar os dados do disco na 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 serviços e APIs do Cloud de Confiance by S3NS . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se 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 console Cloud de Confiance para acessar os serviços e as APIs Cloud de Confiance by S3NS , não é necessário configurar a autenticação.
gcloud
-
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 nesta 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.detachDiskna instânciacompute.instances.attachDiskna 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 das duas instâncias é compatível. 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 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 à da instância. Por exemplo, não é possível anexar um disco de inicialização que usa x86 a uma instância do 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 separar 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
- Acesse a página "Instâncias de VM".
- Se solicitado, selecione o projeto e clique em Continuar.
- Clique na instância de que você quer remover o disco de inicialização.
- Clique em Parar para interromper a VM. Se não houver a opção Parar, clique em Mais ações > Parar.
- Clique em Editar.
- Na seção Disco de inicialização, clique em Remover disco de inicialização.
- 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
- Acesse a página "Instâncias de VM".
- Se solicitado, selecione o projeto e clique em Continuar.
- Clique na instância de que você quer anexar o disco de inicialização.
- Se a VM estiver em execução, clique em Parar para interromper a VM. Se não houver a opção Parar, clique em Mais ações > Parar.
- Clique em Editar.
- Acesse a seção Disco de inicialização.
- Clique em Adicionar item.
- Selecione um disco de inicialização no menu suspenso.
- 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
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 console Cloud de Confiance para atualizar o disco de inicialização de 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.
- Acesse a página "Instâncias de VM".
- Se solicitado, selecione o projeto e clique em Continuar.
- Clique na instância de que você quer anexar o disco de inicialização.
- Se a VM estiver em execução, clique em Parar para interromper a VM. Se não houver a opção Parar, clique em Mais ações > Parar.
- Clique em Editar no topo da página.
- Na seção Disco de inicialização, clique em Desconectar disco de inicialização.
- Clique em Adicionar item.
- Selecione um disco de inicialização no menu suspenso.
- Clique em Salvar.
O console Cloud de Confiance 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 que não é de inicialização, novo ou existente, a uma instância em execução, consulte Anexar um disco a uma instância.
Separar um disco que não seja de inicialização de uma instância
Não é necessário interromper uma instância para desanexar um disco que não seja de inicialização. É possível realizar essas operações enquanto a instância está em execução.
Console
- Acesse a página "Instâncias de VM".
- Clique na instância em que você quer desconectar o disco.
- Clique em Editar.
- Na seção Discos extras, encontre o disco que você quer remover e clique em close Remover disco.
- 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 com a flag--device-name.- Para especificar o nome do disco, insira
--disk=DISK_NAME, em queDISK_NAMEé o nome do disco, por exemplo,my-data-disk. Para especificar o nome do dispositivo, insira
--device-name=DEVICE_NAME, em queDEVICE_NAMEé o nome do dispositivo que você forneceu para o disco.Para encontrar o nome do dispositivo do disco, execute o comando
gcloud compute instances describe. Por exemplo, para imprimir uma lista dos discos conectados da instância no formato JSON, executegcloud compute instances describe INSTANCE_NAME --format="json(disks)".
- Para especificar o nome do disco, insira
DISK_SCOPE: o escopo do disco. Para um disco zonal, especifiquezonal. Para um disco regional, especifiqueregional.
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çãoGETao recursoinstancespara conferir os discos anexados e os nomes dos dispositivos.