【记录】smartctl|Linux如何通过smartctl查看有没有坏的磁盘?以及使用时长、电源周期、故障记录等

news2024/9/30 7:15:47

  smartctl是一个用于监测和分析硬盘健康状态的工具,可以用于检测是否存在坏的磁盘。以下是使用smartctl检查磁盘健康状态的步骤:

  1. 安装smartctl软件
    在Linux系统中,smartctl通常包含在smartmontools软件包中。如果您还没有安装smartmontools,可以使用以下命令安装(大部分NAS自带,如TrueNas):

    sudo apt-get install smartmontools    # Debian/Ubuntu
    sudo yum install smartmontools        # RedHat/CentOS
    
  2. 查找磁盘设备名称
    使用以下命令查找磁盘设备名称:

    sudo fdisk -l
    
  3. 运行smartctl检查磁盘
    使用以下命令运行smartctl检查磁盘:

    sudo smartctl -a /dev/sda
    

    /dev/sda替换为您要检查的磁盘设备名称。该命令将列出有关磁盘健康状态的详细信息,包括错误计数和预测故障时间等。请注意,您可能需要使用root权限才能运行smartctl。

  4. 检查smartctl输出
    在smartctl输出中查找关于磁盘健康状态的信息。重点关注以下字段:

    • SMART overall-health self-assessment test result:如果该字段的值为“PASSED”,则磁盘没有发现健康问题。如果该字段的值为“FAILED”或“UNKNOWN”,则磁盘存在健康问题。
      在这里插入图片描述
    • Reallocated_Sector_Ct:这是已经重新分配的扇区的数量。如果该值不为0,则磁盘存在坏扇区。正常情况的RAW_VALUE如下:
      ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
        5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
      
    • Current_Pending_Sector:这是目前正在等待重新分配的扇区数量。如果该值不为0,则磁盘存在潜在的坏扇区。

  如果smartctl输出中没有发现健康问题,那么磁盘应该是正常的。否则,您可能需要更深入地分析问题或考虑更换磁盘。

  以下是我个人在检测过程中遇到的一些问题。

文章目录

  • 1 什么情况下需要使用`smartctl -t`?
  • 2 如何查看我的磁盘的类型,以及其支持的SMART属性?
  • 3 电源周期和故障计数怎么看?
  • 4 在输出信息里没有看到Error_Counters属性?
  • 5 Seek_Error_Rate非常多是正常的吗?

1 什么情况下需要使用smartctl -t

  smartctl命令的“-t”选项用于执行一次磁盘自检测,以便发现磁盘上的任何潜在问题。使用“-t”选项后,smartctl将在后台启动自检测,并在完成后提供结果。因此,如果您想要获得磁盘的最新自检测结果,您需要使用“-t”选项运行smartctl。

  但是,如果您只是想检查磁盘的当前状态,而不需要运行一次自检测,您可以直接运行“smartctl -a”命令来获取磁盘的健康状态信息。这个命令将列出有关磁盘的当前状态和属性信息,例如温度、电源周期、故障计数等等。

  综上所述,如果您想要运行自检测以获取最新的磁盘状态信息,您应该使用“smartctl -t”命令。如果您只是想获取磁盘的当前状态信息,您可以直接使用“smartctl -a”命令。

2 如何查看我的磁盘的类型,以及其支持的SMART属性?

  您可以使用smartctl命令来查看您的磁盘类型和支持的SMART属性。以下是如何查看它们的方法:

  1. 运行“smartctl -i”命令,以获取磁盘的基本信息。该命令将列出磁盘的制造商、型号和序列号等信息。例如:

    $ sudo smartctl -i /dev/sda
    smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-89-generic] (local build)
    Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
    
    === START OF INFORMATION SECTION ===
    Model Family:     Samsung based SSDs
    Device Model:     Samsung SSD 970 EVO Plus 500GB
    Serial Number:    S5H7NX0N659415D
    LU WWN Device Id: 5 002538 8b0c6d96d
    Firmware Version: 2B2QEXM7
    User Capacity:    500,107,862,016 bytes [500 GB]
    Sector Size:      512 bytes logical/physical
    Rotation Rate:    Solid State Device
    Form Factor:      M.2
    TRIM Command:     Available, deterministic, zeroed
    Device is:        Not in smartctl database [for details use: -P showall]
    ATA Version is:   ACS-4, ATA8-ACS T13/1699-D revision 4
    SATA Version is:  SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
    Local Time is:    Tue Feb 15 19:48:47 2022 CET
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled
    
  2. 查找“Device Model”属性,以获取磁盘型号。例如,在上面的输出中,“Device Model”属性的值为“Samsung SSD 970 EVO Plus 500GB”。

  3. 运行“smartctl -A”命令,以获取磁盘支持的SMART属性列表。该命令将列出磁盘支持的SMART自检测和报告属性。例如:
    在这里插入图片描述

3 电源周期和故障计数怎么看?

  电源周期(Power-On Hours,缩写为POH)和故障计数(Error Counters)是smartctl命令输出中的两个常见磁盘属性。以下是如何查看它们的方法:

  运行“smartctl -a”命令以获取磁盘的详细信息。在命令输出的最后一部分,您可以看到所有SMART属性及其当前值。

  查找“Power_On_Hours”属性。它是磁盘的电源周期属性,表示磁盘启动以来的累计使用时间,以小时为单位。

在这里插入图片描述

  查找“Error_Counters”属性。这是一个包含多个子属性的属性,它们记录磁盘的错误计数。例如:

  1. “Raw_Read_Error_Rate”记录从磁盘读取数据时未能纠正的错误数。
  2. “Seek_Error_Rate”记录寻道时出现错误的数量。
  3. “Spin_Retry_Count”记录在旋转磁盘时需要重新尝试读取数据的次数。
  4. “Reallocated_Sector_Ct”记录已经重新分配的坏扇区数。
  5. “Current_Pending_Sector”记录当前未能读取的坏扇区数。
  6. “Offline_Uncorrectable”记录离线状态下发现的无法校正的坏扇区数。

在这里插入图片描述

  这些属性中的任何一个都可能表示磁盘存在问题,需要进一步检查或更换。

  请注意,不同的磁盘可能会使用不同的属性名称和计数单位。在查看SMART属性时,请务必查看smartctl命令输出的完整内容,并仔细查看所有可能表示磁盘问题的属性

4 在输出信息里没有看到Error_Counters属性?

  如果您在运行“smartctl -a”命令后未看到“Error_Counters”属性,则可能是因为您的磁盘不支持该属性,或者该属性未被正确报告。不同的磁盘可能支持不同的SMART属性,因此某些属性可能不适用于您的磁盘。

  在这种情况下,您可以查看“smartctl -a”命令输出的其他部分,以查找其他可能指示磁盘问题的属性。例如,您可以查看与磁盘健康状况相关的属性,例如温度、噪音、振动、磁盘旋转速度等等。您还可以查看任何报告磁盘错误或警告的消息。

  请注意,如果您认为磁盘存在问题,但无法通过SMART属性来确认它们,您可以使用其他工具来进行更全面的磁盘诊断和测试。例如,您可以使用磁盘制造商提供的磁盘测试工具,或者使用第三方工具来进行全面的磁盘扫描和测试。

5 Seek_Error_Rate非常多是正常的吗?

  在 SMART 报告中看到大量的 Seek_Error_Rate 值通常是不正常的。该属性指的是磁盘寻道时发生错误的频率,是一个关键的SMART指标之一。值越高通常意味着出现问题的可能性越高,应引起注意。

  但是,应该根据磁盘制造商的建议来解释磁盘SMART属性。不同的制造商可能会使用不同的算法和尺度来计算SMART属性值。此外,一些磁盘可能具有自动纠正错误的功能,这意味着即使 SMART 报告中出现了一些错误,磁盘仍然可以正常工作。

  因此,建议您查看磁盘制造商的文档,以了解有关SMART属性值的详细信息,或者您可以将SMART报告提供给制造商进行分析,以获得更准确的解释。如果您对磁盘的健康状况感到担忧,最好备份重要数据,并考虑更换磁盘。

我的硬件型号是:ST16000NM000J-2TW103。希捷对Seek_Error_Rate的计算方式不同,详见b站文章:希捷机械硬盘读取错误率和寻道错误率很高?让我们看看到底是怎么计算的吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/348798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mr. Cappuccino的第38杯咖啡——Kubernetes中Pod、Namespace、Label、Deployment、Service之间的关系

Kubernetes中Pod、Namespace、Label、Deployment、Service之间的关系Pod、Namespace、Label、Deployment、Service之间的关系NamespacePod1. 创建一个namespace并运行一个pod2. 查看pod3. 删除pod4. 删除pod控制器Label1. 创建yaml文件(nginx-pod.yaml)2…

【数据结构与算法】二分查找 移除元素

今日任务 数组理论基础 704.二分查找 27.移除元素 1.数组理论基础 (1)数组是存放在连续内存空间上的相同类型数据的集合。 注意: 数组下标都是从0开始的数组内存空间的地址是连续的 (2)正因为数组在内存空间的…

【C语言】字符串处理函数及典例(2)

接上:【C语言】字符串处理函数及典例(1) 之前在(1)中讨论的函数如strcpy,strcmp,strcat ,都是长度不受限制函数,即不管参数的大小,关键点都是找到 \0 &…

ChatGPT爆火出圈,高质量文本标注数据成关键

“2022年11月30日,OpenAI发布了ChatGPT——一个对话式AI,上线仅五天,注册用户数突破100万,爆火出圈,成为社会热议话题。截止今年1月末,ChatGPT的月活用户数量破亿,成为史上用户数增长最快的消费…

Java字节流

4 字节流 字节流抽象基类 InputStream:这个抽象类是表示字节输入流的所有类的超类OutputStream:这个抽象类是表示字节输出流的所有类的超类子类名特点:子类名称都是以其父类名作为子类名的后缀 4.1 IO流概述和分类 IO流概述: …

Spring之基于xml的自动装配、基于Autowired注解的自动装配

文章目录基于xml的自动装配①注解②扫描③新建Maven Module④创建Spring配置文件⑤标识组件的常用注解⑥创建组件⑦扫描组件⑧测试⑨组件所对应的bean的id基于注解的自动装配①场景模拟②Autowired注解③Autowired注解其他细节④Autowired工作流程Autowire 注解的原理Qualifier…

深圳的商户们有福啦!小微企业、个体工商户的扶持举措又来了!

深圳的商户们有福啦!近日,深圳8部门联合印发《关于进一步支持中小微企业纾困及高质量发展的若干措施》,从纾困和高质量发展的角度,在降低企业生产经营成本、有效扩大市场需求、支持中小企业创新发展、促进中小企业转型升级4个方面…

2.Visual Studio下载和安装

Visual Studio 是微软提供的一个集成开发环境(IDE),主要用于为 Windows 系统开发应用程序。Visual Studio 提供了构建 .Net 平台应用程序的一站式服务,可以使用 Visual Studio 开发、调试和运行应用程序。 1、Visual Studio下载 …

ESP-C3入门9. 创建TCP Server

ESP-C3入门9. 创建TCP Server一、ESP32 IDF的TCP/IP协议栈二、BSD套接字API介绍三、创建TCP Server的步骤1. 引用TCP/IP协议栈2. 创建 TCP套接字拼绑定端口3. 接收客户端请求4. 启动服务四、完整代码1. wifi.h2. wifi.c3. tcpServer.h4. tcpServer.c5. main.c6. CmakeLists.txt…

BNB Greenfield 成存储赛道“新贵”,BNB 生态的野心与破局

“从BNB Beacon Chain,到BNB Chain,再到BNB Greenfield ,三位一体的 BNB 生态格局正式形成。 ”在今年的2月1日,币安发布了分布式存储链BNB Greenfield,根据白皮书信息,它的特别之处在于其不仅具备基于SP&a…

完成四种方式的MySQL安装

1.仓库安装 1.1查看版本和安装mysql包 [rootlocalhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux release 9.1 (Plow) [rootlocalhost ~]# rpm -ivh https://repo.mysql.com/mysql80-community-release-el9-1.noarch.rpm1.2装包 [rootlocalhost ~]# dnf instal…

千峰jquery【案例】

滑动选项卡&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widt…

RabbitMQ学习(六):发布确认

一、发布确认的原理生产者将信道设置成 confirm 模式&#xff0c;一旦信道进入 confirm 模式&#xff0c;所有在该信道上面发布的 消息都将会被指派一个唯一的 ID(从 1 开始)&#xff0c;一旦消息被投递到所有匹配的队列之后&#xff0c;broker 就会发送一个确认给生产者(包含消…

V4l2框架基础知识(一)

V4L2框架-v4l2 device V4l2视频设备驱动基础 1.V4L2是专门为linux设备设计的整套视频框架&#xff08;其主要核心在linux内核&#xff0c;相当于操作系统上层的视频源捕获驱动框架&#xff09;&#xff0c;为上层访问系统底层的视频设备提供了一个统一的标准接口&#xff0c;…

【LeetCode】剑指 Offer 05. 替换空格 p50 -- Java Version

题目链接&#xff1a; https://leetcode.cn/problems/ti-huan-kong-ge-lcof/ 1. 题目介绍&#xff08;05. 替换空格&#xff09; 请实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 【测试用例】&#xff1a; 示例1&#xff1a; 输入&#xff1a;s …

TransH模型原理

从TransE到TransH模型 在之前知识图谱模型中&#xff0c;我们介绍了TransE模型的基本原理&#xff0c;对于TransE模型其基本原理为&#xff1a; hrth r thrt 其中hhh是头实体向量&#xff0c;rrr是关系向量&#xff0c;ttt是尾实体向量。根据这个核心公式&#xff0c;我们不…

AI工衣工服智能识别检测算法 yolov7

AI工衣工服智能识别检测算法通过yolov7网络模型深度学习算法&#xff0c;AI工衣工服智能识别检测算法对场人员穿戴进行实时不间断监测&#xff0c;发现现场人员未按要求穿戴时&#xff0c;立即抓拍告警。YOLO 的核心思想就是把目标检测转变成一个回归问题&#xff0c;利用整张图…

Unity 编辑器工具之批量设置图片压缩

一个简单的工具,对Unity下的图片做批量压缩处理,主要有以下功能:自动取消 "Generte Mip Maps" 勾选;针对文件夹批量自动(或手动选择压缩格式)设置图片压缩并自动保存;单个图片文件的压缩设置;使用方法,右键单张图片(或者包含图片的文件夹)会打开一个设置窗口 如下,窗…

Vue笔记(2)——页面渲染与数据收集

一、条件渲染 v-show v-if 1. v-show 2. v-if v-else的块和v-if的块间不能有中断&#xff0c;否则无效 3. v-if与template配合 当同时条件渲染多个元素时&#xff0c;可以将v-if与template的配合使用&#xff0c;若条件值为false&#xff0c;vue模板解析时会直接去掉这一块…

AcWing语法基础课笔记 第二章 printf语句与C++中的判断结构

第二章 printf语句与C中的判断结构 学习语言最好的方式就是实践&#xff0c;每当掌握一个新功能时&#xff0c;就要立即将这个功能应用到实践中。 ——闫学灿 一、printf输出格式 注意&#xff1a;使用printf 时最好添加头文件 #include <cstdio>。 Int、float、double、…