Inleiding
In dit document wordt de mogelijke oorzaak van de fout in de Redis-service in CyberVision Center beschreven.
Probleem
In sommige gevallen kan hetredis.service
apparaat op een CyberVision Center in een mislukte staat verkeren. Het falen van deze service kan er ook toe leiden dat andere services zoals marmotd en het backend naar beneden gaan.
Een mogelijke oorzaak voorredis.service
het niet netjes starten is dat het Redis Append Only File (AOF) zich in een corrupte staat bevindt.
Redis AOF is een persistentiemechanisme dat de Redis-server in staat stelt om elke uitgevoerde opdracht op de server te volgen en te registreren. Met AOF voegt Redis elke opdracht toe die sequentieel op de server wordt uitgevoerd. Dit voorkomt het verlies van gegevens als gevolg van onjuiste commando orders.
Oplossing
Om te bevestigen of de service is mislukt vanwege de beschreven context:
- Gebruik
systemctl
om de status van de Redis-service te controleren via CLI of in hetsystemctl
bestand in de diagnosebundel:
root@Center-4:~# systemctl --failed
* redis.service loaded failed failed Redis data structure
redis.service
Kijk in de logboeken voor specifieke fouten met behulp van deze opdracht ofjournal_redis
logbestand vanuit de diagnostische bundel:
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.
- Om het probleem op te lossen, moet u een AOF-bestandsback-up maken, een oplossing uitvoeren op het beschadigde bestand en het Centrum opnieuw opstarten:
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
- Na de reboot, controleer of het
redis.service
actief is.
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)