HDD 스핀 다운 시간을 어떻게 제어 할 수 있습니까?


71

PC에 2 개의 HDD가 있습니다. 우분투는 약 15 분 후에 보조 HDD를 매우 빨리 끄고 있습니다. 이번에는 제어해야합니다. 내가 어떻게 해?

그놈 전원 관리를 시도했지만 유용하지 않았습니다.

답변:


67

를보십시오 hdparm.

에서 수동 ( man hdparm명령 행에서) :

-S 드라이브의 대기 (스핀 다운) 시간 초과를 설정합니다. 이 값은 드라이브에서 전력을 절약하기 위해 스핀들 모터를 끄기 전에 대기 시간 (디스크 활동없이)을 결정하는 데 사용됩니다. 이러한 상황에서는 대부분의 드라이브가 훨씬 빠르지 만 드라이브가 후속 디스크 액세스에 응답하는 데 30 초가 걸릴 수 있습니다.

시간 종료 값의 인코딩은 다소 독특합니다. 값이 0이면 "시간 초과가 비활성화 됨"을 의미합니다. 장치가 자동으로 대기 모드로 들어 가지 않습니다. 1에서 240 사이의 값은 5 초의 배수를 지정하여 5 초에서 20 분의 시간 초과를 생성합니다. 241에서 251 사이의 값은 30 분에서 1에서 11까지 30 분에서 5.5 시간으로 제한 시간을 지정합니다. 252 값은 21 분의 시간 초과를 나타냅니다. 값 253은 공급 업체 정의 시간 종료 기간을 8 시간에서 12 시간 사이로 설정하며 값 254는 예약되어 있습니다. 255는 21 분 + 15 초로 해석됩니다. 일부 구형 드라이브는 이러한 값에 대한 해석이 매우 다를 수 있습니다.

그래서 sudo hdparm -I /dev/sdb | grep level예를 들어 현재의 스핀 다운 값을 표시합니다 :

Advanced power management level: 254

매뉴얼에서 : 254는 예약되어 있으므로 우분투의 기본값이 될 것으로 기대합니다 (누군가는 이것을 확인 / 확장 할 수 있습니까?)

예:

sudo hdparm -S 25 /dev/sdb = 25 * 5 초 후 스핀 다운

sudo hdparm -S 245 /dev/sdb = (245-240) * 30 분 후 스핀 다운


팁에 대한 감사 Rinzwind, 그것은 많이 도움이되었지만 나는 우분투의 다음 릴리스에서 이것에 대한 GUI를 참조하거나 그놈 전원 관리자에 통합 될 수 있기를
— 바랍니다

4
lzap의 답변에 관해서 grep는 APM ( -Bparm) 에 대한 것처럼 보이지만 스핀 다운에 대해 이야기 -S하십시오. APM에 대해서도 알고 있습니까?
— turbo

3
현재 -B설정이 위에 표시된대로 표시됩니다. 현재 -S설정을 어떻게 볼 수 있습니까?
— SabreWolfy 2016 년

5
sudo hdparm -y /dev/sdb는 짐승을 즉시 죽인다
— siamii

1
@SabreWolfy 나는 별도의 질문으로 물었습니다 : 현재 드라이브 스핀 다운 시간을 어떻게 알 수 있습니까?
— ændrük

46

디스크 유틸리티-> HDD 드라이브 선택-> 오른쪽 상단 모서리에있는 "추가 작업 ..."아이콘을 클릭-> 드라이브 설정 ...

광산은 다음과 같습니다 스크린 샷


6
훨씬 쉽게 감사합니다! (BTW 패키지 당신은 당신이 인이없는 경우 설치해야합니다 gnome-disk-utility.
— 게르하르트 버거

리눅스가는 길! +1
— neu-rah

예, 매우 쉽습니다. 여기에 다행입니다.
— Zzzach ...

@ 레이 유어, 대단해! 나는 기본적으로 외장 HDD에서 작동하기를 희망하지 않았지만 그렇게했습니다!
— UTF-8

1
대부분의 팁에 오류가 발생하기 쉬운 파일 편집 또는 콘솔 작업이 포함되어 있고 이와 같은 사용자 친화적 인 도구가 이미 종료 된 이유는 무엇입니까?
— WooYek

29

hdparm의 설정을 crontab에 추가하는 대신 재부팅 사이에 지속적으로 설정하려면을 사용하십시오 /etc/hdparm.conf. 나는 소문자가 아닌 대문자 S의 사용에 주목한다.

command_line {
    hdparm -S 25 /dev/disk/by-uuid/f6c52265-d89f-43a4-b03b-302c3dadb215 
}

UUID를 대신하여 해당 줄을 추가하거나 /dev/sdX형식을 사용하여 장치를 지정할 수도 있습니다 . 명령을 사용하여 디스크의 UUID를 찾을 수 있습니다 sudo blkid.


3
command_line요즘 사용하는 것이 맞 습니까? 내 다른 예가 /etc/hdparm있습니까?
— Dim

1
Ondra Žižka의 답변 은 최신 정보 인 것 같습니다.
— Raphael

9
  1. 디스크의 UUID를 찾으십시오 .

    sudo lsblk --output NAME,FSTYPE,LABEL,UUID,MODE
    
  2. 편집하다 /etc/hdparm.conf

    sudo -H gedit /etc/hdparm.conf  # Be careful from now on
    
  3. spindown-time또는 디스크 설정 섹션을 찾으십시오 .

    /dev/disk/by-label/4TB {
        spindown_time = 1200
    }
    
  4. 다른 설치에서도 동일하게 유지되는 UUID로 디스크를 참조하는 것이 좋습니다 (HW 자체에서 변경하지 않는 한).

    /dev/disk/by-uuid/91e32677-0656-45b8-bcf5-14acce39d9c2 {
        spindown_time = 1200
    }
    
  5. init 스크립트가 부팅 문제를 일으키는 경우 nohdparm 커널 명령 행을 전달 하면 스크립트가 실행되지 않습니다.


해당 매개 변수의 단위는 무엇입니까?
— detly

IIRC, 몇 초입니다. 또는 "10보다 작 으면 수십 초, 100보다 작 으면 몇 분"과 같은 엄격한 규칙을 가진 매개 변수 일 수 있습니다. 찾아야 겠어
— Ondra Žižka

2
그것은 단위가 아닙니다, 이것을 확인하십시오 : wiki.archlinux.org/index.php/Hdparm
— Ondra Žižka

건배, 어떤 이유로 나는 그것을 찾을 수 없었습니다 man hdparm.conf.
— detly

man hdparm.conf간접적으로 값이 전달되었다는 것을 읽습니다. -S따라서 255 미만의 값은 최상위 답변의 규칙과 호환되어야합니다 . 더 자세한 정보는 환영합니다.
— dma_k

8

몇 시간과 몇 시간을 보낸 후 WDC 드라이브가 idle3 속성 값 (google : idle3ctl)에 관계없이 hdparm -S 명령을 지원하지 않는 것을 발견했습니다. WD 드라이브의 일반적인 문제입니다. 그러나 hd-idle ( http://hd-idle.sourceforge.net/ )이 완벽하게 작동 한다고 발표하게되어 기쁩니다 . dpkg 빌드 패키지에서 설치하면 (설치 정보 참조) 데비안과 데비안에서 데몬을 생성합니다 (config는 / etc / default / hd-idle에 있습니다). 최대 절전 모드에서 다시 시작한 후에도 잘 작동합니다.

mc 기본값 # ps aux | grep hd-idle | grep -v grep | 컷 -c 66-; [ad]에서 f에 대해; hdparm -C / dev / sd $ f | grep -v "^ $"; 끝난
/ usr / sbin / hd-idle -i 1800 -a sdc -i 600 -a sdd -i 60 -l /var/log/hd-idle.log
/ dev / sda :
 드라이브 상태 : 활성 / 유휴
/ dev / sdb :
 드라이브 상태 : 대기
/ dev / sdc :
 드라이브 상태 : 대기
/ dev / sdd :
 드라이브 상태 : 대기



5

Samsung HD204UI의 스핀 다운 동작은 APM 수준 ( hdparm -B) 에 따라 다릅니다 . APM 수준이 127 인 경우 스핀 다운 시간 초과는 10 초입니다. APM 수준이 150 인 경우 스핀 다운 시간 초과는 -S옵션으로 정의됩니다 .


hdparm은 -S옵션을 설정할 수는 있지만 얻을 수는 없습니다 ( 디스크 스핀 다운 시간 결정 방법 참조 ). "디스크"GUI 소프트웨어를 사용하십시오. 스크린 샷으로 다른 답변 을 참조하십시오 .
— KrisWebDev

5

나는 다음과 같은 것을 추가한다 :

@reboot sudo hdparm -S244 /dev/disk/by-uuid/71492809-e463-41fa-99e2-c09e9ca90c8e  > /dev/null 2> /dev/null

루트의 crontab에. uuid를 사용하는 것이 좋습니다 . 재부팅 할 때마다 sda/ sdb등이 변경되는 것처럼 보입니다.


10
왜 사용하지 hdparm.conf않습니까?
— ændrük

3

우분투 14.04에서

디스크> 드라이브 하이라이트> 오른쪽 상단 모서리에있는 기어 클릭> 드라이브 설정> 이제 사용하기 쉬운 GUI에 대기, APM, AAM 및 쓰기 캐시 설정이 있습니다!


이 작업을 어떻게 수행합니까? 나는 이것을 설정하고 다시 부팅하면 드라이브의 전원이 꺼져 야한다는 것을 기억했지만 결코 그렇지 않습니다. hdparm -C는 항상 활성화되어 있으며 명령 줄에서 hdparm -S xxx 만 실행하면 작동합니다.
— dan carter

1
"디스크"는 어디에 있습니까?
— nealmcb

1

데비안에서 WD 드라이브를 사용하면 hdparm -S로 레벨을 설정 하면 드라이브가 후속 hdparm -I 에서 레벨 254를 반환합니다 . 그래서 나는 그들이 회전하고 있는지 확실하지 않습니다. 나는 그들이 여전히 회전하고 있다고 생각합니다.

이 드라이브는 서버 배열에 있으며, 실제로 드라이브가 다운되는 것을 원하지 않습니다. 과거에는 크론 작업을 설정하여 몇 분마다 파일을 업데이트 하여이 문제를 해결했습니다.


1

USB 인클로저에 장착 된 외장 HDD의 hdparm을 사용하여 운이 없었습니다 .minidlna로 미디어를 제공하는 데 사용합니다.

나는 여기에서 아이디어를 발견했다 : https://serverfault.com/questions/562738/keeping-usb-backup-drive-from-sleeping-while-mounted

디스크 UUID를 사용하면 최상의 결과를 얻을 수 있습니다.

sudo blkid

다음 방법은 루트 액세스가 필요하지만 hdparm도 필요합니다. crontab을 사용하여 5 분마다 드라이브에서 임의 블록을 읽고 모든 메시지를 무시합니다. 올바른 UUID가 있는지 확인하려면 다음과 같이 명령 행에서 테스트하십시오 (원하는 UUID가 아닌 원하는 UUID를 사용해야 함).

sudo dd if=/dev/disk/by-uuid/f01df4b5-6865-476a-8d3b-597cbd886d41 of=/dev/null count=1 skip=$RANDOM

다음과 같은 출력이 표시되어야합니다.

1+0 records in
1+0 records out
512 bytes copied, 0.000738308 s, 693 kB/s`

어딘가에 작성 될 수있는이 메시지를 억제하기 위해 / 파일 시스템 (내 경우에는 SSD에 있음)은 루트 crontab에서 사용하는 것입니다. 당신은 거기에 도착

sudo crontab -e

그런 다음 주석 아래에서

*/5 * * * * bash -c 'dd if=/dev/disk/by-uuid/f01df4b5-6865-476a-8d3b-597cbd886d41 of=/dev/null count=1 skip=$RANDOM' >/dev/null 2>&1

이것이 비슷한 문제를 가진 다른 사람에게 도움이되기를 바랍니다. 불행히도 이것은 여전히 ​​syslog에 기록되지만이를 억제 할 수있는 방법이 있습니다. 이 ServerFault 게시물을 참조하십시오 .

[편집] 2017-01-07 09:02 :

이 행을 변경하기 위해 /etc/rsyslog.d/50-default.conf를 편집하여 이러한 메시지를 억제 할 수있었습니다.

*.*;auth,authpriv.none -/var/log/syslog

이에:

*.*;cron,auth,authpriv.none -/var/log/syslog

불행히도, 이것은 모든 cron 메시지를 억제합니다. cron이 루트 파일 시스템 (내 경우에는 노화 SSD에 있으므로 쓰기를 제한하고 싶습니다)에서 로깅을 리디렉션하도록 할 수는 없지만 이것이 홈 서버이므로 많은 부분을 놓치지 않을 것입니다. 확실히겠습니까 하지 생산 기계를 위해이 전략을 추천한다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.