线上业务LVM磁盘故障更换unknowndevice故障
LVM的磁盘报错unknown device处理
处理流程
服务器的磁盘采⽤了lvm⽅案进⾏多盘组合,但是在海量⽂件的⾼并发读取下,尽管是ssd硬盘也经不起摧残,最近发现有部分⽂件⽆法访问,进⼊服务器才发现lvm有⼀块硬盘报unknown device,挂载错误。
警告
不要尝试重启,这是⾎的教训,重启后远程服务器都不知道进⼊啥模式了,会导致在线运⾏的业务直接迭掉。恰好机房的vnc也出了故障⽆法使⽤,简直抓瞎,幸好遇到和蔼可亲的机房维护⼈员帮助检查并且更换了硬盘
静等换上新的新盘就好,实际上换上新的硬盘,然后把数据在备份差异化同步过来就好。
如果⼿贱进⾏了不该的操作
如果你到⽹络上不⼩⼼搜索了以下,如同我⼀样,就会产⽣⽆所谓的悲剧,我特意将所有的悲剧记录下来,便于参考
vgreduce --removemissing VG --force
⼤部分急病乱投医可能执⾏到这个,刚开始可能会报错,⼤致的意思就是⽂件系统在运⾏中,但是你可以先取消挂载后执意坚持执⾏。
这样会导致数据表⾯丢失的错误。
vgcfgrestore -f xxxxxx.vg VG
数据丢失是不是要恢复,所以我做了⼀件事,通过vgcfgrestore --list vg命令获取到最后⼀次配置备份,然后修改了备份配置⽂件(先备份),将unkown的硬盘删除,然后执⾏坚持执⾏,恭喜,表⾯恢复正常,但是实际上⽆法挂载,会报块错误,⼤意就是逻辑卷的块⼤于物理卷的块,⽆法挂载。
resize2fs /dev/VG/LV
如果你把报错放⼊搜索引擎的搜索框,⼤致会建议你使⽤这个命令,实际上你会陷⼊长长的按y的结局中,我按了⼗⼏分钟的y键之后,觉得这特么扯淡了,所以最终没有⼀直按下去。
机房换了硬盘后
执⾏blkid发现uuid没有变更,灵光⼀闪,这不是可以把刚才备份的配置备份再执⾏⼀次vgcfgrestore -f xxxxxx进⾏恢复吗。
再次还原配置
1. vi /etc/lvm/archive/***.vg
2. 将device为unkown修改成/dev/xxx
3. 将flags⾥⾯的missing状态去掉
4. 保存,退出:wq+Enter
5. 移除逻辑卷(如果你执⾏vgcfgrestore修复过错误)lvremove VG LV手机unknown是什么意思
6. 再次恢复配置vgcfgrestore -f /etc/lvm/archive/xxxxxx.vg VG
7. 激活lvchange -ay /dev/VG/LV
分区错误恢复
按照提⽰执⾏修复:e2fsck /dev/VG/LV,现在按y⼿不疼了,按了1分钟就结束了,然后发现可以挂载了。
mount /dev/VG/LV /home
添加⾃动挂载
修改/etc/fstab⽂件,末尾添加
/dev/VG/LV /home ext4 noatime,defaults 0 0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论