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.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

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

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Confira mais informações em Set up authentication for a local development environment.

      REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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