1,241 瀏覽數

Linux command – smartctl (-t)

指令 #smartctl – http://benjr.tw/95984 是透過硬碟本身所提供的 S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology )技術 ,他可以根據檢測屬性的結果來決定該顆硬碟的使用是否快故障.

我們可以透過 #smartctl 提供的參數 -t 來進行測試. 測試環境為 Ubuntu14.04 .

-t TEST, –test=TEST

這邊會列出可供測試的項目.

root@ubuntu:~# smartctl -t /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=======> INVALID ARGUMENT TO -t: /dev/sdb
=======> VALID ARGUMENTS ARE: offline, short, long, conveyance, force, vendor,N, select,M-N, pending,N, afterselect,[on|off] =======

Use smartctl -h to get a usage summary

來試試看 short , long 測試,測試會在背景執行,需要透過 -l selftest 來觀看目前的測試進度與結果.

root@ubuntu:~# smartctl -t short /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

Short Background Self Test has begun
Use smartctl -X to abort test
root@ubuntu:~# smartctl -t long /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

Extended Background Self Test has begun
Please wait 34 minutes for test to complete.
Estimated completion time: Tue Nov  1 16:15:59 2016

Use smartctl -X to abort test
root@ubuntu:~# smartctl -l selftest /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
Self-test execution status:		96% of test remaining
SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background long   Self test in progress ...   -     NOW                 - [-   -    -]
# 2  Background short  Completed                   -   19184                 - [-   -    -]
Long (extended) Self Test duration: 2040 seconds [34.0 minutes]

這些測試到底測了什麼? 參考文章 https://www.thomas-krenn.com/en/wiki/SMART_tests_with_smartctl#Short_Test

  • Short
    The goal of the short test is the rapid identification of a defective hard drive. Therefore, a maximum run time for the short test is 2 min. The test checks the disk by dividing it into three different segments. The following areas are tested:

    1. Electrical Properties: The controller tests its own electronics, and since this is specific to each manufacturer, it cannot be explained exactly what is being tested. It is conceivable, for example, to test the internal RAM, the read/write circuits or the head electronics.
    2. Mechanical Properties: The exact sequence of the servos and the positioning mechanism to be tested is also specific to each manufacturer.
    3. Read/Verify: It will read a certain area of ​​the disk and verify certain data, the size and position of the region that is read is also specific to each manufacturer.
  • Extended (or Long; a short check with complete disk surface examination)
    The long test was designed as the final test in production and is the same as the short test with two differences. The first: there is no time restriction and in the Read/Verify segment the entire disk is checked and not just a section. The Long test can, for example, be used to confirm the results of the short tests.
  • Conveyance
    This test can be performed to determine damage during transport of the hard disk within just a few minutes.
  • Select Tests
    During selected tests the specified range of LBAs is checked. The LBAs to be scanned are specified in the following formats:

    sudo smartctl -t select,10-20 /dev/sdc #LBA 10 to LBA 20 (incl.)
    sudo smartctl -t select,10+11 /dev/sdc #LBA 10 to LBA 20 (incl.)
    

    It is also possible to have multiple ranges, (up to 5), to scan:

    sudo smartctl -t select,0-10 -t select,5-15 -t select,10-20 /dev/sdc
    

發表迴響