2011년 9월 2일 금요일

[번역] hdparm - 완벽 가이드 (hdparm - complete guide)

출처 : http://forums.debian.net/viewtopic.php?t=32794


이글의 목적은 당신의 하드 디스크의 load cycle(하드 디스크의
clicking 음이 반복되어 나타나게 되는 원인)을 조절하기 위한 매개변수를 설정하는 것이다. 이를 통해서 laptop이나 desktop에서 불필요한 하드의 헤드의 정차(하드 디스크의 끍는 소리는 이 헤드의 정차음이다)를 멈출 수 있다.  그러나 이렇게 설정하더라도 베터리로 동작할때 laptop이 헤드의 정차를 하도록 한다.

그레서 나는 사람들이 작성한 스크립트를 이용한 방법을 전혀 사용하지 않았다. 여러분은 이 화면에 있는 것들을 복사해서 사용해야 할 것이다. 대신 약 1년쯤 전에 여러분이 지지하는 방식의 방법을 찾았다. 나는 항상 모두 공유하고 싶지만 워낙에 게을러서. 지금은 작업을 밀어붙이고 있으며 진작에 이것을 공유하지 않은 것에 대해서 자책하고 있다. 나는 여러분이 이 방법을 온라인상에서 찾아 볼 수 있을지 어떨지는 잘 모르겠다. howto 문서와 떨어져 있기 때문에 그러나 여러분은 검색을 통해서 찾아 볼 수 있다.

그리고 문서 작성하면서 기억해 낸 것인데 한가지 주의할 점은 255의 apm 순위는 어떤 컴퓨터에서는 작동하지 않는다. 여러분이 이 값으로 254를 사용하지 않는다면 모든 것은 기본적으로 동일하다.

1. 여러분은 repos(패키지 저장소)로 부터 구할 수 있는 hdparm, sysvconfg, smartmontools를 설치해야한다.

2. hdparm 이 로그인시 시작되는지 확인하자. sysvconfg를 실행하고 hdparm을 enable시키면 로그인시 자동으로 시작된다.

3. 그럼 여기서 내가 다르게 접근한 약간의 것들이 필요하다. 여러분이 직접 수정해야할 몇개의 파일들이 있다. 로그인시 로드되거나 이미 존재하는 hdparm의 config 파일과 약간의 스크립트가 필요하다. 그래서 여러분은 정확한 정보를 그들에게 알려주어야한다.

3.1. /etc/hdparm.conf 수정

...

/dev/${your hard drive name}
{
   apm = 254
   spindown_time = 0
   dma = on
}
...

3.2. 기타 파일 작성


# cd /etc/apm/event.d
# ls
# nano 20hdparm

그저 간단하다. 다음 몇 줄을 추가하자.

APMD_DRIVES=sda        ##Again put YOUR device

그런 다음 스크립트가 동작하도록 편집하자.

power_performance ()
{
    # Disable IDE hard disk spindown.
    for DRIVE in $APMD_DRIVES; do
      "${HDPARM}" -q -S 0 -B 255 "${DRIVE}" || true
    done
}

기본적으로 여러분은 AC 전원일때 loading/unloading cycles을 얻을 수 없다.

3.3. 마지막 단계.

ACPI 전원 관리를 위한 것이다.

# cd /etc/acpi/ac.d
# ls
# nano 90-hdparm.sh        ## or whatever ls shows you

...

for dev in /dev/sd? /dev/hd? ; do
    if [ -b $dev ] ; then
      # Check for APM support; discard errors since not all drives
      # support HDIO_GET_IDENTITY (-i).
      if hdparm -i $dev 2> /dev/null | grep -q 'AdvancedPM=yes' ; then
        if [ $STATE = "BATTERY" ] ; then
          hdparm -B 128 $dev
        else
          hdparm -B 255 $dev
        fi
      fi
    fi
  done
fi
...

3.4. reboot후 확인하기

# smartctl -a /dev/sda | grep Load_Cycle_Count
# smartctl -a -d ata -i /dev/sda | grep Load_Cycle_Count

이 명령은 94116이라는 다섯 자리의 숫자를 제공할 것이다. 몇 분후에 다시 해보자. 숫자는 같아야 한다. 

그리고 몇일 후에 알아낸 것인데 내 컴퓨터의 경우 hdparm이 suspend후 resume되었을대 작동되지 않는다. 이경우 나는 다음과 같이 수동으로 사용한다.

# hdparm -B 254 -S 0 /dev/sda




댓글 없음:

댓글 쓰기