المحتويات

المقدمة

المشكلة

الحل

المقدمة

يصف هذا وثيقة السبب المحتمل ل Redis خدمة عطل إصدار في CyberVision مركز.

المشكلة

في بعض الحالات، يمكن أنredis.serviceيكون تطبيق CyberVision Center في حالة فشل. وقد يؤدي فشل هذه الخدمة أيضا إلى انخفاض الخدمات الأخرى مثل Marmotd و Backend.

أحد الأسباب المحتملةredis.serviceلعدم بدء التشغيل بشكل سلس هو أن Redis Append Only File (AOF) في حالة تلف.

REDIS AOF هي آلية إستمرارية تسمح لخادم Redis بتتبع كل أمر يتم تنفيذه على الخادم وتسجيله. باستخدام AOF، يقوم Redis بإلحاق كل أمر يتم تنفيذه بشكل تسلسلي على الخادم. وهذا يؤدي إلى منع أي فقدان للبيانات بسبب أوامر أوامر غير صحيحة.

الحل

لتأكيد ما إذا كانت الخدمة قد فشلت بسبب السياق الذي تم شرحه:

- باستخدامsystemctlالتحقق من حالة خدمة Redis عبر CLI أو في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.

- in order to صححت الإصدار، الإجراء أن يأخذ AOF مبرد نسخة إحتياطية، أنجزت إصلاح على المبرد يفسد، وأعدت المركز:

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)