错误 #2216
YZMM2.0.12Pre1T2,网管服务器断电重启后,redis无法自动连接上
开始日期:
2024-10-08
计划完成日期:
% 完成:
0%
预期时间:
描述
网管初步定位是:docker中的redis服务器在断电重启异常,删除/var/lib/redis目录下的appendonly.aof和dump.rdb两个文件后,重启正常。
网管侧需要对该类异常增加保护措施,便于可自动拉起redis
历史记录
由 马 党旗 更新于 10 个月 之前
- 状态 从 进行中 变更为 转测试
- 指派给 从 马 党旗 变更为 杨 凯
此问题由于掉电时候,redis数据库有大量写操作,导致 appendonly.aof 损坏,从而redis服务启动时无法正确处理数据
解决方法:
在系统重启的时候,在redis启动脚本中做一次文件损坏校验,如果损坏严重则删除此文件再重新启动redis服务
具体见服务单元文件部分配置如下:
[Service]
Type=forking
ExecStartPre=/bin/bash -c 'if [ -f /var/lib/redis/appendonly.aof ]; then yes | /usr/bin/redis-check-aof --fix /var/lib/redis/appendonly.aof || rm -f /var/lib/redis/appendonly.aof; fi'
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
可以在下个版本进行校验