小本本的经验分享
在生产环境中,一个redis数据库服务器的ssd盘出现故障,导致redis实例宕掉,给整个集群带来了影响,下面小本本将给大家分享一些处理故障的经验。

故障分析与解决
首先,经过分析,发现ssd盘早期没有格式化好,4k对齐没做好处理,因此需要先进行4k对齐的处理。接着,准备将redis的aof文件转移到一个新的盘上,并且将aof的dir动态更改到其他盘,但是redis实例挂掉了,数据可能丢失。不过,小本本通过collector和redis日志发现,磁盘挂了后redis写入已经失败,估计有丢失数据也不多。collector有实现meta写入redis失败时转为写入本地磁盘,所以在redis实例down掉时,数据也不会丢失。
当然,还存在其他的问题,比如机器重启失败,阵列卡或线松了,盘丢失等。要是感到不保险,可以备份正常盘的数据,空出一块盘,把cache3的盘做个镜像,再做修复。最后,aof文件终于弄出来了,启动redis实例,发现aof文件有问题,启动失败。使用redis-check-aof–fix修复了aof文件,再启动,成功。redis数据是被截断一部分丢失了。数据恢复后,开始重新把redis机器上的ssd盘一个个重新格式化。
故障的原因和应对措施
本次redis故障的原因是因为redis的meta信息是衔接collector采集、storm处理和hadoopcamus入库的,因此,对集群的影响比较大。为了避免这种情况的发生,下一步计划是使用redis cluster来存储meta信息,从而避免单点故障,保障集群的可用性。
以上就是小本本处理redis磁盘故障的经验分享,希望大家通过这篇文章能够在实际工作中有所收获。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6128.html
