Sommario

Introduzione

Problema

Soluzione

Introduzione

Questo documento descrive la possibile causa del problema di errore del servizio Redis in CyberVision Center.

Problema

In alcuni casi, lo stato delredis.servicecontrollo su un centro CyberVision può essere non riuscito. Il mancato funzionamento di questo servizio può inoltre causare l'interruzione di altri servizi, quali marmotd e il back-end.

Una possibile causa delredis.servicemancato avvio è il danneggiamento del file AOF (Append Only File) Redis.

Redis AOF è un meccanismo di persistenza che consente al server Redis di tenere traccia e registrare ogni comando eseguito sul server. Tramite AOF, Redis aggiunge tutti i comandi eseguiti in sequenza sul server. In questo modo si evita la perdita di dati a causa di ordini di comandi non corretti.

Soluzione

Per confermare se il servizio non è riuscito a causa del contesto spiegato:

- Utilizzandosystemctlverificare lo stato del servizio Redis tramite CLI o in unsystemctlfile nel bundle di diagnostica:

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

* redis.service                      loaded failed failed    Redis data structure

- Esaminare i log perredis.serviceindividuare eventuali errori specifici utilizzando questo comando ojournal_rediseseguire il log dal bundle di diagnostica:

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.

- Per risolvere il problema, eseguire un backup del file AOF, correggere il file danneggiato e riavviare Center:

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

- Dopo il riavvio, verificare che lo stato delredis.servicecomputer sia attivo.

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)