Inhalt

Einleitung

Problem

Lösung

Einleitung

Dieses Dokument beschreibt die mögliche Ursache für das Redis-Serviceausfall-Problem in CyberVision Center.

Problem

In einigen Fällen kann dasredis.serviceauf einem CyberVision Center fehlschlagen. Der Ausfall dieses Dienstes kann auch dazu führen, dass andere Dienste wie marmotd und das Backend ausfallen.

Eine mögliche Ursache dafür, dassredis.servicedie Datei Redis Append Only File (AOF) nicht ordnungsgemäß gestartet wird, ist ein beschädigter Zustand.

Redis AOF ist ein Persistenzmechanismus, der es dem Redis-Server ermöglicht, jeden auf dem Server ausgeführten Befehl zu verfolgen und zu protokollieren. Mit AOF fügt Redis jeden Befehl an, der sequenziell auf dem Server ausgeführt wird. Dadurch werden Datenverluste aufgrund falscher Befehlsbefehle vermieden.

Lösung

So überprüfen Sie, ob der Dienst aufgrund des erläuterten Kontexts fehlerhaft ist:

- Überprüfen Siesystemctlden Status des Redis-Service über die CLI oder in dersystemctlDatei des Diagnosepakets:

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

* redis.service                      loaded failed failed    Redis data structure

- Überprüfen Sie dieredis.serviceProtokolle mithilfe dieses Befehls oderjournal_redisdes Diagnosepakets auf spezifische Fehler:

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.

- Um das Problem zu beheben, ist das Verfahren, eine AOF-Datei-Sicherung durchzuführen, eine Korrektur an der beschädigten Datei durchzuführen und das Center neu zu starten:

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

- Überprüfen Sie nach dem Neustart, ob sich dasredis.servicein einem aktiven Zustand befindet.

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)