Adicionar um disco permanente à VM


Você pode 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 para uma instância de máquina virtual (VM, na sigla em inglês) ou como um disco de dados que é anexado a uma VM. Neste documento, explicamos como:

  • Criar um disco permanente zonal em branco e que não é de inicialização e anexá-lo à instância da VM.
  • Formatar e montar o disco porque ele começa sem dados ou sistemas de arquivos.

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

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.
  • A capacidade total de anexos é de 257 TB por instância. 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 API Compute Engine.

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 a API Compute Engine, o tipo de disco padrão será pd-standard.

Console

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

    Acessar a página "Instâncias de VM"

  2. Marque a caixa e clique no nome da instância em que você quer adicionar um disco.

  3. Na página Detalhes da instância de VM, clique em Editar.

  4. Em Discos adicionais, clique em Adicionar novo disco.

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

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

  7. 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 INSTANCE_NAME \
      --disk DISK_NAME
    

    Substitua:

    • INSTANCE_NAME: o nome da instância em que você está adicionando o novo disco permanente zonal.
    • DISK_NAME: o nome do novo disco que você está anexando à instância.
  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
    }
  }
}

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

API

  1. Na API, crie 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á usado para inicialização e sem formatação, 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 instância 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/INSTANCE_NAME/attachDisk
    
    {
     "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
    }
    

    Substitua:

    • PROJECT_ID: ID do projeto
    • ZONE: a zona em que a instância e o novo disco estão localizados.
    • INSTANCE_NAME: o nome da instância em que você está adicionando o novo disco permanente.
    • DISK_NAME: o nome do novo disco.

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

Como formatar e montar um disco que não é de inicialização em uma VM do Linux

Conectar-se à VM

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

    Acessar a página "Instâncias de VM"

  2. Clique no botão SSH ao lado da instância que tem o novo disco anexado. O navegador abrirá uma conexão de terminal com a VM.

Como formatar o disco

  1. No terminal, use o comando lsblk para listar os discos anexados à instância e localizar o disco que você quer formatar e montar.

      $ sudo lsblk
      
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      sda      8:0    0   10G  0 disk
      └─sda1   8:1    0   10G  0 part /
      sdb      8:16   0  250G  0 disk
      

    Neste exemplo, sdb é o nome do dispositivo para o novo disco permanente em branco.

  2. Formate o disco usando a ferramenta mkfs. Este comando exclui todos os dados do disco especificado. Portanto, verifique se você especificou o dispositivo de disco corretamente.

    É possível usar qualquer formato de arquivo necessário, mas recomendamos um único sistema de arquivos ext4 sem uma tabela particionada. Você pode aumentar o tamanho do disco mais tarde sem precisar modificar as partições do disco.

    Para aumentar o desempenho do disco, use as opções de formatação recomendadas na sinalização -E. Não é necessário reservar espaço para a raiz neste disco secundário. Portanto, especifique -m 0 para usar todo o espaço disponível no disco.

     $ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_NAME
     

    Substitua DEVICE_NAME pelo nome do dispositivo do disco que você está formatando. Neste exemplo, especifique sdb para formatar todo o disco sem tabela particionada.

Como montar o disco

  1. Crie um diretório que sirva como ponto de montagem para o novo disco na VM. Use qualquer diretório. No exemplo a seguir, criamos um diretório em /mnt/disks/.

    $ sudo mkdir -p /mnt/disks/MOUNT_DIR
    

    Substitua MOUNT_DIR pelo diretório em que você quer montar o disco.

  2. Use a ferramenta mount para montar o disco na instância e ative a opção discard:

    $ sudo mount -o discard,defaults /dev/DEVICE_NAME /mnt/disks/MOUNT_DIR
    

    Substitua:

    • DEVICE_NAME: o nome do dispositivo do disco a ser montado.
    • MOUNT_DIR: o diretório em que o disco será montado.
  3. Configure as permissões de leitura e gravação no disco. Neste exemplo, conceda acesso de gravação no dispositivo a todos os usuários:

    $ sudo chmod a+w /mnt/disks/MOUNT_DIR
    

    Substitua MOUNT_DIR pelo diretório em que você montou o disco.

Como configurar a montagem automática na reinicialização da VM

Adicione o disco ao arquivo /etc/fstab para que ele seja montado de novo automaticamente quando a VM for reiniciada. Em sistemas operacionais Linux, o nome do dispositivo pode mudar a cada reinicialização, mas o UUID do dispositivo sempre indica o mesmo volume, mesmo quando você move discos entre sistemas. Por isso, recomendamos usar o UUID do dispositivo em vez do nome do dispositivo para configurar a montagem automática na reinicialização da VM.

  1. Crie um backup do seu arquivo /etc/fstab atual.

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. Use o comando blkid para listar o UUID do disco.

    $ sudo blkid /dev/DEVICE_NAME
    

    Substitua:

    • DEVICE_NAME: o nome do dispositivo do disco que você quer montar automaticamente. Se você criou uma tabela particionada no disco, especifique a partição que quer montar adicionando o sufixo anexado ao nome do dispositivo. Por exemplo, se sdb for o nome do dispositivo para o disco, sdb1 poderá ser o nome da partição.
  3. Abra o arquivo /etc/fstab em um editor de texto e crie uma entrada que inclua o UUID. Exemplo:

    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
    

    Substitua:

    • UUID_VALUE: o UUID do disco, listado na saída da etapa anterior.
    • MOUNT_DIR: o diretório em que você montou o disco.
    • MOUNT_OPTION: especifica o que o sistema operacional faz se não for possível ativar o disco permanente zonal no momento da inicialização. Para valores válidos, consulte O quarto campo na documentação do fstab do Linux. Para permitir que o sistema seja inicializado mesmo se o disco estiver indisponível, use a opção nofail.
  4. Use o comando cat para verificar se as entradas /etc/fstab estão corretas:

    $ cat /etc/fstab
    
    LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
    UUID=d761bdc5-7e2a-4529-a393-b9aefdb623b6 /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
    
    

Se você desanexar esse disco ou criar um snapshot pelo disco de inicialização para essa VM, edite o arquivo /etc/fstab e exclua a entrada desse disco. Mesmo com a MOUNT_OPTION definida como nofail ou nobootwait, mantenha o arquivo /etc/fstab em sincronia com os dispositivos anexados à VM e exclua essas entradas antes de criar o snapshot do disco de inicialização ou desanexe-o.

Como formatar e montar um disco que não é de inicialização em uma VM do Windows

Use o utilitário de gerenciamento de discos do Windows para formatar e ativar o novo disco em uma VM do Windows.

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

    Acessar a página "Instâncias de VM"

  2. Clique no botão RDP ao lado da VM que tem o novo disco vazio. O navegador abre uma conexão RDP com a instância.

  3. Clique com o botão direito do mouse no botão "Iniciar" do Windows e selecione Gerenciamento de Disco.

    Para selecionar o Gerenciamento de disco, clique com o botão direito do mouse no botão Iniciar do Windows.

  4. O Gerenciamento de disco solicita que você selecione um esquema de particionamento para o novo disco. Selecione GPT e clique em OK.

    Selecione um esquema de partição na janela de inicialização do disco.

  5. Depois que o disco for inicializado, clique com o botão direito do mouse no espaço de disco não alocado e selecione Novo Volume Simples.

    Como criar um novo volume simples no disco anexado.

  6. Siga as instruções no Assistente Novo Volume Simples para configurar o novo volume. É possível usar qualquer formato de partição que preferir, mas, neste exemplo, selecione NTFS. Além disso, marque Executar uma formatação rápida para acelerar esse processo. Se quiser, defina o tamanho do cluster no campo Tamanho da unidade de alocação. O tamanho do cluster limita o tamanho máximo da partição. Lembre-se disso se você tentar redimensionar o disco permanente zonal e a partição mais tarde.

    Como selecionar o tipo de formato da partição no "Assistente para novas partições simples".

  7. Depois de concluir a tarefa guiada pelo assistente e a formatação do volume, verifique a coluna Status na lista de discos anexados para confirmar se o novo disco tem um status Healthy.

    Como verificar se o disco está on-line com um status íntegro.

Agora é possível gravar arquivos no disco.

A seguir