Neste documento, descrevemos como criar pools de hiperdisco. Os pools de hiperdisco são recursos de armazenamento em blocos que ajudam a gerenciar os recursos de armazenamento em blocos de hiperdisco de maneira agregada. Os pools de hiperdisco estão disponíveis nas seguintes variantes:
- Pools de armazenamento de hiperdisco: recomendados para a maioria das cargas de trabalho
- Exapools do Hyperdisk: recomendados para cargas de trabalho muito grandes que exigem mais de 100 GiB/s de desempenho simultâneo
Para saber mais sobre os diferentes tipos de pools do Hyperdisk, consulte Visão geral dos pools do Hyperdisk.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Go
Para usar os exemplos de Go nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para usar os exemplos do Java nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para usar os exemplos do Node.js nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Papéis e permissões necessárias
Para receber as permissões necessárias para criar um pool do Hyperdisk, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1) -
Para se conectar a uma instância de VM que possa ser executada como uma conta de serviço:
Usuário da conta de serviço (v1) (papel
roles/iam.serviceAccountUser)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar um pool de hiperdiscos. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar um pool de hiperdiscos:
-
compute.storagePools.createno projeto -
compute.storagePools.setLabelsno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
As seguintes limitações se aplicam ao criar pools de armazenamento de hiperdisco:
Limites de recursos:
- É possível criar um pool de armazenamento de hiperdisco com até 5 PiB de capacidade provisionada.
- É possível criar até cinco pools de armazenamento por hora.
- É possível criar até 10 pools de armazenamento por dia.
- É possível criar no máximo 10 pools de armazenamento por projeto.
- Não é possível mudar o modelo de provisionamento de um pool. Por exemplo, não é possível mudar um pool de armazenamento de capacidade padrão para um de capacidade avançada ou um de desempenho avançado para um de desempenho padrão.
- Os pools são um recurso zonal.
- É possível criar até 10.000 discos em um pool de armazenamento.
- É possível usar pools de armazenamento de hiperdisco apenas com o Compute Engine. As instâncias do Cloud SQL não podem usar pools de armazenamento de hiperdisco.
- É possível mudar a capacidade ou o desempenho provisionado de um pool de armazenamento no máximo duas vezes em um período de 24 horas.
- Só é possível criar discos Hyperdisk Balanced em um pool Hyperdisk Balanced e apenas discos Hyperdisk Throughput em um pool Hyperdisk Throughput.
- Entre em contato com sua equipe de conta para mudar a capacidade provisionada, os IOPS ou a capacidade de processamento de uma Exapool.
- Entre em contato com sua equipe de conta para excluir um Exapool.
Limites de discos em um pool de armazenamento:
- Somente novos discos no mesmo projeto e zona podem ser criados em um pool.
- Não é possível mover discos para dentro ou para fora de um pool. Para mover um disco para dentro ou fora de um pool, é necessário recriar o disco com base em um snapshot. Para mais informações, consulte Alterar o tipo de disco.
- Para criar discos de inicialização em um pool, use um pool de armazenamento Hyperdisk Balanced ou um exapool Hyperdisk Balanced.
- Os pools não oferecem suporte a discos regionais.
- Não é possível clonar, criar Instant Snapshots ou configurar a replicação assíncrona para discos em um pool.
Intervalos de capacidade e limites de desempenho provisionados
Ao criar um pool de armazenamento, a capacidade provisionada, as IOPS e a capacidade de processamento não podem exceder os limites descritos em Limites para pools.
Criar um pool de armazenamento de hiperdisco
Para criar um novo pool de armazenamento de hiperdisco, use o console Google Cloud , a Google Cloud CLI ou REST. Especifique as seguintes propriedades ao criar um pool de armazenamento:
- Zona
- Tipo de pool de armazenamento
- Modelo de provisionamento de capacidade
- Capacidade provisionada do pool
- Tipo de provisionamento de desempenho
IOPS e capacidade de processamento provisionadas do pool
Console
- Acesse a página Criar um pool de armazenamento no console do Google Cloud .
Acessar a página "Criar pool de armazenamento" - No campo Nome, digite um nome exclusivo para o pool de armazenamento.
- Opcional: no campo Descrição, insira uma descrição para o pool de armazenamento.
- Selecione a Região e a Zona em que o pool de armazenamento será criado.
- Escolha um valor para o Tipo de pool de armazenamento.
Escolha um tipo de provisionamento no campo Tipo de capacidade e especifique a capacidade a ser provisionada para o pool de armazenamento no campo Capacidade do pool de armazenamento. O tamanho pode ser de 10 TiB a 1 PiB.
Para criar um pool de armazenamento com grande capacidade, talvez seja necessário solicitar um ajuste de cota.
Escolha um tipo de provisionamento no campo Tipo de desempenho. Você pode usar os seguintes tipos de provisionamento com pools de armazenamento de hiperdisco:
- Capacidade padrão: a capacidade provisionada para cada disco criado no pool de armazenamento é deduzida da capacidade provisionada total do pool de armazenamento.
- Capacidade avançada: o pool de armazenamento se beneficia do provisionamento fino e da redução de dados. Apenas a quantidade de dados gravados reais é deduzida da capacidade provisionada total do pool de armazenamento.
- Desempenho padrão: o desempenho provisionado para cada disco criado no pool de armazenamento é deduzido do desempenho total provisionado do pool de armazenamento.
- Desempenho avançado: o desempenho provisionado para cada disco se beneficia do provisionamento fino. Somente a quantidade de desempenho usada por um disco é deduzida do desempenho provisionado total do pool de armazenamento.
Para pools de armazenamento Hyperdisk Balanced, no campo IOPS provisionadas, insira o IOPS a ser provisionado para o pool de armazenamento.
Para um pool de armazenamento Hyperdisk Throughput ou Hyperdisk Balanced, no campo Capacidade provisionada, insira a capacidade a ser provisionada para o pool de armazenamento.
Clique em Enviar para criar o pool de armazenamento.
gcloud
Para criar um pool de armazenamento de hiperdisco, use o
comando gcloud compute storage-pools create.
gcloud compute storage-pools create NAME \
--zone=ZONE \
--storage-pool-type=STORAGE_POOL_TYPE \
--capacity-provisioning-type=CAPACITY_TYPE \
--provisioned-capacity=POOL_CAPACITY \
--performance-provisioning-type=PERFORMANCE_TYPE \
--provisioned-iops=IOPS \
--provisioned-throughput=THROUGHPUT \
--description=DESCRIPTION
Substitua:
- NAME: o nome exclusivo do pool de armazenamento.
- ZONE: a zona em que o pool de armazenamento será criado,
por exemplo,
us-central1-a. - STORAGE_POOL_TYPE: o tipo de disco a ser armazenado no
pool de armazenamento. Os valores permitidos são
hyperdisk-throughputehyperdisk-balanced. - CAPACITY_TYPE (opcional): o tipo de
provisionamento de capacidade do pool de armazenamento. Os valores permitidos são
advancedestandard. Se não for especificado, o valoradvancedserá usado. - POOL_CAPACITY: a capacidade total a provisionar para o novo pool de armazenamento, especificada em GiB por padrão.
- PERFORMANCE_TYPE (opcional): o tipo de
provisionamento de desempenho do pool de armazenamento. Os valores permitidos são
advancedestandard. Se não for especificado, o valoradvancedserá usado. - IOPS: as IOPS a serem provisionadas para o pool de armazenamento. Só é possível usar essa sinalização com pools de armazenamento equilibrados de hiperdisco.
- THROUGHPUT: a capacidade de processamento em MBps a ser provisionada para o pool de armazenamento.
- DESCRIPTION (opcional): uma string de texto que descreve o pool de armazenamento.
REST
Construa uma solicitação POST para criar um pool de armazenamento de hiperdisco usando o
método storagePools.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/storagePools
{
"name": "NAME",
"description": "DESCRIPTION",
"poolProvisionedCapacityGb": "POOL_CAPACITY",
"storagePoolType": "projects/PROJECT_ID/zones/ZONE/storagePoolTypes/STORAGE_POOL_TYPE",
"poolProvisionedIops": "IOPS",
"poolProvisionedThroughput": "THROUGHPUT",
"capacityProvisioningType": "CAPACITY_TYPE",
"performanceProvisioningType": "PERFORMANCE_TYPE"
}
Substitua:
- PROJECT_ID: o ID do projeto;
- ZONE: a zona em que o pool de armazenamento será criado,
por exemplo,
us-central1-a. - NAME: um nome exclusivo para o pool de armazenamento .
- DESCRIPTION (opcional): uma string de texto que descreve o pool de armazenamento.
- POOL_CAPACITY: a capacidade total a provisionar para o novo pool de armazenamento, especificada em GiB por padrão.
- STORAGE_POOL_TYPE: o tipo de disco a ser armazenado no
pool de armazenamento. Os valores permitidos são
hyperdisk-throughputehyperdisk-balanced. - IOPS: opcional: as IOPS a serem provisionadas para o pool de armazenamento. Só é possível usar essa sinalização com pools de armazenamento equilibrados de hiperdisco.
- THROUGHPUT: opcional: a capacidade de processamento em MBps a ser provisionada para o pool de armazenamento.
- CAPACITY_TYPE (opcional): o tipo de
provisionamento de capacidade do pool de armazenamento. Os valores permitidos são
advancedestandard. Se não for especificado, o valoradvancedserá usado. - PERFORMANCE_TYPE (opcional): o tipo de
provisionamento de desempenho do pool de armazenamento. Os valores permitidos são
advancedestandard. Se não for especificado, o valoradvancedserá usado.
Go
Java
Node.js
Criar um Exapool do Hyperdisk
Os Exapools do Hyperdisk estão em disponibilidade geral com uma lista de permissões. Para criar uma Exapool do Hyperdisk, entre em contato com sua equipe de conta.