Aumentar o tamanho de um disco permanente


Você pode aumentar o tamanho do disco permanente quando a instância da máquina virtual (VM) exigir espaço de armazenamento adicional ou aumentar os limites de desempenho . Você pode aumentar o tamanho do disco a qualquer momento, esteja o disco conectado ou não a uma VM em execução.

Esta página discute como aumentar o tamanho de um disco permanente. Para aumentar o tamanho de um volume de hiperdisco do Google Cloud, consulte Modificar as configurações de um hiperdisco .

Você só pode aumentar, e não diminuir, o tamanho de um disco. Para diminuir o tamanho do disco, você deve criar um novo disco com tamanho menor. Até que você exclua o disco original maior, você será cobrado por ambos os discos.

Ao criar uma imagem personalizada do Linux ou uma imagem personalizada do Windows , você precisa aumentar manualmente o tamanho dos discos de inicialização e de não inicialização. Se você estiver usando uma imagem pública , o Compute Engine redimensionará automaticamente os discos de inicialização.

Aumentar o tamanho de um disco não exclui nem modifica os dados do disco, mas como prática recomendada, antes de fazer qualquer alteração no sistema de arquivos ou nas partições, sempre faça backup do disco criando um instantâneo .

O Compute Engine gerencia o hardware por trás dos discos permanentes, para que você possa adicionar e redimensionar seus discos sem lidar com distribuição ou redundância.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. 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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Funções e permissões necessárias

Para obter a permissão necessária para redimensionar um disco permanente, peça ao administrador que conceda a você as seguintes funções do IAM no projeto:

Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Essa função predefinida contém a permissão compute.disks.update , necessária para redimensionar um disco permanente.

Você também poderá obter essa permissão com funções personalizadas ou outras funções predefinidas .

Aumentar o tamanho de um disco

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

Console

  1. No console do Google Cloud, acesse a página Discos .

    Vá para discos

  2. Na lista de discos permanentes do seu projeto, clique no nome do disco que você deseja redimensionar.

  3. Na página de detalhes do disco, clique em Editar . Talvez seja necessário clicar no menu Mais ações e Editar .

  4. No campo Tamanho , insira o novo tamanho do seu disco. Discos com tabelas de partição MBR só podem ser redimensionados até 2 TB.

  5. Clique em Salvar para aplicar suas alterações ao disco.

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

gcloud

Use o comando gcloud compute disks resize e especifique o sinalizador --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 que você está redimensionando.
  • DISK_SIZE : o novo tamanho, em gibibytes (GiB), do disco. Discos com tabelas de partição MBR podem redimensionar apenas até 2 TB.
  • ZONE : para disco permanente zonal, especifique a zona onde o disco está localizado.

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

Terraforma

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

Disco zonal

Para alterar o tamanho de um disco permanente, você pode usar o recurso google_compute_disk e usar 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 você incluir o parâmetro size junto com o parâmetro image ou snapshot , o valor size deverá ser igual ou maior que o tamanho da imagem ou snapshot.

Se você omitir os parâmetros de image e snapshot , poderá definir o parâmetro size como menor que o tamanho do disco existente. Se você fizer isso, o Terraform destruirá o disco e criará um novo disco permanente vazio.

Disco permanente regional

Para alterar o tamanho de um disco permanente regional, você 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 você incluir o parâmetro size junto com o parâmetro image ou snapshot , o valor size deverá ser igual ou maior que o tamanho da imagem ou snapshot.

Se você omitir os parâmetros de image e snapshot , poderá definir o parâmetro size como menor que o tamanho do disco existente. Se você fizer isso, o Terraform destruirá o disco e criará um novo RegionalPersistent Disk vazio.

DESCANSAR

Para redimensionar um disco permanente, crie uma solicitação 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 permanente regional, crie uma solicitação 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 : seu ID do projeto.
  • ZONE : para disco permanente zonal: a zona onde o disco está localizado.
  • REGION : para disco permanente regional: a região onde o disco está localizado.
  • DISK_NAME : o nome do disco a ser redimensionado.
  • DISK_SIZE : o novo tamanho, em gibibytes (GiB), do disco. Discos com tabelas de partição MBR podem redimensionar apenas até 2 TB.

Redimensione o sistema de arquivos e partições

Depois de aumentar o tamanho de um disco, pode ser necessário redimensionar o sistema de arquivos e as partições. A lista a seguir mostra informações adicionais para discos inicializáveis ​​e não inicializáveis:

  • Disco de inicialização : se você estiver usando uma imagem personalizada do Linux ou uma imagem personalizada do Windows , deverá redimensionar manualmente a partição raiz e o sistema de arquivos. Para VMs com imagens públicas , o Compute Engine redimensiona automaticamente a partição raiz e o sistema de arquivos depois que você aumenta o tamanho do disco de inicialização e reinicia a VM.

  • Disco que não é de inicialização : após aumentar o tamanho do disco, você deve estender o sistema de arquivos no disco para usar o espaço adicionado.

O exemplo a seguir mostra como redimensionar manualmente a partição raiz e o sistema de arquivos de um disco de inicialização e como redimensionar manualmente o sistema de arquivos de um disco de dados que não é de inicialização e sem tabela de partição. Este exemplo pressupõe que o disco esteja conectado usando SCSI e tenha sido previamente formatado e montado.

Se o disco permanente foi anexado usando NVMe, consulte Redimensionar o sistema de arquivos e as partições para obter um exemplo de saída para discos conectados por NVMe.

VMs Linux

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Ao lado da instância que possui o novo disco anexado, clique no botão SSH . O navegador abre uma conexão de terminal com a instância.

  3. Use os comandos df e lsblk para listar o tamanho do sistema de arquivos e localizar os nomes dos dispositivos para 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 inicialização : A partição /dev/sda1 está em um disco de inicialização que foi redimensionado para 20 GB. A tabela de partição e o sistema de arquivos fornecem apenas 9,7 GB ao sistema operacional.
    • Disco de dados que não são de inicialização : O disco de dados que não são de inicialização /dev/sdb não possui tabela de partição, mas o sistema de arquivos nesse disco fornece apenas 250 GB para o sistema operacional. 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 arquivos raiz e o disco /dev/sdb está montado como um disco de dados que não é de inicialização em /mnt/disks/disk-1 . Anote a coluna Tipo , que indica se o seu disco usa um sistema de arquivos ext4 ou xfs .

  4. Verifique o tipo de partição:

    sudo parted -l
    
    Como 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 terá um tipo de partição MBR. Isso significa que o tamanho máximo desse disco é 2 TB.

  5. Redimensione a partição raiz e o sistema de arquivos no disco de inicialização. Este exemplo pressupõe que a imagem da VM não oferece suporte ao particionamento raiz automático e ao redimensionamento do sistema de arquivos.

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

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

        sudo parted /dev/sda
      2. No prompt (parted) , digite:

        resizepart
      3. No Partition number? prompt, digite:

        1
      4. No Warning: Partition /dev/sda1 is being used. Are you sure you want to continue? prompt, digite:

        Yes
      5. No End? solicitar, digite

        100%
      6. No prompt (parted) , digite:

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

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

      • Se você estiver usando ext4 , use o comando resize2fs :

        sudo resize2fs /dev/sda1
        
      • Se você estiver usando xfs , use o comando xfs_growfs :

        sudo xfs_growfs -d /
        
      • Se você estiver usando btrfs , use o comando btrfs :

        sudo btrfs filesystem resize max /
        
  6. Redimensione o sistema de arquivos no disco de dados que não é de inicialização.

    • Se você estiver usando ext4 , use o comando resize2fs para estender o sistema de arquivos:

      sudo resize2fs /dev/DEVICE_NAME
      

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

    • Se você estiver usando xfs , use o comando xfs_growfs para estender o sistema de arquivos:

      sudo xfs_growfs MOUNT_DIR
      

      Substitua MOUNT_DIR pelo ponto de montagem do dispositivo. Você pode encontrar o ponto de montagem listado na coluna MOUNTPOINT na saída do comando lsblk .

    • Se você estiver usando btrfs , use o comando btrfs para estender o sistema de arquivos:

      sudo btrfs filesystem resize max MOUNT_DIR
      

      Substitua MOUNT_DIR pelo ponto de montagem do dispositivo. Você pode encontrar o ponto de montagem listado na coluna MOUNTPOINT na saída do comando lsblk .

  7. Use o comando df para verificar se o sistema de arquivos está estendido. 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 Windows Disk Management para redimensionar partições em uma instância do Windows.

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Ao lado da instância que possui o disco redimensionado, clique no botão RDP . O navegador abre uma conexão RDP com a instância.

  3. Clique com o botão direito no botão Iniciar do Windows e selecione Gerenciamento de disco para abrir a ferramenta Gerenciamento de disco.

    Selecionando a ferramenta Windows Disk Manager no menu do botão direito do mouse no botão Iniciar do Windows.

  4. Mostre o tipo de partição dos discos executando no Powershell:

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

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

    Clique no menu Ação e selecione Atualizar para atualizar as informações do disco permanente zonal na ferramenta Gerenciamento de disco.

  6. No disco que você redimensionou, clique com o botão direito na partição formatada e selecione Estender volume .

    Clique com o botão direito na parte formatada do disco e selecione a opção Estender Volume.

  7. Siga as instruções no Assistente para Estender Volume para estender sua partição existente para incluir o espaço extra em disco. Se a partição existente estiver formatada em NTFS, o tamanho máximo da partição será limitado pelas configuraçõ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 tenha um status Healthy .

    Visualizando a lista de discos reconhecidos pelo Windows, verifique se a instância está Online com status Íntegro.

Você não precisa reiniciar sua VM depois de concluir esse processo. Agora você pode usar o espaço em disco adicionado para armazenar dados.

O que vem a seguir