Alto uso de armazenamento
Se o uso de armazenamento de uma instância do DDS for muito alto ou totalmente usado, a instância ficará indisponível.
Esta seção descreve como analisar e corrigir o alto uso de armazenamento.
Verificar o uso do armazenamento
O DDS fornece os dois métodos a seguir para verificar o uso de armazenamento de uma instância:
- Verifique o uso de armazenamento no console do DDS.
Você pode fazer logon no console do DDS e clicar na instância. Na página Basic Information, você pode exibir o espaço de armazenamento da instância na área Storage Space.
Figura 1 Verificar o uso do armazenamento
- Veja as métricas de monitoramento (uso de armazenamento e armazenamento usado).
Para exibir métricas de monitoramento, consulte Exibição de métricas de monitoramento.
Figura 2 Verificar o uso do armazenamento
Solução
- Para instâncias de cluster, os dados podem ser distribuídos de forma desigual porque a coleção de banco de dados não é fragmentada corretamente. Como resultado, o uso do armazenamento é alto.
Para fragmentar a coleção de banco de dados corretamente, consulte Como aprimorar o desempenho do banco de dados configurando a partição?
- À medida que os dados de serviço aumentam, o armazenamento do banco de dados original é insuficiente. Você pode expandir o espaço de armazenamento para corrigir esse problema.
- Para expandir o armazenamento para instâncias de cluster, consulte Expensão de uma instância de cluster.
- Para expandir o armazenamento para instâncias de conjunto de réplicas, consulte Como expandir uma instância de conjunto de réplicas.
- Para escalar o armazenamento para instâncias de nó único, consulte Expensão de uma instância de nó único.
Se o espaço de armazenamento tiver atingido o limite superior da sua classe da instância, altere a classe da instância primeiro.
- Para alterar a classe de instância de cluster, consulte Alteração de uma classe de instância de cluster.
- Para alterar a classe de instância do conjunto de réplicas, consulte Alteração de uma classe de instância do conjunto de réplicas.
- Para alterar a classe de instância de nó único, consulte Alteração de uma classe de instância de nó único.
- Se um grande número de arquivos expirados ocupar o espaço de armazenamento, exclua os arquivos expirados a tempo. Por exemplo, se o banco de dados inteiro não for mais usado, execute dropDatabase para excluí-lo.
- O mecanismo de processamento de dados em segundo plano está com defeito.
Operações como gravar, atualizar e excluir (incluindo inserir e excluir índice) são, na verdade, convertidas para gravar operações em segundo plano. Os mecanismos de armazenamento subjacentes (o WiredTiger e o RocksDB) usam appendOnly. Somente quando o status de dados internos do mecanismo de armazenamento atende a certas condições, a operação de compactação é acionada para compactar dados e liberar espaço de armazenamento.
É por isso que às vezes o uso do disco parece maior do que o volume de dados real, mas seus serviços não são afetados. As operações internas de compressão de dados não serão executadas imediatamente. À medida que os dados continuam a ser gravados, a compactação é acionada em segundo plano para limpar o espaço.