整理的CentOS 7 LVM故障排除进阶步骤笔记,严格保持原始顺序不变,并对表述进行了优化和修正笔误(如路径 /etc/lvm/backup)

  1. 进入系统

    • 通过控制台或远程连接登录故障的CentOS 7服务器。
  2. 进入超级用户root

    • 执行命令:sudo su -su - 并输入root密码。
  3. 查看挂载:df -h

    • 执行命令:df -h
    • 目的:查看当前系统中文件系统的挂载点、使用情况,确认哪些LVM卷(通常是 /dev/mapper/.../dev/vgname/lvname)应该挂载但未挂载。
  4. 查看自动挂载:cat /etc/fstab

    • 执行命令:cat /etc/fstab
    • 目的:查看系统启动时需要自动挂载的文件系统及其配置,特别是LVM卷的挂载点和设备标识符(通常为/dev/mapper/vgname-lvnameUUID=...)。
  5. 手动挂载:mount -a

    • 执行命令:mount -a
    • 目的:尝试根据/etc/fstab的内容挂载所有文件系统。预期会有错误输出,指示挂载失败的具体设备/挂载点。
  6. 根据报错信息,找到缺失的路径

    • 仔细阅读第5步执行mount -a产生的错误信息。
    • 关键:找到报错中指示缺失或无法识别的逻辑卷(LV)或卷组(VG)的名称或路径。 例如 /dev/mapper/vgname-lvname not found.
  7. pv恢复用uuid

    • 如果怀疑物理卷(PV)状态异常(如丢失),可能需要通过其UUID来识别和操作。准备使用PV的UUID进行恢复操作(此步是预备知识提示)。
  8. uuid不对,pv恢复uuid(/etc/lvm/backup)

    • (路径修正为 /etc/lvm/backup) 如果发现PV的UUID与实际磁盘标识不一致:
      • 检查 /etc/lvm/backup/VGName 文件(其中VGName是你的卷组名),查找其中记录的该PV原始pv_uuid
      • 对比实际磁盘上PV的UUID(使用pvs -o +uuid查看)。
  9. pv更换uuid

    • 如果确认第8步中记录的原始UUID与当前磁盘PV的UUID不一致:
      • 执行命令:pvchange --uuid RandomNewUUID /dev/sdXn (不建议完全随机生成,更推荐使用备份文件中记录的原始UUID!)
      • 或更安全的做法(推荐):使用备份文件中记录的原始UUID恢复:pvchange --uuid OriginalUUIDFromBackup /dev/sdXn
      • 目的:将磁盘上的PV UUID改为LVM元数据备份中记录的原始值(或一个正确的值),确保LVM能正确识别。
  10. vgcfgrestore恢复 (修正:原笔记写为pvcfgrestore)

    • (步骤名称修正为 vgcfgrestore) 如果卷组(VG)状态异常(如unknown, partial)或元数据损坏:
      • 首先找到最近的元数据备份文件:ls -l /etc/lvm/backup/VGName (主备份文件) 和 ls -l /etc/lvm/archive/VGName (存档的备份,按时间戳命名)。
      • 强烈建议先备份当前状态vgcfgbackup -f /root/current_backup.vg VGName
      • 执行恢复命令:vgcfgrestore -f /etc/lvm/backup/VGName VGName (使用主备份文件) 或 vgcfgrestore -f /etc/lvm/archive/VGName_timestamp.vg VGName (使用存档备份)。
      • 目的:将VG的元数据恢复到之前的正常状态。
  11. unknows状态解决

    • 指解决VG或LV处于unknown状态的问题。
    • 使用第10步的vgcfgrestore恢复元数据通常是关键。
    • 恢复后,尝试vgchange -a y VGName激活卷组。
    • 如果问题依然存在,检查dmesgjournalctl是否有底层磁盘错误,并重复之前的UUID检查和元数据恢复步骤。
  12. 激活状态

    • 尝试激活卷组(VG)和逻辑卷(LV):
      • 激活指定卷组:vgchange -a y VGName
      • 激活所有卷组:vgchange -a y
      • 目的:让LVM管理和识别卷组及其中的逻辑卷。
  13. 回到第三步看报错信息,没有报错,则配置成功

    • 再次执行步骤3:df -h
    • 再次执行步骤5:mount -a
    • 目的:检查LVM卷是否已经正确识别并在重启前尝试挂载文件系统
    • 如果mount -a没有报错,且df -h能看到预期的挂载点,说明当前修复步骤已解决挂载问题(但重启后是否成功还需验证)。
  14. 报错分析,多才多,把路径还原出来

    • 如果步骤13的mount -a仍有报错:
      • 仔细分析新的报错信息 (“报错分析”)。
      • 信息中如果提到“太多的…”或路径问题(“多才多,把路径还原出来”):
        • 检查/etc/fstab中的挂载点路径是否存在(使用ls -ld /path/to/mountpoint)。
        • 检查LV名称是否与/etc/fstab中使用的名称或路径完全匹配(特别是在vgchange -a y之后使用lvdisplayls /dev/mapper/确认)。
        • 检查逻辑卷设备路径在/dev/mapper/下的命名格式(vgname-lvname,常含有-,而/etc/fstab可能写为vgname/lvname)。
        • 确保/etc/fstab中使用的设备标识(UUID或/dev/mapper/...)与实际存在的设备一致(使用blkidls /dev/mapper/验证)。
  15. 重启系统。重启smb

    • 如果步骤13和14验证通过(mount -a无错):
      • 执行命令:reboot 重启系统。
      • 系统重启并成功登录后,如果系统依赖Samba服务
        • 执行命令:systemctl restart smb (或 smbd) 重启SMB服务确保其加载了新挂载的共享。
  16. 只要有问题,一步错步步错,千万要百度,不要触碰格式化。

    • 重要警告:
      • 整个流程风险极高,任何一步操作错误都可能导致数据完全丢失。
      • 务必理解每一步操作的目的和潜在影响。如果不确定,立即停止
      • 强烈建议优先查阅LVM官方文档 (man pvchange, man vgcfgrestore, man vgchange)、权威技术博客或社区(而不仅仅是“百度”)。
      • 绝对禁忌: 在尝试恢复的过程中,绝对不要执行 mkfs, fdisk格式化或分区操作(“不要触碰格式化”),除非你已完全备份数据并明确知晓此操作会销毁数据。

(关于最后一行 是否激活: 找到/etc/lvm/archive/):

  • 该行是提示:
    • 是否激活? 指的是检查卷组状态,使用 vgdisplayvgs 查看 Attr 列。a 表示激活,p 表示部分激活。
    • 找到 /etc/lvm/archive/ 该目录存储了LVM自动创建的卷组元数据历史备份。当需要恢复到更早的状态时,应在此目录下查找按时间戳命名的备份文件(VGName_timestamp.vg),并在步骤10 (vgcfgrestore)中使用它们。通常优先尝试 /etc/lvm/backup 里的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值