Anexar um disco que não é de inicialização a uma VM

Nesta página, explicamos como anexar um disco atual que não é de inicialização a uma ou mais instâncias de máquina virtual (VM).

Para criar ou mudar o disco de inicialização de uma VM, consulte Criar um disco de inicialização e Desanexar e reanexar um disco de inicialização, respectivamente.

Para criar um disco, consulte Criar um volume do Persistent Disk e Criar um volume do Hyperdisk.

Permissões e papéis necessários

Para ter as permissões necessárias para anexar um disco a uma VM, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

  • Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1)
  • Para se conectar a uma instância de VM que possa ser executada como uma conta de serviço: Usuário da conta de serviço (v1) (papel roles/iam.serviceAccountUser)

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para anexar um disco a uma VM. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões abaixo são necessárias para anexar um disco a uma VM:

  • Para anexar um disco a uma VM:
    • compute.instances.attachDisk na VM.
    • compute.instances.attachDisk na VM.
    • compute.disks.use no disco que você quer anexar à VM.
  • Para formatar e montar o volume anexado: compute.instances.setMetadata na VM.

Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.

Modo de anexação de disco

Ao anexar um disco a uma VM, você indica como ela pode acessar os dados no disco especificando o modo de anexação dele. Você pode escolher o modo somente leitura ou o modo de leitura e gravação.

O padrão é o modo de leitura e gravação.

Compartilhar um disco entre VMs

É possível compartilhar o mesmo disco entre VMs para que cada uma delas possa acessá-lo simultaneamente anexando o disco a cada VM. Você poderá anexar um disco a várias VMs se o tipo do disco e o tipo de máquina das VMs forem compatíveis.

Para anexar um disco a várias VMs, siga o procedimento em Anexar um disco que não é de inicialização a uma VM para cada VM.

Será necessário usar o mesmo modo de anexação de disco para todas as VMs a que você anexar o disco. Por exemplo, não é possível anexar um disco a uma VM no modo de leitura e gravação e, ao mesmo tempo, a outra no modo somente leitura.

Para saber como anexar um disco a várias VMs, incluindo os tipos de disco disponíveis, consulte Compartilhar um disco entre VMs.

Como anexar um volume do Hyperdisk a várias VMs

Para anexar um volume do Hyperdisk a várias VMs, verifique se o modo de acesso do disco está definido com um valor adequado para seu caso de uso. Para saber como definir o modo de acesso, consulte Definir o modo de acesso de um disco.

Ao anexar um volume do Hyperdisk a uma VM, é necessário escolher um modo de anexação de disco que não entre em conflito com o modo de acesso do disco. Por exemplo, não é possível usar o modo de anexação somente leitura com um disco que esteja no modo de gravador único ou de vários gravadores.

Limitações

Ao anexar um disco a uma VM, leve em consideração estas limitações:

  • O disco precisa estar na mesma zona da VM a que você quer anexá-lo. Para discos regionais, a VM precisa estar na mesma zona que uma das réplicas do disco.

  • É possível anexar até 127 discos zonais secundários que não são de inicialização a uma VM.

  • Não é possível anexar um disco a uma VM quando isso excede os limites de tamanho e anexação do Hyperdisk.

  • Os seguintes tipos de disco não aceitam o modo somente leitura:

    • Hyperdisk Balanced
    • Hyperdisk Balanced High Availability
    • Hyperdisk Throughput
    • Hyperdisk Extreme
  • Ao anexar um disco a várias VMs, use o mesmo modo de anexação de disco para todas elas.

  • Quando você anexa um disco a várias VMs, outras restrições são aplicadas. Consulte as restrições de compartilhamento de disco entre VMs no modo somente leitura e no modo de vários gravadores.

  • Os discos anexados a várias VMs não permitem a exclusão automática. Isso significa que eles não podem ser excluídos automaticamente quando a VM é excluída.

Anexar um disco que não é de inicialização a uma VM

É possível anexar um disco zonal que não seja de inicialização a uma VM usando o console do Google Cloud , a CLI do Google Cloud ou REST.

Ao anexar um disco a uma VM, considere o seguinte:

  • Usar um nome de dispositivo personalizado: o Google recomenda que você especifique um nome de dispositivo personalizado ao anexar um disco a uma VM. O nome especificado é usado para gerar um link simbólico para o disco no SO convidado, o que facilita a identificação e o gerenciamento de discos na VM.

  • Anexar um disco a várias VMs: para anexar um disco a várias VMs, repita o procedimento desta seção para cada uma delas. É necessário usar o mesmo modo de anexação de disco para todas as VMs a que você quer anexar o disco.

Para anexar um volume do Persistent Disk regional ou do Hyperdisk Balanced High Availability à VM, consulte Anexar um disco regional a uma VM.

Console

  1. Acesse a página Instâncias da VM.

    Acessar Instâncias de VM

  2. Clique no nome da VM a que você quer adicionar um disco.

  3. Na página de detalhes, clique em Editar.

  4. Na seção Armazenamento, em Discos adicionais, clique em + Anexar disco atual.

  5. Na lista Disco, selecione o disco que você quer anexar. Se o disco não estiver listado, verifique se ele está no mesmo local que a VM. Isso significa a mesma zona para um disco zonal e a mesma região para um disco regional.

  6. Em Modo de anexação de disco, selecione Somente leitura para permitir que a VM faça apenas leituras no disco. Para conceder à VM o acesso de leitura e gravação, selecione Leitura/gravação.

  7. Em Regra de exclusão, especifique se o disco será excluído quando a VM for excluída. Para manter o disco ao excluir a VM, selecione Manter disco. Para excluir o disco ao excluir a VM, selecione Excluir disco. Ao anexar o disco a várias VMs, selecione Manter disco.

  8. Opcional: no título Nome do dispositivo, selecione a opção Usar nome de dispositivo personalizado. O nome inserido é usado para gerar um link simbólico para o disco, o que facilita a identificação dele.

  9. Para aplicar as mudanças ao disco, clique em Concluído.

  10. Clique em Salvar para aplicar as alterações e anexar o disco à VM.

gcloud

Para anexar um disco a uma VM, use o comando gcloud compute instances attach-disk. Use a flag mode para especificar o modo de anexação do disco.

gcloud compute instances attach-disk VM_NAME \
    --disk DISK_NAME --device-name=DEVICE_NAME
    --mode DISK_ATTACHMENT_MODE

Substitua:

  • VM_NAME: o nome da VM a que você vai adicionar o novo disco zonal.
  • DISK_NAME: o nome do novo disco que você vai anexar à VM.
  • DEVICE_NAME (opcional): um nome que o SO convidado usa para identificar o disco.
  • DISK_ATTACHMENT_MODE (opcional): como anexar o disco à VM. Para o modo somente leitura, defina como ro. Para o modo de leitura e gravação, defina como rw ou omita essa flag porque rw é o padrão.

Terraform

Para anexar o disco a uma VM, use o recurso google_compute_instance.

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

REST

Para anexar um disco a uma VM, faça uma solicitação POST para o método compute.instances.attachDisk e inclua o URL do disco que você quer anexar.

Para especificar o modo de anexação do disco, use o parâmetro mode.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk

{
   "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME",
   "deviceName": DEVICE_NAME,
   "mode" : "DISK_ATTACHMENT_MODE"
}

Substitua:

  • PROJECT_ID: o ID do projeto.
  • ZONE: a zona em que a VM e o disco estão.
  • VM_NAME: o nome da VM a que você quer anexar o disco.
  • DISK_NAME: o nome do disco que você quer anexar.
  • DEVICE_NAME (opcional): um nome que o SO convidado usa para criar um link simbólico a fim de identificar o disco.
  • DISK_ATTACHMENT_MODE (opcional): como o disco precisa ser anexado à VM. Para o modo somente leitura, use READ_ONLY. Para o modo de leitura e gravação, defina como READ_WRITE ou omita porque READ_WRITE é o padrão.

Depois de anexar um disco a uma VM, conecte-se a ela e permita que o sistema operacional (SO) use o disco:

  • Se você tiver anexado um disco em branco, formate e monte o disco.
  • Se você tiver anexado um disco que não está vazio, monte-o.

Saiba como formatar e montar novos discos em VMs do Linux ou do Windows.

A seguir