Visão geral dos pools do Hyperdisk

Neste documento, discutimos os recursos e benefícios dos pools de Hyperdisk no Compute Engine e como escolher o pool certo para suas cargas de trabalho.

É possível simplificar o gerenciamento de discos e reduzir custos com os pools do Hyperdisk. Com os pools de Hyperdisk, é possível comprar capacidade e desempenho em massa, em vez de discos individuais. Em seguida, é possível criar discos no pool para consumir os recursos adquiridos. Os discos que estão em um pool podem ser usados como discos de inicialização e de dados para suas instâncias e contêineres.

Quando usar pools

Para cargas de trabalho em grande escala com altas necessidades de desempenho simultâneo, o Google recomenda pools.

O Compute Engine oferece dois tipos de pools: pools de armazenamento do Hyperdisk e Exapools do Hyperdisk. Para escolher um tipo de pool, consulte Como escolher um tipo de pool.

Como diretriz geral, se a carga de trabalho tiver um ou mais dos seguintes requisitos em um único projeto e zona, use os pools de Hyperdisk para dar suporte a ela:

Tipo de carga de trabalho Limites para usar pools do Hyperdisk Tipo de pool recomendado

Instâncias de acelerador (GPU/TPU) com discos de inicialização e de rascunho anexados

Sistemas de arquivos paralelos, como HDFS ou Lustre, com alto uso simultâneo

  • 1 PiB ou mais de capacidade provisionada por zona
  • 1 TiB/s ou mais de desempenho de capacidade de processamento provisionada
  • 10 milhões (10.000.000) ou mais de IOPS provisionadas
  • Hyperdisk Exapools
  • Pools de armazenamento do Hyperdisk

Cargas de trabalho de grandes empresas, como apps corporativos, DBMS ou apps de linha de negócios

Cargas de trabalho de simulação de IA/ML e HPC

  • 20 TiB ou mais de capacidade provisionada por zona
  • Pools de armazenamento do Hyperdisk

Veja a seguir exemplos de cargas de trabalho adequadas para um pool de Hyperdisk:

  • Exemplos de cargas de trabalho para Hyperdisk Exapools:

    • Cargas de trabalho de IA/ML que abrangem 4.000 VMs de TPU e usam 2 PiB de Hyperdisk Balanced com desempenho provisionado de 20.000.000 IOPS e capacidade de processamento de 3 TiB/s, gerando uma capacidade de processamento de pico agregada simultânea de 500 GiB/s.
    • Cargas de trabalho de treinamento de IA/ML com 15.000 instâncias de GPU usando o Hyperdisk Balanced para discos de inicialização e de rascunho com capacidade total de 8 PiB, gerando uma capacidade de pico agregada simultânea de 1 TiB/s.
    • Sistema de arquivos paralelo com 6 PiB ou mais de capacidade e picos agregados simultâneos de 800 GiB/s de capacidade de leitura intensa.
  • Exemplos de cargas de trabalho para pools de armazenamento do Hyperdisk:

    • Cargas de trabalho de simulação de IA/ML e HPC com 1.000 instâncias de GPU usando volumes do Hyperdisk Balanced em conjunto com o SSD local como cache compartilhado.
    • Carga de trabalho distribuída em vários bancos de dados e aplicativos, com 100 TiB de capacidade provisionada em vários volumes usados por bancos de dados e aplicativos.

O uso de pico agregado é a capacidade e o desempenho de pico total consumidos por todos os discos em uma carga de trabalho, o que é diferente da soma do desempenho provisionado para todos os discos. Para calcular o uso de pico agregado simultâneo, consulte Analisar métricas de performance do disco.

Problemas de gerenciamento de disco resolvidos por pools

Os pools ajudam a reduzir custos e simplificar a previsão de recursos e o gerenciamento de discos, especialmente nos seguintes cenários:

  • Migração de SAN no local: os pools ajudam a simplificar e reduzir a transição para o Google Cloud , evitando previsões complexas de capacidade e desempenho por disco.
  • Combate à subutilização: os discos costumam ser provisionados para o desempenho máximo, o que pode levar ao desperdício. Com os pools, é possível usar o provisionamento fino para alocar recursos conforme necessário. Os pools ajudam a aumentar a utilização do armazenamento em blocos e simplificar as operações.
  • Custos mais altos e gerenciamento de disco complexo: os pools são projetados para evitar o tempo de inatividade necessário para redimensionar discos quando as necessidades de desempenho ou capacidade aumentam, reduzindo o custo total de propriedade. Isso reduz a complexidade de gerenciar centenas ou milhares de discos individuais.

Benefícios dos pools

Os pools de Hyperdisk oferecem os seguintes benefícios:

  • Gerenciamento de custos simplificado: preveja o faturamento com mais precisão com base nos recursos provisionados do pool, em vez de discos individuais.
  • Desempenho compartilhado: compartilhe o desempenho provisionado em todos os discos de um pool para não precisar comprar desempenho para cada disco.
  • Maior eficiência e utilização de recursos:
    • Aloque recursos para seus discos conforme necessário com o provisionamento dinâmico, reduzindo custos e desperdícios.
    • Provisione discos para as necessidades de desempenho máximo e evite pagar por recursos não utilizados.
    • Reduza a subutilização medindo a capacidade consumida de um pool com base nos dados gravados nos discos, e não na capacidade provisionada dos discos.
    • Use estratégias de redução de dados para armazenar dados em discos de maneira mais eficiente, reduzindo os custos.
  • Gerenciamento flexível de discos: aumente ou diminua a capacidade do pool em vez de redimensionar discos individuais.

Como os pools funcionam

Um pool é um conjunto pré-comprado de recursos do Hyperdisk (capacidade, capacidade de processamento e IOPS) em uma zona. Ao criar discos para sua carga de trabalho, você os cria no pool, alocando alguns dos recursos do pool para cada novo disco.

Você não paga pela capacidade ou pelo desempenho provisionado de cada disco, apenas pelo que foi comprado para o pool. Quando você exclui um disco em um pool, os recursos alocados são retornados ao pool para uso por outros discos.

Não há mudança na forma como as cargas de trabalho usam volumes do Hyperdisk ao utilizar pools do Hyperdisk. Os dados em discos individuais em um pool mantêm o mesmo isolamento que teriam se os discos não fossem criados em um pool.

Como escolher um tipo de piscina

O Compute Engine oferece pools de armazenamento do Hyperdisk e Exapools do Hyperdisk. O tipo de pool usado depende da escala da carga de trabalho.

Tipos de Hyperdisk compatíveis com pools

Ao criar um pool, especifique um tipo de Hyperdisk para ele. Todos os discos no pool precisam ser do mesmo tipo de Hyperdisk. Os pools de armazenamento do Hyperdisk e os Exapools do Hyperdisk são compatíveis com os seguintes tipos de Hyperdisk:

Para saber mais sobre as diferenças entre os tipos de Hyperdisk, consulte Escolher um tipo de Hyperdisk.

Tipos de provisionamento para pools

Ao criar um pool, você seleciona os tipos de provisionamento para capacidade e desempenho. O tipo de provisionamento selecionado determina quais recursos do pool estão disponíveis. Os pools de Hyperdisk oferecem os seguintes tipos de provisionamento:

Um pool que usa o provisionamento de capacidade avançado é chamado de pool de capacidade avançado, enquanto um pool que usa o provisionamento de capacidade padrão é chamado de pool de capacidade padrão.

Para pools de armazenamento do Hyperdisk, é possível usar o provisionamento de capacidade padrão ou avançado. Também é possível combinar diferentes tipos de provisionamento para capacidade e desempenho. Por exemplo, é possível criar um pool de armazenamento que use o provisionamento avançado para capacidade e o provisionamento padrão para desempenho.

Para os Hyperdisk Exapools, só é possível usar o provisionamento avançado para capacidade e desempenho.

Provisionamento de capacidade padrão e avançado

O provisionamento avançado oferece economia de custos, gerenciamento de disco mais flexível e consumo mais eficiente de recursos do pool do que o provisionamento padrão. Os discos em um pool de capacidade padrão não oferecem outros recursos de economia de custos.

A tabela a seguir destaca as diferenças entre o provisionamento de capacidade padrão e avançada.

Recurso Capacidade padrão Capacidade avançada Benefício da capacidade avançada
Consumo de capacidade Com base na capacidade provisionada na criação Com base nos bytes reais gravados (redução pós-dados) Maior eficiência: você paga apenas pelo que usa no pool, e não pelo que é provisionado para os discos. Reduz o espaço desperdiçado.
Excesso de provisionamento Indisponível A capacidade total do disco pode exceder a capacidade do pool Planejamento de capacidade e gerenciamento de disco simplificados: provisione discos para as necessidades futuras de pico sem pagar antecipadamente. Evita o tempo de inatividade associado ao redimensionamento frequente de discos.
Condição de redimensionamento do pool A soma das capacidades de disco provisionadas atinge a capacidade do pool Os dados gravados reais (pós-redução) atingem a capacidade do pool Melhor utilização da capacidade: a capacidade do pool pode ser usada até ser preenchida com dados, não apenas alocada para discos.
Suporte para crescimento automático Indisponível Disponível para pools de armazenamento (com 80% de utilização); não disponível para Exapools Gerenciamento proativo: evite erros de falta de espaço adicionando capacidade automaticamente com base no volume de gravação.
Base de custo Soma da capacidade provisionada para discos individuais Desempenho total provisionado para o pool Custos mais baixos: reduza o custo geral provisionando o consumo inicial estimado.

Provisionamento de capacidade padrão

O provisionamento de capacidade padrão é a melhor opção para cargas de trabalho com qualquer uma das seguintes propriedades:

  • O objetivo principal é simplificar o planejamento de capacidade e o gerenciamento de custos.
  • Os requisitos de capacidade de cada disco são fixos.
  • Os discos são criados e excluídos com frequência. Com os pools, você só precisa comprar capacidade uma vez, e os discos podem ser criados e excluídos conforme necessário.

Os discos em pools que usam o provisionamento de capacidade padrão têm as seguintes propriedades:

  • O consumo de capacidade é medido com base no que é provisionado, não na quantidade de dados gravados no disco. Por exemplo, se você criar um disco de 1 TiB em um pool com capacidade padrão, a capacidade disponível do pool será reduzida em 1 TiB, mesmo que o disco não contenha dados.
  • Um pool que usa o provisionamento de capacidade padrão é considerado cheio se toda a capacidade provisionada tiver sido alocada para discos dentro do pool. Não é possível provisionar mais capacidade para os discos nem criar novos discos. Provisione mais capacidade para o pool ou exclua alguns discos. Isso é verdade mesmo que todos os discos estejam em branco.

Provisionamento avançado de capacidade

Os discos em um pool de capacidade avançada consomem capacidade de maneira diferente dos discos em um pool de capacidade padrão e dos discos que não estão em um pool.

Os discos em pools que usam o provisionamento de capacidade avançada têm os seguintes recursos:

Capacidade de provisionamento excessivo

Com o provisionamento excessivo de capacidade, é possível provisionar os discos para a capacidade máxima, sem provisionar o pool para a capacidade total combinada dos discos. Isso permite provisionar o desempenho dos discos de forma generosa, reduzir custos e evitar inatividades causadas pelo redimensionamento.

A capacidade total provisionada dos discos depende do tipo de pool e da capacidade provisionada dele. Para pools de armazenamento do Hyperdisk, o limite de provisionamento excessivo é 5 vezes a capacidade provisionada do pool. Para Hyperdisk Exapools, o limite de provisionamento excessivo é 50 vezes a capacidade provisionada do pool. Cada disco pode consumir até o desempenho e a capacidade provisionados. No entanto, o consumo cumulativo em todos os discos no pool não pode exceder a capacidade provisionada do pool.

Provisionamento dinâmico para capacidade

A capacidade é alocada aos discos conforme necessário, e não quando o disco é provisionado. Assim, o pool não fica cheio quando todo o espaço provisionado é alocado para discos. O pool fica cheio quando todo o espaço provisionado é utilizado por dados gravados.

Redução de dados

Para reduzir o espaço usado pelos dados gravados, o Compute Engine aplica estratégias de redução de dados aos dados que seus aplicativos gravam para reduzir os dados gravados nos discos.

Crescimento automático para pools de capacidade avançada

Se o Compute Engine detectar que 80% da capacidade provisionada de um pool de capacidade avançada está sendo usada, ele vai tentar um crescimento automático, um aumento da capacidade provisionada do pool.

Se o crescimento automático falhar e a capacidade do pool for totalmente usada por dados gravados, as gravações em todos os discos do pool vão falhar até que você realize uma das seguintes ações:

  • Aumente a capacidade provisionada do pool.
  • Excluir discos no pool.
  • Exclua dados em discos no pool.

Se você excluir dados em discos no pool para liberar espaço, considere o seguinte:

  • A maioria dos aplicativos de software interpreta os erros retornados quando o espaço do pool se esgota de maneira semelhante às falhas de hardware. Monitore o pool para evitar a falta de espaço em disco. Também é preciso entender como a carga de trabalho responde se ficar sem espaço em disco.

  • Os pools não têm visibilidade do sistema de arquivos. Portanto, os dados excluídos são considerados como ainda em uso até que o sistema operacional (SO) os marque como não utilizados com um comando DISCARD ou TRIM. Todas as imagens de SO fornecidas pelo Google são configuradas para fazer isso por padrão. Se você não estiver usando uma imagem do SO fornecida pelo Google, confirme se esse recurso está disponível. Para saber mais, consulte Desativar a inicialização lenta e ativar comandos DISCARD.

Comparar tipos de provisionamento de capacidade

Nos exemplos a seguir, suponha que você tenha dois pools de armazenamento de Hyperdisk Throughput, std-pool e adv-pool, provisionados com capacidade padrão e provisionamento de capacidade avançada, respectivamente. Cada pool é provisionado com 100 TiB de capacidade.

Exemplo de capacidade de provisionamento excessivo

Devido ao provisionamento excessivo, a capacidade cumulativa máxima de todos os discos em adv-pool é de 500 TiB, mas apenas 100 TiB para std-pool.

Exemplo de capacidade de provisionamento dinâmico

Suponha que você crie um disco em branco de 20 TiB em cada pool. Devido ao provisionamento fino, a capacidade consumida para adv-pool, ou seja, quantos dados foram gravados em todos os discos do pool, é 0. Isso ocorre porque o disco que você criou está em branco. Para std-pool, o disco em branco consome 20 TiB de capacidade. Com o provisionamento de capacidade avançado, seus aplicativos podem gravar mais dados antes que você precise aumentar a capacidade do pool.

Exemplo de consumo de capacidade

Suponha que você grave 500 GiB de dados nos discos de cada pool. adv-pool ainda tem 99,5 TiB de espaço livre para novos dados, enquanto std-pool tem 80 TiB de espaço. Isso ocorre porque, para adv-pool, o consumo de dados é baseado no uso, não na capacidade provisionada.

Exemplo de aumento de capacidade

Se a capacidade consumida de um pool de capacidade avançada se aproximar do máximo, será possível aumentar a capacidade do pool sem redimensionar discos individuais. Por exemplo, considere o seguinte cenário.

  • A capacidade de adv-pool é de 100 TiB, mas ele contém 50 discos de 5 TiB, totalizando uma capacidade provisionada de 250 TiB.
  • Cada disco grava 1 TiB de dados.
  • A demanda do aplicativo indica que cada disco vai gravar mais 3 TiB de dados, e a capacidade total prevista agora é de 200 TiB.
  • A capacidade real do pool é de 100 TiB e só tem 50 TiB de capacidade restante.

Com adv-pool, é possível aumentar a capacidade do pool para 500 TiB sem redimensionar os discos individuais, já que todos estão provisionados para 5 TiB.

Com std-pool, você teria que aumentar a capacidade do pool e de cada disco individual.

Provisionamento de desempenho padrão e avançado

Ao criar um pool, é preciso escolher um tipo de provisionamento para o desempenho. O tipo de provisionamento escolhido determina quais recursos do pool estão disponíveis.

Para pools de armazenamento do Hyperdisk, é possível escolher o provisionamento de desempenho padrão ou avançado. Também é possível combinar diferentes tipos de provisionamento para capacidade e desempenho. Por exemplo, é possível criar um pool que use o provisionamento avançado para capacidade e o provisionamento padrão para desempenho.

Para Hyperdisk Exapools, só é possível usar o provisionamento de desempenho avançado.

A tabela a seguir destaca as diferenças entre o provisionamento de desempenho padrão e avançado.

Recurso Desempenho padrão Desempenho avançado Benefício do desempenho avançado
Consumo do pool Com base em IOPS ou capacidade de processamento provisionadas Com base em IOPS ou capacidade de processamento usadas Uso mais eficiente do desempenho do pool provisionado: provisionamento para uso agregado, não para o desempenho máximo de cada disco.
Compartilhamento de performance Sem suporte Os discos compartilham os recursos de desempenho do pool Melhoria na utilização: o desempenho não usado por discos inativos fica disponível para discos ativos.
Excesso de provisionamento Sem suporte O desempenho provisionado total do disco pode exceder o desempenho provisionado do pool Planejamento de desempenho e gerenciamento de disco simplificados: provisione discos para necessidades futuras de pico sem pagar antecipadamente. Evita atualizações frequentes de desempenho do disco.
Risco de contenção Baixo risco; ideal para picos correlacionados Risco maior; pode haver contenção se muitos discos atingirem o pico simultaneamente Custos mais baixos: permite economia e eficiência quando os discos não exigem desempenho máximo simultaneamente
Base de custo Soma do desempenho provisionado para discos individuais Desempenho total provisionado para o pool Custos mais baixos: provisione para o uso de pico agregado esperado, em vez da soma dos picos de disco individuais.

Provisionamento de desempenho padrão

O provisionamento de desempenho padrão é a melhor opção para cargas de trabalho com qualquer uma das seguintes propriedades:

  • Cargas de trabalho que não podem ser concluídas se o desempenho for limitado pelos recursos do pool.
  • Cargas de trabalho em que os discos no pool provavelmente têm picos de desempenho correlacionados, por exemplo, discos de dados para bancos de dados que estão no pico de utilização todas as manhãs.

Os discos em um pool de desempenho padrão têm as seguintes propriedades:

  • O consumo de desempenho é medido com base no que é provisionado para o disco, e não no desempenho que o disco está consumindo ativamente. Por exemplo, se você provisionar um disco com 500 MiB/s de capacidade de processamento em um pool de desempenho padrão, o desempenho disponível do pool será reduzido, mesmo que o disco esteja inativo.
  • Se todo o desempenho do pool tiver sido provisionado para discos dentro do pool, não será possível criar novos discos no pool ou adicionar mais desempenho aos discos atuais. Isso é verdadeiro mesmo que todos os discos estejam inativos. Para criar novos discos, é necessário provisionar mais desempenho para o pool, reduzir o desempenho provisionado de alguns discos ou excluir alguns discos.

Provisionamento de desempenho avançado

Os pools de desempenho avançado são adequados para discos que não têm horários de pico de uso correlacionados. Os discos em pools que usam o provisionamento de desempenho avançado têm as seguintes propriedades:

Superprovisionamento para desempenho

O provisionamento excessivo permite provisionar os discos para o desempenho máximo, sem provisionar o pool para o desempenho total combinado dos discos. Cada disco pode consumir desempenho até o limite provisionado. No entanto, a qualquer momento, o desempenho simultâneo total do pool não pode exceder o desempenho provisionado do pool.

Para pools de armazenamento do Hyperdisk, o limite de provisionamento excessivo é 5 vezes o desempenho provisionado do pool. Para Hyperdisk Exapools, o limite de provisionamento excessivo é 50 vezes o desempenho de gravação provisionado do pool.

Provisionamento dinâmico e desempenho compartilhado

O desempenho é alocado aos discos conforme necessário, não quando o disco é provisionado. Além disso, os discos em um pool de desempenho avançado podem compartilhar o desempenho provisionado, até o limite de desempenho provisionado para cada disco. Isso pode reduzir os custos de discos que têm horários de pico de uso diferentes.

Crescimento automático para desempenho do pool

Os discos em um pool de desempenho avançado podem competir entre si por recursos de desempenho se o desempenho total que eles consomem ao mesmo tempo atingir o desempenho provisionado do pool.

A contenção de desempenho significa que os discos podem não atingir o desempenho máximo provisionado. Se o Compute Engine detectar contenção de recursos de desempenho por um período prolongado, ele tentará adicionar desempenho automaticamente ao pool.

O crescimento automático não é tentado quando o desempenho total provisionado para os discos no pool é de 80% ou mais do desempenho do pool. Em vez disso, o crescimento automático é tentado quando os discos estão consumindo 80% ou mais do desempenho do pool ao mesmo tempo.

Ao usar pools de desempenho avançado, você precisa fazer o seguinte:

  • Monitore seus pools para evitar o esgotamento do desempenho provisionado.
  • Entenda como sua carga de trabalho responde se ficar sem desempenho provisionado.

Comparar tipos de provisionamento de desempenho

Nos exemplos a seguir, suponha que você esteja projetando uma carga de trabalho com 1.000 discos, em que cada disco precisa ser provisionado com 10.000 IOPS, e você precisa escolher um tipo de provisionamento de desempenho.

Exemplo de provisionamento excessivo para desempenho

Suponha que o requisito de desempenho cumulativo para todos os discos seja de 10.000.000 IOPS.

Para um pool de desempenho padrão, é necessário provisionar e pagar por 10.000.000 IOPS.

Para um pool de desempenho avançado, é possível provisioná-lo com 1.000.000 de IOPS. Como o pool é compatível com superprovisionamento, é possível provisionar cada disco com 10.000 IOPS, totalizando 10.000.000 IOPS. No entanto, você só paga pelas 1.000.000 de IOPS provisionadas para o pool.

Exemplo de performance compartilhada

Suponha que,embora cada disco precise de 10.000 IOPS, eles atinjam o pico em momentos diferentes. Você determina que os discos no pool precisam de até 1.000.000 de IOPS em um determinado momento.

Para um pool de desempenho padrão, é necessário provisionar e pagar por 10.000.000 de IOPS (10.000 IOPS por disco), mesmo que os discos nunca precisem de mais de 1.000.000 de IOPS por vez.

Para um pool de desempenho avançado com 1.000.000 de IOPS, os discos podem compartilhar o desempenho do pool. Como os discos têm picos de desempenho diferentes, eles podem consumir simultaneamente até 1.000.000 de IOPS, mesmo que o desempenho provisionado total seja de 10.000.000 de IOPS.

Reservas para pools

É possível usar pools com reservas de recursos zonais do Compute Engine da seguinte maneira:

  • Reservar capacidade do pool de armazenamento junto com recursos de computação: para reservar capacidade do pool de armazenamento junto com instâncias de GPU, TPU ou H4D, use reservas adiantadas para blocos de capacidade. O Google entrega os recursos de computação solicitados e um pool de armazenamento ou Exapool criado automaticamente no horário de início escolhido.

  • Anexar discos de um pool de armazenamento independente a instâncias de computação reservadas: se você criar um pool de armazenamento ou um Exapool separadamente fora de uma reserva, ainda será possível anexar discos desse pool a instâncias de computação que consomem uma reserva de computação. É possível anexar esses discos ao iniciar a instância de computação ou anexá-los a uma instância de computação em execução. Para mais informações, consulte Consumir reservas.

Preços

Os pools de Hyperdisk são cobrados com base na capacidade e no desempenho que você comprou para o pool. Você não vai receber cobranças pelas IOPS provisionadas, pela capacidade de processamento ou pela capacidade dos discos criados no pool de armazenamento.

Os Hyperdisk Exapools estão qualificados para descontos por compromisso de uso (CUDs) com base em recursos, com um compromisso mínimo de 1 ano ou até 3 anos. Ao comprar um Exapool de 1 ou 3 anos, você se qualifica automaticamente para CUDs com base em recursos em compromissos de 1 ou 3 anos.

Os pools de armazenamento do Hyperdisk não estão qualificados para CUDs ou descontos por uso prolongado (SUDs).

Para mais informações, consulte Preços de disco.

A seguir