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


Nesta página, explicamos como anexar um disco não inicializável 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 novo volume de Persistent Disk e Criar um novo volume do Hyperdisk.

Papéis e permissões necessárias

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 da computação (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 conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir 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 ativar o volume anexado: compute.instances.setMetadata na VM

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

Modo de anexo de disco

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

O modo padrão é de leitura/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. É possível anexar um disco a várias VMs se o tipo de disco e o tipo de máquina da VM forem compatíveis.

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

É 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-gravação e, ao mesmo tempo, a outra VM no modo somente leitura.

Para informações sobre como anexar um disco a várias VMs, incluindo os tipos de disco compatí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 instruções sobre como definir o modo de acesso, consulte como definir o modo de acesso do disco.

Ao anexar um volume do Hyperdisk a uma VM, é necessário escolher um modo de anexamento 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 anexo somente leitura com um disco que esteja no modo de um único gravador ou de vários gravadores.

Limitações

Ao anexar um disco a uma VM, esteja ciente das seguintes limitações:

  • É possível anexar até 127 discos secundários, não inicializáveis e zonais a uma VM.

  • Não será possível anexar um disco a uma VM se isso exceder a capacidade máxima de disco para a VM.

  • Os seguintes tipos de disco não têm suporte para o modo somente leitura:

    • Hiperdisco equilibrado
    • Capacidade de processamento do hiperdisco
    • Alta disponibilidade do hiperdisco equilibrada
    • Hiperdisco extremo
  • 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 para compartilhar um disco entre VMs no modo somente leitura e no modo de vários gravadores.

  • Os discos anexados a várias VMs não são compatíveis com a exclusão automática, ou seja, eles não podem ser excluídos automaticamente quando a VM é excluída.

Como anexar um disco que não é de inicialização à 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 o REST.

Ao anexar um disco a uma VM, considere os seguintes pontos:

  • 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 symlink 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 VM. É necessário usar o mesmo modo de anexação de disco para todas as VMs em que você anexar o disco.

Console

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

    Acessar a página "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 anexo de disco, selecione Somente leitura para permitir que a VM apenas leia do disco. Para permitir o acesso de leitura e gravação à VM, 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 quando a VM for excluída, selecione Manter disco. Para excluir o disco quando a VM for excluída, selecione Excluir disco. Se você estiver anexando o disco a várias VMs, selecione Manter disco.

  8. Opcional: no título Nome do dispositivo, selecione a opção Usar um nome de dispositivo personalizado. O nome inserido é usado para gerar um link simbólico para o disco, facilitando 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 anexo de 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 em que você está adicionando o novo disco zonal.
  • DISK_NAME: o nome do novo disco que você está anexando à 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, crie uma solicitação POST para o método compute.instances.attachDisk e inclua o URL no disco que você quer anexar.

Para especificar o modo de conexã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 localizados
  • 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, que ajuda a 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 ative o sistema operacional (SO) da VM para usar o disco:

  • Se você anexou um disco em branco, formate e monte o disco.
  • Se você tiver conectado um disco não vazio, monte-o.

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

A seguir