前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >022.常见硬盘检测方式

022.常见硬盘检测方式

作者头像
木二
发布2021-11-15 16:30:57
1.9K0
发布2021-11-15 16:30:57
举报
文章被收录于专栏:木二天空木二天空

硬盘监测概述

硬盘异常损坏日常相对概率较高,同时不同的文件系统(xfs,reiserfs,ext3)其检测方式不同。建议使用dmesag查看有没有硬件I/O故障的日志,也可使用用fsck确认是否文件系统异常。

SMART检测硬盘

SMART是一种磁盘自我分析检测技术,硬盘运行中会将主要参数进行记录,主要有:型号、容量、温度、密度、扇区、寻道时间、传输、误码率等。 硬盘运行一段时间后,如上参数会有相应的变动,某些参数超过阀值会出现报警。依靠相应的报警可初步判断硬盘是否接近(已经)损坏。

启用SMART

SMART是和主板BIOS上相应功能配合的,在使用smart之前必须在bios设置中启动相关特性。 硬件特性开启smart的情况下,对于Linux,有相应的smartd服务驻守运行,该进程能监视、分析和汇聚相关硬盘情况。

smartctl简单用法

smartctl可用于对磁盘进行相关检测,主要用法如下: smartctl -a :检查该设备是否已经打开SMART技术。 smartctl -s on :如果没有打开SMART技术,使用该命令打开SMART技术。 smartctl -t short :后台检测硬盘,消耗时间短。 smartctl -t long :后台检测硬盘,消耗时间长。 smartctl -C -t short :前台检测硬盘,消耗时间短。 smartctl -C -t long :前台检测硬盘,消耗时间长。 smartctl -X :中断后台检测硬盘。 smartctl -l selftest :显示硬盘检测日志。 smartctl -l error :显示硬盘错误汇总。

提示:首先通过dmesg工具,确认一下硬盘的设备符号。

smartctl使用示例

代码语言:javascript
复制
# smartctl -i /dev/sda
……
SMART support is: Available - device has SMART capability.
SMART support is: Enabled                                   #表示启用了smart支持 

# smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda

# smartctl -H /dev/sda
……
SMART overall-health self-assessment test result: PASSED 

命令释义: PASSED:这表示硬盘健康状态良好; FAILED:硬盘不健康,建议更换硬盘。

提示:SMART仅报告磁盘不再健康,但是报警后能持续运行多长时间无法确定。

代码语言:javascript
复制
#smartctl -A   /dev/sda                     #查看硬盘的详细信息,测试硬盘使用时间以及写入字节数
#smartctl -s on  /dev/sda                   #如果没有打开SMART技术,使用该命令打开SMART技术。 
#smartctl -t short  /dev/sda                #后台检测硬盘,消耗时间短; 
#smartctl -t long  /dev/sda                 #后台检测硬盘,消耗时间长; 
#smartctl -C -t short /dev/sda              #前台检测硬盘,消耗时间短; 
#smartctl -C -t long /dev/sda               #前台检测硬盘,消耗时间长。
#smartctl -X   /dev/sda                     #中断后台检测硬盘。 
#smartctl -l selftest  /dev/sda             #显示硬盘检测日志。 
#smartctl -l error   /dev/sda               #显示硬盘错误汇总。 

smart常驻配置

通常执行smartctl需要在服务器终端执行,sarmt也支持作为服务运行在服务端,进程deamon为startd,从而实现定时判断硬盘状态,同时指定报警、日志等。

配置方式

如下示例配置好 smartd.conf 后启动进程即可。

代码语言:javascript
复制
# vi  /etc/smartd.conf
/dev/sda -H  -m  test@test123123.com                    #配置监控磁盘的健康状态,当SMART中报告 PASSED无视,Failure,则邮件通知

/dev/sda -a -m  admin@example.com,root@localhost        #监控磁盘的所有属性,当SMART中报告 PASSED无视,Failure,则邮件通知

启动startd服务。

代码语言:javascript
复制
# /etc/init.d/smartd restart                            #加载配置文件启动

提示:更多smart使用及配置参考:https://www.smartmontools.org/wiki/TocDoc

badblocks检测硬盘

badblocks概述

badblocks命令可以检查磁盘装置中损坏的区块。该命令需要指定所要检查的磁盘设备,及此磁盘区块数。 语法: badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]

参数:

  • -b 指定磁盘的区块大小,单位为字节。
  • -o 将检查的结果写入指定的输出文件。
  • -s 在检查时显示进度。
  • -v 执行时显示详细的信息。
  • -w 在检查时,执行写入测试。
  • [磁盘设备] 指定要检查的磁盘设备。
  • [磁盘区块数] 指定磁盘设备的区块总数。
  • [启始区块] 指定要从哪个区块开始检查。
badblocks使用示例

badblocks检测磁盘坏块:

代码语言:javascript
复制
badblocks -s -v /dev/sda1           #显示进度和执行检查的详细情况
# badblocks -s -v /dev/sda

# badblocks -s -w -v /dev/sda2      #显示进度并且以写入的方式检测同时显示详细情况

注意:不能以写的方式检测已经挂载的硬盘

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 硬盘监测概述
  • SMART检测硬盘
    • 启用SMART
      • smartctl简单用法
        • smartctl使用示例
          • smart常驻配置
            • 配置方式
        • badblocks检测硬盘
          • badblocks概述
            • badblocks使用示例
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档