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 |
|
|
|
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 |
|
|
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.
Pools de armazenamento do Hyperdisk: para cargas de trabalho empresariais que exigem 20 TiB ou mais de capacidade em uma única zona e projeto, o Google recomenda o uso de pools de armazenamento do Hyperdisk.
Hyperdisk Exapools: para cargas de trabalho muito grandes que exigem 1 TiB/s ou mais de desempenho provisionado. Para usar os Exapools, entre em contato com sua equipe de conta.
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:
Provisionamento de capacidade padrão: simplifica o gerenciamento de custos ao permitir que você compre capacidade agregada.
Provisionamento de capacidade avançado: elimina a necessidade de redimensionar discos ou criar discos muito grandes.
Provisionamento de desempenho padrão: evita a contenção em discos com picos de desempenho correlacionados.
Provisionamento de desempenho avançado: evita a contenção em discos com diferentes horários de pico de utilização.
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
DISCARDouTRIM. 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
- Para mais informações sobre os pools de armazenamento do Hyperdisk, consulte Sobre os pools de armazenamento do Hyperdisk.
- Para mais informações sobre os Exapools, consulte Visão geral dos Hyperdisk Exapools.
- Saiba como criar um pool.