DWS_2000000006 Node Data Disk Usage Exceeds the Threshold
Descrição
GaussDB(DWS) coleta o uso de todos os discos em cada nó em um cluster a cada 30 segundos.
- Se o uso máximo do disco nos últimos 10 minutos (configurável) exceder 80% (configurável), um alarme grave é relatado. Se o uso médio do disco for menor que 75% (ou seja, o limite de alarme menos 5%), esse alarme grave será cancelado.
- Se o uso máximo do disco nos últimos 10 minutos (configurável) exceder 85% (configurável), um alarme crítico é relatado. Se o uso médio do disco for menor que 85% (ou seja, o limite de alarme menos 5%), esse alarme crítico será apagado.
Se o uso máximo do disco for sempre maior que o limite de alarme, o sistema gera um alarme novamente 24 horas depois (configurável).
Atributos
ID do alarme |
Gravidade do alarme |
Apagar automaticamente |
---|---|---|
DWS_2000000006 |
Crítico/grave |
Sim |
Parâmetros
Parâmetro |
Descrição |
---|---|
Source |
Nome do sistema para o qual o alarme é gerado, por exemplo, GaussDB(DWS). |
Cluster Name |
Cluster para o qual o alarme é gerado. |
Location Information |
IDs e nomes do cluster e instância para os quais o alarme é gerado, por exemplo, cluster_id: xxxx-xxxx-xxxx-xxxx, cluster_name: test_dws, instance_id: xxxx-xxxx-xxxx-xxxx, instance_name: test_dws-dws-cn-cn-1-1. |
Detail Information |
Informações detalhadas sobre o alarme, incluindo informações de cluster, instância, disco e limite. Exemplo: CloudService=DWS, resourceId: xxxx-xxxx-xxxx-xxxx, resourceIdName: test_dws, instance_id: xxxx-xxxx-xxxx-xxxx, instance_name: test_dws-dws-cn-cn-2-1, host_name: host-192-168-1-122, disk_name: /dev/vdb, first_alarm_time: 2022-11-26 11:14:58; o uso médio do disco de dados do nó em 10 minutos é de 84%, o que excede o limite de 80%. |
Generated |
Hora em que um alarme é gerado. |
Status |
Status do alarme atual. |
Impacto no sistema
Se o volume de dados do cluster ou o tamanho temporário de vazamento de dados aumentar e o uso de qualquer disco único exceder 90%, o cluster se tornará somente leitura, afetando o atendimento ao cliente.
Possíveis causas
- O volume de dados de serviço aumenta rapidamente e a configuração de capacidade de disco do cluster não pode atender aos requisitos de serviço.
- Os dados sujos não são limpos em tempo hábil.
- Há tabelas de distorção.
Procedimento de manuseio
- Verifique o uso do disco de cada nó.
- Efetue logon no console do GaussDB(DWS).
- Na página Alarms, selecione o cluster atual na lista suspensa de seleção de cluster no canto superior direito e visualize as informações de alarme do cluster nos últimos sete dias. Localize o nome do nó para o qual o alarme é gerado e as informações do disco com base nas informações de localização.
- Na página Clusters, localize a linha que contém o cluster para o qual o alarme é gerado e clique em Monitoring Panel na coluna Operation.
- Escolha Monitoring > Node Monitoring > Disks para exibir o uso de cada disco no nó de cluster atual. Se você quiser exibir as informações de monitoramento histórico sobre um disco em um nó, clique em à direita para exibir as métricas de desempenho do disco nas últimas 1, 3, 12 ou 24 horas.
- Se o uso do disco de dados aumenta frequentemente e, em seguida, retorna ao normal em um curto período de tempo, isso indica que o uso do disco aumenta temporariamente devido à execução do serviço. Neste caso, você pode ajustar o limite de alarme através de 2 para reduzir o número de alarmes relatados.
- Se o uso de um disco de dados exceder 90%, somente leitura é acionado e o erro cannot execute INSERT in a read-only transaction é relatado para serviços relacionados à gravação. Neste caso, você pode consultar 3 para excluir dados desnecessários.
- Se o uso de mais da metade dos discos de dados no cluster exceder 70%, o volume de dados no cluster será grande. Nesse caso, consulte 4 para limpar dados ou executar a Expansão de capacidade de disco.
- Se a diferença entre o uso de disco de dados mais alto e mais baixo no cluster exceder 10%, consulte 5 para manipular a distorção de dados.
- Verifique se a configuração do alarme é adequada.
- Retorne ao console de gerenciamento do GaussDB(DWS) e escolha Alarms > Alarm Rule.
- Localize a linha que contém Node Data Disk Usage Exceeds the Threshold e clique em Modify na coluna Operation. Na página Modifying an Alarm Rule, veja os parâmetros de configuração do alarme atual.
- Ajuste o limite de alarme e o período de detecção. Um limite de alarme mais alto e um período de detecção mais longo indicam uma sensibilidade de alarme mais baixa. Para obter detalhes sobre a configuração da GUI, consulte Regras de alarme.
- Se a especificação do disco de dados for alta, é aconselhável aumentar o limite com base nas métricas de monitoramento de disco histórico. Caso contrário, execute outras etapas. Se o problema persistir, é aconselhável executar a Expansão de capacidade de disco.
- Retorne ao console de gerenciamento do GaussDB(DWS) e escolha Alarms > Alarm Rule.
- Verifique se o cluster está no estado somente leitura.
- Quando um cluster estiver no estado somente leitura, interrompa as tarefas de gravação para evitar a perda de dados causada pelo esgotamento do espaço em disco.
- Retorne ao console de gerenciamento do GaussDB(DWS), clique em Clusters, localize a linha que contém o cluster anormal e escolha More > Cancel Read-Only na coluna Operation.
- Na caixa de diálogo exibida, confirme as informações e clique em OK para cancelar o estado somente leitura do cluster. Para obter detalhes, consulte Remoção do status somente leitura.
- Depois que o modo somente leitura estiver desabilitado, use o cliente para se conectar ao banco de dados e execute o comando DROP / TRUNCATE para excluir dados desnecessários.
- Verifique se o uso de mais da metade dos discos de dados no cluster excede 70%.
- Execute o comando VACUUM FULL para limpar os dados. Para obter detalhes, consulte Solução para alto uso de disco e cluster de somente leitura. Conecte-se ao banco de dados, execute a seguinte instrução SQL para consultar tabelas cuja taxa de página suja excede 30% e classifique as tabelas por tamanho em ordem decrescente:
1 2 3 4 5
SELECT schemaname AS schema, relname AS table_name, n_live_tup AS analyze_count, pg_size_pretty(pg_table_size(relid)) as table_size, dirty_page_rate FROM PGXC_GET_STAT_ALL_TABLES WHERE schemaName NOT IN ('pg_toast', 'pg_catalog', 'information_schema', 'cstore', 'pmk') AND dirty_page_rate > 30 ORDER BY table_size DESC, dirty_page_rate DESC;
Veja a seguir um exemplo do possível resultado de execução da instrução SQL (a taxa de página suja de uma tabela é alta):1 2 3 4
schema | table_name | analyze_count | table_size | dirty_page_rate --------+------------+---------------+------------+----------------- public | test_table | 4333 | 656 KB | 71.11 (1 row)
- Se algum resultado for exibido na saída do comando, limpe as tabelas com uma alta taxa de página suja no modo serial.
1
VACUUM FULL ANALYZE schema.table_name
A operação VACUUM FULL ocupa espaço de desfragmentação extra, que é o tamanho da tabela x (1 – taxa de página suja). Como resultado, o uso do disco aumenta temporariamente e depois diminui. Certifique-se de que o espaço restante do cluster é suficiente e não acionará somente leitura quando a operação VACUUM FULL for executada. É aconselhável começar a partir de pequenas tabelas. Além disso, a operação VACUUM FULL mantém um bloqueio exclusivo, durante o qual o acesso à tabela operada é bloqueado. Você precisa organizar adequadamente o tempo de execução para evitar afetar os serviços.
- Se nenhuma saída do comando é indicada, nenhuma tabela com uma taxa de página suja alta existe. Você pode expandir a capacidade de nó ou disco do cluster com base nos seguintes tipos de armazém de dados para evitar a interrupção do serviço causada por somente leitura acionado pelo aumento adicional do uso do disco.
- Armazenamento de dados padrão + disco em nuvem SSD, armazenamento de dados de fluxo e armazenamento de dados híbrido: consulte Expansão da capacidade do disco.
- Armazenamento de dados padrão + disco local SSD e anterior armazenamento de dados padrão (a expansão de disco não é suportada): consulte Expansão de um cluster.
- Execute o comando VACUUM FULL para limpar os dados. Para obter detalhes, consulte Solução para alto uso de disco e cluster de somente leitura. Conecte-se ao banco de dados, execute a seguinte instrução SQL para consultar tabelas cuja taxa de página suja excede 30% e classifique as tabelas por tamanho em ordem decrescente:
- Verifique se a diferença entre os usos de disco de dados mais altos e mais baixos no cluster excede 10%.
- Se o uso do disco de dados for muito diferente, conecte-se ao banco de dados e execute a seguinte instrução SQL para verificar se há tabelas de distorção no cluster:
1
SELECT schemaname, tablename, pg_size_pretty(totalsize), skewratio FROM pgxc_get_table_skewness WHERE skewratio > 0.05 ORDER BY totalsize desc;
A seguir, um exemplo do possível resultado da execução da instrução SQL:1 2 3 4 5 6 7
schemaname | tablename | pg_size_pretty | skewratio ------------+---------------------+----------------+----------- scheduler | workload_collection | 428 MB | .500 public | test_table | 672 KB | .429 public | tbl_col | 104 KB | .154 scheduler | scheduler_storage | 32 KB | .250 (4 rows)
- Se a saída da instrução SQL for exibida, selecione outra coluna de distribuição para a tabela com distorção severa com base no tamanho da tabela e na taxa de distorção. Para 8.1.0 e versões posteriores, use a sintaxe ALTER TABLE para ajustar a coluna de distribuição. Para outras versões, consulte Como ajustar colunas de distribuição?
- Se o uso do disco de dados for muito diferente, conecte-se ao banco de dados e execute a seguinte instrução SQL para verificar se há tabelas de distorção no cluster:
Liberação de alarme
Depois que o uso do disco diminui, o alarme é apagado automaticamente.