當Redis數據磁盤(pán)壞掉之后會(huì )發(fā)生什么
問(wèn)題簡(jiǎn)介
當Redis cluster集群數據所在磁盤(pán)的RAID卡壞掉了之后會(huì )發(fā)生什么?集群會(huì )不會(huì )進(jìn)行故障遷移,以及怎么快速恢復。
問(wèn)題1:cluster集群會(huì )進(jìn)行故障遷移嘛
答案:不會(huì )。
原因:當Redis集群數據磁盤(pán)所在的RAID卡壞掉之后,Redis實(shí)例并不會(huì )因為磁盤(pán)故障而直接掛掉,所以集群會(huì )認為當前的實(shí)例并沒(méi)有用故障,所以不會(huì )進(jìn)行故障遷移。
問(wèn)題2:磁盤(pán)壞掉會(huì )影響業(yè)務(wù)嘛。
答案:當 stop-writes-on-bgsave-error
配置為yes時(shí)會(huì )的。
原因:當 stop-writes-on-bgsave-error
配置為yes時(shí),rdb持久化異常時(shí)會(huì )直接報錯,導致數據寫(xiě)入時(shí)會(huì )報錯,影響業(yè)務(wù),但是不會(huì )影響到數據的讀。
問(wèn)題3:怎么快速恢復?
首先要做的就是將主實(shí)例 stop-writes-on-bgsave-error
設置為no,這樣就能保證數據正常寫(xiě)入集群,此時(shí)主實(shí)例之九華rdb異常,但從實(shí)例會(huì )將rdb文件持久化到磁盤(pán)里面,不會(huì )導致數據丟失。
第二步,停止業(yè)務(wù)。
第三步:停止故障主實(shí)例,等到集群故障遷移完成之后,將業(yè)務(wù)恢復。
第四步,修復RAID磁盤(pán)。
第五步,啟動(dòng)Redis故障主實(shí)例。
ddd