SmartMonTools : 하드 디스크에서 smartctl 테스트가 실행되고 있는지 어떻게 알 수 있습니까?


40

나는 하드 디스크 테스트smartmontools가를 .

테스트 전 하드 디스크 상태 (며칠 전에 한 번의 짧은 테스트 만 수행) :

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -

그래서 긴 테스트를 시작합니다 .

$ sudo smartctl -t long /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 130 minutes for test to complete.
Test will complete after Sat May  9 16:05:27 2015

Use smartctl -X to abort test.

테스트가 실행 중이지만 진행 상황을 보려고하면 :

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -

... 지금 실행중인 테스트가없는 것처럼 동일한 결과를 얻습니다.
'-H'매개 변수는 더 이상 정보를 제공하지 않습니다.

$ sudo smartctl -H /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

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

그리고 실행중인 프로세스가없는 한 (이 테스트는 하드 디스크 컨트롤러만으로 수행됨) 일부 ps -e스타일 검색은 도움이되지 않습니다.

SMART 자체 테스트가 현재 실행 중인지 어떻게 수 있습니까?

답변:


43

smartctl -a <device>찾으십시오 Self-test execution status.

테스트가 실행되고 있지 않은 예 :

Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.

테스트가 실행되는 예 :

Self-test execution status:      ( 249) Self-test routine in progress...
                                        90% of test remaining.

선택적 자체 테스트 ( -t select)를 실행하면 다음과 같은 진행 상황이 나타납니다.

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA    MAX_LBA  CURRENT_TEST_STATUS
    1        0  125045423  Self_test_in_progress [90% left] (2881512-2947047)

2
좋은 아이디어. smartctl -a /dev/sda | grep "progress" -i -A 1과도한 정보 출력을 줄이려면 다음 과 같이 직접 줄을 그레 핑하여 추가하는 것이 좋습니다 .
Sopalajo de Arrierez

1
그래도 전체 그림을 얻으려면 과도한 출력이 필요합니다. 스크립트에서 grep을 잘 수 있지만 사용하는 사람 grep명령 줄 (에있는 모든 dmesg | grep something, smartctl -a | grep ...등), 그들은 일을 그리워합니다. 로 smartctl특히 모든 것이 괜찮 알려줍니다 간단한 명령이없는 ... smartctl -H그런 측면에서 거짓 친구입니다.
frostschutz 12

@frostschutz "smartctl -H는 그 점에서 거짓 친구입니다." 다시 말씀 하셔도됩니다! 나도이 옵션에 대해 한 번 넘어 졌는데, 이는 자체 테스트와 관련이있을 수도 있지만 전혀 다른 주제 (및 목적)와는 관련이 없다고 생각합니다.
syntaxerror

"장치가 자체 테스트 로깅을 지원하지 않습니다"에 대해 어떻게해야합니까?
Mr.WorshipMe

13

시도 :

smartctl -c /dev/sda

/ dev / sda가 확인하려는 드라이브 인 경우


편집 : 죄송합니다. 내가 틀렸어. -c는 --capabilities를 의미하지만 현재 테스트 진행 상황도 보여줍니다. 같은60% of test remaining.
JPT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.