Se a instância de máquina virtual (VM) do Compute Engine precisar de mais espaço de armazenamento ou limites de desempenho maiores, aumente o tamanho do Persistent Disk. É possível aumentar o tamanho do disco a qualquer momento, esteja ele conectado ou não a uma VM em execução.
Nesta página, discutimos como mudar o tamanho de um Persistent Disk. Para aumentar o tamanho de um volume do Google Cloud Hyperdisk, consulte Modificar o tamanho e o desempenho provisionado de um volume do Hyperdisk.
Ao criar uma imagem personalizada do Linux, imagem personalizada do Windows ou uma imagem do Fedora CoreOS, 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 (exceto imagens do Fedora CoreOS), o Compute Engine redimensionará automaticamente os discos de inicialização.
Aumentar o tamanho de um disco não exclui ou modifica dados de disco. No entanto, como prática recomendada, antes de fazer alterações no sistema de arquivos ou nas partições, sempre faça backup do disco criando um snapshot.
O Compute Engine gerencia o hardware por trás dos discos permanentes. Assim, é possível adicionar e redimensionar os discos sem lidar com divisão ou redundância.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma 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 selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte 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 CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Papéis e permissões necessárias
Para receber a permissão necessária para redimensionar um Persistent Disk, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
- Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1) -
Para se conectar a uma VM que pode ser executada como uma conta de serviço:
Usuário da conta de serviço (v1) (
roles/iam.serviceAccountUser)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém a
permissão
compute.disks.update,
que é necessária para
redimensionar um Persistent Disk.
Também é possível receber essa permissão com papéis personalizados ou outros papéis predefinidos.
Diminuir o tamanho de um disco
Não é possível diminuir o tamanho de um Persistent Disk. Substitua o disco por um novo e menor. Para isso, crie um disco em branco com um tamanho menor e copie o conteúdo do disco original para o novo. Em seguida, use o novo disco em vez do original.
Para substituir um disco por um menor, siga estas etapas:
- Crie um disco permanente em branco e especifique o tamanho desejado. Verifique se o novo disco é grande o suficiente para conter os dados do disco de origem.
- Anexe os dois discos à mesma instância. Para instruções, consulte Anexar um disco que não é de inicialização a uma VM.
- Formate e ative o novo disco. Consulte as instruções para instâncias do Linux e do Windows.
- Copie os dados do disco original para o novo usando
utilitários disponíveis para seu sistema operacional (SO). Por exemplo, para Linux, use
rsyncoudd. Para instâncias do Windows, userobocopy. - Verifique se o novo disco tem todos os dados e está funcionando como esperado.
- Atualize o aplicativo ou SO para usar o novo disco.
- Depois de confirmar que a migração foi bem-sucedida, é possível desanexar e excluir o disco original maior.
Limites de tamanho para volumes do Persistent Disk
O tamanho especificado para um volume Persistent Disk precisa estar dentro dos intervalos listados na tabela a seguir.
| Tipo de disco | Tamanho mínimo | Tamanho máximo | Tamanho padrão |
|---|---|---|---|
| Disco permanente equilibrado | Por zona: 10 GiB Regional: 10 GiB |
64 TiB | 100 GiB |
| Persistent Disk (SSD) de desempenho | Por zona: 10 GiB Regional: 10 GiB |
64 TiB | 100 GiB |
| Disco permanente padrão | Por zona: 10 GiB Regional: 200 GiB |
64 TiB | 500 GiB |
| Disco permanente extremo | 500 GiB | 64 TiB | 1 TiB |
Aumentar o tamanho de um disco permanente
Para aumentar o tamanho de um disco de inicialização ou não inicialização, use o seguinte procedimento:
Console
No console do Google Cloud , acesse a página Discos.
Na lista de discos do projeto, clique no nome do disco que você quer redimensionar.
Na página de Detalhes do disco, clique em Editar. Talvez seja necessário clicar no menu Mais ações e em Editar.
No campo Tamanho, insira o novo tamanho do disco. Os discos com tabelas particionadas de MBR só podem ser redimensionados até 2 TB.
Clique em Salvar para aplicar as mudanças ao disco.
O novo tamanho do disco é exibido na lista de discos.
gcloud
Use o comando gcloud compute disks resize
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:
DISK_NAME: o nome do disco que você está redimensionando.DISK_SIZE: o novo tamanho do disco em gibibytes (GiB). Discos com tabelas de partição MBR podem ser redimensionados apenas até 2 TB.ZONE: para Persistent Disk zonais, especifique a zona em que o disco está localizado.Para discos permanentes regionais, use a flag
--region=REGIONe especifique a região em que o disco está localizado.
Terraform
Escolha uma das opções a seguir para redimensionar discos zonais ou discos permanentes regionais:
Disco zonal
Para mudar o tamanho de um Persistent Disk, use o
recurso google_compute_disk e o parâmetro
size.
Se você incluir o parâmetro size com o
image ou snapshot, o
valor size precisa ser igual ou maior que o tamanho da
imagem ou do snapshot.
Se você omitir os parâmetros image e snapshot, poderá definir o parâmetro size como menor que o tamanho do disco atual. Se você fizer isso, o Terraform vai destruir o disco e
criar um novo Persistent Disk vazio.
Disco permanente regional
Para mudar o tamanho de um disco permanente regional, use o
recurso google_compute_region_disk
e o parâmetro size.
Se você incluir o parâmetro size com o
image ou snapshot, o
valor size precisa ser igual ou maior que o tamanho da
imagem ou do snapshot.
Se você omitir os parâmetros image e snapshot, poderá definir o parâmetro size como menor que o tamanho do disco atual. Se você fizer isso, o Terraform vai destruir o disco e
criar um novo RegionalPersistent Disk vazio.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
REST
Para redimensionar um Persistent Disk, 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:
PROJECT_ID: o ID do projeto.ZONE: para Persistent Disk zonal, a zona em que o disco está localizado.REGION: para Persistent Disk regional, a região em que o disco está localizado.DISK_NAME: o nome do disco a ser redimensionado.DISK_SIZE: o novo tamanho do disco em gibibytes (GiB). Discos com tabelas de partição MBR podem ser redimensionados apenas até 2 TB.
Redimensionar o sistema de arquivos e as partições
Depois de aumentar o tamanho de um disco, talvez seja necessário redimensionar o sistema de arquivos e as partições dele. Confira mais informações sobre discos de inicialização e não inicialização:
Discos de inicialização: se você estiver usando uma imagem personalizada do Linux, imagem personalizada do Windows ou uma imagem do Fedora CoreOS, será preciso redimensionar manualmente a partição raiz e o sistema de arquivos. Para instâncias com imagens públicas (exceto imagens do Fedora CoreOS), 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, sem precisar reiniciar a instância.
Discos que não são de inicialização: depois de aumentar o tamanho do disco, estenda o sistema de arquivos no disco para usar o espaço adicionado.
Nos exemplos a seguir, mostramos 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 seja de inicialização sem tabela de partição. Nos dois exemplos, presumimos que os discos conectados foram formatados e montados anteriormente.
Instâncias do Linux
No console do Google Cloud , acesse a página Instâncias de VM.
Encontre a instância a que o disco redimensionado está anexado. Clique em SSH. O navegador abre uma conexão de terminal com a instância.
Use os comandos
dfelsblkpara listar o tamanho do sistema de arquivos e encontrar os nomes dos dispositivos para seus discos.$ sudo df -Th Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 3.9G 0 3.9G 0% /dev /dev/nvme0n1p1 ext4 9.7G 2.0G 7.2G 22% / /dev/nvme0n1p15 vfat 124M 12M 113M 10% /boot/efi /dev/nvme0n2 ext4 98G 24K 98G 1% /mnt/disks/data
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 20G 0 disk ├─nvme0n1p1 259:5 0 9.9G 0 part / ├─nvme0n1p14 259:6 0 3M 0 part └─nvme0n1p15 259:7 0 124M 0 part /boot/efi nvme0n2 259:4 0 100G 0 disk /mnt/disks/data
Este exemplo inclui os seguintes discos:
- Disco de inicialização: a partição
/dev/nvme0n1p1está 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,9 GB para o sistema operacional. - Disco de dados não inicializável: o disco de dados
/dev/nvme0n2não inicializável não tem tabela de partição, mas o sistema de arquivos nesse disco fornece 100 GB para o sistema operacional. O diretório de ativação para este disco é/mnt/disks/data.
Anote a coluna Tipo na resposta ao comando
df, que indica se o disco usa um sistema de arquivosext4ouxfs.- Disco de inicialização: a partição
Verifique o tipo de partição:
sudo parted -l
Na primeira vez que você executar esse comando após redimensionar um disco, uma mensagem semelhante a esta será exibida:
Warning: Not all of the space available to /dev/nvme0n1 appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting? Fix/Ignore?
Se você digitar
Fix, o SO vai particionar o disco automaticamente para disponibilizar o espaço extra. Pule para a última etapa se você não tiver mais discos para modificar.Se você optar por não usar a opção de correção automática ou ela não estiver disponível, veja as informações do disco que você quer reparticionar:
sudo parted -l /dev/DEVICE_NAME
Procure o campo: Tabela particionado. Se o valor for
msdos, o disco terá um tipo de partição MBR. Isso significa que o tamanho máximo desse disco seria de 2 TB.Para um disco de inicialização, redimensione a partição raiz e o sistema de arquivos no disco. Neste exemplo, supomos que a imagem da VM não aceita particionamento raiz automático e o redimensionamento do sistema de arquivos.
Redimensione a partição raiz usando
parted. Por exemplo, os comandos a seguir expandem a partição 1 do dispositivo para o tamanho máximo possível:Abra o
partedno dispositivo:sudo parted /dev/DEVICE_NAME
Substitua
DEVICE_NAMEpelo nome do dispositivo do disco de inicialização, por exemplo,nvme0n1.No prompt , insira:
(parted) resizepartNo prompt
Partition number?, insira:1
No prompt
Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?, insira:Yes
No prompt
End?, insira:100%
No prompt
(parted), insira:(parted) quit
Visualize a nova tabela de partições usando
parted -l.sudo parted -l /dev/DEVICE_NAME Model: nvme_card-pd (nvme) Disk /dev/DEVICE_NAME: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 14 1049kB 4194kB 3146kB bios_grub 15 4194kB 134MB 130MB fat16 boot, esp 1 134MB 21.5GB 21.3GB ext4Ampliar o sistema de arquivos:
Se você estiver usando
ext4, use o comandoresize2fs:sudo resize2fs /dev/PARTITION_NAME
Substitua
PARTITION_NAMEpelo nome da partição do disco de inicialização, por exemplo,nvme0n1p1.Se você estiver usando
xfs, use o comandoxfs_growfs:sudo xfs_growfs -d /
Se você estiver usando btrfs, use o comando
btrfs:sudo btrfs filesystem resize max /
Para um disco de dados que não seja de inicialização, redimensione o sistema de arquivos no disco.
Se você estiver usando
ext4, use o comandoresize2fspara estender o sistema de arquivos:sudo resize2fs /dev/PARTITION_NAME
Substitua
PARTITION_NAMEpelo nome da partição do disco de dados. Neste exemplo, o nome da partição é/dev/nvme0n2p1.Se você estiver usando
xfs, utilize o comandoxfs_growfspara estender o sistema de arquivos:sudo xfs_growfs MOUNT_DIR
Se você estiver usando btrfs, utilize o comando
btrfspara estender o sistema de arquivos:sudo btrfs filesystem resize max MOUNT_DIR
Substitua MOUNT_DIR pelo ponto de montagem do dispositivo. É possível encontrar o ponto de montagem listado na coluna
MOUNTPOINTna saída do comandolsblk.
Use o comando
dfpara verificar se o sistema de arquivos foi estendido. Por exemplo:df -h /dev/PARTITION_NAME Filesystem Size Used Avail Use% Mounted on /dev/nvme0n2p1 118G 70M 118G 1% /mnt/disks/data
VM do Windows
Use a ferramenta Gerenciamento de disco do Windows para redimensionar as partições de uma instância nesse SO.
No console do Google Cloud , acesse a página Instâncias de VM.
Encontre a instância que tem o disco redimensionado. Clique no botão RDP da instância. O navegador abre uma conexão RDP com a instância.
Clique com o botão direito do mouse no botão Iniciar do Windows e selecione Gerenciamento de disco para abrir a ferramenta Gerenciamento de disco.
Mostre 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 terá um tipo de partição MBR. Isso significa que o tamanho máximo desse disco seria de 2 TB.
Atualize a ferramenta Gerenciamento de disco para que ela reconheça o espaço extra no disco. Na parte de cima da janela Gerenciamento de disco, clique em Ação e selecione Atualizar.
No disco que você redimensionou, clique com o botão direito do mouse na partição formatada e selecione Estender Volume.
Siga as instruções do Assistente para Extensão de Volumes para estender a partição atual e incluir o espaço extra no disco. Se a partição atual estiver formatada em NTFS, o tamanho máximo da partição será limitado pelas configurações de tamanho do cluster.
Depois de concluir o Assistente de extensão de volume e a formatação do volume, verifique a coluna Status na lista de discos anexados para confirmar se o novo disco está com o status Healthy.
Não é preciso reiniciar a instância depois de concluir esse processo. Já é possível usar o espaço em disco adicionado.