redis-配置优化
sentinel down-after-milliseconds 配置
作用:
当主节点(或从节点、Sentinel)连续无法响应PING命令超过该阈值时,Sentinel将其标记为主观下线(S_DOWN)。主观下线是故障转移的第一步,后续需通过Sentinel集群共识判断是否客观下线(O_DOWN)。
配置建议:
阈值设置过短(如1秒):易因网络波动误判节点下线,导致不必要的故障转移;
阈值设置过长(如5分钟):延长故障发现时间,降低集群高可用性;
推荐值:30秒(默认),或根据网络稳定性调整(网络稳定时可缩短至10-15秒)。
sentinel parallel-syncs 配置
作用:
故障转移期间,可同时重新配置多少个从节点指向新主节点。若从节点用于服务查询,请设置较小值,避免所有从节点在同步期间同时不可用。
配置数值的影响
parallel-syncs的数值平衡了故障转移速度与从节点可用性:
数值越大(如3):
优点:故障转移速度快(同时同步3个从节点,缩短整体同步时间);
缺点:同步期间,这3个从节点会暂停服务(专注于复制新主节点数据),若从节点需服务查询,会导致业务查询失败。
数值越小(如1,图片中的配置):
优点:从节点可用性高(每次仅1个从节点同步,其他从节点继续服务查询);
缺点:故障转移速度慢(需依次同步所有从节点,整体时间更长)。
配置建议:
从节点服务查询:设为1(图片中的配置,推荐);
从节点仅作备份:设为3-5(加快故障转移);
需根据业务需求(如查询延迟、故障转移时间)调整数值。
sentinel failover-timeout 配置
作用:
该参数是Sentinel故障转移流程的核心计时器,控制着故障恢复过程中的多个关键步骤的等待时间。
注释详解
关键结论
failover-timeout是故障转移的“计时器开关”:所有故障转移相关的步骤都受其约束,是Sentinel保障集群高可用性的重要参数;
默认值3分钟是“平衡选择”:既不会因太快重试导致集群混乱,也不会因太慢恢复影响业务可用性;
调整需谨慎:需根据集群规模、网络状况和业务对延迟的容忍度,合理调整超时时间,避免“过短”或“过长”的极端情况。
sentinel deny-scripts-reconfig配置
前置背景:Sentinel的脚本功能
Redis Sentinel支持通过脚本实现事件通知或客户端重配置:
notification-script:当Sentinel检测到主节点故障、故障转移完成等事件时,执行的通知脚本(如发送邮件、短信报警);
client-reconfig-script:当从节点切换到新主节点时,执行的客户端重配置脚本(如更新客户端的主节点地址)。
这些脚本是shell脚本(如bash),若被恶意篡改,可能导致任意代码执行(如删除文件、泄露数据),严重威胁服务器安全。
作用
是否禁止通过SENTINEL SET命令动态修改脚本配置。默认情况下,SENTINEL SET命令(用于动态修改Sentinel配置)无法修改notification-script和client-reconfig-script。这避免了一个严重的安全问题——恶意客户端可以将脚本设置为任意内容,然后触发故障转移(如强制主节点下线),从而让Sentinel执行该恶意脚本。
例如,若攻击者通过SENTINEL SET mymaster notification-script /tmp/malicious.sh修改脚本路径,再触发故障转移,Sentinel会执行/tmp/malicious.sh,导致服务器被入侵。
配置建议
推荐值:保持默认的yes(图片中的配置),不要修改为no;
例外场景:若需在运行时调整脚本(如更新报警方式),需先停止Sentinel,修改sentinel.conf文件中的notification-script或client-reconfig-script,再重启Sentinel(不推荐动态修改,风险极高)。
关键结论
deny-scripts-reconfig是Sentinel的安全基石:必须保持启用(yes),否则可能导致严重的安全漏洞;
脚本配置的修改方式:若需调整脚本,应通过修改配置文件+重启Sentinel的方式,而非动态命令;
安全最佳实践:避免将敏感操作(如数据删除、权限提升)放入Sentinel脚本,同时限制脚本的执行权限(如设置为root不可写)。
一句话总结:此配置是Sentinel防止“恶意脚本执行”的安全锁,必须开启。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944561.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!