Ir para o conteúdo

Como resolver o problema de pouco espaço de armazenamento em meu domínio do OpenSearch Service?

5 minuto de leitura
0

Quero resolver o problema de pouco espaço de armazenamento no meu domínio do Amazon OpenSearch Service.

Resolução

Seu domínio do OpenSearch Service tem requisitos de espaço de armazenamento que você deve cumprir. Se você ficar sem espaço de armazenamento do domínio, poderá receber o erro "ClusterBlockException".

Para resolver problemas de pouco espaço de armazenamento, execute uma ou mais das seguintes ações.

Verifique se há fragmentos desequilibrados

Fragmentos desbalanceados (distorção do espaço em disco) podem causar pouco espaço de armazenamento para alguns nós. Para resolver esse problema, distribua os fragmentos uniformemente em todos os nós.

Para verificar quanto espaço de armazenamento está disponível para cada nó em seu cluster, execute o seguinte comando:

curl -XGET "aos_endpoint/_cat/allocation?v"

Observação: substitua aos_endpoint pelo endpoint listado no console do OpenSearch Service.

Exemplo de saída:

shards | disk.indices | disk.used | disk.avail | disk.total | disk.percent | host         | ip          | node
8    |   989.4kb    |   25.9gb    |   32.4gb   |   58.4gb   |   44         | 192.0.2.0    | 192.0.2.3   | node1
8    |   962.4kb    |   25.9gb    |   32.4gb   |   58.4gb   |   44         | 192.0.2.1    | 192.0.2.4   | node2

Na saída, é possível visualizar as métricas de espaço em disco para cada nó. O OpenSearch Service reserva 20 GiB ou 20% do armazenamento disponível em cada instância do Amazon Elastic Compute Cloud (Amazon EC2) para operações internas. A saída anterior de cat/allocation não inclui o armazenamento reservado. Para visualizar o armazenamento de dados reservado e total, verifique a métrica do FreeStorageSpace OpenSearch Service no Amazon CloudWatch.

Observação: como cat/allocation não inclui dados reservados, seu valor é sempre menor do que o armazenamento que você vê no console do OpenSearch Service.

Aumente o tamanho dos volumes do Amazon EBS do seu domínio

Se o seu domínio usa volumes do Amazon Elastic Block Store (Amazon EBS) para armazenamento, aumente o tamanho dos volumes do EBS.

Se não for possível aumentar o tamanho do volume do EBS, execute uma ou mais das seguintes ações para escalar seu cluster:

Observação: se você usar instâncias Amazon EC2 I3 para armazenamento de dados, adicione nós ao seu cluster ou aumente a escala verticalmente do tipo de instância. Ao escalar sua instância, é possível causar uma implantação azul/verde.

Excluir índices não utilizados

Para reduzir a quantidade de dados armazenados em seu domínio, exclua índices ou documentos não utilizados, otimize índices antigos ou reduza a contagem de réplicas do domínio. Se o cluster já estiver usando o disco máximo, você deverá escalar seus volumes ou nós do EBS.

Observação: se você reduzir a contagem de réplicas do domínio, a tolerância a falhas será reduzida. É uma prática recomendada configurar pelo menos uma réplica para cada índice.

Primeiro, crie um backup dos índices indesejados no bucket do Amazon Simple Storage Service (Amazon S3). É possível usar os snapshots automatizados criados pelo OpenSearch Service para restaurar sua instância. Em seguida, exclua os índices do seu cluster do OpenSearch Service para liberar espaço em disco.

É uma prática recomendada também criar snapshots manuais. Antes de criar um backup manual, é necessário criar um repositório de snapshot manual.

Para verificar a data de criação dos índices, execute o seguinte comando:

GET _cat/indices?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string&s=creation.date.string:desc

Para excluir um único índice, execute o seguinte comando:

DELETE index-name

Observação: substitua index-name pelo nome do índice.

Para excluir vários índices, execute o seguinte comando:

DELETE index-pattern

Observação: substitua o index-pattern pelo seu padrão de índice.

Usar o ISM para gerenciar pouco espaço de armazenamento

Usar o Index State Management (ISM) para efetuar o rollover de índices no OpenSearch Service. Com o ISM, é possível definir políticas de gerenciamento personalizadas para mitigar problemas como pouco espaço em disco. Por exemplo, use uma política do ISM para excluir automaticamente índices com base em condições como tamanho do índice. Em seguida, usar uma operação de rollover para mover um destino para um novo índice quando um índice existente atender à condição definida.

O exemplo a seguir de política do ISM exclui índices após 50 minutos:

PUT _plugins/_ism/policies/delete_ism_policy  {
    "policy": {
        "policy_id": "delete_ism_policy",
        "description": "A simple default policy that deletes old unused indexes",
        "last_updated_time": 1658834661281,
        "schema_version": 13,
        "error_notification": null,
        "default_state": "example_hot_state",        
        "states": [
            {
                "name": "example_hot_state",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "50m"  
                        }
                    }
                ]
            },
            {
                "name": "delete",                    
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [                  
                    "sample*"
                ],
                "priority": 100,                    
                "last_updated_time": 1658834436349
            }
        ]
    }
}

Observação: a política anterior é anexada a todos os índices do padrão de índice que você adiciona à política.

Para anexar uma política do ISM ao índice, execute o seguinte comando:

POST _plugins/_ism/add/your-index-*  {
     "policy_id": "your_policy_id"
}

Observação: substitua your-index-* pelo seu índice ou padrão de índice e seu_policy_id pelo ID da política.

Para obter mais informações, consulte Como uso o ISM para gerenciar pouco espaço de armazenamento no Amazon OpenSearch Service?

Usar os alarmes do CloudWatch para monitorar o armazenamento

Para monitorar a quantidade de armazenamento disponível em seu cluster, use a métrica FreeStorageSpace. Para receber notificações quando seu espaço de armazenamento estiver baixo, crie um alarme do CloudWatch para o FreeStorageSpace.

Para obter mais informações, consulte Recommended CloudWatch alarms for OpenSearch Service (Alarmes do CloudWatch recomendados para o OpenSearch Service).

Informações relacionadas

Práticas recomendadas operacionais para o OpenSearch Service

Por que meu cluster do Amazon OpenSearch Service está com o status vermelho ou amarelo?

AWS OFICIALAtualizada há 10 meses