Modificar as configurações de um volume do Google Cloud Hyperdisk


É possível modificar as propriedades dos volumes do Google Cloud Hyperdisk para atender às necessidades da carga de trabalho. Por exemplo, é possível reduzir ou aumentar as IOPS provisionadas ou a capacidade de processamento para reduzir custos ou aumentar o desempenho, respectivamente. É possível especificar como as VMs acessam os dados nos volumes do Hyperdisk ML, Hyperdisk Balanced e Hyperdisk Balanced High Availability definindo o modo de acesso do volume.

Esta página discute como modificar a capacidade, o desempenho e outras configurações de volumes do Hyperdisk.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da 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:

    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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte 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 modificar um hiperdisco, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

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 modificar um hiperdisco.

Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Visão geral da modificação do hiperdisco

É possível alterar o modo de acesso, o tamanho e as características de desempenho de volumes do Hyperdisk.

Mudanças de tamanho e desempenho com suporte para volumes do Hyperdisk

A tabela a seguir resume as mudanças de capacidade e desempenho compatíveis com cada tipo de hiperdisco.

Tipo de Hyperdisk Capacidade de processamento personalizável IOPS personalizáveis Compartilhável entre VMs
Hiperdisco equilibrado Sim Sim Sim
Alta disponibilidade do hiperdisco equilibrada
Sim Sim Sim
Hiperdisco extremo Não Sim Não
Hyperdisk ML Sim Não Sim, no
modo somente leitura
Capacidade de processamento do hiperdisco Sim Não Não

Os valores usados ao criar ou modificar um volume do Hyperdisk precisam estar dentro do intervalo de valores máximo e mínimo descrito em Limites do Hyperdisk por disco.

Se você estiver modificando o tamanho de um volume do Hyperdisk anexado a uma VM, os novos valores não poderão ultrapassar Limites de hiperdisco por VM.

As IOPS e a capacidade de processamento provisionadas para um volume do Hyperdisk precisam seguir as regras descritas em Sobre o provisionamento de IOPS e capacidade do Hyperdisk.

Mudanças de capacidade

Só é possível redimensionar um volume do hiperdisco para aumentar o tamanho dele. Não é possível reduzir a capacidade de um volume do Hyperdisk. Se você quiser diminuir o tamanho de um volume do hiperdisco, crie um volume menor, migre os dados do volume original para o menor e exclua o original.

É possível redimensionar um volume do hiperdisco mesmo que ele esteja anexado a uma VM em execução. No entanto, se um volume do Hyperdisk estiver no modo de vários gravadores, ele precisará ser removido de todas as VMs antes de ser redimensionado.

É possível redimensionar um volume de capacidade de processamento do hiperdisco uma vez a cada seis horas. Em todos os outros tipos de hiperdisco, é possível alterar a capacidade provisionada uma vez a cada 4 horas.

Para ter os melhores resultados, siga as etapas abaixo ao alterar a capacidade de um volume do Hyperdisk:

  1. Aumente o tamanho do volume.
  2. Fazer backup do disco
  3. Redimensione as partições de disco.

Mudanças no desempenho

É possível alterar o desempenho provisionado de um volume mesmo que ele esteja anexado a uma VM em execução.

Depois de alterar a capacidade ou as IOPS provisionadas, pode levar até 15 minutos para que as alterações entrem em vigor. No entanto, as seguintes exceções se aplicam:

  • Para volumes do Hyperdisk ML, as alterações podem levar até 20 minutos para entrar em vigor.
  • Para discos no modo de vários gravadores, as mudanças de desempenho podem levar até seis horas para entrar em vigor se o disco foi anexado a várias VMs quando você fez a mudança.

É possível mudar as IOPS ou a capacidade provisionada uma vez a cada 4 horas para todos os tipos de Hyperdisk, exceto Hyperdisk ML. É possível mudar a capacidade provisionada de um volume do Hyperdisk ML uma vez a cada seis horas.

Alterar as IOPS ou a capacidade provisionadas para um volume de hiperdisco não exclui nem modifica dados de disco.

Se você tentar modificar um volume do hiperdisco mais de uma vez dentro dos limites especificados, você 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, defina o modo de acesso do volume como o modo somente leitura ou com vários gravadores, dependendo do seu caso de uso.

Desativar o acesso de leitura ou gravação múltipla para um disco

Para executar certas ações em um volume do Hyperdisk, ele precisa estar no modo de gravador único. Por exemplo, não é possível criar uma imagem ou um snapshot de um volume do Hyperdisk no modo de vários gravadores. Você precisa definir o modo de acesso como de gravação única.

Para desativar o acesso de várias leituras ou gravações, desconecte-o de todas as VMs e siga as instruções em Definir o modo de acesso.

Restrições

  • Para definir o modo de acesso de um disco, ele precisa ser desanexado de todas as VMs.
  • Para volumes do Hyperdisk ML, não é possível definir o modo de acesso novamente como leitura-gravação se defini-lo como somente leitura.
  • Não é possível definir o modo de acesso para volumes de capacidade de processamento do hiperdisco e hiperdisco extremo.

Práticas recomendadas

Como é preciso esperar pelo menos 4 horas entre as alterações das propriedades do disco, siga estas práticas recomendadas:

  • Evite atrasos na modificação de um disco alterando várias propriedades ao mesmo tempo. Por exemplo, se você planeja mudar o tamanho do disco e as IOPS provisionadas em um curto período, faça as duas mudanças em uma única solicitação.

  • Ao escolher um novo valor para a performance ou o tamanho provisionado de um disco, lembre-se de que não é possível fazer outras mudanças por 4 a 6 horas. Por exemplo, suponha que você queira aumentar o tamanho de um hiperdisco de 500 GiB balanceado com volume balanceado para 1 TiB. Verifique se a carga de trabalho não vai exigir mais de 1 TiB de espaço em disco nas próximas 4 horas, já que não é possível aumentar o tamanho novamente antes desse período.

Definir o modo de acesso de um volume do Hyperdisk

Para definir o modo de acesso de um disco, ele precisa ser desanexado de todas as VMs.

É possível fazer as seguintes alterações no modo de acesso de um volume do hiperdisco:

  • Para volumes do Hyperdisk Balanced e do Hyperdisk Balanced High Availability, é possível ativar ou desativar o modo de vários gravadores. O modo de vários gravadores para discos do Hyperdisk Balanced High Availability está em pré-lançamento.
  • Para volumes do Hyperdisk ML, é possível ativar o modo somente leitura.

Não é possível modificar o modo de acesso de um volume do Hyperdisk ML depois de defini-lo como somente leitura.

É possível definir o modo de acesso com o console do Google Cloud, a CLI do Google Cloud ou a REST.

Console

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

    Acessar "Discos"

  2. Na lista de discos do projeto, clique no nome do volume do Hyperdisk que você quer redimensionar.

  3. Na página de detalhes do disco, clique em Editar.

  4. No campo Modo de acesso, selecione o modo de acesso que você quer:

    • Para ativar o modo somente leitura, selecione Somente leitura de várias VMs.
    • Para ativar o modo de vários gravadores, selecione Leitura e gravação de várias VMs
    • (Padrão) Para ativar o modo de gravação única, selecione Leitura e gravação de VM única.
  5. Para aplicar as alterações, clique em Salvar.

gcloud

Execute o comando disks update e especifique o modo de acesso com a flag --access-mode.

gcloud compute disks update DISK_NAME  \
   --access-mode=DISK_ACCESS_MODE

Substitua:

  • 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 aceitos 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 em uma VM.

REST

Crie 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:

  • PROJECT_ID: o ID do projeto.
  • ZONE: a zona em que o volume do 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 aceitos 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.

Mudar o tamanho ou o desempenho provisionado de um volume do Hyperdisk

É possível aumentar o tamanho do volume e alterar a IOPS ou a capacidade provisionada de um volume do Hyperdisk com os seguintes limites de tempo:

  • Aumente o tamanho do disco:

    • Para capacidade de processamento do hiperdisco: uma vez a cada seis horas
    • Para todos os outros tipos de hiperdisco: uma vez a cada quatro horas
  • Modifique a capacidade ou as IOPS provisionadas:

    • Para o Hyperdisk ML: uma vez a cada seis horas
    • Para todos os outros tipos de hiperdisco: uma vez a cada quatro horas

É possível mudar o tamanho e o desempenho provisionados de um hiperdisco. com o console do Google Cloud, a gcloud CLI ou a REST.

Console

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

    Acessar "Discos"

  2. Na lista de discos do projeto, clique no nome do volume do hiperdisco para o qual você quer alterar a capacidade ou o desempenho provisionado.

  3. Na página de detalhes do disco, clique em Editar.

    1. No campo Tamanho, insira o novo tamanho do disco. O tamanho do disco precisa estar no intervalo de valores compatíveis.
    2. Para hiperdisco extremo, hiperdisco equilibrado e hiperdisco equilibrado de alta disponibilidade: no campo IOPS provisionadas, insira o novo valor de IOPS do volume.
    3. Para a capacidade de processamento do hiperdisco, o Hyperdisk ML, o Hyperdisk Balanced e o Hyperdisk Balanced High Availability: no campo Capacidade de processamento provisionada, insira o novo valor de capacidade para o volume.
  4. Clique em Salvar para aplicar as mudanças ao disco.

gcloud

Use o comando disks update e especifique as sinalizações --size, --provisioned-iops ou --provisioned-throughput.

Para mudar o tamanho de um volume de alta disponibilidade balanceado de hiperdisco, inclua a flag --region.

gcloud compute disks update DISK_NAME  \
    --size=DISK_SIZE  \
    [--region=REGION]  \
    --provisioned-iops=IOPS_LIMIT  \
    --provisioned-throughput=THROUGHPUT_LIMIT

Substitua:

  • DISK_NAME: o nome do volume do hiperdisco que você está modificando.
  • DISK_SIZE (opcional): o novo tamanho do disco. O valor precisa ser um número inteiro seguido por uma unidade de tamanho de GB para gibibyte ou TB para tebibyte. O tamanho do disco precisa estar no intervalo de valores compatíveis.
  • REGION: opcional. Região em que o disco do Hyperdisk Balanced High Availability está localizado
  • IOPS_LIMIT (opcional): a configuração das IOPS para volumes de Hyperdisk Extreme, Hyperdisk Balanced e Hyperdisk Balanced High Availability. O valor precisa estar no intervalo de valores compatíveis.
  • THROUGHPUT_LIMIT (opcional): a configuração da capacidade de processamento para o volume de capacidade de processamento do hiperdisco, Hyperdisk ML, hiperdisco equilibrado ou hiperdisco balanceado de alta disponibilidade, especificado como um número inteiro que representa a capacidade medida em MiB por segundo. O valor precisa estar no intervalo de valores compatíveis.

REST

Crie 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 hiperdisco balanceado de alta disponibilidade, crie 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:

  • PROJECT_ID: o ID do projeto.
  • ZONE: a zona em que o volume do hiperdisco está localizado.
  • REGION: para discos de Hyperdisk Balanced High Availability, essa é a região em que 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 precisa ser um número inteiro seguido por uma unidade de tamanho de GB para gibibyte ou TB para tebibyte. O tamanho do disco precisa estar no intervalo de valores compatíveis.
  • IOPS_LIMIT (opcional): a configuração de IOPS para os volumes de Hyperdisk Extreme, Hyperdisk Balanced, or Hyperdisk Balanced High Availability. O valor precisa estar no intervalo de valores compatíveis.
  • THROUGHPUT_LIMIT (opcional): a configuração da capacidade de processamento para o volume de hiperdisco balanceado, Hyperdisk ML, hiperdisco equilibrado ou hiperdisco balanceado de alta disponibilidade, especificado como um número inteiro que representa a capacidade medida em MiB por segundo. O valor precisa estar no intervalo de valores compatíveis.

Se você tentar modificar o tamanho ou o desempenho de um volume do Hyperdisk 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.

Fazer backup do volume do Hyperdisk

O redimensionamento de um disco não exclui nem modifica os dados dele. No entanto, como prática recomendada, sempre faça backup do disco criando um snapshot antes de fazer alterações no sistema de arquivos ou partições.

Redimensionar o sistema de arquivos e as partições

Depois de aumentar o tamanho do volume do hiperdisco, talvez seja necessário redimensionar o sistema de arquivos e as partições dele.

  • Disco de inicialização: se você estiver usando uma imagem personalizada do Linux ou uma imagem personalizada do Windows, será preciso 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: 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. Neste exemplo, presumimos que os discos conectados foram formatados e montados anteriormente.

VMs do Linux

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

    Acessar instâncias de VM

  2. Clique no botão SSH ao lado da instância que tem o novo disco anexado. 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 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/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 para o sistema operacional.
    • Disco de dados não inicializável: o disco de dados /dev/nvme0n2 nã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 arquivos ext4 ou xfs.

  4. 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.

  5. 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.

  6. 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 seja compatível com a partição raiz automática e o redimensionamento do sistema de arquivos.

    1. 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:

      1. Abra o parted no dispositivo:

        sudo parted /dev/DEVICE_NAME
        
      2. No prompt , insira:

        (parted) resizepart
        
      3. No prompt Partition number?, insira:

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

        Yes
        
      5. No prompt End?, insira

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

        (parted) quit
        
    2. 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  ext4
      
    3. Ampliar o sistema de arquivos:

      • Se estiver usando ext4, utilize o comando resize2fs:

        sudo resize2fs /dev/DEVICE_NAME
        
      • Se estiver usando xfs, utilize o comando xfs_growfs:

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

        sudo btrfs filesystem resize max /
        
  7. Para um disco de dados que não seja de inicialização, redimensione o sistema de arquivos no disco.

    • Se você estiver usando ext4, utilize o comando resize2fs 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, utilize o comando xfs_growfs para estender o sistema de arquivos:

      sudo xfs_growfs MOUNT_DIR
      
    • Se você estiver usando btrfs, utilize 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. É possível encontrar o ponto de montagem listado na coluna MOUNTPOINT na saída do comando lsblk.

  8. Use o comando df para verificar se o sistema de arquivos foi estendido. Exemplo:

    df -h /dev/DATA_DEVICE_NAME
    
    Filesystem       Size  Used  Avail    Use%     Mounted on
    /dev/DATA_DEVICE_NAME   118G  70M   118G     1%     MOUNT_DIR
    

VM do Windows

Use a ferramenta Gerenciamento de disco do Windows para redimensionar as partições de uma instância.

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

    Acessar instâncias de VM

  2. Ao lado da instância com 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 do mouse no botão Iniciar do Windows e selecione Gerenciamento de disco para abrir a ferramenta "Gerenciamento de disco".

    Como selecionar a ferramenta "Gerenciamento de Disco" clicando com o 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 "Estiço 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 o espaço extra do disco permanente zonal seja reconhecido. Na parte superior da janela "Gerenciamento de disco", clique em Ação e selecione Atualizar.

    Como clicar no menu Ação e selecionar Atualizar na ferramenta Gerenciamento de Disco para atualizar as informações do disco permanente zonal.

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

    Como clicar com o botão direito na parte formatada do disco e selecionar a opção Estender volume.

  7. 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.

  8. 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 que o novo disco está com o status Healthy.

    Ao ver a lista de discos reconhecidos pelo Windows, verifique se a instância está on-line e com status íntegro.

Não vai ser necessário reiniciar a VM depois que esse processo for concluído. Já é possível usar o espaço em disco adicionado para armazenar dados.

A seguir