centos分卷如何解决磁盘故障
小樊
33
2025-12-15 17:56:03
CentOS 分卷环境下的磁盘故障处置与恢复
一、快速判断与应急止损
- 识别异常现象:根分区被挂载为只读(ro)、命令报 I/O error、系统日志出现 EXT4-fs error 或 XFS 报错、磁盘在 lsblk/fdisk -l 中消失。
- 立即检查:
- 查看挂载与只读状态:
mount | grep " ro,"、df -h
- 查看内核与系统日志:
dmesg | egrep -i "error|fail|sda|sdb"、journalctl -xe
- 检查健康与错误:
smartctl -H /dev/sdX、smartctl -a /dev/sdX(关注 Reallocated_Sector_Ct、Current_Pending_Sector、Offline_Uncorrectable)
- 只读恢复:先尝试
mount -o remount,rw /;若失败,进入单用户/救援模式修复。
- 重要提示:任何写操作前先做数据备份/镜像,避免二次损伤。
二、文件系统损坏的修复
- 进入维护环境:
- 单用户模式:GRUB 菜单选中内核按 e,在 linux16 行末尾追加 single 或 1,按 Ctrl+X 启动。
- 救援模式:从安装介质选择 Troubleshooting → Rescue a CentOS system,进入 shell。
- 修复步骤(按文件系统类型):
- ext2/ext3/ext4:先卸载目标分区,再执行
e2fsck -f -y /dev/mapper/vg-lv 或 fsck -y /dev/sdXn。
- XFS:先卸载,再执行
xfs_repair /dev/mapper/vg-lv;若提示需离线修复,使用安装介质救援模式执行。
- 完成后重新挂载并验证:
mount -o remount,rw / 或 mount /dev/mapper/vg-lv /mountpoint,df -h、ls 校验。
三、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 正确性。