Table des matières

Introduction

Problème

Solution

Introduction

Ce document décrit la cause possible du problème d'échec du service Redis dans CyberVision Center.

Problème

Dans certains cas, l'redis.servicesur un centre CyberVision peut être en état d'échec. La défaillance de ce service peut également entraîner la panne d'autres services tels que marmotd et le back-end.

L'état AOF (Redis Append Only File) peut être endommagé pourredis.servicene pas démarrer correctement.

Redis AOF est un mécanisme de persistance qui permet au serveur Redis de suivre et de consigner toutes les commandes exécutées sur le serveur. À l'aide de AOF, Redis ajoute chaque commande exécutée séquentiellement sur le serveur. Cela évite toute perte de données due à des ordres de commande incorrects.

Solution

Afin de confirmer si le service a échoué en raison du contexte expliqué :

- À l'aidesystemctlde la commande check the status of the Redis service via CLI ou dans le fichiersystemctldu bundle de diagnostics :

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

* redis.service                      loaded failed failed    Redis data structure

- Recherchez des erreurs spécifiques dans lesredis.servicejournaux à l'aide de cette commande ou du journaljournal_redisde l'offre groupée de diagnostic :

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.

- Afin de résoudre le problème, la procédure consiste à prendre une sauvegarde de fichier AOF, effectuer une correction sur le fichier corrompu, et redémarrer le Centre :

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

- Après le redémarrage, vérifiez que l'redis.serviceest actif.

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)