Problemas ao atualizar a capacidade de armazenamento

Esta página descreve as mensagens de erro comuns que podem aparecer ao tentar reduzir ou reduzir a capacidade de armazenamento da instância.

A redução de armazenamento falha para os tipos de máquina C4A e N4

O seguinte erro pode ocorrer ao tentar aplicar uma operação de redução de armazenamento a um tipo de máquina C4A ou N4:

  ERROR: (gcloud.sql.instances.perform-storage-shrink) HTTPError 400: Invalid
  request: Requested provisioned IOPS is too high for the machine type and/or data disk size.

Os tipos de máquina C4A e N4 usam o Google Cloud Hyperdisk, que permite aos usuários ajustar a capacidade de processamento do disco e os valores de IOPS. Se você tentar reduzir o tamanho do disco a um ponto em que a capacidade de processamento e os valores de IOPS configurados se tornem inválidos, a operação de redução do disco falhará e retornará um erro.

Nesta mensagem de erro de exemplo, o valor de IOPS da instância solicitada é maior que o novo valor máximo de IOPS do disco pequeno, e a operação falha.

Para resolver esse problema, recalcule o tamanho de armazenamento de destino que você quer usar com base nas limitações do Google Cloud Hyperdisk da sua máquina e execute a operação de redução de armazenamento novamente.

As operações falham para um pool de leitura

Os seguintes erros ocorrem quando você tenta executar qualquer operação relacionada à redução de armazenamento em um pool de leitura:

Exemplo 1

gcloud sql instances perform-storage-shrink READ_POOL_NAME

ERROR: (gcloud.sql.instances.perform-storage-shrink) HTTPError 400: Invalid
request: Requested operation is not supported on a read pool.

As operações de redução de armazenamento não são compatíveis com pools de leitura ou nós de pool de leitura.

Exemplo 2

gcloud sql instances get-disk-shrink-config READ_POOL_NAME

ERROR: (gcloud.sql.instances.get-storage-shrink-config) HTTPError 400: Invalid
request: Requested operation is not supported on a read pool.

Não é possível verificar a configuração de redução de armazenamento de um pool de leitura, nó de pool de leitura ou réplica.

No entanto, é possível verificar a capacidade de armazenamento disponível da instância principal associada.

Não é possível verificar o status do cancelamento

O seguinte erro pode ocorrer ao tentar verificar o status de uma solicitação de cancelamento para uma operação de redução de armazenamento:

  {
    "kind": "sql#operation",
    "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/example_instance",
    "status": "RUNNING",
    "user": "user@example.com",
    "insertTime": "2023-12-18T22:54:11.663Z",
    "startTime": "2023-12-18T22:54:12.047Z",
    "error": {
      "kind": "sql#operationErrors",
      "errors": [
        {
          "kind": "sql#operationError",
          "code": "CANCEL_ERROR",
          "message": "The UPDATE operation 490cdbe6-8b75-415c-99c1-ccc80000004f can not be cancelled."
        }
      ]
    },
    "operationType": "UPDATE",
    "name": "OPERATION_ID",
    "targetId": "example_instance",
    "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
    "targetProject": "PROJECT_ID"
  }

Para resolver o problema, siga estas etapas:

  1. Essa mensagem de erro pode indicar que a solicitação de cancelamento está quase concluída. Tente verificar o status da operação novamente em alguns minutos.
  2. Se você ainda receber a mesma mensagem de erro, entre em contato com o suporte do Cloud SQL para receber ajuda.
  3. Quando a operação é bem-sucedida, uma mensagem semelhante à seguinte é retornada:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/example_instance",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2023-12-18T22:54:11.663Z",
      "startTime": "2023-12-18T22:54:12.047Z",
      "error": {
        "kind": "sql#operationErrors",
        "errors": [
          {
            "kind": "sql#operationError",
            "code": "CANCEL_SUCCESSFUL",
            "message": "The UPDATE operation is canceled."
          }
        ]
      },
      "operationType": "UPDATE",
      "name": "OPERATION_ID",
      "targetId": "example_instance",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

A redução de armazenamento falha

O seguinte erro pode ocorrer ao tentar executar uma operação de redução de armazenamento:

  There is a pending blocking operation for instance: INSTANCE_NAME

Essa mensagem de erro pode indicar que outra operação ainda está em execução, como as seguintes:

  • Operação de backup
  • Operação de importação
  • Uma operação de redução de armazenamento anterior na instância
  • Uma operação de redução de armazenamento ainda em execução em uma instância principal associada à réplica de leitura que você quer modificar

Para resolver o problema, aguarde a conclusão da operação anterior.

Se uma operação IMPORT anterior estiver travada, entre em contato com o suporte do Cloud SQL para solicitar ajuda para cancelar a operação.

Saiba mais em Limitações.

Tamanho de armazenamento inválido para uma instância principal

Os seguintes erros podem ocorrer ao tentar executar uma operação de redução de armazenamento em uma instância principal e o tamanho de destino solicitado for inválido:

Exemplo 1

  Invalid target storage size SIZE. Target storage
  size should be at least 10GB, which is the minimum storage size for a
  Cloud SQL instance.
  • O tamanho de destino solicitado precisa ser maior ou igual ao tamanho mínimo de armazenamento permitido para a instância.

    Para resolver o problema, especifique um tamanho de armazenamento de destino maior e execute a operação novamente.

    Saiba mais em Limitações.

Exemplo 2

  Instance INSTANCE_NAME cannot shrink storage further
  because the storage size is 10GB and the minimum storage size for a Cloud SQL
  instance is 10GB.
  • O tamanho de destino solicitado é muito pequeno. Se o tamanho de destino solicitado para --storage-size já estiver no tamanho mínimo de 10 GB, não será possível reduzi-lo ainda mais.

    Para resolver o problema, especifique um tamanho de armazenamento de destino maior e execute a operação novamente.

    Saiba mais em Limitações.

Exemplo 3

  ERROR: (gcloud.sql.instances.perform-storage-shrink) argument --storage-size: VALUE
  must be greater than or equal to 10GB; received: SIZE
  • Se o tamanho de destino solicitado para --storage-size for muito pequeno, execute o comando a seguir na instância principal para receber a capacidade mínima de armazenamento permitida:

    gcloud sql instances get-storage-shrink-config PRIMARY_INSTANCE_NAME
    

    A resposta inclui um valor para minimalTargetSizeGb. Você pode usar esse valor para o parâmetro --storage-size e executar a operação novamente.

Exemplo 4

  Invalid target storage size SIZE. Target storage
  size should be smaller than present storage size CURRENT_SIZE.
  • Se o tamanho de destino solicitado para --storage-size for muito grande, isso indica que o valor é maior que o tamanho de armazenamento atual da instância principal e você precisa usar um valor menor.

    Se você quiser um disco maior, edite a instância primeiro e tente a operação novamente.

Exemplo 5

  Requested storage size is too close to current storage usage, request storage
  size should be minimum SIZEGB.
  • Se o tamanho de destino solicitado estiver muito próximo do tamanho de armazenamento atual, será necessário modificar o valor e executar a operação novamente. As opções de modificação incluem o seguinte:

    • Aumente o valor de destino.
    • Defina o valor de destino como o mesmo valor de minimalTargetSizeGb.

    Saiba mais em Limitações.

Tamanho de armazenamento inválido para uma réplica

Os seguintes erros podem ocorrer ao tentar executar uma operação de redução de armazenamento em uma réplica e o tamanho de destino solicitado for inválido:

Exemplo 1

  Cannot shrink storage further for replica INSTANCE_NAME
  because the minimum storage size for a Cloud SQL replica is 10GB.

Se o tamanho de destino solicitado para --storage-size já estiver no tamanho mínimo de 10 GB, não será possível reduzi-lo ainda mais.

Para resolver o problema, especifique um tamanho de armazenamento de destino que esteja dentro de um intervalo aceitável e execute a operação novamente.

Saiba mais em Limitações.

Exemplo 2

  Cannot shrink storage further for replica REPLICA_INSTANCE_NAME
  because current replica storage size isn't greater than primary instance
  PRIMARY_INSTANCE_ID storage size. If you want to shrink
  both primary and replica instance, please shrink primary instance first.

Uma réplica de leitura não pode, em nenhum momento, ter uma capacidade de armazenamento menor que a instância principal associada. Se você quiser reduzir a capacidade de armazenamento de uma réplica, primeiro conclua uma operação de redução de armazenamento na instância principal associada.

Saiba mais em Limitações.

Espaço de armazenamento insuficiente

O seguinte erro pode ocorrer ao tentar definir o tamanho da redução de armazenamento:

  {
    "error": {
      "code": 400,
      "message": "Invalid target storage size TARGET_SIZE. ...",
      "errors": ...
  }

Essa mensagem de erro pode indicar que você não tem armazenamento suficiente na instância.

Para resolver o problema, siga estas etapas:

  1. Siga todas as etapas de redução de armazenamento.
  2. Verifique se o tamanho de armazenamento de destino é maior que o tamanho mínimo de destino definido anteriormente.

O valor de max_wal_size é muito grande

O seguinte erro pode ocorrer ao tentar reduzir o tamanho de armazenamento de uma instância do PostgreSQL:

  {
    "error": {
      "code": 400,
      "message": "Operation not allowed on instance INSTANCE_NAME with max_wal_size = MAX_WAL_SIZE, should be set less than 5120 before disk shrink operation..",
      "errors": ...
  }

Se o valor definido para a flag max_wal_size for muito alto, a instância poderá ser lenta para reiniciar, fazendo com que a operação expire e falhe.

Para resolver isso, atualize o max_wal_size valor para menos de 5128 MB. Para conferir um exemplo de como modificar uma flag de banco de dados, consulte Configurar flags de banco de dados.

O comando a seguir é um exemplo:

  gcloud sql instances patch INSTANCE_NAME \
  --database-flags=max_wal_size=MAX_WAL_SIZE

Substitua:

  • INSTANCE_NAME: o nome da instância da réplica.
  • MAX_WAL_SIZE: o registro de gravação antecipada máximo que você quer usar.

A redução de armazenamento falha após 10 dias

As operações de redução de armazenamento expiram se a operação persistir por mais de 10 dias.

Para resolver o problema, faça upgrade da CPU da instância para reduzir o tempo total da operação.

A redução de armazenamento falha com erro interno

As operações de redução de armazenamento sem sucesso podem retornar uma mensagem indicando um erro interno.

Para resolver o problema, entre em contato com o suporte do Cloud SQL para receber ajuda.

O comando gcloud de redução de armazenamento falha após 10 minutos

O seguinte erro pode ocorrer ao tentar reduzir o tamanho de armazenamento de uma instância usando o gcloud sql instances comando:

  Performing a storage size decrease on a Cloud SQL instance....failed.

Você pode receber essa mensagem de erro se a operação durar mais de 10 minutos.

Para resolver o problema, adicione a --async flag ao final do comando para aguardar a operação de forma assíncrona.

A seguir