외장 하드 드라이브에서 SMART 데이터 및 자체 테스트를 수행 할 수 없음


13

지금 내 외장 드라이브에 오류가 없지만 수동으로 확인하여 확인하고 싶습니다.
아래 이미지에서 볼 수 있듯이 SMART 데이터 및 자체 테스트 옵션 은 회색으로 표시됩니다. 이미지 자체의 하드 드라이브에 대한 세부 사항도 참조하십시오.

  1. 나는 달리기를 시도 gksu gnome-disks했지만 여전히 옵션이 회색으로 표시됩니다.
  2. 나는 sudo smartctl --all /dev/sdb --test=short -T permissive이 오류가 발생했습니다.

smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.19.0-15-generic] (로컬 빌드) Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

장치 ID 읽기 실패 : scsi 명령의 scsi 오류 지원되지 않는 필드

=== 정보 섹션 시작 ===

기기 모델 : [정보가 없습니다]

일련 번호 : [정보가 없습니다]

펌웨어 버전 : [No Information Found]

장치 : smartctl 데이터베이스에 없음 [세부 사항 : -P showall]

ATA 버전 : [정보가 없습니다]

현지 시간 : 수요일 6 월 17 일 11:33:46 2015 IST

SMART 지원은 다음과 같습니다. 모호-ATA IDENTIFY DEVICE 단어 82-83은 SMART가 지원되는지 여부를 표시하지 않습니다.

SMART 지원은 다음과 같습니다. 모호-ATA IDENTIFY DEVICE 단어 85-87은 SMART가 활성화되어 있으면 표시되지 않습니다.

필수 SMART 명령이 실패했습니다 : 종료 중. 계속하려면 하나 이상의 '-T permissive'옵션을 추가하십시오.

여기에 이미지 설명을 입력하십시오


여기에도 같은 문제가 있습니다. Ubuntu 14.04 에서는 발생 하지만 Ubuntu 12.04 에서는 발생 하지 않으며 GUI와 명령 줄에서 SMART를 올바르게 읽습니다. 어떤 아이디어?
알바로 구티에레즈 페레즈

1
해결책을 찾을 참조 내 대답
알바 레즈 페레즈

답변:


13

나는 같은 문제가 있었다. 사용하는 동안 내 경우에는, SMART 년 동안 장치에서 제대로 작동했다 우분투 12.04 , 다음에서 우분투 14.04 당신이 질문에 말을 정확하게 일어났다.

이 문제는 Linux Kernel 3.15에서 uas(USB Attached SCSI ) 라는 새로운 커널 모듈과 관련이 있습니다 ( 릴리스 발표 참조 ).

이 모듈은 이제 USB 대용량 저장 장치 관리를 담당합니다. 사람들 이 커널 3.15에서 USB 장치가 고장 났다고 불평 하는 스레드가 있습니다uas . 다른 하나 는 그것이 SMART 문제의 원인 일 수 있다고 말합니다.

다행히도 장치가 올바르게 감지되고 있기 때문에 커널 3.19 (사용중인)에서 이러한 문제가 사라진 것 같습니다. SMART 문제 만 남아 있습니다.

이를 해결하려면 uas주어진 장치에 대해 모듈 사용을 비활성화해야합니다 .

uas재부팅 하지 않고 비활성화

먼저 사용중인 모든 USB 장치를 분리하십시오. 그런 다음 uasusb-storage모듈을 제거하십시오 .

sudo modprobe -r uas
sudo modprobe -r usb-storage

그런 다음 주어진 장치에 usb-storage사용하지 않도록 지시하는 매개 변수를 모듈 에로드하십시오 uas.

sudo modprobe usb-storage quirks=VendorId:ProductId:u

VendorIdProductId를 얻을 수있다 장치 공급 업체 및 제품 ID로 대체해야 lsusb명령 (그들은 이후의 문자입니다 ID).

예를 들어 다음 장치가 있습니다.

Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]

따라서 공급 업체 ID는 0bc2이고 제품 ID는 3320입니다. 내 명령은 다음과 같습니다

sudo modprobe usb-storage quirks=0bc2:3320:u

마지막 u은 장치 usb-storage를 무시 uas하도록 지시 합니다 ( source 참조 ).

이 시점에서 USB 장치를 삽입 할 수 있으며 사용하지 않는 것이 알기 때문에 uasSMART가 올바르게 작동합니다. dmesgUSB 장치를 삽입 할 때 다음과 같은 줄이 나타납니다.

usb 2-2: UAS is blacklisted for this device, using usb-storage instead
usb-storage 2-2:1.0: USB Mass Storage device detected
usb-storage 2-2:1.0: Quirks match for vid 0bc2 pid 3320: 800000
scsi host12: usb-storage 2-2:1.0

영구적으로 변경

이전 문제는 시스템을 재부팅 할 때까지만 지속됩니다. 지속적으로 유지하려면 여기 에 설명 된 단계를 따라야합니다 .

첫째,라는 이름의 파일 생성 ignore_uas.conf/etc/modprobe.d/다음과 같은 내용으로 디렉토리를 :

options usb-storage quirks=VendorId:ProductId:u

대신, 이전과 VendorIdProductId에서 얻은 장치 공급 업체 및 제품 ID에 의해 lsusb.

다음으로, 초기 램 디스크를 재생성하십시오 :

mkinitcpio -p linux

또는 최신 우분투 버전에서 :

sudo update-initramfs -u

마지막으로 컴퓨터를 재부팅하십시오.


편집 : 문제에 대한 더 많은 배경 지식과 uas (usb-storage보다 처리량이 더 좋음)를 비활성화하지 않고 해결할 수있는 또 다른 방법은 여기에서 찾을 수 있습니다 : https://www.smartmontools.org/ticket/971#comment:12

SAT ATA PASS-THROUGHuas 모드에서 실행할 때 일부 장치에서 커널이 블랙리스트 에있는 것으로 보입니다 . 펌웨어가 손상 되었기 때문입니다.

따라서 답변에서 언급 한 이전 방법을 사용하여 블랙리스트를 비활성화 할 수 있지만 다음 u과 같은 단점을 제거하십시오 .

quirks=VendorId:ProductId:

그러나이 방법은 테스트하지 않았습니다.


나는 리눅스 커널 4.2와 함께 우분투 15.10을 사용하고 있는데, 나는 당신이 말한 것을했지만 그것은 나를 위해 작동하지 않습니다
Edward Torvalds

@edwardtorvalds GUI가 작동하지 smartctl않습니까? 제 경우에는 GUI가 회색으로 유지되지만 (아직 재부팅하지 않았습니다) smartctl작동합니다.
Alvaro Gutierrez Perez

2
16.04에는 mkinitcpio가 없습니다. "sudo update-initramfs -u"가 아닌가?
filofel

1
좋은 대답입니다! Seagate USB 드라이브에 액세스하여 모든 smartctl 데이터를 얻을 수 있습니다. 나는 제거와 함께 편집을 시도 u했지만 불행히도 드라이브를 중단하여 SMART 데이터를 얻을 수 없었고 부팅 시간이 느 렸습니다. 그러나 나는 다시 추가했으며 u완벽하게 작동합니다.
Terrance

1
둘 이상의 경우 다음과 같습니다.quirks=0bc2:ab24:u,0bc2:ac30:u
Tom Hale

6

SMART에서는 외장 드라이브 (USB를 통해)가 까다 롭습니다. 일부는 전혀 작동하지 않습니다. smartmontools사람들은 게시 명령 줄와 하드 드라이브의 목록에 추가 전환smartctl (다섯 번째 열 참조).


특히 Seagate 확장 드라이브의 경우 -d sat또는 중 하나가 필요한 것 같습니다 -d sat,12. 다음을 시도하십시오 :

sudo smartctl -d sat --all /dev/sdb
sudo smartctl -d sat,12 --all /dev/sdb

그 중 하나가 작동하면 명령 -d에 추가 할 스위치를 알려줍니다 smartctl.


모두 나에게 오류주고있는 링크를
에드워드 토발즈에게

외장 HDD의 이름은 Seagate Expansion External입니다. 이 지원 될 것으로 보인다 여전히 옵션을주는 오류
에드워드 토발즈에게

3

Alvaro의 답변 에 추가 할 업데이트

우분투 18.04 smartctl에서 드라이브를 전혀 읽을 수없는 외부 Seagate 드라이브에 대해 이것을 테스트했습니다 . 시스템을 뒤로하고 USB 연결을 망설이지 않기 때문에 재부팅이 필요했습니다.

먼저 lsusb드라이브에 대한 모든 정보를 얻었습니다.

terrance@terrance-ubuntu:~$ lsusb
Bus 006 Device 002: ID 0bc2:a0a4 Seagate RSS LLC Backup Plus Desktop Drive
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 1532:0118 Razer USA, Ltd 
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 046d:c215 Logitech, Inc. Extreme 3D Pro
Bus 003 Device 002: ID 1532:005b Razer USA, Ltd 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

보시다시피 내 드라이브에는 이름 Seagate이 있으므로 다음 행을 실행하여 정보를 /etc/modprode.d/ignore_uas.conf파일에 추가하기 만하면 됩니다.

echo options usb-storage quirks=$(lsusb | awk '/Seagate/ {print $6}'):u | sudo tee -a /etc/modprobe.d/ignore_uas.conf

Seagate드라이브 이름 으로 바꾸 십시오. 이제 내가 볼 때 다음과 /etc/modprode.d/ignore_uas.conf같이 보입니다.

~$ cat /etc/modprobe.d/ignore_uas.conf 
options usb-storage quirks=0bc2:a0a4:u

그런 다음 update-initramfs변경 사항을 영구적으로 적용하려면 다음을 실행하십시오 .

sudo update-initramfs -u

그런 다음 시스템을 재부팅하십시오. 이제 smartctl은 외부 드라이브를 읽을 수 있습니다.

$ sudo smartctl -a /dev/sdf
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-43-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.14 (AF)
Device Model:     ST3000DM001-1E6166
Serial Number:    W1F3DNG2
LU WWN Device Id: 5 000c50 06a323610
Firmware Version: SC47
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Jan 11 23:07:43 2019 MST
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
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (  592) seconds.
Offline data collection
capabilities:            (0x73) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    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.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   1) minutes.
Extended self-test routine
recommended polling time:    ( 336) minutes.
Conveyance self-test routine
recommended polling time:    (   2) minutes.
SCT capabilities:          (0x3081) SCT Status supported.

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   108   099   006    Pre-fail  Always       -       19766104
  3 Spin_Up_Time            0x0003   094   091   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   097   097   020    Old_age   Always       -       3944
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   052   048   030    Pre-fail  Always       -       231936780154
  9 Power_On_Hours          0x0032   058   058   000    Old_age   Always       -       36793
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   020    Old_age   Always       -       3942
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   092   000    Old_age   Always       -       894 897 1362
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   056   039   045    Old_age   Always   In_the_past 44 (Min/Max 44/44 #237)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   099   099   000    Old_age   Always       -       3909
193 Load_Cycle_Count        0x0032   020   020   000    Old_age   Always       -       161838
194 Temperature_Celsius     0x0022   044   061   000    Old_age   Always       -       44 (0 13 0 0 0)
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   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       8558h+07m+38.053s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       14574986552
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       18776308038

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

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.

도움이 되었기를 바랍니다!


이 변경 후에는 내 드라이브가 더 이상 마운트되지 않습니다. 왜 ?
Philippe Delteil

@PhilippeDelteil 드라이브가 제대로 마운트되지 않는 원인에 대해 들어 본 적이 없습니다. 에 드라이브가 표시되면 askubuntu.com/a/952275/231142 를 사용하여보다 영구적으로 설정할 수 있습니다 gnome-disks.
Terrance

3

두 개의 Seagate 드라이브가 연결되어 있으므로 @Terrance 명령을 다음과 같이 수정했습니다.

echo "options usb-storage quirks=$(lsusb | awk '/Seagate/ {print $6":u"}' | tr '\n' ',' | head -c-1)" | sudo tee -a /etc/modprobe.d/ignore_uas.conf

여러 요소에 대해 올바른 구분 기호 (및 플래그 반복)를 제공합니다.

options usb-storage quirks=0bc2:3320:u,0bc2:2323:u

','줄 바꿈 문자를 ','로 대체하면 아마도 가장 우아한 방법으로 만들어지지 않았을 것입니다 (을 사용하여 추가 구분 기호를 제거해야 함 head).

그때:

sudo update-initramfs -u

원래 답변과 같이 재부팅하십시오.


잘 찾아라! 테스트 할 당시 여러 드라이브에 대해서는 생각하지 않았습니다. 나는 이것을 정말로 좋아한다! +1
Terrance

1

지원되는 USB 장치로 표를 확인하십시오 ...

스위치 -d sat는 SATA 포트가있는 드라이브 여야 함을 나타냅니다.

어떤 특정 스위치가 USB 브리지 - lsusb콘크리트 이름을 표시 할 수 있습니다가. 브리지 컨트롤러가 제대로 구현되지 않은 경우 USB 대신 SATA를 통해 기본 연결을 시도하십시오.

셸 출력에 따른 SCSI 및 ATA는 아마도 당신이 찾고있는 것이 아닐 것입니다 :)


구매할 때 HDD와 함께 제공된 케이블을 사용하고 있습니다. 다음과 같은 오류가 표시 될 수 있습니다. link
Edward Torvalds

외장 HDD의 이름은 Seagate Expansion External입니다. 이 지원 될 것으로 보인다 여전히 옵션을주는 오류
에드워드 토발즈에게

@ edwardtorvalds는 두 가지 기본 전제 조건이 있습니다 ... 포트에 대해 BIOS / UEFI에서 SMART를 활성화하고 (해당되는 경우) 소프트웨어를 통해 활성화해야합니다. smartctl -T permissive --smart=on /dev/sdb(로그가 말하는 것처럼 보입니다) 잘못된 포트))
마틴 Zeitler

부팅 옵션이 없습니다. 위의 명령을 시도
Edward Torvalds

@edwardtorvalds는 여전히 SCSI 명령을 보내고있는 것 같습니다 ...- d sat switch가 누락되었습니다 smartctl -d sat -T permissive --smart=on /dev/sdb... 위에서 작성한 것처럼 lsusb어떤 브리지인지 나열해야합니다.
Martin Zeitler 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.