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


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

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

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:

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

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

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

    Vá para discos

  2. Na lista de discos do seu projeto, clique no nome do volume do hiperdisco que deseja modificar.

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

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

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

    Vá para discos

  2. Na lista de discos do seu projeto, clique no nome do volume de hiperdisco cuja capacidade ou desempenho provisionado você deseja alterar.

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

    1. No campo Tamanho , insira o novo tamanho do seu disco. O tamanho do disco deve estar no intervalo de valores suportados .
    2. Para Hyperdisk Extreme, Hyperdisk Balanced e Hyperdisk Balanced High Availability: No campo Provisioned IOPS , insira o novo valor de IOPS para seu volume.
    3. 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.
  4. 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

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

    Acesse as instâncias de VM

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

  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
    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 arquivos ext4 ou xfs .

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

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

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

    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 parted no dispositivo:

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

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

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

        Yes
        
      5. No End? solicitar, digite

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

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

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

        sudo resize2fs /dev/DEVICE_NAME
        
      • 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 /
        
  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 , use 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 , use o comando xfs_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 comando lsblk .

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

  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