sdparm을 사용하여 Seagate 확장 하드 드라이브에서 절전 모드 끄기

sdparm을 사용하여 Seagate 확장 하드 드라이브에서 절전 모드 끄기

Ubuntu 서버를 실행하는 NUC에 USB를 통해 연결된 외부 Seagate 확장 드라이브의 절전 기능을 비활성화할 수 있는지 확인하려고 합니다. hdparm오류 메시지가 표시되어 이것을 사용하는 데 문제가 있어서 sdparm이것이 내 특정 드라이브에서 작동하는 것 같습니다.이 게시물.

나는 실행 sudo sdparm -l -a /dev/sda하고 다음과 같은 결과를 얻습니다.

    /dev/sda: Seagate   Expansion Desk    0915
    Direct access device specific parameters: WP=0  DPOFUA=0
Caching (SBC) [ca] mode page:
  IC            0  [cha: n, def:  0, sav:  0]  Initiator control
  ABPF          0  [cha: n, def:  0, sav:  0]  Abort pre-fetch
  CAP           0  [cha: n, def:  0, sav:  0]  Caching analysis permitted
  DISC          1  [cha: n, def:  1, sav:  1]  Discontinuity
  SIZE          0  [cha: n, def:  0, sav:  0]  Size enable
  WCE           1  [cha: y, def:  1, sav:  1]  Write cache enable
  MF            0  [cha: n, def:  0, sav:  0]  Multiplication factor
  RCD           0  [cha: n, def:  0, sav:  0]  Read cache disable
  DRRP          0  [cha: n, def:  0, sav:  0]  Demand read retention priority
  WRP           0  [cha: n, def:  0, sav:  0]  Write retention priority
  DPTL          -1  [cha: n, def: -1, sav: -1]  Disable pre-fetch transfer length
  MIPF          0  [cha: n, def:  0, sav:  0]  Minimum pre-fetch
  MAPF          -1  [cha: n, def: -1, sav: -1]  Maximum pre-fetch
  MAPFC         -1  [cha: n, def: -1, sav: -1]  Maximum pre-fetch ceiling
  FSW           0  [cha: n, def:  0, sav:  0]  Force sequential write
  LBCSS         0  [cha: n, def:  0, sav:  0]  Logical block cache segment size
  DRA           0  [cha: n, def:  0, sav:  0]  Disable read ahead
  SYNC_PROG     0  [cha: n, def:  0, sav:  0]  Synchronous cache progress indication
  NV_DIS        0  [cha: n, def:  0, sav:  0]  Non-volatile cache disable
  NCS           255  [cha: n, def:255, sav:255]  Number of cache segments
  CSS           0  [cha: n, def:  0, sav:  0]  Cache segment size
Control [co] mode page:
  TST           0  [cha: n, def:  0, sav:  0]  Task set type
  TMF_ONLY      0  [cha: n, def:  0, sav:  0]  Task management functions only
  DPICZ         0  [cha: n, def:  0, sav:  0]  Disable protection information check if protect field zero
  D_SENSE       0  [cha: n, def:  0, sav:  0]  Descriptor format sense data
  GLTSD         0  [cha: n, def:  0, sav:  0]  Global logging target save disable
  RLEC          0  [cha: n, def:  0, sav:  0]  Report log exception condition
  QAM           1  [cha: n, def:  1, sav:  1]  Queue algorithm modifier
  NUAR          0  [cha: n, def:  0, sav:  0]  No unit attention on release
  QERR          0  [cha: n, def:  0, sav:  0]  Queue error management
  RAC           0  [cha: n, def:  0, sav:  0]  Report a check
  UA_INTLCK     0  [cha: n, def:  0, sav:  0]  Unit attention interlocks control
  SWP           0  [cha: n, def:  0, sav:  0]  Software write protect
  ATO           0  [cha: n, def:  0, sav:  0]  Application tag owner
  TAS           0  [cha: n, def:  0, sav:  0]  Task aborted status
  ATMPE         0  [cha: n, def:  0, sav:  0]  Application tag mode page enabled
  RWWP          0  [cha: n, def:  0, sav:  0]  Reject write without protection
  SBLP          0  [cha: n, def:  0, sav:  0]  Supported block lengths and protection information
  AUTOLOAD      0  [cha: n, def:  0, sav:  0]  Autoload mode
  BTP           0  [cha: n, def:  0, sav:  0]  Busy timeout period (100us)
  ESTCT         0  [cha: n, def:  0, sav:  0]  Extended self test completion time (sec)
Power condition [po] mode page:
  PM_BG         0  [cha: n, def:  0, sav:  0]  Power management, background functions, precedence
  STANDBY_Y     0  [cha: n, def:  0, sav:  0]  Standby_y timer enable
  IDLE_C        0  [cha: n, def:  0, sav:  0]  Idle_c timer enable
  IDLE_B        0  [cha: n, def:  0, sav:  0]  Idle_b timer enable
  IDLE          0  [cha: n, def:  0, sav:  0]  Idle_a timer enable
  STANDBY       0  [cha: y, def:  1, sav:  0]  Standby_z timer enable
  ICT           0  [cha: n, def:  0, sav:  0]  Idle_a condition timer (100 ms)
  SCT           4294967286  [cha: y, def:9000, sav:4294967286]  Standby_z condition timer (100 ms)
  IBCT          0  [cha: n, def:  0, sav:  0]  Idle_b condition timer (100 ms)
  ICCT          0  [cha: n, def:  0, sav:  0]  Idle_c condition timer (100 ms)
  SYCT          0  [cha: n, def:  0, sav:  0]  Standby_y condition timer (100 ms)
  CCF_IDLE      0  [cha: n, def:  0, sav:  0]  check condition on transition from idle
  CCF_STAND     0  [cha: n, def:  0, sav:  0]  check condition on transition from standby
  CCF_STOPP     0  [cha: n, def:  0, sav:  0]  check condition on transition from stopped

저는 하드 드라이브 용어를 처음 접했지만 이것이 STANDBY드라이브가 대기 모드에서 실행되어야 하는지 여부를 나타내는 부울이 될 것이라고 생각합니다. 1대신 디스크에 "잠자기"를 하지 않도록 설정하시겠습니까 0, 아니면 그 반대로 설정하시겠습니까?

목록에 확인해야 할 다른 설정이 있습니까? 아니면 제가 완전히 잘못하고 있는 것인가요?

답변1

나는 최근에 같은 질문에 답하고 싶은 욕구를 우연히 발견했습니다. 쓰기 작업 중에도 절전 모드로 전환되는 WD My Book 25ED가 여러 개 있습니다. 어쨌든, 약간의 조사 끝에 sdparm-disable_sleep.sh실행 후 문제를 해결하는 스크립트를 작성했습니다 .

#!/bin/bash
# Usage: sdparm-disable_sleep.sh <device>
[[ -n "${1}" && -b "${1}" ]] \
  && sdparm --flexible --page=po -l -a "${1}" \
  && { sdparm --flexible --set=STANDBY_Z=0 -S "${1}" \
       && sdparm --flexible --page=po -l -a "${1}"; }

기본적으로 이 sdparm --set=STANDBY_Z=0 -S <device>명령은 STANDBY_Z으로 설정되어 0타이머를 비활성화하고 설정을 저장합니다.

귀하의 경우 매개변수의 이름은 으로만 지정되었으며 STANDBY, 붙여넣은 출력에 따르면 비활성화되었습니다(저장된 값은 이므로 0). 어쩌면 펌웨어에 문제가 있을 수도 있습니다. 어쨌든 명령을 실행해 보고, 아닐 수도 있습니다 -S. 적어도 드라이브가 재부팅/재초기화될 때까지 명령이 지속되는지 확인합니다.

관련 정보