AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 520004
Accepted
Halfgaar
Halfgaar
Asked: 2013-07-02 11:27:34 +0800 CST2013-07-02 11:27:34 +0800 CST 2013-07-02 11:27:34 +0800 CST

通过所有诊断后确认磁盘已损坏

  • 772

我有一个磁盘可能损坏的系统,但磁盘通过了各种诊断。我一直无法确认磁盘已损坏。我有哪些选择?

我可以更换磁盘,但由于这种情况与我遇到的另一种更严重的情况非常相似(长话短说),我想实际做出正确的诊断,而不是随机装箱硬件。

问题和历史是这样的:

  1. 我有一台 Debian Linux PC (500 MHz P3) 作为路由器、nagios 和 munin。
  2. 它每隔几周就会崩溃一次。无法获取任何日志或 dmesg(因为它是一个旧的 Compaq,只有在您将其配置为无键盘时才会启动,因此一旦启动后就无法连接键盘)。
  3. 当时,我只是用另一台 Compaq (P4 2.4 GHz) 更换计算机,因为我认为硬件有问题。但是,它仍然每两周崩溃一次。
  4. 不同的是,在这台计算机上,我仍然可以通过 SSH 连接到它。它给出了hda上的各种错误。

我想确认磁盘坏了,但我没有做任何事情来证实这一点:

  1. SMART 错误日志显示没有错误。通常,当磁盘开始运行时,SMART my pass,但它仍然在错误日志中记录读取错误。
  2. SMART 自检 ( smartctl -t long /dev/sda) 完成且没有错误。
  3. 重新分配的扇区数(一个标志性参数)一直是 31,即使几年前我的台式机仍在使用磁盘,现在仍然如此。这个数字从未改变。
  4. dd if=/dev/sda of=/dev/null bs=4096以优异的成绩通过。

我还能做些什么来评估驱动器的运行状况?

同样,这不是要让这个路由器再次完全正常工作,这是一个磁盘取证问题,因为碰巧我有另一台服务器可能有同样的问题,知道这个问题的答案可能会对我有很大帮助。

作为记录,以下是日志等。

这是smartctl -a输出:

smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.7 and 7200.7 Plus family
Device Model:     ST3120026A
Serial Number:    5JT1CLQM
Firmware Version: 3.06
User Capacity:    120,034,123,776 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   6
ATA Standard is:  ATA/ATAPI-6 T13 1410D revision 2
Local Time is:    Mon Jul  1 21:18:33 2013 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                    was completed without error.
                    Auto Offline Data Collection: Enabled.
Self-test execution status:      (  24) The self-test routine was aborted by
                    the host.
Total time to complete Offline 
data collection:         ( 430) seconds.
Offline data collection
capabilities:            (0x5b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    No General Purpose Logging support.
Short self-test routine 
recommended polling time:    (   1) minutes.
Extended self-test routine
recommended polling time:    (  85) minutes.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   050   046   006    Pre-fail  Always       -       47766662
  3 Spin_Up_Time            0x0003   097   096   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       10
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       31
  7 Seek_Error_Rate         0x000f   084   060   030    Pre-fail  Always       -       820305
  9 Power_On_Hours          0x0032   048   048   000    Old_age   Always       -       46373
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       605
194 Temperature_Celsius     0x0022   036   065   000    Old_age   Always       -       36
195 Hardware_ECC_Recovered  0x001a   050   046   000    Old_age   Always       -       47766662
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   196   000    Old_age   Always       -       6
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Aborted by host               80%     46361         -
# 2  Extended offline    Completed without error       00%     46358         -
# 3  Short offline       Completed without error       00%     12046         -
# 4  Extended offline    Completed without error       00%     10472         -
# 5  Short offline       Completed without error       00%     10471         -
# 6  Short offline       Completed without error       00%     10471         -
# 7  Short offline       Completed without error       00%      6770         -
# 8  Extended offline    Aborted by host               90%      5958         -
# 9  Extended offline    Aborted by host               90%      5951         -
#10  Short offline       Completed without error       00%      5024         -
#11  Extended offline    Aborted by host               80%      5024         -
#12  Short offline       Completed without error       00%      3697         -
#13  Short offline       Completed without error       00%       237         -
#14  Short offline       Completed without error       00%       145         -
#15  Short offline       Completed without error       00%        69         -
#16  Extended offline    Completed without error       00%        68         -
#17  Short offline       Completed without error       00%        66         -
#18  Short offline       Completed without error       00%        49         -
#19  Short offline       Completed without error       00%        29         -
#20  Short offline       Completed without error       00%        29         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

这是崩溃时的 dmesg 错误(对于一堆不同的扇区重复):

[1755091.211136] sd 0:0:0:0: [sda] Unhandled error code
[1755091.211144] sd 0:0:0:0: [sda] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
[1755091.211151] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 08 fe ad 38 00 00 08 00
[1755091.211166] end_request: I/O error, dev sda, sector 150908216
hard-drive
  • 3 3 个回答
  • 3710 Views

3 个回答

  • Voted
  1. Best Answer
    Roman
    2013-07-02T11:59:06+08:002013-07-02T11:59:06+08:00

    你不能可靠。

    或者更确切地说,您已经使用您可以使用的选项完成了它。

    正如google 的一项研究发现的那样,故障磁盘不一定会显示异常的 SMART 值(但反过来更可靠:当它们出现时,它们会出现故障)。

    暂时搁置这一点,请记住,尽管很多在计算方面是标准化的,但实际上硬件和软件中都存在错误,可以累积的误差范围等。现实世界并不完美,也不是未见硬盘与特定控制器不兼容- 反之亦然。有时这是固件故障的问题,有时是某些完全不同的系统组件无法正常运行,例如低于标准的 PSU 在特定负载峰值时会发出声音。甚至温度变化、年龄……这个列表几乎可以随意扩展。

    因此,这里的标准程序是将磁盘放入一个明显不同的系统配置并重新运行测试 - 但是由于您已经完成了对系统的完全更改,因此您已经正确地得出磁盘一定有问题的结论。(除非您没有像您告诉我们的那样更改其他所有内容 - 想到电缆/HBA,在这种情况下,假设不成立)。

    编辑:我刚刚意识到还有一个选择;您可以搜索此磁盘驱动器是否有比当前特定驱动器上的更新的固件版本。如果是这样,您可以查看更改日志,指出您的情况可能存在的问题。

    总之,要完全确定(在这种特殊情况下!)驱动器行为异常,您需要将其发送回制造商。

    • 4
  2. Atari911
    2013-07-02T11:46:18+08:002013-07-02T11:46:18+08:00

    我认为这是一个糟糕的控制器。您可以做更多的事情来检查磁盘以及控制器......


    在驱动器上运行“坏块”。这类似于您运行的“dd”。取另一个具有良好 SMART 状态的驱动器并将其放入计算机中。如果这个磁盘给你类似的行为,那么你知道它是给你问题的磁盘以外的硬件。在那种情况下,我会认为它是控制器。您确实提到您更改了系统并且它仍然给您带来问题,所以,毕竟,我仍然认为必须有一个共同的组件导致系统不稳定。您还可以查看:

    1. 电缆损坏(电缆是否与驱动器交换到第二台机器?)
    2. 系统上的错误配置(您是否使用不同的硬件设置了相同的系统?)
    • 1
  3. Halfgaar
    2018-11-14T02:01:19+08:002018-11-14T02:01:19+08:00

    SF 提出这个问题是因为它“值得注意”,所以我不想遗漏新的见解,即diskscan。它读取磁盘并绘制扇区的延迟,假设损坏的扇区需要重试。

    这是我放置的 Seagate 磁盘的结果,它通过了所有传统测试:

    在此处输入图像描述

    您可以看到有一些延迟非常高的区域,这显然是一个问题。

    还有一张盘,西数:

    在此处输入图像描述

    有趣的是,用 擦除后dd,SMART 状态再次正常:没有待处理或重新分配的扇区。这是随后的重播diskscan:

    在此处输入图像描述

    所以这个 WDC 磁盘又好了,据说。我在上面运行了一个smartctl -t long,然后它再次显示磁盘读取失败。

    结论:diskscan有帮助,但当然,没有什么是 100% 可靠的。

    • 0

相关问题

  • 总大小(磁盘)与总大小(媒体)

  • Linux:“发现重复的 PV XXXXYYYYY:用户 /dev/sdb1 而不是 /dev/sda1”

  • Windows C:驱动器大小

  • 了解磁盘队列长度

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve