内容

はじめに

問題

解決方法

はじめに

このドキュメントでは、CyberVision CenterでRedisサービス障害の問題が発生する原因について説明します。

問題

場合によっては、CyberVisionセンターのredis.serviceが障害状態になっている可能性があります。このサービスに障害が発生すると、marmotdやバックエンドなどの他のサービスも停止する可能性があります。

正常に起動しない原因の1つとしてredis.service、Redis Append Only File(AOF)が破損している可能性があります。

Redis AOFは、Redisサーバーがサーバー上で実行されるすべてのコマンドを追跡し、ログに記録することを可能にする持続性メカニズムです。 AOFを使用して、Redisはサーバ上で順次実行される各コマンドを追加します。これにより、誤ったコマンド順序によるデータ損失を防ぐことができます。

解決方法

説明されているコンテキストが原因でサービスが失敗したかどうかを確認するには、次の手順を実行します。

- 次のコマンドを使用してsystemctl、CLI経由でRedisサービスのステータスを確認するか、診断バンドル内のファイルを確認しますsystemctl。

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

* redis.service                      loaded failed failed    Redis data structure

- 次のコマンドを使用してredis.service journal_redis、特定のエラーがないかログを調べるか、診断バンドルからログを取得します。

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.

- この問題を解決する手順は、AOFファイルのバックアップを取り、破損したファイルに対して修正を実行し、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

- リブート後、がアクティブ状態であredis.serviceることを確認します。

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)