You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LVM RAID5故障磁盘替换及阵列重建求助

LVM RAID5故障磁盘替换及阵列重建求助

老哥我太懂你这种磁盘彻底挂掉、LVM还死咬着失效UUID不放的崩溃感了,别慌,咱们一步步来把这个RAID5阵列救回来:

第一步:彻底清理卷组里的失效PV记录

你之前执行vgreduce卡了几个小时被kill,核心原因是LVM一直在傻等那个已经彻底死透的磁盘,咱们给它加个参数,让它进入降级模式,别再无意义等待了:

  1. 先确保卷组完全处于非激活状态:
    vgchange -an array
    
  2. 用降级模式强制移除丢失的PV,这次绝对不会再卡几个小时:
    vgreduce --removemissing --force --activationmode=degraded array
    
    执行完再看vgdisplay array,应该就不会再提示找不到那个烦人的UUID了。

第二步:准备新磁盘并加入卷组

把新盘接上,先给它做和原来失效盘一致的分区(比如/dev/sdb1,分区类型选LVM:用fdisk就设为8e类型,用parted就加lvm标记),然后初始化PV:

pvcreate /dev/sdb1

接着把新PV加到卷组里:

vgextend array /dev/sdb1

第三步:重建RAID5阵列

现在卷组里已经有了新盘,咱们把它替换进RAID5逻辑卷:

  1. 先以降级模式激活卷组,让LVM允许我们操作不完整的阵列:
    vgchange -ay --activationmode=degraded array
    
  2. 用新PV替换失效的UUID对应的旧PV(那个UUID就是你之前报错的ILT0MD-1BxM-gDR7-PJid-Vkrw-MBbZ-Y31i1t):
    lvconvert --replace ILT0MD-1BxM-gDR7-PJid-Vkrw-MBbZ-Y31i1t /dev/array/data /dev/sdb1
    
  3. 现在可以看一下重建进度,两种方式都很直观:
    • 看LVM的状态:lvdisplay /dev/array/data
    • 看底层MD阵列的实时进度:cat /proc/mdstat
      等进度走到100%就算重建完成了。

第四步:收尾验证

  1. 重建完成后,正常激活卷组:
    vgchange -ay array
    
  2. 挂载分区测试数据:
    mount /mnt/data
    
    进去看看文件都在不在,随便读写个小文件测试下没问题就ok。
  3. 最后再确认一下卷组和逻辑卷的健康状态:
    vgdisplay array
    lvdisplay /dev/array/data
    

一些要注意的小细节

  • 新盘的分区大小必须大于等于原来失效盘的分区大小,不然LVM没法把原来的PV逻辑数据转移过去。
  • 操作前最好先备份一下卷组配置,以防万一出问题能快速回滚:
    vgcfgbackup array -f /root/array_backup.cfg
    
  • 如果执行lvconvert时提示卷组未激活,回去检查vgchange -ay --activationmode=degraded array是不是真的执行成功了。

备注:内容来源于stack exchange,提问作者user1842349

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:29:39