首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
dmesg日志显示磁盘故障如何修复

dmesg日志显示磁盘故障如何修复

热心网友
57
转载
2026-05-04

Linux 磁盘故障定位与修复实操指南

dmesg日志显示磁盘故障如何修复

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

服务器突然变慢,或者文件系统莫名其妙变成只读,这背后十有八九是磁盘在“报警”。别慌,跟着下面这套流程走,你就能像老手一样,快速定位问题并采取正确行动。

一、快速定位与判断

第一步,别急着动手,先搞清楚状况。系统内核日志(dmesg)是故障的第一现场,从这里入手最直接。

  • 查看内核日志,聚焦 I/O 与设备错误:
    • 先看最近的记录:dmesg | tail -n 100
    • 再精准过滤关键词:dmesg | grep -iE “error|fail|ata|sd|IO|bad”
    • 这里有几个典型的“危险信号”:出现 Buffer I/O error、I/O error、Unrecovered read error,或者文件系统提示变为只读(比如EXT4-fs报“Couldn‘t remount RDWR … unprocessed orphan inode list”)。这些信息通常指向介质损坏或文件系统出了严重问题。
  • 检查磁盘健康状态(SMART):
    • 安装体检工具:yum/apt install smartmontools
    • 快速看结果:smartctl -H /dev/sda (看整体健康状态)
    • 看详细报告:smartctl -a /dev/sda
    • 报告里要盯紧这几个关键字段:SMART overall-health(PASSED/FAILING)、Reallocated_Sector_Ct(重映射扇区数)、Current_Pending_Sector(待映射扇区数)、UDMA_CRC_Error_Count(CRC错误计数)。如果重映射或待映射扇区数不是0,基本可以确定盘片有物理问题了;而CRC错误计数偏高,则很可能是线缆或接口接触不良。
  • 检查是否只读挂载: 运行 mount | grep ‘ro,’。如果发现根分区都变成只读了,这往往是文件系统检测到致命错误后触发的自我保护机制。
  • 实时 I/O 与负载: 执行 iostat -dx 1 5。如果看到 await(等待时间)异常飙升,或者 %util(利用率)长时间接近100%,那磁盘要么是异常了,要么就是遇到了性能瓶颈。

二、常见故障场景与处理

根据上面收集到的线索,基本可以归入下面几种场景。对症下药,效率最高。

场景与 dmesg 特征 处理要点
文件系统只读(EXT4-fs 报“Couldn‘t remount RDWR … unprocessed orphan inode list”) 首要任务是备份关键数据。然后进入救援模式或单用户模式,对问题分区执行 fsck(例如 fsck -y /dev/mapper/vg0-root)。如果修复失败,可以尝试升级 e2fsck 工具版本后再试。修复完成后,再重新正常挂载。
SMART 健康为 FAILING 或 Reallocated/Pending 不为 0 这是硬盘的“病危通知书”。立即安排全量备份,并准备更换新硬盘。如果磁盘在RAID阵列里,请严格按照阵列管理流程,将故障盘踢出并更换重建。
大量 “Buffer I/O error / I/O error / Unrecovered read error” 同样,先备份数据。然后卸载该磁盘,运行只读坏道扫描定位问题:badblocks -s -v -o bb.log /dev/sdX。如果发现的坏道极少,可能是逻辑错误,可以在确保数据已备份且磁盘离线的前提下,尝试用 badblocks -w 命令重写扇区来修复。否则,一律视为物理坏道,该隔离就隔离,该换盘就换盘。
“UnrecovData 10B8B BadCRC / READ FPDMA QUEUED / hard resetting link” 这类错误高概率是链路问题,比如SATA线质量差、电源线松动、背板接触不良或控制器兼容性有问题。优先更换一根高质量的SATA线,检查电源接口和主板接口,更新驱动和固件。排除链路问题后,再重新评估硬盘本体的健康状况。
根分区无法卸载导致无法 fsck 系统盘正在使用,自然无法修复。这时需要借助救援模式、LiveCD或专用的救援系统启动,在离线环境下对相应的逻辑卷或分区执行 fsck 操作。

三、标准修复流程

无论遇到哪种情况,遵循一个清晰的流程能最大程度避免失误和数据损失。

  1. 保障安全: 动手前,立即对重要数据进行全量备份。最好在离线或只读挂载状态下操作,防止修复过程造成二次破坏。
  2. 确认对象: 综合利用 dmesgsmartctlmountiostat 等命令,明确问题到底是文件系统错误,还是磁盘介质/链路故障,并锁定具体的设备或分区(例如 /dev/sda/dev/mapper/vg0-root)。
  3. 文件系统修复(只读或异常挂载时):
    • 首先卸载目标分区(如果是系统盘,需要进入救援/单用户模式)。
    • 执行修复:fsck -y /dev/sdXN;对于ext系列文件系统,也可以用 e2fsck
    • 如果工具版本太旧或报错,尝试在救援模式下升级 e2fsck 后再重试。
  4. 介质坏道处理(仅在已备份前提下):
    • 只读扫描定位: badblocks -s -v -o bb.log /dev/sdX
    • 逻辑坏道尝试重写: 先备份受影响的文件或扇区,然后使用 badblocks -w(注意参数顺序是 END START),修复后再次扫描验证。
    • 将坏块加入文件系统坏块表(ext系列): e2fsck -l bb.log /dev/sdXN
    • 必须清醒认识到,物理坏道是无法“修复”的,只能通过隔离或更换磁盘来解决。用分区或阵列策略屏蔽坏区只是权宜之计,并非长久之策。
  5. 链路问题排查: 如果日志中间出现 BadCRC、NCQ错误或链路复位,别急着判硬盘死刑。更换SATA线、检查电源和主板接口、排除背板问题往往是更有效的办法。排除后再测试SMART状态。
  6. 恢复与验证: 所有修复完成后,重新挂载磁盘。在恢复业务前,建议做一次全量校验(比如用 rsync 的校验模式,或对比关键文件的校验和)。之后,还需要持续观察一段时间 dmesg 日志和SMART数据趋势,确保问题真正解决。

四、关键命令速查

为了方便操作,这里把核心命令再整理一遍:

  • 日志与状态:
    • dmesg | tail -n 100dmesg | grep -iE “error|fail|ata|sd|IO|bad”
    • mount | grep ‘ro,’iostat -dx 1 5
  • 健康检测:
    • smartctl -H /dev/sdasmartctl -a /dev/sda
  • 文件系统修复:
    • fsck -y /dev/sdXNe2fsck -y /dev/sdXN
  • 坏道检测与处理:
    • 只读扫描:badblocks -s -v -o bb.log /dev/sdX
    • 写入修复(仅针对逻辑坏道,且必须已备份):badblocks -s -w /dev/sdX END START
    • 标记坏块(ext系列):e2fsck -l bb.log /dev/sdXN

五、风险提示

最后,必须强调几点。数据修复和坏道重写操作本身就有导致数据丢失的风险。因此,“先备份,后操作”是铁律,尽量在离线环境下进行。对于关键业务系统,如果心里没底,建议请专业人员进行现场评估和操作。尤其要记住:当SMART报告显示FAILING,或者出现不可恢复的读错误时,最稳妥的方案是优先更换磁盘,而不是冒险继续修复。硬盘有价,数据无价。

来源:https://www.yisu.com/ask/83329345.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Crontab任务为何没有按预期执行
编程语言
Crontab任务为何没有按预期执行

Crontab 任务为何没有按预期执行? 相信不少运维工程师或开发者都遇到过这个头疼的问题:明明设置好的 Crontab 定时任务,到了点却“静悄悄”,完全没有执行。这背后的原因其实挺多,但别担心,排查起来有章可循。下面这几个方向,是经验中最常见的问题点,按顺序检查一遍,多半能定位到症结。 1 确

热心网友
05.04
CentOS LibOffice与其他软件冲突解决
编程语言
CentOS LibOffice与其他软件冲突解决

CentOS 上 LibreOffice 与其他软件冲突的定位与解决 在 CentOS 环境下部署 LibreOffice,有时会遇到一些令人头疼的兼容性问题。别担心,这些问题大多有迹可循,且能通过系统性的排查来解决。下面,我们就来梳理一下常见的冲突类型以及一套行之有效的解决方案。 一、常见冲突类型

热心网友
05.04
CentOS Python测试如何进行
编程语言
CentOS Python测试如何进行

在CentOS上进行Python测试,可以遵循以下步骤 安装Python CentOS系统通常会预装Python,不过版本可能不是最新的。要安装或更新Python,最直接的方式就是利用系统自带的包管理器,比如 yum 或 dnf。 sudo yum install python3 当然,如果项目有特

热心网友
05.04
CentOS Python安装最佳实践分享
编程语言
CentOS Python安装最佳实践分享

CentOS 上安装 Python 的最佳实践 在CentOS服务器上部署Python环境,选对方法能省去后续无数麻烦。今天,我们就来聊聊如何根据不同的需求,选择最合适的安装路径,并确保环境的稳定与高效。 一 版本选择与总体策略 先说几个核心判断。对于新项目,优先选择仍在积极维护的版本是明智之举。P

热心网友
05.04
CentOS上Python安装失败原因分析
编程语言
CentOS上Python安装失败原因分析

在CentOS上安装Python:常见问题与解决之道 在CentOS系统上手动安装Python,尤其是从源码编译时,确实可能遇到一些“拦路虎”。别担心,这些问题大多有迹可循。下面就来梳理一下那些典型的安装失败原因以及对应的解决方案,帮你理清思路。 1 缺少依赖包 这恐怕是最常见的原因了。编译Pyt

热心网友
05.04

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

php-fpm在centos上如何设置日志级别
编程语言
php-fpm在centos上如何设置日志级别

在CentOS上设置PHP-FPM的日志级别 想在CentOS上调整PHP-FPM的日志级别吗?这通常需要编辑其配置文件。配置文件的位置一般有两个: etc php-fpm d www conf 或者 etc php-fpm conf。下面就来一步步拆解这个设置过程。 首先,打开你的终端。 接下来

热心网友
05.04
2025年用户最活跃的交易所Top5 全球用户最活跃的交易所
web3.0
2025年用户最活跃的交易所Top5 全球用户最活跃的交易所

币安(Binance)预计在2025年仍是用户最活跃的交易所,凭借其极高的流动性、全面的产品生态和一站式服务保障用户粘性。 对于加密货币投资者而言,选择一个合适的交易平台,往往是成功的第一步。面对市场上琳琅满目的交易所,如何判断哪个更适合自己?今天,我们就来梳理一下预计在2025年用户活跃度最高的几

热心网友
05.04
2026企业年会主持词结束语范文
职业与学业
2026企业年会主持词结束语范文

年会进行到尾声,如何为这场盛宴画上一个圆满的句号,是主持环节的点睛之笔。下面为大家整理了几套适用于2026年企业年会的结束语范文,希望能带来灵感。 2026企业年会主持词结束语范文(一) 【一】 男:欢快的乐曲声中,新一年的画卷正在我们面前徐徐展开。 女:每到辞旧迎新的时刻,总让人感慨万千,思绪如潮

热心网友
05.04
我们的赵老师
职业与学业
我们的赵老师

我们的赵老师 她有一双又大又明亮的眼睛。说来也奇,哪怕上课时她背对着我们板书,只要底下有谁做了小动作,她总能立刻察觉——那感觉,就像后背上也长了一双眼睛似的。赵老师的耳朵也灵得很,课堂上任何一点细微的嘀咕声都逃不过去。一旦有人悄悄说话影响了纪律,她滔滔不绝的讲解便会戛然而止。教室瞬间安静下来,那个说

热心网友
05.04
爱哭鼻子的我
职业与学业
爱哭鼻子的我

我,一个文静的小姑娘 小小的嘴巴,红红的脸蛋。眼睛不算大,但笑起来会弯成两道月牙儿。额前是整齐的刘海,脑后常扎着个精神十足的马尾辫。 要说这个人嘛,优点固然有一些,缺点也同样明显。其中最突出的一个,大概就是爱哭鼻子了。常常为了一些在旁人看来芝麻绿豆大的小事,我的眼眶就开始发酸,不一会儿,那眼泪便啪嗒

热心网友
05.04