외장 하드 드라이브에서 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 장치를 분리하십시오. 그런 다음 uas및 usb-storage모듈을 제거하십시오 .

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

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

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

VendorId과 ProductId를 얻을 수있다 장치 공급 업체 및 제품 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

대신, 이전과 VendorId과 ProductId에서 얻은 장치 공급 업체 및 제품 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.