Contents

Introdução

Problema

Solução

Introdução

Este documento descreve a possível causa do problema de falha do serviço Redis no CyberVision Center.

Problema

Em alguns casos, oredis.serviceem um CyberVision Center pode estar em um estado de falha. A falha desse serviço também pode fazer com que outros serviços, como o marmotd e o back-end, fiquem inativos.

Uma causa possível pararedis.servicenão iniciar normalmente é o Redis Append Only File (AOF) estar em um estado corrompido.

O AOF Redis é um mecanismo de persistência que permite que o servidor Redis acompanhe e registre todos os comandos executados no servidor. Usando AOF, Redis acrescenta cada comando executado sequencialmente no servidor. Isso evita qualquer perda de dados devido a ordens de comando incorretas.

Solução

Para confirmar se o serviço falhou devido ao contexto explicado:

- Usandosystemctla verificação do status do serviço Redis via CLI ou nosystemctlarquivo no pacote de diagnósticos:

root@Center-4:~# systemctl --failed

* redis.service                      loaded failed failed    Redis data structure

- Procure erros específicos nosredis.servicelogs usando este comando oujournal_redislog do pacote de diagnóstico:

root@Center-4:~# journalctl -u redis.service

2023-08-08T09:07:59+0000 center redis[973]: Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check-aof --fix

2023-08-08T09:07:59+0000 center systemd[1]: redis.service: Main process exited, code=exited, status=1/FAILURE

2023-08-08T09:07:59+0000 center systemd[1]: redis.service: Failed with result 'exit-code'.

2023-08-08T09:07:59+0000 center systemd[1]: Failed to start Redis data structure server.

journal_error log:

2023-08-08T09:07:59+0000 center systemd[1]: Failed to start Redis data structure server.

2023-08-08T09:07:59+0000 center systemd[1]: Failed to start Redis data structure server.

- Para corrigir o problema, o procedimento é fazer um backup do arquivo AOF, executar uma correção no arquivo corrompido e reinicializar o Centro:

root@Center-4:~#sudo cp /data/redis/appendonly.aof /data/redis/appendonly.aof.bak

root@Center-4:~#sudo redis-check-aof --fix /data/redis/appendonly.aof

root@Center-4:~#reboot

- Após a reinicialização, confirme se oredis.serviceestá em um estado ativo.

root@Center-4:~# systemctl status redis.service

● redis.service - Redis data structure server

Loaded: loaded (/lib/systemd/system/redis.service; enabled; vendor preset: enabled)

Active: active (running)