Este documento discute os recursos e benefícios dos pools do Hyperdisk no Compute Engine e como escolher o pool certo para suas cargas de trabalho.
É possível simplificar o gerenciamento de disco e reduzir custos com pools de hiperdisco. Com os pools de Hyperdisk, é possível comprar capacidade e desempenho em massa em vez de para discos individuais. Em seguida, é possível criar discos no pool para consumir os recursos comprados. Os discos em um pool podem ser usados como discos de inicialização e de dados para suas instâncias e contêineres.
O Compute Engine oferece dois tipos de pools:
- Pools de armazenamento de hiperdisco: para a maioria das cargas de trabalho
- Hyperdisk Exapools: para cargas de trabalho muito grandes que exigem mais de 100 GiB/s de desempenho simultâneo
Quando usar pools
Os pools ajudam a reduzir custos e simplificar a previsão de recursos e o gerenciamento de disco, principalmente nos seguintes cenários:
- Migração de SANs locais: os pools ajudam a simplificar e encurtar a transição para o Google Cloud evitando previsões complexas de capacidade e desempenho por disco.
- Combate à subutilização: os discos são provisionados com frequência para o desempenho máximo, o que pode levar ao desperdício. Com os pools, é possível usar o provisionamento dinâmico para alocar recursos conforme necessário.
- Custos mais altos e gerenciamento complexo de discos: 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 hiperdisco 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:
- Alocar recursos aos discos conforme necessário com o provisionamento leve, 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 deles.
- Use estratégias de redução de dados para armazenar dados de forma mais eficiente em discos, diminuindo os custos.
- Gerenciamento flexível de disco: 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. Você usa os recursos comprados dos pools ao criar discos individuais dentro do pool. Você aloca alguns dos recursos do pool para cada novo disco. Você não paga pela capacidade ou performance provisionada de cada disco individual, 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.
Como escolher um tipo de pool
O Compute Engine oferece pools de armazenamento e exapools de hiperdisco. O tipo de pool usado depende da escala da sua carga de trabalho.
Pools de armazenamento do Hyperdisk: para a maioria das cargas de trabalho, o Google recomenda usar os pools de armazenamento do Hyperdisk.
Hyperdisk Exapools: para cargas de trabalho muito grandes que exigem mais de 100 GiB/s de desempenho simultâneo. Para usar os Exapools, entre em contato com sua equipe de conta.
Tipos de Hyperdisk compatíveis com pools
Ao criar um pool, você especifica um tipo de hiperdisco para ele. Todos os discos no pool precisam ser do mesmo tipo de Hyperdisk. Os Exapools e os pools de armazenamento de hiperdisco são compatíveis com os seguintes tipos de hiperdisco:
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 tipos de provisionamento para capacidade e desempenho. O tipo de provisionamento selecionado determina quais recursos do pool estão disponíveis. Os pools de hiperdisco oferecem os seguintes tipos de provisionamento:
Provisionamento de capacidade padrão: simplifica o gerenciamento de custos ao permitir que você compre capacidade agregada.
Provisionamento avançado de capacidade: elimina a necessidade de redimensionar discos ou criar discos muito grandes.
Provisionamento de desempenho padrão: evita disputas em discos com picos de desempenho correlacionados.
Provisionamento avançado de desempenho: evita disputas em discos com diferentes horários de pico de utilização.
Um pool que usa o provisionamento de capacidade avançada é chamado de pool de capacidade avançada, enquanto um pool que usa o provisionamento de capacidade padrão é chamado de pool de capacidade padrão.
Para pools de armazenamento de hiperdisco, é 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 usa provisionamento avançado para capacidade e provisionamento padrão para desempenho.
Para Exapools do Hyperdisk, só é possível usar o provisionamento avançado de 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 recursos extras 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 gravados reais (após a redução de 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 picos de necessidades futuras sem pagar por isso antecipadamente. Evita o tempo de inatividade associado ao redimensionamento frequente do disco. |
| Condição de redimensionamento do pool | A soma das capacidades provisionadas do disco 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 é utilizável até ser preenchida com dados, e não apenas alocada a discos. |
| Suporte para crescimento automático | Indisponível | Disponível para pools de armazenamento (com 80% de utilização), mas não 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 | Performance total provisionada para o pool | Redução de custos: diminua o custo geral provisionando para 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 para 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 provisionamento de capacidade padrão têm as seguintes propriedades:
- O consumo de capacidade é medido com base na quantidade provisionada, e 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 foi alocada para discos no pool. Não é possível provisionar mais capacidade para os discos nem criar novos discos. Você precisa provisionar mais capacidade para o pool ou excluir alguns discos. Isso é válido 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 provisionamento de capacidade avançada têm os seguintes recursos:
Excesso de provisionamento de capacidade
Com o provisionamento excessivo, é 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 maneira generosa, reduzir custos e evitar inatividade devido ao redimensionamento.
A capacidade total provisionada dos discos depende do tipo de pool e da capacidade provisionada dele. Para pools de armazenamento de hiperdisco, o limite de superprovisionamento é 5 vezes a capacidade provisionada do pool. Para os Exapools do Hyperdisk, o limite de superprovisionamento é 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 do pool não pode exceder a capacidade provisionada do pool.
Provisionamento fino de capacidade
A capacidade é alocada aos discos conforme necessário, e não quando o disco é provisionado. Portanto, 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 é usado pelos dados gravados.
Redução de dados
Para reduzir o espaço usado pelos dados gravados, o Compute Engine aplica estratégias de redução aos dados que seus aplicativos gravam para reduzir a quantidade de dados gravados nos discos.
Aumento 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 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.
- Exclua os discos no pool.
- Exclua os dados nos discos do pool.
Se você excluir dados dos discos no pool para liberar espaço, lembre-se do seguinte:
A maioria dos aplicativos de software interpreta os erros retornados quando o espaço na piscina se esgota de maneira semelhante às falhas de hardware. É necessário monitorar 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 seu sistema de arquivos. Portanto, os dados excluídos são considerados em uso até que o sistema operacional (SO) os marque como não utilizados com um comando
DISCARDouTRIM. Todas as imagens do 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
Para os exemplos a seguir, suponha que você tenha dois pools de armazenamento de capacidade de processamento de hiperdisco, std-pool
e adv-pool, que são 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 thin
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, a quantidade de dados gravada em todos os discos do pool, é 0.
Isso acontece porque o disco criado está em branco. Para std-pool, o disco em branco consome 20 TiB de capacidade. Com o provisionamento avançado de capacidade, 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, no adv-pool, o consumo de dados é baseado no uso, e não na capacidade provisionada.
Exemplo de aumento da capacidade
Se a capacidade consumida de um pool de capacidade avançada se aproximar do máximo, é possível aumentar a capacidade do pool sem redimensionar os 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ó há 50 TiB restantes.
Com o adv-pool, é possível aumentar a capacidade do pool para 500 TiB sem redimensionar os discos individuais, já que todos são provisionados para 5 TiB.
Com std-pool, você precisaria aumentar a capacidade do pool e de cada disco individual.
Provisionamento de desempenho padrão e avançado
Ao criar um pool, você precisa escolher um tipo de provisionamento para a performance. O tipo de provisionamento escolhido determina quais recursos do pool estão disponíveis.
Para pools de armazenamento de hiperdisco, é 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 usa provisionamento avançado para capacidade e provisionamento padrão para desempenho.
Para Exapools do Hyperdisk, 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 da performance avançada |
|---|---|---|---|
| Consumo do pool | Com base nas IOPS ou na capacidade de processamento provisionadas | Com base na capacidade de processamento ou IOPS usados | Uso mais eficiente do desempenho do pool provisionado: provisione 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 | Melhor utilização: a performance não usada por discos inativos fica disponível para discos ativos. |
| Excesso de provisionamento | Sem suporte | O desempenho total provisionado 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 disputa | Baixo risco, ideal para picos correlacionados | Risco maior. É possível que haja 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 da performance provisionada para discos individuais | Performance total provisionada para o pool | Custos mais baixos: provisione para o pico de uso agregado esperado, em vez da soma dos picos individuais de disco. |
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 na quantidade provisionada para o disco, e não na quantidade de desempenho que ele 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 ocioso.
- Se todo o desempenho do pool tiver sido provisionado para discos dentro do pool, não será possível criar novos discos ou adicionar mais desempenho aos discos atuais. Isso é válido 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 deles.
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 provisionamento de desempenho avançado têm as seguintes propriedades:
Provisionamento excessivo 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 total simultâneo do pool não pode exceder o desempenho provisionado dele.
Para pools de armazenamento de Hyperdisk, o limite de superprovisionamento é 5 vezes o desempenho provisionado do pool. Para os Exapools do Hyperdisk, o limite de superprovisionamento é 50 vezes o desempenho de gravação provisionado do pool.
Provisionamento fino e desempenho compartilhado
O desempenho é alocado aos discos conforme necessário, e 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 gerar economia de custos para discos com diferentes horários de pico de uso.
Aumento automático para performance do pool
Os discos em um pool de desempenho avançado podem disputar recursos de desempenho entre si se o desempenho total que eles consomem ao mesmo tempo atingir o desempenho provisionado do pool.
A disputa por 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 o desempenho provisionado.
Comparar tipos de provisionamento de performance
Para os 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 superprovisionamento 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 provisionar 1.000.000 de IOPS. Como o pool aceita provisionamento excessivo, é possível provisionar cada disco com 10.000 IOPS, totalizando 10.000.000 IOPS. No entanto, você só paga pelas 1.000.000 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 IOPS a qualquer 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.
Em um pool de desempenho avançado com 1.000.000 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 total provisionado seja de 10.000.000 de IOPS.
Preços
Você recebe uma cobrança pelos pools de hiperdisco com base na capacidade e no desempenho comprados 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 Exapools do Hyperdisk são qualificados para descontos por compromisso de uso (CUDs) com base em recursos com um compromisso mínimo de um ano ou até três anos. Ao comprar um Exapool de um ou três anos, você se qualifica automaticamente para CUDs com base em recursos em compromissos de um ou três anos.
Os pools de armazenamento de hiperdisco 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 Exapools, consulte Visão geral do Hyperdisk Exapools
- Saiba como criar um pool.