kkkgo / PaoPaoDNS

泡泡DNS是一个能一键部署递归DNS的docker镜像
https://blog.03k.org/post/paopaodns.html
GNU General Public License v3.0
832 stars 63 forks source link

[Help] ARM 环境 Redis 组件初始化出错问题 #31

Closed greenhat616 closed 1 year ago

greenhat616 commented 1 year ago

在提交之前,请确认

脚本自检日志

此问题无需日记

问题描述和复现步骤

例如:

redis | 1:M 28 Oct 2022 04:02:33.981 # WARNING Your kernel has a bug that could lead to data corruption during background save. Please upgrade to the latest stable kernel.
redis | 1:M 28 Oct 2022 04:02:33.981 # Redis will now exit to prevent data corruption. Note that it is possible to suppress this warning by setting the following config: ignore-warnings ARM64-COW-BUG

可以通过在 redis.conf 中添加 ignore-warnings ARM64-COW-BUG 解决。

但…… PaoPaoDNS 在容器更新/或者重新创建的情况下会重置 redis.conf 文件,因此建议在 redis.conf 中默认添加此配置,方便 ARM 路由器(如:R2S、R4S)跑此容器服务。

kkkgo commented 1 year ago

谢谢反馈该问题,根据redis说明,该问题仅存在于特定有问题的ARM Linux内核。身边的arm设备,测试了5.4.2245.15.55内核都无复现此问题。因此该警告应该告知用户存在此问题并建议使用稳定的内核,这个参数不会添加到默认的redis.conf中,但在启动失败的时候会添加该选项来再次尝试启动,用户仍然能看到此警告,但能运行。
该修复已经推送到sliamb/paopaodns:dev分支,由于没有环境测试,麻烦测试一下该修复是否能正常运行,谢谢!

greenhat616 commented 1 year ago

image image 正常了

kkkgo commented 1 year ago

该修复已推送到 sliamb/paopaodns:latest

yflook commented 2 days ago

但是,日志还是有告警: WARNING Your kernel has a bug that could lead to data corruption during background save. Please upgrade to the latest stable kernel. 警告:您的内核有一个错误,可能会导致后台保存过程中的数据损坏。请升级到最新的稳定内核。 --停用这个警告可能导致Redis在COW操作中若真的发生意外行为,是否会造成数据丢失?