Você pode modificar as propriedades dos volumes do Google Cloud Hyperdisk para atender às necessidades da sua carga de trabalho. Por exemplo, você pode reduzir ou aumentar o IOPS provisionado ou a taxa de transferência para reduzir custos ou aumentar o desempenho, respectivamente. Você pode especificar como as VMs acessam os dados nos volumes Hyperdisk ML, Hyperdisk Balanced e Hyperdisk Balanced High Availability configurando o modo de acesso do volume.
Esta página discute como modificar a capacidade, o desempenho e outras configurações de volumes de hiperdisco.
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
-
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.
- Set a default region and zone.
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 modificar um hiperdisco, peça ao administrador para conceder a você as seguintes funções do IAM no projeto:
- Administrador de 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 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
, que é necessária para modificar um hiperdisco.
Você também poderá obter essa permissão com funções personalizadas ou outras funções predefinidas .
Visão geral da modificação do hiperdisco
Você pode alterar o modo de acesso, o tamanho e as características de desempenho dos volumes de hiperdisco.
Mudanças de tamanho e desempenho suportadas para volumes de hiperdisco
A tabela a seguir resume as alterações de capacidade e desempenho suportadas para cada tipo de hiperdisco.
Tipo de hiperdisco | Taxa de transferência personalizável | IOPS personalizáveis | Compartilhável entre VMs |
---|---|---|---|
Hiperdisco balanceado | Sim | Sim | Sim |
Alta disponibilidade balanceada de hiperdisco | Sim | Sim | Sim |
Hiperdisco Extremo | Não | Sim | Não |
ML de hiperdisco | Sim | Não | Sim, em modo somente leitura |
Taxa de transferência do hiperdisco | Sim | Não | Não |
Os valores usados ao criar ou modificar um volume de hiperdisco devem estar dentro do intervalo de valores máximos e mínimos descritos em Limites de hiperdisco por disco .
Se você estiver modificando o tamanho de um volume de hiperdisco anexado a uma VM, os novos valores não poderão exceder os limites de hiperdisco por VM .
O IOPS provisionado e a taxa de transferência para um volume de hiperdisco devem seguir as regras descritas em Sobre IOPS e provisionamento de taxa de transferência para hiperdisco .
Mudanças de capacidade
Você pode redimensionar um volume de hiperdisco apenas para aumentar seu tamanho. Não é possível reduzir a capacidade de um volume de hiperdisco. Se desejar diminuir o tamanho de um volume de hiperdisco, você deverá criar um volume menor, migrar os dados do volume original para o volume menor e excluir o volume original.
Você pode redimensionar um volume de hiperdisco mesmo se ele estiver conectado a uma VM em execução. No entanto, se um volume de hiperdisco estiver no modo multigravador, você deverá desanexar o volume de todas as VMs antes de poder redimensioná-lo.
Você pode redimensionar um volume de taxa de transferência de hiperdisco uma vez a cada 6 horas. Para todos os outros tipos de hiperdiscos, você pode alterar a capacidade provisionada uma vez a cada 4 horas.
Para obter os melhores resultados, execute as etapas a seguir ao alterar a capacidade de um volume de hiperdisco:
Mudanças de desempenho
Você pode alterar o desempenho provisionado de um volume mesmo se ele estiver conectado a uma VM em execução.
Depois de alterar o IOPS ou a taxa de transferência provisionados, pode levar até 15 minutos para que as alterações entrem em vigor. No entanto, aplicam-se as seguintes exceções:
- Para volumes Hyperdisk ML, pode levar até 20 minutos para que as alterações entrem em vigor.
- Para discos no modo multigravador, as alterações de desempenho podem levar até 6 horas para entrar em vigor se o disco estiver conectado a várias VMs quando você fez a alteração.
Você pode alterar o IOPS provisionado ou a taxa de transferência uma vez a cada 4 horas para todos os tipos de hiperdiscos, exceto Hyperdisk ML. Você pode alterar a taxa de transferência provisionada de um volume do Hyperdisk ML uma vez a cada 6 horas.
A alteração do IOPS provisionado ou da taxa de transferência de um volume de hiperdisco não exclui nem modifica os dados do disco.
Se você tentar modificar um volume de hiperdisco mais de uma vez dentro dos limites especificados, receberá uma mensagem de erro como Cannot update provisioned throughput due to being rate limited.
Mudanças no modo de acesso
Para anexar um único volume de hiperdisco a várias VMs, você deve definir o modo de acesso do volume para modo somente leitura ou multigravador, dependendo do seu caso de uso.
Desabilitar o acesso de leitura múltipla ou gravação múltipla para um disco
Para executar determinadas ações em um volume de hiperdisco, ele deve estar no modo de gravador único. Por exemplo, você não pode criar uma imagem ou um instantâneo de um volume de hiperdisco no modo multigravador. Você deve definir seu modo de acesso como gravador único.
Para desabilitar o acesso de leitura múltipla ou gravação múltipla, você deve desanexá-lo de todas as VMs e seguir as instruções em Definir o modo de acesso .
Restrições
- Para definir o modo de acesso de um disco, ele deve ser desconectado de todas as VMs.
- Para volumes Hyperdisk ML, não será possível definir o modo de acesso novamente para leitura-gravação se você defini-lo como somente leitura.
- Não é possível configurar o modo de acesso para volumes Hyperdisk Throughput e Hyperdisk Extreme.
Melhores práticas
Como você deve esperar pelo menos 4 horas entre as alterações nas propriedades do disco, siga estas práticas recomendadas:
Evite atrasos na modificação de um disco alterando diversas propriedades ao mesmo tempo. Por exemplo, se você planeja alterar o tamanho do disco e o IOPS provisionado em um curto período, faça ambas as alterações em uma única solicitação.
Ao escolher um novo valor para o desempenho ou tamanho provisionado de um disco, lembre-se de que você não poderá fazer mais alterações durante 4 a 6 horas. Por exemplo, suponha que você queira aumentar o tamanho de um volume balanceado de hiperdisco de 500 GiB para 1 TiB. Certifique-se de que sua carga de trabalho não exigirá mais de 1 TiB de espaço em disco nas próximas 4 horas, pois você não poderá aumentar o tamanho novamente até que 4 horas tenham se passado.
Defina o modo de acesso de um volume de hiperdisco
Para definir o modo de acesso de um disco, ele deve ser desconectado de todas as VMs.
Você pode fazer as seguintes alterações no modo de acesso de um volume de hiperdisco:
- Para volumes Hyperdisk Balanced e Hyperdisk Balanced High Availability, é possível ativar ou desativar o modo multigravador.
- Para volumes Hyperdisk ML, você pode ativar o modo somente leitura.
Não é possível modificar o modo de acesso de um volume Hyperdisk ML depois de configurá-lo como somente leitura.
Você pode definir o modo de acesso com o console do Google Cloud, a CLI do Google Cloud ou REST.
Console
No console do Google Cloud, acesse a página Discos .
Na lista de discos do seu projeto, clique no nome do volume do hiperdisco que deseja modificar.
Na página de detalhes do disco, clique em
Editar .No campo Modo de acesso , selecione o modo de acesso desejado:
- Para ativar o modo somente leitura, selecione Múltiplas VMs somente leitura .
- Para ativar o modo multigravador, selecione leitura e gravação de várias VMs
- (Padrão) Para ativar o modo de gravador único, selecione Leitura-gravação de VM única .
Para aplicar suas alterações, clique em Salvar .
gcloud
Execute o comando disks update
e especifique o modo de acesso com o sinalizador --access-mode
.
gcloud compute disks update DISK_NAME \ --access-mode=DISK_ACCESS_MODE
Substitua o seguinte:
- DISK_NAME : o nome do volume do hiperdisco que você está modificando.
- DISK_ACCESS_MODE : como as VMs podem acessar os dados no disco. Os valores suportados são:
-
READ_ONLY_MANY
, para acesso somente leitura de várias VMs. -
READ_WRITE_MANY
, para acesso de leitura e gravação de várias VMs. - (Padrão)
READ_WRITE_SINGLE
, para acesso de leitura e gravação de uma VM.
-
DESCANSAR
Construa uma solicitação PATCH
para o método compute.disks.update
. No corpo da solicitação, defina o modo de acesso com o parâmetro "accessMode"
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update { "accessMode": "DISK_ACCESS_MODE" }
Substitua o seguinte:
-
PROJECT_ID
: seu ID do projeto. -
ZONE
: a zona onde o volume do seu hiperdisco está localizado. -
DISK_NAME
: o nome do volume do hiperdisco a ser modificado. -
DISK_ACCESS_MODE
: como as VMs podem acessar os dados no disco. Os valores suportados são:-
READ_ONLY_MANY
, para acesso somente leitura de várias VMs. -
READ_WRITE_MANY
, para acesso de leitura e gravação de várias VMs. -
READ_WRITE_SINGLE
, para acesso de leitura e gravação de uma VM.
-
Alterar o tamanho ou o desempenho provisionado de um volume de hiperdisco
Você pode aumentar o tamanho do volume e alterar o IOPS ou a taxa de transferência provisionados para um volume de hiperdisco com os seguintes limites de tempo:
Aumente o tamanho do disco:
- Para taxa de transferência de hiperdisco: uma vez a cada 6 horas
- Para todos os outros tipos de hiperdiscos: uma vez a cada 4 horas
Modifique o IOPS ou a taxa de transferência provisionados:
- Para Hyperdisk ML: uma vez a cada 6 horas
- Para todos os outros tipos de hiperdiscos: uma vez a cada 4 horas
É possível alterar o tamanho provisionado e o desempenho de um volume de hiperdisco com o console do Google Cloud, a CLI gcloud ou REST.
Console
No console do Google Cloud, acesse a página Discos .
Na lista de discos do seu projeto, clique no nome do volume de hiperdisco cuja capacidade ou desempenho provisionado você deseja alterar.
Na página de detalhes do disco, clique em Editar .
- No campo Tamanho , insira o novo tamanho do seu disco. O tamanho do disco deve estar no intervalo de valores suportados .
- Para Hyperdisk Extreme, Hyperdisk Balanced e Hyperdisk Balanced High Availability: No campo Provisioned IOPS , insira o novo valor de IOPS para seu volume.
- Para Taxa de transferência de hiperdisco, Hyperdisk ML, Hyperdisk Balanced e Hyperdisk Balanced High Availability: No campo Taxa de transferência provisionada , insira o novo valor de taxa de transferência para seu volume.
Clique em Salvar para aplicar suas alterações ao disco.
gcloud
Use o comando disks update
e especifique os sinalizadores --size
, --provisioned-iops
ou --provisioned-throughput
.
Para alterar o tamanho de um volume de alta disponibilidade balanceada de hiperdisco, inclua o sinalizador --region
.
gcloud compute disks update DISK_NAME \ --size=DISK_SIZE \ [--region=REGION] \ --provisioned-iops=IOPS_LIMIT \ --provisioned-throughput=THROUGHPUT_LIMIT
Substitua o seguinte:
- DISK_NAME : o nome do volume do hiperdisco que você está modificando.
- DISK_SIZE : Opcional: o novo tamanho do disco. O valor deve ser um número inteiro seguido por uma unidade de tamanho GB para gibibyte ou TB para tebibyte. O tamanho do disco deve estar no intervalo de valores suportados .
- REGION : Opcional. A região onde o disco Hyperdisk Balanced High Availability está localizado
- IOPS_LIMIT : opcional: a configuração de IOPS para volumes Hyperdisk Extreme, Hyperdisk Balanced e Hyperdisk Balanced High Availability. O valor deve estar no intervalo de valores suportados.
- THROUGHPUT_LIMIT : opcional: a configuração de rendimento para o volume Hyperdisk Throughput, Hyperdisk ML, Hyperdisk Balanced ou Hyperdisk Balanced High Availability, especificado como um número inteiro que representa o rendimento medido em MiB por segundo. O valor deve estar no intervalo de valores suportados.
DESCANSAR
Construa uma solicitação PATCH
para o método compute.disks.update
. No corpo da solicitação, especifique os parâmetros sizeGb
, provisionedIops
ou provisionedThroughput
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME { "sizeGb": "DISK_SIZE, "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT" }
Para modificar um volume de alta disponibilidade balanceada de hiperdisco, construa uma solicitação PATCH
para o método compute.regionDisks.update
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME { "sizeGb": "DISK_SIZE, "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT" }
Substitua o seguinte:
-
PROJECT_ID
: seu ID do projeto. -
ZONE
: a zona onde o volume do seu hiperdisco está localizado. -
REGION
: Para discos de alta disponibilidade balanceada de hiperdisco, esta é a região onde o disco está localizado. -
DISK_NAME
: o nome do volume do hiperdisco a ser modificado. -
DISK_SIZE
: Opcional: o novo tamanho do disco. O valor deve ser um número inteiro seguido por uma unidade de tamanho GB para gibibyte ou TB para tebibyte. O tamanho do disco deve estar no intervalo de valores suportados . -
IOPS_LIMIT
: opcional: a configuração de IOPS para o volume Hyperdisk Extreme, Hyperdisk Balanced ou Hyperdisk Balanced High Availability. O valor deve estar no intervalo de valores suportados. -
THROUGHPUT_LIMIT
: opcional: a configuração de rendimento para o volume Hyperdisk Balanced, Hyperdisk ML, Hyperdisk Balanced ou Hyperdisk Balanced High Availability, especificado como um número inteiro que representa o rendimento medido em MiB por segundo. O valor deve estar no intervalo de valores suportados.
Se você tentar modificar o tamanho ou o desempenho de um volume de hiperdisco mais de uma vez dentro dos limites especificados, receberá uma mensagem de erro como Cannot update provisioned throughput due to being rate limited
ou Disk cannot be resized due to being rate limited
.
Faça backup do volume do hiperdisco
O redimensionamento de um disco não exclui nem modifica os dados do disco, mas como prática recomendada, sempre faça backup do disco criando um instantâneo antes de fazer qualquer alteração no sistema de arquivos ou nas partições.
Redimensione o sistema de arquivos e partições
Depois de aumentar o tamanho do volume do hiperdisco, pode ser necessário redimensionar o sistema de arquivos e as partições:
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.
Os exemplos a seguir mostram 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 os discos anexados foram previamente formatados e montados.
VMs Linux
No console do Google Cloud, acesse a página de instâncias de VM .
Clique no botão SSH próximo à instância que possui o novo disco anexado. O navegador abre uma conexão de terminal com a instância.
Use os comandos
df
elsblk
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 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/nvme0n1p1
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,9 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/nvme0n2
não possui tabela de partição, mas o sistema de arquivos nesse disco fornece 100 GB para o sistema operacional. O diretório de montagem deste disco é/mnt/disks/data
.
Anote a coluna Tipo na saída do comando
df
, que indica se o seu disco usa um sistema de arquivosext4
ouxfs
.- Disco de inicialização : A partição
Verifique o tipo de partição:
sudo parted -l
Na primeira vez que você executar este comando após redimensionar um disco, você poderá ver uma mensagem semelhante a esta:
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ê inserir
Fix
, o sistema operacional reparticionará automaticamente o disco para disponibilizar espaço adicional para o sistema operacional. Vá para a última etapa se não tiver discos adicionais para modificar.Se você optar por não usar a opção de correção automática ou ela não estiver disponível, visualize as informações do disco que deseja reparticionar:
sudo parted -l /dev/DEVICE_NAME
Procure o campo: Partition Table , se o valor for
msdos
então o disco possui 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. 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.
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
parted
no dispositivo:sudo parted /dev/DEVICE_NAME
No prompt, digite:
(parted) resizepart
No
Partition number?
prompt, digite:1
No
Warning: Partition /dev/ DEVICE_NAME p1 is being used. Are you sure you want to continue?
prompt, digite:Yes
No
End?
solicitar, digite100%
No prompt
(parted)
, digite:(parted) quit
Veja 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 ext4
Estenda o sistema de arquivos:
Se você estiver usando
ext4
, use o comandoresize2fs
:sudo resize2fs /dev/DEVICE_NAME
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 comandoresize2fs
para estender o sistema de arquivos:sudo resize2fs /dev/DATA_DEVICE_NAME
Substitua
DATA_DEVICE_NAME
pelo nome do dispositivo do disco de dados. Neste exemplo, o nome do dispositivo é/dev/nvme0n2
.Se você estiver usando
xfs
, use o comandoxfs_growfs
para estender o sistema de arquivos:sudo xfs_growfs MOUNT_DIR
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 comandolsblk
.
Use o comando
df
para verificar se o sistema de arquivos está estendido. Por exemplo:df -h /dev/DATA_DEVICE_NAME Filesystem Size Used Avail Use% Mounted on /dev/DATA_DEVICE_NAME 118G 70M 118G 1% MOUNT_DIR
VMs do Windows
Use o utilitário Windows Disk Management para redimensionar partições em uma instância do Windows.
No console do Google Cloud, acesse a página de instâncias de VM .
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.
Clique com o botão direito 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 no Powershell:
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 .Get-Disk
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 .
No disco que você redimensionou, clique com o botão direito na partição formatada e selecione Estender volume .
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 .
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 statusHealthy
.
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
- Saiba mais sobre o hiperdisco .
- Saiba como analisar o nível atual de IOPS para um volume de hiperdisco.