hdparm을 사용하면 시간이 늘어났지만 하드 드라이브 회전 속도가 느려집니다.

hdparm을 사용하면 시간이 늘어났지만 하드 드라이브 회전 속도가 느려집니다.

USB를 통해 연결된 외장 하드 드라이브가 있습니다. 하드 드라이브의 스핀다운/대기 시간을 설정하는 일반적인 방법은 hdparm을 사용하는 것 같습니다.

그래서 나는 달려가서 sudo hdparm -S 200 /dev/sdb얻는다.

/dev/sdb:  setting standby to 200 (16 minutes + 40 seconds)

SG_IO: bad/missing sense data, sb[]:  f0 00 01 00 50 40 c8 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

이전에 SG_IO에서 추가 메시지를 받지 않고 이 작업을 시도했던 기억이 납니다. 이제 내가 설정한 값에 관계없이 드라이브는 유휴 상태일 때 약 1분 후에 회전 속도가 느려지는 것 같습니다. 작업하는 동안 회전이 여러 번 증가하고 감소하여 성가신 지연이 발생하며 드라이브 상태를 계속 실행하는 것이 더 좋을 것이라고 생각합니다.

값이 실제로 설정되어 있는지 확인하는 방법을 찾지 못했지만 APM(Advanced Power Management) 수준에서는 확인할 수 있습니다.

sudo hdparm -B 196 /dev/sdb    
/dev/sdb:
 setting Advanced Power Management level to 0xc4 (196)
SG_IO: bad/missing sense data, sb[]:  f0 00 01 00 50 40 c4 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 APM_level  = 196

$ sudo hdparm -B /dev/sdb    
/dev/sdb:
 APM_level  = 196

시스템은 커널 3.17.6을 갖춘 Arch Linux입니다.

어쨌든 드라이브가 회전하는 이유는 무엇입니까? 그것을 피하기 위해 무엇을 할 수 있습니까?

업데이트

hdparm다음 옵션이 있지만 명령 결과는 동일합니다.

--prefer-ata12 SAT(SCSI ATA 변환) 프로토콜을 사용할 때 hdparm은 일반적으로 가능할 때마다 16바이트 명령 형식을 사용하는 것을 선호합니다. 그러나 일부 USB 드라이브 인클로저는 16바이트 명령으로 올바르게 작동하지 않습니다. 이 옵션을 사용하면 해당 드라이브에 더 작은 12바이트 명령 형식을 강제로 사용할 수 있습니다. hdparm은 12바이트 형식으로 수행할 수 없는 작업(예: 28비트를 초과하는 섹터 액세스)에 대해 여전히 16바이트 명령으로 되돌아갑니다.

관련 정보