linux系统下检测硬盘上的坏道和坏块

发布时间:2020-02-28 22:22:57

来源:51CTO

阅读:1127

作者:赤练挚爱

磁盘坏道检测

当磁盘出现以下情况:io wait 无故增高或居高不下;

硬盘声音突然由原来的摩檫音变成了怪音;

系统无法正常启动,出现“IO error”等提示信息;

mkfs时,到某一进度停滞不前,最后报错,无法完成;

每次系统开机都会运行 fsck 扫描磁盘错误;

对磁盘执行fdisk时,到某一定进度会反复进进退退。

出现如上状况,就需要及时对磁盘进行坏道检测并及时对磁盘坏道进行检测测试磁盘的可用性,并立即备份数据。

1.发现硬盘坏道

dmesg

当有硬盘坏道时,通常在dmesg输出的信息中会有 Buffer I/O Error,所以经常检查dmesg的输出可以及时发现是否存在硬盘问题。

2.检测坏道

2.1 通过fdisk 查看显示所有磁盘或闪存的信息# fdisk -l /dev/sd*

2.2 使用 badlocks检查 linux 硬盘上的坏道/坏块。也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘。# badblocks -s -v /dev/sdg  > badsectors.txt

Checking blocks 0 to 20970495

Checking for bad blocks (read-only test):

done

Pass completed, 0 bad blocks found. (0/0/0 errors)

备注: -v 选项让它显示操作详情

-s 在检查时显示进度

-o 将检查的结果写入指定的输出文件

-w 在检查时,执行写入测试。

也可以针对单独分区进行检查。

3.硬盘坏道类型

硬盘坏道分为物理坏道和逻辑坏道。

物理坏道:就是硬盘实体有坏的地方,物理坏道推荐换硬盘,当然也有办法重新分区来隔离坏道,不过可能也用不久,所以不推荐。

逻辑坏道:是磁盘磁道上面的校验信息(ECC)跟磁道的数据对不上号所致。出现这一故障的原因,通常都是因为一些程序的错误操作或是该处扇区的磁介质开始出现不稳定的先兆。物理坏道也是逻辑坏道产生的一种原因。

4.修复磁盘坏道

首先,当检测出坏道之后首先要看下服务器磁盘的灯有没有报警,一般的服务器都有硬盘报警灯,灯显示红色说明磁盘不工作了,这个明显是物理性故障问题,需要更换磁盘。

其次,若硬盘灯没有报警,或已经换了硬盘,但检查仍然有坏道,此时可能是逻辑坏道,需要尝试修复,若能修复说明确实是逻辑坏道,若修复不了说明是物理坏道。

4.1 逻辑坏道修复方式

查看上述分区检查出来的坏道信息:# tail -f badsectors.txt

205971590

205971591

205971592

205971593

205971594

205971595

4.1.1 先备份数据

若修复的硬盘或分区的重要数据已备份,此部分可以省略# dd if=/dev/sdg skip=205971590 of=/tmp/205971590-205971595.dat count=5

4.1.2 修复磁盘

硬盘在使用时不能修复,否则可能存在写并发的问题,所以修复前需要umount对应分区(若为系统所在分区就没办法在线修复了,因为无法umount)。# umount /data02

但umount可能出现"Device busy"的错误,是因为有程序在使用这个分区,需要将这些进程都关闭。使用fuser(命令如下),其中/data02是分区对应的挂载目录。# fuser -m /data02

# fuser -m -v -i -k /data02

第一条fuser命令列出使用/data02的进程ID,第二条列出PID并kill掉进程(带有提示确认),建议先使用第一条命令列出PID,然后针对查看是哪些类型的进程,不要盲目杀死进程。

umount 分区成功后,修复命令如下,其中-s表示给出进度,-w表示写入修复的,后面是结束(END)和开始(START)块号,注意END在前,START在后。

# badblocks -s -w /dev/sdg 205971590 205971595

或者修复后再次检查

# badblocks -s -v /dev/sdg 205971590 205971595

4.1.3 再次检查恢复

恢复数据# dd if=/tmp/205971590-205971595.dat of=/dev/sdg

重新分区检查# badblocks -s -v  /dev/mapper/VolGroup-lv_home > badsectors.txt

若没有坏道说明修复已完成,若有坏道可以尝试重复以上方法。

5.屏蔽坏道部分

执行e2fsck(针对 ext2/ext3/ext4 文件系统)或fsck命令,命令中还需要用到badsectors.txt文件和设备文件。

备注:-l    选项告诉命令将在指定的文件 badsectors.txt 中列出的扇区号码加入坏块列表。------------ 针对 for ext2/ext3/ext4 文件系统 ------------

# e2fsck -l badsectors.txt /dev/sdb1

e2fsck 1.42.9 (28-Dec-2013)

/dev/sdb1: Updating bad block inode.

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****

/dev/sdb1: 12/1310720 files (8.3% non-contiguous), 128782/5242624 blocks

------------ 针对其它文件系统 ------------

$ sudo fsck -l badsectors.txt /dev/sda10

6. fsck工具

参数:

filesys : 磁盘设备名称(eg./dev/sda1),挂载(mount)点 (eg. / 或 /usr)

-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数

-s : 依序一个一个地执行 fsck 的指令来检查

-A : 对/etc/fstab 中所有列出来的 分区(partition)做检查

-C : 显示完整的检查进度

-d : 打印出e2fsck的 debug 结果

-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行

-R : 同时有 -A 条件时,省略 / 不检查

-V : 详细显示模式

-a : 如果检查有错则自动修复

-r : 如果检查有错则由使用者回答是否修复

-y : 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复。

在 Linux 上使用 Smartmontools 工具扫描坏道

这个方法对带有 S.M.A.R.T(自我监控分析报告技术Self-Monitoring, Analysis and Reporting Technology)系统的现代磁盘(ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘)更加的可靠和高效。S.M.A.R.T 系统能够帮助检测,报告,以及可能记录它们的健康状况,这样你就可以找出任何可能出现的硬件失效。

你可以使用以下命令安装smartmontools:

------------ 在基于 Debian/Ubuntu 的系统上 ------------$ sudo apt-get install smartmontools

------------ 在基于 RHEL/CentOS 的系统上 ------------$ sudo yum install smartmontools

安装完成之后,使用 smartctl 控制磁盘集成的 S.M.A.R.T 系统。你可以这样查看它的手册或帮助:$ man smartctl

$ smartctl -h

然后执行 smartctrl 命令并在命令中指定你的设备作为参数,以下命令包含了参数 -H 或 --health 以显示 SMART 整体健康自我评估测试结果。$ sudo smartctl -H /dev/sda10

检查 Linux 硬盘健康

上面的结果指出你的硬盘很健康,近期内不大可能发生硬件失效。

要获取磁盘信息总览,使用 -a 或 --all 选项来显示关于磁盘所有的 SMART 信息, -x 或 --xall 来显示所有关于磁盘的 SMART 信息以及非 SMART 信息。

linux系统检测硬盘物理损坏,linux系统下检测硬盘上的坏道和坏块相关推荐

  1. 如何在 Linux 系统下检测硬盘上的坏道和坏块

    导读 让我们从坏道和坏块的定义开始说起,它们是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的.随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或 ...

  2. linux系统硬盘坏道,如何在 Linux 系统下检测硬盘上的坏道和坏块

    在 Linux 上使用坏块工具检查坏道 坏块工具可以让用户扫描设备检查坏道或坏块.设备可以是一个磁盘或外置磁盘,由一个如 /dev/sdc 这样的文件代表. 首先,通过超级用户权限执行 fdisk 命 ...

  3. 硬盘坏块监测linux,Linux上检测硬盘上的坏道和坏块

    Linux上检测硬盘上的坏道和坏块 让我们从坏道和坏块的定义开始说起,它们是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的. 磁盘坏道分为三种: 0磁道坏 ...

  4. linux 判断u盘 硬盘坏道,在 Linux 上检测硬盘上的坏道和坏块

    让我们从坏道和坏块的定义开始说起,它们是一块磁盘或闪存上不再能够被读写的部分,一般是由于磁盘表面特定的 或闪存晶体管失效导致的. 随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或破坏性的影 ...

  5. linux系统硬盘坏道,linux系统下检测硬盘上的坏道和坏块

    磁盘坏道检测 当磁盘出现以下情况:io wait 无故增高或居高不下: 硬盘声音突然由原来的摩檫音变成了怪音: 系统无法正常启动,出现"IO error"等提示信息: mkfs时, ...

  6. linux系统下检测硬盘上的坏道和坏块

    磁盘坏道检测 当磁盘出现以下情况: io wait 无故增高或居高不下: 硬盘声音突然由原来的摩檫音变成了怪音: 系统无法正常启动,出现"IO error"等提示信息: mkfs时 ...

  7. 如何在Linux中检查硬盘上的坏道或坏块

    让我们先定义一个坏扇区/块,它是磁盘驱动器或闪存上的一个部分,由于磁盘表面上固定的物理损坏或闪存晶体管故障,因此无法再对其进行读写. 随着坏扇区的不断累积,它们会不希望地或具有破坏​​性地影响您的磁盘 ...

  8. 如何使用 Victoria 检测并修复硬盘坏道和坏扇区

    硬盘使用时间长了,基本上都有那么一两个坏道,不过不太影响系统,不过坏道多了,那就恶心了,有时候可能连系统都无法安装,那么如何来修复这些坏道呢,当然如果你肯下本的话,PC3000是个专业的修复硬盘工具, ...

  9. 计算机硬盘磁道损坏有什么症状,计算机硬盘扇区损坏,读取数据时出现死机现象的解决方法...

    长时间使用计算机硬盘时,许多用户遇到了坏扇区,这将大大降低硬盘的使用寿命. 读取坏扇区数据时,在严重的情况下会冻结甚至崩溃. 如果计算机的硬盘上有坏道,则必须修复逻辑坏道. 如何修复计算机硬盘上的坏道 ...

最新文章

  1. python语言几个常见函数的使用
  2. 算法工程师在岗3年小结!
  3. IC/FPGA笔试/面试题分析(十)CMOS门电路
  4. 优化调整Oracle 8i数据库
  5. python库下载安装报错_python3.6下Numpy库下载与安装图文教程
  6. uva 701——The Archeologists\' Dilemma
  7. 英语常见介词错误用法,你有犯过吗?
  8. zabbix server的图像展示接口
  9. 用python画四叶草-python turtle工具绘制四叶草的实例分享
  10. Word AddIn编译出现LINK2001 _main
  11. 雷林鹏分享:jQuery EasyUI 数据网格 - 自定义排序
  12. 一个骨灰级塞班开发者的自白
  13. MTSP遗传算法解决
  14. 刘华:上云还是不上云,这是一个问题
  15. 信号完整性与电源完整性分析 第三版 pdf_电源完整性,信号完整性,你说哪个更重要一点?...
  16. 计算机网络路由器和交换机之间该如何配置,交换机怎么配置?交换机和路由器有什么区别?...
  17. 互联网+医疗解决方案
  18. 社区宽带繁忙是什么意思_十年宽带维修工程师给你解读,为什么宽带越用越慢!...
  19. 亚马逊鲲鹏系统详细功能介绍
  20. Codable实现json转Model,是时候干掉HandyJSON了!

热门文章

  1. Vue 的渐进式是什么意思?
  2. 河南省iscc2019线下(hnciscn)Misc
  3. 股东转让股权后是否还应承担出资义务
  4. 比亚迪F6专用高清车载导航影音登场
  5. 无限流量服务器可靠吗,你的无限流量真纯正吗?别再被骗了!
  6. Nat Commun:中国中医科学院黄璐琦院士/首都医科大学高伟教授团队联合解析雷公藤甲素生物合成关键C-14位羟化机制...
  7. r语言中检测异常值_R中的异常值检测
  8. vue如何在一个工程里判断h5还是pc,(利用在一个页面显示不同router-view内容原理,本文只使用于单页面项目,多页面项目请查看我另一篇博文)
  9. 互联网寒冬!一线互联网移动架构师筑基必备技能之Java篇,附带学习经验
  10. FFmpeg添加x265/hevc编码器支持