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

CentOS 7.2服务器IO异常求助:XFS报错与磁盘故障排查

CentOS 7.2服务器磁盘I/O故障排查与修复求助

问题背景

我们的服务器运行CentOS 7.2,今日出现异常故障,具体现象如下:

  • SSH连接时报错:-bash: /share/home/MGI/.bash_profile: Input/output error
  • 登录后提示符变为-bash-4.2$(无法加载用户环境配置文件)
  • 执行ls命令失败,提示ls: cannot open directory .: Input/output error
  • 使用vi编辑文件提示Permission denied,但cd、pwd命令可正常使用

初步怀疑磁盘损坏,执行mount命令输出如下:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=32831312k,nr_inodes=8207828,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/md126p2 on / type ext4 (rw,relatime,data=ordered)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/mapper/mpatha1 on /share type xfs (rw,relatime,attr2,inode64,noquota)
/dev/md126p1 on /boot type ext4 (rw,relatime,data=ordered)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
tmpfs on /run/user/1038 type tmpfs (rw,nosuid,nodev,relatime,size=6569364k,mode=700,uid=1038,gid=1039)
tmpfs on /run/user/1016 type tmpfs (rw,nosuid,nodev,relatime,size=6569364k,mode=700,uid=1016,gid=1016)
tmpfs on /run/user/1008 type tmpfs (rw,nosuid,nodev,relatime,size=6569364k,mode=700,uid=1008,gid=1008)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=6569364k,mode=700)
gvfsd-fuse on /run/user/0/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
tmpfs on /run/user/1019 type tmpfs (rw,nosuid,nodev,relatime,size=6569364k,mode=700,uid=1019,gid=1020)

同时dmesg输出中频繁出现以下错误:

XFS (dm-1): xfs_log_force: error -5 returned.
scsi 11:0:0:0: alua: rtpg failed with 8000002

请求指点如何排查真实故障原因并进行修复!


故障排查与修复建议

先给你梳理下核心线索:从dmesg报错和挂载信息来看,问题大概率出在/share挂载的XFS文件系统对应的存储设备上——dm-1就是/dev/mapper/mpatha1的映射设备,而用户目录/share/home/MGI正好在这个分区,这也解释了为什么加载配置文件、读取目录都会报I/O错误。下面分步骤给你排查方案:

第一步:确认存储设备的健康状态

  1. 检查多路径设备状态
    因为用到了mpatha1多路径设备,先执行multipath -ll查看路径状态,是否有链路失效、设备离线的情况。rtpg failed是ALUA(不对称逻辑单元访问)相关错误,说明存储路径的状态查询或切换出了问题,可能是存储端、链路或主机配置的问题。

  2. 验证SCSI设备可用性
    用lsscsi找到报错里的11:0:0:0对应物理设备名(比如/dev/sdb),然后执行:

    • sg_turs /dev/sdX:测试设备是否响应
    • sg_vpd -p 0x83 /dev/sdX:查看设备VPD页面,确认设备是否在线
  3. 检查磁盘健康信息

    • 如果是本地磁盘,执行smartctl -a /dev/sdX查看SMART数据,确认是否有坏道、健康状态异常;
    • 如果是SAN存储,立即联系存储管理员检查存储端LUN状态、控制器负载、链路连通性。

第二步:修复XFS文件系统(注意备份优先)

xfs_log_force: error -5说明XFS日志写入失败,文件系统已损坏。绝对不要在挂载状态下直接修复,否则可能加重数据丢失:

  1. 尝试卸载分区:umount /share,如果提示设备忙,用fuser -mv /share找到占用进程,尝试终止;如果还是无法卸载,建议进入单用户模式或用CentOS救援启动盘启动。
  2. 只读检查文件系统:xfs_repair -n /dev/mapper/mpatha1,先确认损坏程度和可修复性。
  3. 执行修复:如果只读检查无严重问题,执行xfs_repair /dev/mapper/mpatha1。修复前务必备份重要数据——如果还能只读挂载,可执行mount -o ro /dev/mapper/mpatha1 /mnt后拷贝数据到其他存储。

第三步:排查ALUA相关故障

scsi 11:0:0:0: alua: rtpg failed的常见原因及解决:

  • 存储端配置问题:联系存储管理员检查LUN的ALUA属性是否正常,存储控制器是否有故障;
  • 主机多路径配置:检查/etc/multipath.conf中的ALUA参数,尝试重启多路径服务:systemctl restart multipathd,再观察dmesg是否还有报错;
  • 链路故障:检查光纤线、HBA卡、交换机端口状态,可尝试更换链路或端口测试。

应急恢复方案(业务优先)

如果业务紧急,可先临时恢复服务:

  1. 备份/share分区的重要数据到正常存储(比如本地根分区或其他服务器);若无法挂载,可用ddrescue镜像整个分区,再在其他机器挂载镜像恢复数据。
  2. 修改/etc/passwd中用户的家目录路径到根分区(比如/home/MGI),让用户可以正常登录,先保证业务运行,再逐步排查存储故障。

内容的提问来源于stack exchange,提问作者jsjie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:27:03