温馨提示×

centos分卷如何解决磁盘故障

小樊
33
2025-12-15 17:56:03
栏目: 智能运维

CentOS 分卷环境下的磁盘故障处置与恢复

一、快速判断与应急止损

  • 识别异常现象:根分区被挂载为只读(ro)、命令报 I/O error、系统日志出现 EXT4-fs errorXFS 报错、磁盘在 lsblk/fdisk -l 中消失。
  • 立即检查:
    • 查看挂载与只读状态:mount | grep " ro,"df -h
    • 查看内核与系统日志:dmesg | egrep -i "error|fail|sda|sdb"journalctl -xe
    • 检查健康与错误:smartctl -H /dev/sdXsmartctl -a /dev/sdX(关注 Reallocated_Sector_Ct、Current_Pending_Sector、Offline_Uncorrectable
  • 只读恢复:先尝试 mount -o remount,rw /;若失败,进入单用户/救援模式修复。
  • 重要提示:任何写操作前先做数据备份/镜像,避免二次损伤。

二、文件系统损坏的修复

  • 进入维护环境:
    • 单用户模式:GRUB 菜单选中内核按 e,在 linux16 行末尾追加 single1,按 Ctrl+X 启动。
    • 救援模式:从安装介质选择 Troubleshooting → Rescue a CentOS system,进入 shell。
  • 修复步骤(按文件系统类型):
    • ext2/ext3/ext4:先卸载目标分区,再执行 e2fsck -f -y /dev/mapper/vg-lvfsck -y /dev/sdXn
    • XFS:先卸载,再执行 xfs_repair /dev/mapper/vg-lv;若提示需离线修复,使用安装介质救援模式执行。
  • 完成后重新挂载并验证:mount -o remount,rw /mount /dev/mapper/vg-lv /mountpointdf -hls 校验。

三、LVM 场景的卷组/物理卷异常恢复

  • 场景A:新增磁盘丢失导致 VG 降级或无法激活
    • 救援模式激活卷组:vgchange -ay
    • 查看 LVM 备份:vgcfgbackup 生成的 /etc/lvm/backup/
    • 恢复配置:vgcfgrestore -f /etc/lvm/backup/<vg> <vg>(可先加 --test 演练)
    • 重启后按需执行 xfs_repair(XFS)或 fsck(ext4)完成文件系统一致性修复。
  • 场景B:单盘环境(非 RAID)出现 I/O 错误/坏块
    • 先按第二部分修复文件系统;若 SMART 显示 Reallocated/Pending 扇区增多或 badblocks 扫描到坏块,尽快更换磁盘,避免继续写入。
  • 场景C:阵列环境(RAID)
    • 先检查阵列状态(如 LSI/Avago 的 storcli/megacli),确认降级/重建状态;按厂商流程热备/更换坏盘并重建,重建完成后再校验文件系统。

四、分区表与引导修复

  • 分区表/分区丢失:使用 TestDisk 进行分区表与分区结构恢复(可先只读扫描确认)。
  • ext3/ext4 文件删除恢复:在只读挂载前提下使用 extundelete 尝试恢复。
  • /boot 引导损坏导致 Error 15:救援模式挂载根分区,检查并修复 /boot(必要时重装内核/initramfs、重建 GRUB 配置)。
  • 启动失败且无法挂载:救援模式以读写方式挂载根分区,临时注释 /etc/fstab 中异常条目,启动后逐项修复。

五、预防与加固建议

  • 健康监控:部署 smartd 定期体检,关注 SMART 关键阈值;对关键业务设置告警。
  • 冗余架构:重要数据使用 RAID1/RAID10 或企业级存储,降低单盘故障影响面。
  • 变更管控:扩容/缩容/替换磁盘前先全量备份,在维护窗口操作,变更后及时校验。
  • 文件系统选择:大容量与高吞吐场景优先 XFS;通用场景可用 ext4
  • 自动化与演练:定期在测试环境演练救援流程,验证 LVM 备份/恢复fstab 正确性。

0