Aumente o tamanho de um disco persistente

Pode aumentar o tamanho do seu disco persistente quando a instância da máquina virtual (VM) necessitar de espaço de armazenamento adicional ou de limites de desempenho aumentados. Pode aumentar o tamanho do disco em qualquer altura, quer o disco esteja ou não associado a uma VM em execução.

Esta página aborda como aumentar o tamanho de um disco persistente. Para aumentar o tamanho de um volume do Google Cloud Hyperdisk, consulte o artigo Modifique as definições de um Hyperdisk.

Só pode aumentar e não diminuir o tamanho de um disco. Para diminuir o tamanho do disco, tem de criar um novo disco com um tamanho inferior. Até eliminar o disco original maior, são-lhe cobrados ambos os discos.

Quando cria uma imagem Linux personalizada ou uma imagem Windows personalizada, tem de aumentar manualmente o tamanho dos discos de arranque e não de arranque. Se estiver a usar uma imagem pública, o Compute Engine redimensiona automaticamente os discos de arranque.

O aumento do tamanho de um disco não elimina nem modifica os dados do disco, mas, como prática recomendada, antes de fazer alterações ao sistema de ficheiros ou às partições, faça sempre uma cópia de segurança do disco criando uma captura de ecrã.

O Compute Engine gere o hardware por detrás dos discos persistentes, para que possa adicionar e redimensionar os seus discos sem ter de lidar com a divisão em faixas ou a redundância.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    Terraform

    Para usar os exemplos do Terraform nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as credenciais predefinidas da aplicação com as suas credenciais de utilizador.

      Instale a CLI Google Cloud.

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

      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.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Para mais informações, consulte Set up authentication for a local development environment.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud.

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

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

Funções e autorizações necessárias

Para receber a autorização de que precisa para redimensionar um disco persistente, peça ao seu administrador que lhe conceda as seguintes funções da IAM no projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização compute.disks.update , que é necessária para redimensionar um disco persistente.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Aumente o tamanho de um disco

Para aumentar o tamanho de um disco de arranque ou não arranque, use os seguintes procedimentos:

Consola

  1. Na Google Cloud consola, aceda à página Discos.

    Aceda a Discos

  2. Na lista de discos persistentes no seu projeto, clique no nome do disco que quer redimensionar.

  3. Na página de detalhes do disco, clique em Editar. Pode ter de clicar no menu Mais ações e, de seguida, Editar.

  4. No campo Tamanho, introduza o novo tamanho do disco. Os discos com tabelas de partições MBR só podem ser redimensionados até 2 TB.

  5. Clique em Guardar para aplicar as alterações ao disco.

O novo tamanho do disco é apresentado na lista de discos.

gcloud

Use o gcloud compute disks resizecomando e especifique a flag --size com o novo tamanho do disco, em gibibytes (GiB).

gcloud compute disks resize DISK_NAME \
    --size DISK_SIZE \
    --zone=ZONE

Substitua o seguinte:

  • DISK_NAME: o nome do disco cujo tamanho está a alterar.
  • DISK_SIZE: o novo tamanho, em gibibytes (GiB), do disco. Os discos com tabelas de partições MBR só podem ser redimensionados até 2 TB.
  • ZONE: para o Persistent Disk zonal, especifique a zona onde o disco está localizado.

    Para o disco persistente regional, use a flag --region=REGION e especifique a região onde o disco regional está localizado.

Terraform

Escolha uma das seguintes opções para redimensionar discos zonais ou discos persistentes regionais:

Disco zonal

Para alterar o tamanho de um disco persistente, pode usar o recurso google_compute_disk e o parâmetro size.

# 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"
}

Se incluir o parâmetro size juntamente com o parâmetro image ou snapshot, o valor size tem de ser igual ou superior ao tamanho da imagem ou da captura de ecrã.

Se omitir os parâmetros image e snapshot, pode definir o parâmetro size para um valor inferior ao tamanho do disco existente. Se o fizer, o Terraform destrói o disco e cria um novo disco persistente vazio.

Disco persistente regional

Para alterar o tamanho de um disco persistente regional, pode usar o recurso google_compute_region_disk e usar o parâmetro size.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

Se incluir o parâmetro size juntamente com o parâmetro image ou snapshot, o valor size tem de ser igual ou superior ao tamanho da imagem ou da captura de ecrã.

Se omitir os parâmetros image e snapshot, pode definir o parâmetro size para um valor inferior ao tamanho do disco existente. Se o fizer, o Terraform destrói o disco e cria um novo disco persistente regional vazio.

REST

Para redimensionar um disco persistente, crie um pedido POST para o método compute.disks.resize.

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

Para redimensionar um disco persistente regional, crie um pedido POST para o método compute.regionDisks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize
{
   "sizeGb": "DISK_SIZE"
}

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • ZONE: para o disco persistente zonal: a zona onde o disco está localizado.
  • REGION: Para o disco persistente regional: a região onde o disco está localizado.
  • DISK_NAME: o nome do disco a redimensionar.
  • DISK_SIZE: o novo tamanho, em gibibytes (GiB), do disco. Os discos com tabelas de partições MBR só podem ser redimensionados até 2 TB.

Redimensione o sistema de ficheiros e as partições

Depois de aumentar o tamanho de um disco, pode ter de redimensionar o respetivo sistema de ficheiros e partições. A lista seguinte mostra informações adicionais para discos de arranque e não de arranque:

  • Disco de arranque: se estiver a usar uma imagem Linux personalizada ou uma imagem Windows personalizada, tem de redimensionar manualmente a partição raiz e o sistema de ficheiros. Para VMs com imagens públicas, o Compute Engine redimensiona automaticamente a partição raiz e o sistema de ficheiros depois de aumentar o tamanho do disco de arranque e reiniciar a VM.

  • Disco não de arranque: depois de aumentar o tamanho do disco, tem de estender o sistema de ficheiros no disco para usar o espaço adicionado.

O exemplo seguinte mostra como redimensionar manualmente a partição raiz e o sistema de ficheiros de um disco de arranque, e como redimensionar manualmente o sistema de ficheiros de um disco de dados que não seja de arranque sem uma tabela de partições. Este exemplo pressupõe que o disco está anexado através de SCSI e foi formatado e montado anteriormente.

Se o disco persistente foi anexado através de NVMe, consulte o artigo Redimensione o sistema de ficheiros e as partições para ver um exemplo de saída para discos anexados por NVMe.

VMs Linux

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Junto à instância que tem o novo disco anexado, clique no botão SSH. O navegador abre uma ligação de terminal à instância.

  3. Use os comandos df e lsblk para listar o tamanho do sistema de ficheiros e encontrar os nomes dos dispositivos dos seus discos.

    $ sudo df -Th
    
    Filesystem      Type     Size   Used  Avail  Use%  Mounted on
    /dev/sda1       ext4     9.7G   1.2G   8.5G   12%  /
    /dev/sdb        ext4     250G    60M   250G    1%  /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    Este exemplo inclui os seguintes discos:

    • Disco de arranque: a partição /dev/sda1 está num disco de arranque cujo tamanho foi alterado para 20 GB. A tabela de partições e o sistema de ficheiros disponibilizam apenas 9,7 GB ao sistema operativo.
    • Disco de dados não inicializável: o disco de dados não inicializável /dev/sdb não tem uma tabela de partições, mas o sistema de ficheiros nesse disco disponibiliza apenas 250 GB ao sistema operativo. O diretório de montagem deste disco é /mnt/disks/disk-1.

    O comando df mostra que a partição /dev/sda1 está montada como o sistema de ficheiros raiz e que o disco /dev/sdb está montado como um disco de dados não inicializável em /mnt/disks/disk-1. Tome nota da coluna Tipo, que indica se o seu disco usa um sistema de ficheiros ext4 ou xfs.

  4. Valide o tipo de partição:

    sudo parted -l
    
    Em alternativa, para ver informações apenas de um disco específico:
    sudo parted -l /dev/DEVICE_NAME
    
    Procure o campo Tabela de partição. Se o valor for msdos, o disco tem um tipo de partição MBR. Isto significa que o tamanho máximo de um disco deste tipo é de 2 TB.

  5. Redimensione a partição de raiz e o sistema de ficheiros no disco de arranque. Este exemplo pressupõe que a imagem da VM não suporta a partição de raiz automática nem a redimensionamento do sistema de ficheiros.

    1. Redimensione a partição de raiz através de parted. Por exemplo, os comandos seguintes expandem a partição 1 de /dev/sda para o tamanho máximo possível:

      1. Abra o parted na partição /dev/sda:

        sudo parted /dev/sda
      2. Na mensagem (parted), introduza:

        resizepart
      3. Na mensagem Partition number?, introduza:

        1
      4. Na mensagem Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?, introduza:

        Yes
      5. No comando End?, introduza

        100%
      6. Na mensagem (parted), introduza:

        quit
    2. Leia a nova tabela de partições com partprobe.

      sudo partprobe /dev/sda
      
    3. Estenda o sistema de ficheiros:

      • Se estiver a usar o ext4, use o comando resize2fs:

        sudo resize2fs /dev/sda1
        
      • Se estiver a usar o xfs, use o comando xfs_growfs:

        sudo xfs_growfs -d /
        
      • Se estiver a usar btrfs, use o comando btrfs:

        sudo btrfs filesystem resize max /
        
  6. Redimensione o sistema de ficheiros no disco de dados não inicializável.

    • Se estiver a usar o ext4, use o comando resize2fs para expandir o sistema de ficheiros:

      sudo resize2fs /dev/DEVICE_NAME
      

      Substitua DEVICE_NAME pelo nome do dispositivo do disco. Neste exemplo, o nome do dispositivo é /dev/sdb.

    • Se estiver a usar o xfs, use o comando xfs_growfs para expandir o sistema de ficheiros:

      sudo xfs_growfs MOUNT_DIR
      

      Substitua MOUNT_DIR pelo ponto de montagem do dispositivo. Pode encontrar o ponto de montagem indicado na coluna MOUNTPOINT no resultado do comando lsblk.

    • Se estiver a usar o btrfs, use o comando btrfs para expandir o sistema de ficheiros:

      sudo btrfs filesystem resize max MOUNT_DIR
      

      Substitua MOUNT_DIR pelo ponto de montagem do dispositivo. Pode encontrar o ponto de montagem indicado na coluna MOUNTPOINT no resultado do comando lsblk.

  7. Use o comando df para verificar se o sistema de ficheiros foi expandido. Por exemplo:

    df -h /dev/sdb
    
    Filesystem  Size  Used  Avail  Use%  Mounted on
    /dev/sdb    493G   70M  492G     1%  /mnt/disks/disk-1
    

VMs do Windows

Use o utilitário de gestão de discos do Windows para redimensionar partições numa instância do Windows.

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Junto à instância com o disco redimensionado, clique no botão RDP. O navegador abre uma ligação RDP à instância.

  3. Clique com o botão direito do rato no botão Iniciar do Windows e selecione Gestão de discos para abrir a ferramenta Gestão de discos.

    Selecionando a ferramenta Gestor de discos do Windows no menu de contexto do botão Iniciar do Windows.

  4. Mostrar o tipo de partição dos discos executando o seguinte comando no Powershell:

    Get-Disk
    
    Na coluna Estilo de partição, se o valor for MBR, o disco tem um tipo de partição MBR. Isto significa que o tamanho máximo de um disco deste tipo seria de 2 TB.

  5. Atualize a ferramenta de gestão de discos para que reconheça o espaço adicional no disco persistente zonal. Na parte superior da janela Gestão de discos, clique em Ação e selecione Atualizar.

    Clicar no menu Ações e selecionar Atualizar para atualizar as informações do disco persistente zonal na ferramenta de gestão de discos.

  6. No disco cujo tamanho alterou, clique com o botão direito do rato na partição formatada e selecione Extend Volume (Estender Volume).

    Clicando com o botão direito do rato na parte formatada do disco e selecionando a opção Extend Volume (Estender Volume).

  7. Siga as instruções no Assistente de extensão de volume para estender a partição existente de forma a incluir o espaço em disco adicional. Se a partição existente estiver formatada em NTFS, o tamanho máximo da partição é limitado pelas respetivas definições de tamanho do cluster.

  8. Depois de concluir o assistente e a formatação do volume, verifique a coluna Status na lista de discos anexados para garantir que o novo disco tem o estado Healthy.

    Ao ver a lista de discos reconhecidos pelo Windows, verifique se a instância está online com um estado saudável.

Não precisa de reiniciar a VM depois de concluir este processo. Agora, pode usar o espaço em disco adicionado para armazenar dados.

O que se segue?