Adicionar um disco permanente à VM


É possível criar um disco permanente em branco ou criar um disco a partir de uma fonte de dados. Use um disco permanente como um disco de inicialização de uma instância de máquina virtual (VM, na sigla em inglês) ou como um disco de dados anexado a uma VM.

Este documento explica como:

  • Criar um disco permanente zonal em branco e que não é de inicialização e anexá-lo à instância da VM.

Se você quiser criar um disco de inicialização que possa ser usado posteriormente para criar uma VM, consulte Criar um disco de inicialização personalizado.

Se você quiser adicionar um disco de hiperdisco do Google Cloud à sua VM, consulte Adicionar armazenamento de hiperdisco a uma VM.

Se você precisar formatar ou montar um disco permanente na VM, consulte estes artigos:

Para obter informações gerais sobre discos permanentes e os tipos de discos disponíveis, leia a visão geral do disco permanente.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

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

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    Terraform

    Para usar as amostras de Terraform nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.

    1. Instale a CLI do Google Cloud.
    2. Para inicializar a CLI gcloud, execute o seguinte comando:

      gcloud init
    3. Crie as credenciais de autenticação para sua Conta do Google:

      gcloud auth application-default login

    Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.

    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 inicialize-a executando o seguinte comando:

      gcloud init

Restrições

  • Durante a criação da instância, é possível anexar até 127 discos permanentes zonais secundários que não sejam de inicialização.
  • Observação: a capacidade total de anexos é de 257 TB por VM. Para informações sobre como garantir o desempenho máximo com grandes volumes, consulte Tamanho do volume lógico.

Como adicionar um disco que não é de inicialização à VM

Criar e anexar um disco zonal que não seja de inicialização usando o console do Google Cloud, a Google Cloud CLI ou a REST de dois minutos.

Se você criar um disco no Console do Google Cloud, o tipo de disco padrão será pd-balanced. Se você criar um disco usando a CLI gcloud ou REST, o tipo de disco padrão será pd-standard.

Especifique um nome de dispositivo personalizado ao anexar o disco a uma VM. O nome especificado é usado para gerar um link simbólico para o disco no SO convidado, facilitando a identificação.

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. Em Mais discos, clique em Adicionar novo disco.

  5. Especifique um nome para o disco, configure as propriedades e selecione Em branco como Tipo de origem.

  6. 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.

  7. Clique em Concluído para concluir a configuração do disco.

  8. Clique em Salvar para aplicar as alterações à instância e adicionar o novo disco.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Use o comando gcloud compute disks create para criar um disco permanente zonal.

    gcloud compute disks create DISK_NAME \
      --size DISK_SIZE \
      --type DISK_TYPE
    

    Substitua:

    • DISK_NAME: o nome do novo disco.
    • DISK_SIZE: o tamanho, em gigabytes, do novo disco. Os tamanhos aceitáveis variam, em incrementos de 1 GB, de 10 GB a 65.536 GB.
    • DISK_TYPE: URL completo ou parcial do tipo do disco permanente. Por exemplo, https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd.
  3. Depois de criar o disco, anexe-o a qualquer instância em execução ou parada. Use o comando gcloud compute instances attach-disk:

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

    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.
  4. Use o comando gcloud compute disks describe para ver uma descrição do disco.

Terraform

Para criar um disco, use o recurso google_compute_disk.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

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

  1. Elabore uma solicitação POST para criar um disco permanente zonal usando o método disks.insert. Inclua as propriedades name, sizeGb e type. Para criar esse disco como um disco que não será inicializado e não estará formatado, não especifique uma imagem ou snapshot de origem.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
     "name": "DISK_NAME",
     "sizeGb": "DISK_SIZE",
     "type": "DISK_TYPE"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto
    • ZONE: a zona em que a VM e o novo disco estão localizados.
    • DISK_NAME: o nome do novo disco.
    • DISK_SIZE: o tamanho, em gigabytes, do novo disco. Os tamanhos aceitáveis variam, em incrementos de 1 GB, de 10 GB a 65.536 GB.
    • DISK_TYPE: URL completo ou parcial do tipo do disco permanente. Por exemplo, https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd.
  2. Crie uma solicitação POST para o método compute.instances.attachDisk e inclua o URL para o disco permanente zonal que você acabou de gerar:

    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
    }
    

    Substitua:

    • PROJECT_ID: ID do projeto
    • ZONE: a zona em que a VM e o novo disco estão localizados.
    • VM_NAME: o nome da VM em que você está adicionando o novo disco permanente
    • DISK_NAME: o nome do novo disco
    • DEVICE_NAME (opcional): um nome que o SO convidado usa para identificar o disco.

Depois de criar o novo disco e anexá-lo a uma VM, você precisa formatar e ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.

A seguir