CentOS下检测硬盘上的坏道和坏块

linux.cn   发布时间:2016-11-20 16:52:22   作者:linux.cn   我要评论
磁盘有坏道?本文小编将为大家具体的介绍如何在CentOS上检测硬盘上的坏道和坏块的方法,需要的用户一起来看看吧

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

随着坏道的继续积累,它们会对你的磁盘或闪存容量产生令人不快或破坏性的影响,甚至可能会导致硬件失效。

同时还需要注意的是坏块的存在警示你应该开始考虑买块新磁盘了,或者简单地将坏块标记为不可用。

因此,在这篇文章中,我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道。

以下就是步骤:

在 Linux 上使用坏块工具检查坏道 

坏块工具可以让用户扫描设备检查坏道或坏块。设备可以是一个磁盘或外置磁盘,由一个如 /dev/sdc 这样的文件代表。

首先,通过超级用户权限执行 fdisk 命令来显示你的所有磁盘或闪存的信息以及它们的分区信息:

sudo fdisk -l 

列出 Linux 文件系统分区

然后用如下命令检查你的 Linux 硬盘上的坏道/坏块:

sudo badblocks -v /dev/sda10 > badsectors.txt 

在 Linux 上扫描硬盘坏道

上面的命令中,badblocks 扫描设备 /dev/sda10(记得指定你的实际设备),-v 选项让它显示操作的详情。另外,这里使用了输出重定向将操作结果重定向到了文件 badsectors.txt。

如果你在你的磁盘上发现任何坏道,卸载磁盘并像下面这样让系统不要将数据写入回报的扇区中。

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

-l 选项告诉命令将在指定的文件 badsectors.txt 中列出的扇区号码加入坏块列表。

------------ 针对 for ext2/ext3/ext4 文件系统 ------------
$ sudo e2fsck -l badsectors.txt /dev/sda10
 
或
 
------------ 针对其它文件系统 ------------
$ sudo fsck -l badsectors.txt /dev/sda10

这个方法对带有 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下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加
    2015-12-01
  • linux防火墙iptables详细教程

    2.1 框架图 -->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING-->  mangle     |     mangle  &
    2008-09-08
  • Vi编辑器的使用方法

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任
    2008-09-08
  • centOS防火墙iptables的设置教程

    iptables是Linux上常用的防火墙软件,下面说一下iptables的安装、清除iptables规则、iptables只开放指定端口、iptables屏蔽指定ip、ip段及解封、删除已添加的iptables规则
    2012-12-24
  • CentOS下重新安装yum的方法分享

    今天deepvps不小心误删除了VPS下面的yum,大家都知道yum在linux中是很重要的一个功能,软件的下载,系统的更新都要靠他。没有yum,系统基本处于半残废状态。
    2010-12-20
  • CentOS安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法

    linux/centos Header V3 DSA signature: NOKEY, key ID 错误解决方法,需要的朋友可以参考下。
    2010-10-17
  • linux php扩展安装方法

    Gettext 1 首先进入到php源码包中 cd /opt/php-5.1.2/ext/gettext 2 在gettext文件夹下产生configure文件 /opt/php/bin/phpize 3 配置编译 ./configure --with-php-c
    2009-02-09
  • Linux系统下安装phpmyadmin方法

    phpMyAdmin是一种MySQL的管理工具,它直接从web上去管理MySQL。   假设你的web(网页存放)根目录是 /var/www/ 假设你的主机web访问是这样的 http://192.168.1.11/ &n
    2008-09-08
  • RedHat Linux5.5下Oracle 11g安装图解教程

    Linux下安装Oracle系统最好是1G内存,2G的swap空间,硬盘至少需要4.5G空间
    2013-07-28
  • centos中文乱码修改字符编码使用centos支持中文

    如何你的centos显示中文乱码,只要修改字符编码使centos支持中文就可以了,没有这个文件可以创建它,下面是修改步骤
    2014-01-17

最新评论